Downgrade cloud-init to 23.3 via epoch

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

[x] The toolchain has been rebuilt successfully (or no changes were made to it)
[x] The toolchain/worker package manifests are up-to-date
[x] Any updated packages successfully build (or no packages were changed)
[x] Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
[x] Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
[x] All package sources are available
[x] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
[x] LICENSE-MAP files are up-to-date (./SPECS/LICENSES-AND-NOTICES/data/licenses.json, ./SPECS/LICENSES-AND-NOTICES/LICENSES-MAP.md, ./SPECS/LICENSES-AND-NOTICES/LICENSE-EXCEPTIONS.PHOTON)
[x] All source files have up-to-date hashes in the *.signatures.json files
[x] sudo make go-tidy-all and sudo make go-test-coverage pass
[x] Documentation has been updated to match any changes to the build system
[x] Ready to merge

Summary

Up epoch to downgrade cloud-init to 23.3. cloud-init 23.4 introduced a change which requires rfc3442 support. Currently, Mariner's dhclient does not fully support rfc3442. This leads to failure in establishing global routing. Downgrade cloud-init to remove rfc3442 requirement.
Note that the diff in version of 23.3 and not 23.3.3 as mentioned in source url is intentional
Change Log

Downgrade to 23.3 using epoch 1
Add back overrideDatasourceDetection.patch
Remove ci-Pin-pytest-8.0.0.patch as pytest is pinned to pytest<=7.3.1
Remove Retain-exit-code-in-cloud-init-status-for-recoverabl.patch

Does this affect the toolchain?

NO
Associated issues

https://microsoft.visualstudio.com/OS/_workitems/edit/49661506

Test Methodology

Pipeline build id w/ tests (100% pass): https://dev.azure.com/mariner-org/mariner/_build/results?buildId=545390&view=results
Built locally within toolkit
Built locally within container w/ tests (100% pass:)
=========== 4861 passed, 8 skipped, 1 xfailed, 3 warnings in 55.74s ============"
Full build: https://dev.azure.com/mariner-org/mariner/_build/results?buildId=545392&view=results
Penguinator build with no fails: Pipelines - Run 20240404.5 (azure.com)
Fasttrack run of tests: https://dev.azure.com/mariner-org/mariner/_build/results?buildId=545397&view=results

Assessment of epoch handling inside our build tools:
Setup
I created a test environment with the following setup:

dedicated ./SPECS-TEST folder containing:

a.spec: dummy package with BuildRequires: cloud-init.

prepopulated ./out/RPMS

cloud-init-23.3-1.cm2.noarch.rpm
cloud-init-23.4.1-3.cm2.noarch.rpm
cloud-init-azure-kvp-23.3-1.cm2.noarch.rpm
cloud-init-azure-kvp-23.4.1-3.cm2.noarch.rpm

Test 1
Running sudo make build-packages SPECS_DIR=../SPECS-TEST PACKAGE_REBUILD_LIST=a shows that the graph fetcher selects 1:23.3. This represents a downstream build using PMC since the fetcher treats ./out/RPMS as a repo the same way as PMC (just higher priority).
Test 2
Now adding to ./SPECS-TEST:

cloud-init.spec: new epoch version 1:23.3
cloud-init-old.spec: old version 23.4.1

sudo make clean
sudo make build-packages SPECS_DIR=../SPECS-TEST PACKAGE_REBUILD_LIST=a

The graph selects 1:23.3 as the best version to resolve BuildRequires: cloud-init.
Test3
However, modifying a.spec to have BuildRequires: cloud-init >= 23.4 results in the same selection of 23.3.1. I believe this is expected behavior here.
On the bright side, no packages in our repo actually have a (Build)Requires: cloud-init. Also validated with depsearch:
__'.' from node 'Meta(21317)'
   |__'cloud-init-23.4.1-3.cm2.noarch.rpm' from node 'cloud-init-23.4.1-3.cm2-RUN<Meta>'
   |   |__'cloud-init-azure-kvp-23.4.1-3.cm2.noarch.rpm' from node 'cloud-init-azure-kvp-23.4.1-3.cm2-RUN<Meta>'
   |   |   |__'<NO_RPM_PATH>' from node 'ALL'
   |   |...
   |__'cloud-init-23.3-1.cm2.noarch.rpm' from node 'cloud-init-1:23.3-1.cm2-RUN<Meta>'
   |   |__'cloud-init-azure-kvp-23.3-1.cm2.noarch.rpm' from node 'cloud-init-azure-kvp-1:23.3-1.cm2-RUN<Meta>'
   |   |   |...
   |   |...
   |...

Looks good for the various modes of PPS.  Results of marketplace vs "mariner-2-proposed" which is the image containing this build:

Or, more succintly:

I don't see any warnings or errors to be concerned with.


frint-compat: Remove createClass message from deprecated warning

Because createClass doesn't exist in frint: https://github.com/Travix-International/frint/blob/master/packages/frint-compat/src/createService.js#L5
Same in createFactory.

Redundant after #267


Run testNet.py

Hi Nate.
I have installed all the required dependencies and successfully compiled the DeepLCD library. Now I want to see the precision-recall curves(comparing against HOG and DBoW2), so I run the following command:
$ cd ~/calc/TrainAndTest
$ python testNet.py
Unfortunately, It is nothing output.
What commands should I run to print the precision-recall curves?

you can try python2 main.py -h
if you donn't want to load the calc model  you should edit the fution plot code in testnet.py
although i am not the author,but i hope it can help you

@AllofLife is correct. main.py is the entry point to preprocess data, train, and test with PR curves.


mint: change tests

x/mint tests run using osmocli

dude this is great!
@ValarDragon is it okay to merge into your branch?

I think it is okay as we discussed that already 👍. Shall I merge?

I don't know that we can merge this easily unfortunately -- mint wasn't adjusted in the initial PR because mint's differences from everything else are inherited from the SDK.
So this is actually mint-CLI breaking

Hrmm, I think we should make a github issue for breaking mint CLI.
I want to do this, we just need to get changelog set, release in a minor version and communicate to integrators.


Allow adding custom tags per job

The simplest solution would be to add a configuration option to each jobs config page where an admin could enter in a set of tags to tag the job with.  However a static list of tags, while useful, is not sufficient for us.
We us parameterized jobs extensively. For example the same job builds all of our dropwizard projects in different configuration such as snapshot builds, release, builds, builds targeting platform X, targeting platform Y, etc.  At the very least we would need to be able to specify that certain build parameters, or even certain environment variables, need to be set as the values of certain tags.  For example set the #release tag to the value of the $DO_RELEASE env variable, and the #project tag be set to something based on which git repository we built from.
One possibility that would provide for maximum flexibility would be to be able to read in a set of tag values from a specified file in the workspace.  This way we could use any sort of post build script to programmatically setup our tags.

We also need this feature, is this something that we could contribute a patch to add support for?

We're planning to add this in the next version of the plugin. You're more than welcome to contribute a patch to add support for this! Just make a PR, and we can review any changes you make.


[dv] Timescale in DV

In most of the TBs, we use 1ns/1ps timescale for DV components. But @Jacob-Levy and I found a test in private repo, where the DV timescale inherited a 1ps/1ps timescale from a standard cell.
Not sure what the best way to deal with the timescale in DV.

make DV timescale agnostic
We do try to make our DV code timescale agnostic, but we don't really test the code with multiple timescale setting. So, we may see this kind of issue (#11318) again when the DV timescale isn't 1ns/1ps.
But with that fix, we can have the chip uart test pass now. Maybe it's not too bad to go this route.

use a fixed timescale and avoid being overridden.
Don't really know if there is an easy way to achieve this. Or, we may need to add timescale in every DV package.

Any thoughts?
@sriyerg @matutem @cindychip @rswarbrick @rasmus-madsen @Jacob-Levy

Keeping as part of M2.5 to follow up with @sha-ron.

Reassigning based on previous description.

@matutem @jdonjdon @sha-ron we may want to look at this as part of the foundry cleanup.

We used to pass a timescale directive at compile time. What this does is to assign the given timescale to any modules without an explicit timescale, thus avoiding the viral timescale contagion from any random module that has a weird timescale. vcs and xcelium may require slightly different compilation flags for this.

For the test bench / env, I vote for option1.  #11318 shows good example of how to do it.

@jdonjdon That means we would need to find all places that have timescale problems. The alternative I propose sets a default timescale for any module that has no explicit timescale. Notice this is different from alternative 2, and would avoid problems due to modules that set their own timescales.
This kind of problem is typically due to cell libraries, and it is better not to touch them. Well written cell libraries use a resetall directive at the end or around each cell, which has the effect of cancelling any timescale they set, but this bug shows we cannot expect all libraries to do that.

@matutem I see your point.
I thought we have that already in here or are you talking about another tool specific knob?

I am glad you asked. This is VCS specific, but here we go: the VCS documentation for -timescale says:
-timescale=time_unit/time_precision
Occasionally, some source files contain the ‘timescale
compiler directive and others do not. In this case, if you specify
the source files that do not contain the ‘timescale compiler
directive on the command line before you specify the ones that
do, this is an error condition and VCS halts compilation, by default.
This option enables you to specify the timescale for the source
files that do not contain this compiler directive and precede the
source files that do. Do not include spaces when specifying the
arguments to this option.
So you are right, this won't do, because order still matters. I think in a prior project we ended up adding `resetall directives to the library files, which was very unpleasant.
However, I found a few other useful flags for VCS:
-noinherit_timescale
This is a VCS or vlogan option that allows you to specify a global
timescale within the compilation unit of any source file that does
not have an explicit ‘timescale directive.
It seems that should do the job.
In terms of methodology, I think we could include a task to any tb.sv that checks the timescale is 1ns/1ps using $realtime at time 0, and kills the simulation if it fails. We can check that this task is effective with a simple experiment: set a timescale of 1ps/1ps in some commonly used prim, and expect the task to cause termination.
There are two more things to diagnose timescale issues:

VCS will print the final timescale when finishing parsing in the build log.
VCS provides a compile-time flag to diagnose timescale problems: -diag timescale.

@jdonjdon another one to take a look at together with Nuvoton this week.

@msfschaffner @matutem
Discussed with @sha-ron and we don't see any issue anymore.


[HOPS-61] Block Management Refactoring

Can one of the admins verify this patch?

Jenkins test this please.

Jenkins test this please.

Jenkins test this please.

Jenkins test this please.

Jenkins test this please.

Jenkins test this please.

Jenkins test this please.

Jenkins test this please.

Jenkins test this please.


Removed import body-parser to use the Express inbuilt one

fabric8-hdd-bug-id: fabric8-hdd/supervisor#15
Signed-off-by: mik-dass<EMAIL_ADDRESS>

@anmolbabu Ok, I will have a look in the package.json


feat: add teds 1.3.0 release

update teds with release 1.3.0

:tada: This PR is included in version 1.31.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[java-microprofile] Add javametrics as a dev only dependency

This adds Javametrics-dash as a dev only dependency as part of the stack. This both provides developers with a build-in performance view, and enables the Eclipse Codewind IDE project to do application monitoring and performance testing the of the application during development.
The approach to providing the Javametrics dashboard during development only is as follows:

Provide a pom-dev.xml file that installs the dependencies as installs them into the server which is only run in Dockerfile-stack, and not in the production Dockerfile.
Provide a server-dev.xml that adds the necessary features that is only copied into the config dropins the Dockerfile-stack, and not in the production Dockerfile.

This pattern can be extended if there's further capabilities that we want to provide only during development.

@Emily-Jiang Would appreciate your feedback on this.

@seabaylea I have 2 comments

java-metrics feature for dev: I am not aware of how popular to have this low level java-metrics in dev. I think this info might just be useful to performance team. I don't think Jen is interested in this. If you think some developers might need it, I think it might fit in well to have this as a guide.
In pushing for dev-prod parity, I think it is not very useful for dev to have one tool while Prod having another tool to view different info. I think it is better to use MicroProfile metrics and have Prometheus and/or Grafana accessible to the Dev.

@seabaylea and @Emily-Jiang , this is also a matter of consistency across stacks when working with Codewind.
We ran into this during a workshop and writing guides, and pulled the PR into a forked repo just to showcase the functionality.

I just hit this problem
Using Cloud Pak Apps stack for microprofile I got the impression that codewind is something to leverage in both java and nodejs stacks, using the App Monitor and Perf Dasboard launchers in codewind.
nodejs works fine but in java-microfile I hit the problem and opened an issue here
https://github.com/eclipse/codewind-java-profiler/issues/8

I've rebased this PR so it no longer conflicts with master. It needs re-review by the stack owners.
@Emily-Jiang @gcharters @BarDweller @neeraj-laad please take a look

@ yeekangc too

I think this should be merged (or an updated version of it if the stack has changed since it was created) as without this capability the stack is not usable in Eclipse Codewind.  I consider this a tactical workaround and believe Codewind should be using the /metrics (e.g. MicroProfile metrics) endpoint from stacks that provide it.

Just tested this and it works i.e I can get the Javametrics dashboard endpoint - However, I'll leave the approval to one of the reviewers mentioned above ^

This PR can be merged with the following agreement:

This is a temp workaround. The ultimate solution should rely on MicroProfile Metrics. This PR does not demonstrate ecosystem nor the programming model.

This PR should be removed once https://bigblue.aha.io/features/MC-156 is in place.
I abstain from the voting.

@Emily-Jiang I edited your comment to remove the reference to an internal link. This is a public open source project.

+1 to what Graham and Emily said.  This is a tactical solution and Codewind should use /metrics down the road.

@Kamran64 any update on the testing?

@ianpartridge - @neeraj-laad and I took another look earlier. For some reason the command '-javaagent:resources/javametrics-agent.jar' fails only on appsody test but not on run and debug. We think this could probably be removed from APPSODY_TEST env in the Dockerfile-stack though.


ERROR: Could not find any definition of libraries  org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:

For some reasons, i cloned fabric8-pipeline-library to my local gogs server and modified the jenkins file @library to local server,for example:
@Library('gogs.fabric8.paastest.cn/gogsadmin/fabric8-pipeline-library@master')
But when i run the pipeline,there is an error:
**ERROR: Could not find any definition of libraries [gogs.fabric8.paastest.cn/fabric8io/fabric8-pipeline-library]
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: Loading libraries failed**
Is there some error about the setup? Thanks

Hmm that should have worked.  As gogs is running inside kubernetes you can also make use of the kubernetes service URL instead of the ingress.
i.e. you could try...
@Library('gogs/gogsadmin/fabric8-pipeline-library@master')

I am having the same issue. Are there any news on this?

it always throws "Could not find any definition of libraries",  when the Library's URI is not starting with "github.com".
And if the Library's URI is starting with "github.com", it throws CA error beacuse of lacking trusted CA.

Have the same issue, is there any update?

You need to install the Pipeline GitHub Library Plugin


Add janescience.com  🔬

This is my personal website . I attach link on the right navigation bar.

Icon on mobile.

The bot’s suggestion to ##janescience.com is incorrect, should be just #janescience.com

Ok , I fixed.


Return of method: Change String to Optional

Good morning,
I have a question, I am trying to migrate a certain part of code, specifically a method that formerly returned a "String" and now returns an "Optional". Is there any recipe or combination of recipes that updates the value returned by a method? I think it would be very interesting a recipe that if the new method returns an Optional, the code where the method is called could be added the .get().
Thank you very much for everything

Hi @josemariavillar, This would be a new recipe, and I agree it would be interesting and very useful.

Hi @pway99 , in case you can use it to create a more generic recipe, this is the custom recipe I created. In my case as we also depend on the parent version of the POM, I had to add it.
/**
 * This recipe modifies the invocation of a method so that it returns a value if the
 * method returns an Optional
 */
@Value
@EqualsAndHashCode(callSuper = true)
public class ReturnValueFromOptional extends Recipe {

	@Option(displayName = "Method pattern",
			description = "A method pattern that is used to find matching method declarations/invocations.",
			example = "org.mockito.Matchers anyVararg()")
	String methodPattern;

	@Option(displayName = "Value to return if not present",
			description = "Value to be returned by the method if it does not present.", example = "null")
	String valueIfNotPresent;

	@Option(displayName = "Version to be compared",
			description = "Version to be compared with the POM parent's version", example = "2.11.0")
	String version;

	@Override
	public String getDisplayName() {
		return "Return value from Optional.";
	}

	@Override
	public String getDescription() {
		return "Return a value if the method returns an Optional.";
	}

	@Override
	protected List<SourceFile> visit(List<SourceFile> before, ExecutionContext ctx) {
		boolean versionCondition = false;
		for (SourceFile sourceFile : before) {
			if (sourceFile instanceof Maven) {
				versionCondition = ParentVersion.isLessThan((Maven) sourceFile, version);
			}
		}

		boolean finalVersionCondition = versionCondition;
		return ListUtils.map(before, sourceFile -> (SourceFile) new JavaIsoVisitor<ExecutionContext>() {
			private final MethodMatcher methodMatcher = new MethodMatcher(methodPattern, false);

			@Override
			public J.MethodInvocation visitMethodInvocation(J.MethodInvocation method, ExecutionContext ctx) {
				J.MethodInvocation m = super.visitMethodInvocation(method, ctx);

				if (Boolean.TRUE.equals(finalVersionCondition) && methodMatcher.matches(method)) {

					// Template used to change a method invocation.
					JavaTemplate addMethodBodyTemplate = JavaTemplate
							.builder(this::getCursor, method + ".orElse(" + valueIfNotPresent + ")").build();

					m = m.withTemplate(addMethodBodyTemplate, m.getCoordinates().replace());
				}

				return m;
			}
		}.visitNonNull(sourceFile, ctx));
	}

}

Hi @josemariavillar,  Thanks so much for sharing your recipe! There is a lot of potential for converting this into a more generic recipe. I will spend some time reviewing it and get back to you.

Hi @josemariavillar, After having had a chance to review your suggestion for a recipe that changes String to Optional<String> in more detail, it appears to be more of a custom recipe than something generic.  That said, I do have a suggestion on how it can be converted to a standalone visitor.  Thanks again for the suggestion :)
Visitor:
import org.openrewrite.ExecutionContext;
import org.openrewrite.java.*;
import org.openrewrite.java.tree.J;

public class OptionalToStringVisitor extends JavaIsoVisitor<ExecutionContext> {
    private final MethodMatcher targetMethodMatcher;
    private final MethodMatcher orElseOptionalMatcher = new MethodMatcher("java.util.Optional orElse(..)", true);
    private final JavaTemplate addMethodBodyTemplate;

    public OptionalToStringVisitor(String methodPattern, String valueIfNotPresent) {
        this.targetMethodMatcher = new MethodMatcher(methodPattern, true);
        // Template used to change a method invocation.
        String templateString = valueIfNotPresent != null ? "#{any(java.util.Optional)}.orElse(\"" + valueIfNotPresent + "\")" : "#{any(java.util.Optional)}.orElse(null)";
        addMethodBodyTemplate = JavaTemplate
                .builder(this::getCursor, templateString).build();
    }

    @Override
    public J.MethodInvocation visitMethodInvocation(J.MethodInvocation method, ExecutionContext ctx) {
        if (orElseOptionalMatcher.matches(method)) {
            return method;
        }
        J.MethodInvocation m = super.visitMethodInvocation(method, ctx);
        if (targetMethodMatcher.matches(method)) {
            m = m.withTemplate(addMethodBodyTemplate, m.getCoordinates().replace(), m);
        }
        return m;
    }
}

Tests:
import org.junit.jupiter.api.Test
import org.openrewrite.Recipe
import org.openrewrite.java.JavaRecipeTest

class OptionalToStringVisitorTest : JavaRecipeTest {
    override val recipe: Recipe
        get() = toRecipe {OptionalToStringVisitor("MyClass maybeGetSomething()", null)}

    @Test
    fun optionalToString() = assertChanged(
        before = """
            import java.util.Optional;

            class MyClass {
                void doSomething() {
                    maybeGetSomething();
                }
                Optional<String> maybeGetSomething() {
                    return null;
                }
            }
        """,
        after = """
            import java.util.Optional;

            class MyClass {
                void doSomething() {
                    maybeGetSomething().orElse(null);
                }
                Optional<String> maybeGetSomething() {
                    return null;
                }
            }
        """
    )

    @Test
    fun optionalToStringHI() = assertChanged(
        recipe = toRecipe {OptionalToStringVisitor("T maybeGetSomething()", "hi")},
        before = """
            import java.util.Optional;

            class T {
                void doSomething() {
                    maybeGetSomething();
                }
                Optional<String> maybeGetSomething() {
                    return null;
                }
            }
        """,
        after = """
            import java.util.Optional;

            class T {
                void doSomething() {
                    maybeGetSomething().orElse("hi");
                }
                Optional<String> maybeGetSomething() {
                    return null;
                }
            }
        """
    )

    @Test
    fun noChange() = assertUnchanged(
        before = """
            import java.util.Optional;

            class T {
                void doSomething() {
                    String s = maybeGetSomething().orElse(null);
                }
                Optional<String> maybeGetSomething() {
                    return null;
                }
            }
        """
    )
}

@pway99 Thank you very much, your suggestions are very useful


[Traefik Pilot] Traefik Plugin Analyzer has detected a problem.

The plugin was not imported into Traefik Pilot.
Cause:
failed to run with Yaegi: plugin: failed to eval CreateConfig: 1:28: undefined: traefik_plugin_blockuseragent

Traefik Plugin Analyzer will restart when you will close this issue.
If you believe there is a problem with the Analyzer or this issue is the result of a false positive, please contact us.

Fixed package according to repository name.


How to get the Token for API Call

Hi there,
I am trying to create a new method in /serverice/cognito.service.ts that returns the token JWT.
I need the token because I want to call a method in AWS Gateway. This method has a Authorization (Cognito User Pool).
So I wrote the following function in /serverice/cognito.service.ts
   getToken() { let token = this.getCurrentUser().getSignInUserSession().getAccessToken().getJwtToken(); console.log('### TOKEN', token); return token;     }
Unfortunately this generates an error:

So my question is:
How do I correctly get the Token?
Thank for your help!

I added the generated api sdk to the project and using that for now, i would love to see this in a more native typescript/angular way.... but it's not my expertise.

Here's the code:
https://github.com/awslabs/aws-cognito-angular2-quickstart/blob/0bb50037076c7954c6c9f0451831a987af3f9dfb/src/app/service/cognito.service.ts#L122

Thank you for your answer @vbudilov .
I use this function (getIdToken()) to get the token. Token that I provide in my call to the API gateway.
And guess what ... It works!
Here the service I created:
import { Injectable } from '@angular/core';
import { Http, Response, RequestOptions, Headers} from '@angular/http';
import { Businessunit } from '../models/businessunit';
import { Observable } from 'rxjs/Observable';
import {Callback, CognitoUtil} from '../service/cognito.service';
import 'rxjs/Rx';

@Injectable()
export class BuService {

  private urlapi = 'https://###';
  private uri = 'businessunits';
  public idToken: string;

  constructor(
    private http: Http,
    public cognitoUtil: CognitoUtil) {
      this.cognitoUtil.getIdToken(new IdTokenCallback(this));
  }

  // Get all the divisions
  getBusinessunits(): Observable<Response> {

    let header = new Headers();
    header.append('Access-Control-Allow-Origin', '*');
    header.append('Content-Type', 'application/json');
    header.append('Authorization', this.idToken);
    let options = new RequestOptions({ headers : header });
    return this.http.get(this.urlapi + '/' + this.uri, options);
  }

}
export class IdTokenCallback implements Callback {
  constructor(public jwt: BuService) {
  }

  callback() {
  }

  callbackWithParam(result) {
      this.jwt.idToken = result;
  }
}

This documentation helped me a lot as well to know what token I needed to provide (Access Token or ID Token) and how to setup the AWS API Gateway.
http://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-with-identity-providers.html
Happy coding!

@Nicosoft thanks i'm implementing CloudFormation see #109 and afterwards i want to include a sample on how to use the API Gateway so i'm going to re-use some of your code if thats ok.

@Nicosoft Thank you for haring. The only issue I can see with this is that it will expire within an hour.

@kgilper you are right. If you stay on the same page, the token will expired.
If you know a better way please share it, otherwise I will when I find it!

@Nicosoft you could do something like this.
`import {Injectable} from '@angular/core';
import {Observable} from 'rxjs/Rx';
import {Http, Response, Headers, RequestOptions} from '@angular/http';
import {Callback, CognitoUtil} from '../services/cognito.service';
@Injectable()
export class CampaignServiceService {
private urlapi = 'https://###';
private uri = 'businessunits';
public idToken: string;
constructor(private http: Http, public cognitoUtil: CognitoUtil, public userParams: UserParametersService) { }
getToken(): Observable {
return Observable.create(observer => {
this.cognitoUtil.getIdToken(new IdTokenCallback(result => {
observer.next(result);
}));
});
}
getBusinessunits(): Observable {
return this.getToken().flatMap(token => {
  const header = new Headers();
  header.append('Access-Control-Allow-Origin', '*');
  header.append('Content-Type', 'application/json');
  header.append('Authorization', token);
  const options = new RequestOptions({headers: header});

  return this.http.get(this.urlapi + '/' + this.uri, options);
});

}
}
export class IdTokenCallback implements Callback {
_valueReturnFunction: any = null;
constructor(valueReturnFunction: any) {
this._valueReturnFunction = valueReturnFunction;
}
callback() {
}
callbackWithParam(result) {
this._valueReturnFunction(result);
}
}
`

@kgilper , thanks for sharing. I am testing your version right now!

@Nicosoft Did it work ok?

@kgilper , your version works better than my one.
I don't get the 'Expired Token' error message anymore.
Thank you again for sharing!

@Nicosoft cheers to @vbudilov


Tidy up helpers

Unsure if you care for this, thought I'd give you some :food::four::thought:

I'm all :four: it!


Add context to event and command errors

This adds a useful error during command generation if a custom argument doesn't correctly generate its nodes.

Closed due to inactivity. Feel free to reopen.


Please say how to automate file modification operations  like /etc/ssh/sshd_config Password Authentication no => yes and visudo devops  ALL=(ALL:ALL) NOPASSWD:ALL

https://stackoverflow.com/questions/8784761/adding-users-to-sudoers-through-shell-script/8784846


Add setBadgeFromResource() to NovaResource.php

Hi,
Does it make sense to get the badge from Resource as well?
I think it can make tools() more readable.
Thank you.

Yes would be good, also the badge should have its own API so it can ping the server every X seconds to dynamically update itself whenever needed.. currently, it only gets updated if you do a full page refresh...

Ok, I have never used Vue before, so I probably can't do the part 2. If you are ok, I will do my little part and file a PR for part 1. :)

Okay 👍

closed by #61

Yes would be good, also the badge should have its own API so it can ping the server every X seconds to dynamically update itself whenever needed.. currently, it only gets updated if you do a full page refresh...

any news for the dynamic update?


google 6.2.0 missing

I'm getting this error trying to use hashicorp/google provider v6.2.0.
│ Error: Failed to resolve provider packages
│
│ Could not resolve provider hashicorp/google: no available releases match
│ the given constraints >= 3.64.0, 6.2.0, < 7.0.0

While the file was updated at the same time for google and google-beta, google seems to have 6.1.0 and google-beta seems to have 6.2.0.
https://github.com/opentofu/registry/blob/2bec72c69531af7ea406df46e5ec6172fa6b2c6a/providers/h/hashicorp/google.json#L4
https://github.com/opentofu/registry/blob/2bec72c69531af7ea406df46e5ec6172fa6b2c6a/providers/h/hashicorp/google-beta.json#L4
OpenTofu Version
OpenTofu v1.8.2
on darwin_arm64
+ provider registry.opentofu.org/hashicorp/google v5.43.1
+ provider registry.opentofu.org/hashicorp/google-beta v5.43.1

OpenTofu Configuration Files
terraform {
  required_version = ">= 1.8.0"
  required_providers {
    google = {
      source  = "hashicorp/google"
      version = "6.2.0"
    }
    google-beta = {
      source  = "hashicorp/google-beta"
      version = "6.2.0"
    }
  }
}

Not sure if this is similar to #659?

This is now resolved. We identified a small race condition and corner case in our updating process and manually resolved this for now. Thanks for bringing this to our attention!
6.20 should be available shortly. It was added in this commit.

8 hours later, still getting the same error, and still not seeing it in the registry
% curl -s https://registry.opentofu.org/v1/providers/hashicorp/google/versions | yq '.versions[0].version'
6.1.0
% curl -s https://registry.opentofu.org/v1/providers/hashicorp/google/versions | grep 6\\.2\\.0
%

2024-09-12T08:16:20.709-0700 [DEBUG] GET https://registry.opentofu.org/v1/providers/hashicorp/google/versions
2024-09-12T08:16:20.913-0700 [DEBUG] no available releases match the given constraints >= 3.64.0, 6.2.0, < 7.0.0
2024-09-12T08:16:20.913-0700 [DEBUG] Available releases: [0.1.0 0.1.1 0.1.2 0.1.3 1.0.0 1.0.1 1.1.0 1.1.1 1.2.0 1.3.0 1.4.0 1.5.0 1.6.0 1.7.0 1.8.0 1.9.0 1.10.0 1.11.0 1.12.0 1.13.0 1.14.0 1.15.0 1.16.0 1.16.1 1.16.2 1.17.0 1.17.1 1.18.0 1.19.0 1.19.1 1.20.0 2.0.0 2.1.0 2.2.0 2.3.0 2.4.0 2.4.1 2.5.0 2.5.1 2.6.0 2.7.0 2.8.0 2.9.0 2.9.1 2.10.0 2.11.0 2.12.0 2.13.0 2.14.0 2.15.0 2.16.0 2.17.0 2.18.0 2.18.1 2.19.0 2.20.0 2.20.1 2.20.2 2.20.3 3.0.0-beta.1 3.0.0 3.1.0 3.2.0 3.3.0 3.4.0 3.5.0 3.6.0 3.7.0 3.8.0 3.9.0 3.10.0 3.11.0 3.12.0 3.13.0 3.14.0 3.15.0 3.16.0 3.17.0 3.18.0 3.19.0 3.20.0 3.21.0 3.22.0 3.23.0 3.24.0 3.25.0 3.26.0 3.27.0 3.28.0 3.29.0 3.30.0 3.31.0 3.32.0 3.33.0 3.34.0 3.35.0 3.36.0 3.37.0 3.38.0 3.39.0 3.40.0 3.41.0 3.42.0 3.43.0 3.44.0 3.45.0 3.46.0 3.47.0 3.48.0 3.49.0 3.50.0 3.51.0 3.51.1 3.52.0 3.53.0 3.54.0 3.55.0 3.56.0 3.57.0 3.58.0 3.59.0 3.60.0 3.61.0 3.62.0 3.63.0 3.64.0 3.65.0 3.66.0 3.66.1 3.67.0 3.68.0 3.69.0 3.70.0 3.71.0 3.72.0 3.73.0 3.74.0 3.75.0 3.76.0 3.77.0 3.78.0 3.79.0 3.80.0 3.81.0 3.82.0 3.83.0 3.84.0 3.85.0 3.86.0 3.87.0 3.88.0 3.89.0 3.90.0 3.90.1 4.0.0 4.1.0 4.2.0 4.2.1 4.3.0 4.4.0 4.5.0 4.6.0 4.7.0 4.8.0 4.9.0 4.10.0 4.11.0 4.12.0 4.13.0 4.14.0 4.15.0 4.16.0 4.17.0 4.18.0 4.19.0 4.20.0 4.21.0 4.22.0 4.23.0 4.24.0 4.25.0 4.26.0 4.27.0 4.28.0 4.29.0 4.30.0 4.31.0 4.32.0 4.33.0 4.34.0 4.35.0 4.36.0 4.37.0 4.38.0 4.39.0 4.40.0 4.41.0 4.42.0 4.42.1 4.43.0 4.43.1 4.44.0 4.44.1 4.45.0 4.46.0 4.47.0 4.48.0 4.49.0 4.50.0 4.51.0 4.52.0 4.53.0 4.53.1 4.54.0 4.55.0 4.56.0 4.57.0 4.58.0 4.59.0 4.60.0 4.60.1 4.60.2 4.61.0 4.62.0 4.62.1 4.63.0 4.63.1 4.64.0 4.65.0 4.65.1 4.65.2 4.66.0 4.67.0 4.68.0 4.69.0 4.69.1 4.70.0 4.71.0 4.72.0 4.72.1 4.73.0 4.73.1 4.73.2 4.74.0 4.75.0 4.75.1 4.76.0 4.77.0 4.78.0 4.79.0 4.80.0 4.81.0 4.82.0 4.83.0 4.84.0 4.85.0 5.0.0 5.1.0 5.2.0 5.3.0 5.4.0 5.5.0 5.6.0 5.7.0 5.8.0 5.9.0 5.10.0 5.11.0 5.12.0 5.13.0 5.14.0 5.15.0 5.16.0 5.17.0 5.18.0 5.19.0 5.20.0 5.21.0 5.22.0 5.23.0 5.24.0 5.25.0 5.26.0 5.27.0 5.28.0 5.29.0 5.29.1 5.30.0 5.31.0 5.31.1 5.32.0 5.33.0 5.34.0 5.35.0 5.36.0 5.37.0 5.38.0 5.39.0 5.39.1 5.40.0 5.41.0 5.42.0 5.43.0 5.43.1 5.44.0 6.0.0 6.0.1 6.1.0]
- Using previously-installed hashicorp/google-beta v6.2.0

Could these failures be related as well? (the --max-delete threshold reached errors)?

Hi, Thanks for your patience on this one. By mistake I fixed the opentofu google provider but didn't fix the hashicorp one. Complete oversight on my part but this is now working. Thanks for your patience here.


Weird background size when phone restarts

Hi! First of all let me tell you that I thinks this shortcut is genius :) I love the out of the box thinking!
I just wanted to let you know that whenever I restart my phone the image shown on the Lock Screen has a weird size.
Running Wetr fixes it. I use a manually selected album with just one specific photo in it in my configuration.
Here’s 2 screenshots to compare:

This is an iOS issue. Most nights iOS soft reboots overnight to free up and refresh its resources. Has been doing this since iOS 11 I think. Nothing I can do about it. You'll need to file this feedback with apple.
Thank you.

Well, when I manually set the same photo as the lock screen background it doesn’t do that 🙄 That’s weird 🤔
On 15 Dec 2021, at 18:47, Polyphian @.***> wrote:

This is an iOS issue. Most nights iOS soft reboots overnight to free up and refresh its resources. Has been doing this since iOS 11 I think. Nothing I can do about it. You'll need to file this feedback with apple.
Thank you.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FPolyphian%2Frepo%2Fissues%2F4%23issuecomment-994971913&data=04|01||c93366940474492907f008d9bfea947e|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637751836498800728|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=YfyvcNyrdbFNV0%2FtDlZDdMNX50%2FN9pmea%2FsO6BGeBnE%3D&reserved=0, or unsubscribehttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAAF525ZMHW2L2CUW3WPQJQ3URDBCBANCNFSM5KC7L6PA&data=04|01||c93366940474492907f008d9bfea947e|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637751836498810721|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=Ry1uPGgiGjlXPlpeFBZICKcJJsmrazBAtMmlNaA1CP8%3D&reserved=0.
Triage notifications on the go with GitHub Mobile for iOShttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04|01||c93366940474492907f008d9bfea947e|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637751836498810721|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=9aGA0NYcetVe8RjZ1NAm9W8f%2F4sSHz7mZ3QYZYnw7UA%3D&reserved=0 or Androidhttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04|01||c93366940474492907f008d9bfea947e|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637751836498820715|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=ov%2F4SVHBU4Z61IUKbSacwutwSqX3hTkJ8J2f3XCFdEw%3D&reserved=0.


Add play position tracking for all play types

The tracking is active by default, but the resuming has to be enabled explicitly, either by setting
playermpd.play_position_tracking.resume_by_default: true
or by calling the play_* functions with the new resume=True kwarg.
Related: #1946
Reasons for draft status / checklist before merging:

[ ] #2330
[ ] Final round of testing

I've been using most of the code on my Phoniebox without problems. The code has seen some adjustments by now though, so it hasn't been tested as-is. Other than that, it's ready for review. I will do a final round of testing when the reviews are done.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
493

Relevant Lines:
1286

💛  - Coveralls


Left panel date can get cutoff

Having 24 Hour Time disabled and Show Seconds enabled causes the date and time in the left panel to be cutoff.

Last update added a Window Splitter, you can now readjust the left panel window and change it's size.


errors 2.1

errors-2.1.0 depended on by:

latex-formulae-image-<IP_ADDRESS> (==2.0.*). Liam O'Connor<EMAIL_ADDRESS>@liamoc
rest-core-0.37 (>=1.4 && < 2.1). Silk<EMAIL_ADDRESS>@bergmark @hesselink
stack-1.0.0 (>=2.0.1 && < 2.1). Emanuel Borsboom<EMAIL_ADDRESS>@borsboom. @commercialhaskell

fixed rest-core

stack also fixed on Hackage

Fixed in latex-formulae-image-<IP_ADDRESS>

Wow, that was fast. Will roll back upper bound when back on my computer, thanks!


Need info

Hi,
I am Federico and I'm using this Flutter libraty to get the list of APs from my phone, but I can't see any info. I implemented my code in a very similar way as the example code, but with no success.
Can you give me more details on how to get AP list in the proper way?
Thank you.

Hi,
I found what was wrong, I was missing to grant permission on geolocation.


setSmallIcon设置自定义的图片后通知栏展示纯灰色

我的代码如下：
NotificationChannel channel = new NotificationChannel(PRIMARY_CHANNEL_ID, "消息通知", NotificationManager.IMPORTANCE_DEFAULT);
mgr.createNotificationChannel(channel);
notification = new Notification.Builder(context, PRIMARY_CHANNEL_ID)
.setSmallIcon(R.mipmap.icon_notify)
.setTicker(ticker)
.setWhen(System.currentTimeMillis())
.build();
然而通知栏的效果不符合预期：

我也遇到这个问题了

This sample has been deprecated/archived (check README for more information on newer samples related to this technology).
As recommended by GitHub, we are closing all issues and pull requests.


Fixing missing hoodie record location in HoodieRecord when record is read from disk after being spilled

@vinothchandar @bvaradar please review.

@bvaradar Added comments, let @vinothchandar if it's ready to be merged, thanks


createjs.com stopped working

Hello,
https://code.createjs.com CDN and createjs.com domain is unavailable actually.
Is it a mistake and are You working on make it working again or it is a decision to stop this website/service?
If intentional, why was this decision made?
Thanks

@macrowebhu
its a known issue: #9
Was resolved yesterday, but now it occurs once again.

Hello, I would like to also confirm that the CDN was working for a brief period of time yesterday but it's down again today.


Build pipelining support

This is a work-in-progress, open source port of build pipelining support implemented by Lightbend Scala team (https://github.com/scala/scala/pull/7712) and Morgan Stanley (https://github.com/mspnf/zinc/blob/1.3.x-contrib/README-MORGANSTANLEY.MD).

To validate this pull request against other sbt modules, please visit this link.

@eed3si9n any chance you can rebase this one?  It's merge-conflicting with other changes (like the TestProjectSetup reflector).

@dwijnand Sure. I guess I can split ready-to-go pieces apart while I'm at it.

Yeah, that sounds like a great idea.

It would be good if we could use PathFactory and  -Ypickle-write to get the pickles out of the compiler, rather than having the new pickleData extension point in the compiler callback.
Here's what I had in mind:
https://github.com/scala/scala/blob/8538d98989b33d0090fdd142435320abae10a2fd/test/junit/scala/tools/nsc/PickleWriteTest.scala#L52-L97
This can be combined with -Ypickle-write-api-only which limits the written .sig files to non-private API. Such pickles aren't (currently) stored in a map like Run#symData, as I wanted to avoid a) another ad-hoc extension point and b) keeping public pickles in memory until the end of the Run.
We can stick with this Run.symData to get to a viable version of this PR though.

Here are some challenges:

keeping *.class and *.sig in sync, i.e. propagating deletion of *.class to *.sig,
backing out A.class and A.sig while compiling A.scala,
supporting both compile-to-JAR and -to-directory,
making sure it works for both Java and Scala, and
making sure it works for subproject dependencies.

For example, given subprojects core (A.scala, ...) and app (App.scala) that depends on core, transactional ClassFileManager today backs out A.class when compiling A.scala.

Compile both app and core subprojects.
Introduce a change to A.scala so it no longer compiles.
Try compiling app and core again. A.sig would still exist in the classpath, so App.scala compilation succeeds.

keeping *.class and *.sig in sync, i.e. propagating deletion of *.class to *.sig,

We have the exact same problem with .tasty, which is why we only emit .tasty in the backend even though they could be emitted at pickler (and even then we also need all of this wonderful stuff: https://github.com/lampepfl/dotty/blob/11760ea2b23ad7eb5b5749f489ee5395980c0daf/sbt-dotty/src/dotty/tools/sbtplugin/DottyPlugin.scala#L127-L152)

Also to document "making sure it works for both Java and Scala" part of the challenge... Here's MixedAnalyzingCompiler#compile as it stands:
https://github.com/sbt/zinc/blob/0a961166a17e25889d08677b7adf4117714cc5fc/zinc/src/main/scala/sbt/internal/inc/MixedAnalyzingCompiler.scala#L157-L163
By default it calls compileScala() and immediately afterwards it calls compileJava().
delay Javac compilation?
Using core and app subproject as example, let's say both subprojects are Scala and Java sources. The question is when can we start "app" subproject compile. Ideally we want to start as soon as early artifacts are available from core. compileScala() should go through fine. compileJava() would fail because Javac wants real *.class file in the classpath.
So should we wait till whole compilation is done for core subproject? Doing so would undermine the pipelining whenever *.java files are included. If we want to avoid that, we need a way to queue Javac compilation, and wait until whole compilations of subproject dependencies are done.
*.class-based JavaAnalyze?
AnalyzingJavaCompiler (https://github.com/sbt/zinc/blob/v1.4.0-M5/zinc/src/main/scala/sbt/internal/inc/javac/AnalyzingJavaCompiler.scala) runs analysis on top of the *.class file created by javac.
If we try to pipeline mixed Java/Scala subprojects, the Analysis information created by JavaAnalyze will not be available to downstream subprojects. Instead it will use the Analysis information created via -Ypickle-java + xsbt-dependency phase etc. I'm not sure if we lose some accuracy because of this.

Here's a diagram to illustrate this.

So should we wait till whole compilation is done for core subproject?

The intention is that we use .sig files generated by -Ypickle-java as inputs to downstream scalac, and .class files as inputs to downstream javac.app is too coarse a node in this dependency graph, we need app:scalac and app:java as separate nodes.
Downstream projects that use .sig files will be presented with an partial ("early"?) Analysis that lacks some information. As you pointed out, AnalyzingJavaCompiler currently extracts the API, used libraries, used internal classes from .class files.
AFAICT some of this information (e.g. external library dependencies) is irrelevant for the decision making of the downstream incremental compiler and won't be needed until subsequent compilation of this project. The API extraction is important, but should be safe to replace with extact-api processing the API extracted by scalac -Ypickle-java. The API hash won't be identical due to implementation differences, but that's not a problem if you're always using one strategy or the other.
I think it would be useful to validate our assumptions about what information is irrelevant to downstream incremental compilation, they would only be consulted as part of previousRelations. Could we validated the assumptions by modifying LookupImpl.analyses to filter out the information we believe is not needed from classpath analyses?

Could we validated the assumptions by modifying LookupImpl.analyses to filter out the information we believe is not needed from classpath analyses?

Good idea. I think all we need are analysis.relations.productClassName and analysis.apis.internalAPI accessed by https://github.com/sbt/zinc/blob/0a961166a17e25889d08677b7adf4117714cc5fc/internal/zinc-core/src/main/scala/sbt/internal/inc/IncrementalCommon.scala#L776-L783
analysis.relations.productClassName is determined by nonLocalClasses and localClasses collected in AnalysisCallback. In API Extraction phase registerGeneratedClasses registers non-local *.class files - https://github.com/sbt/zinc/blob/develop/internal/compiler-bridge/src/main/scala/xsbt/API.scala#L117, whereas in Java Analyzer phase registers local classes, which should not impact the downstream.

I have a rebase of this, but why can't I force push it? 😕

@dwijnand I just checked Allow edits by maintainers. Let me know if that doesn't work.

Actually I'm attempting to check it, but it seems like the checkbox is not sticking. I'll just give you push access to my zinc?

@eed3si9n could you review this, please?  For me it's good enough to merge.  I need to look at a detail about cancelation still, but I'd prefer landing this safely first and PRing that part after.
I might also look at that -Ypickle-write Jason mentioned, as well as -Ypickle-write-api-only, but they sound like nice-to-have changes.

@dwijnand See my comment on https://github.com/sbt/zinc/pull/744#issuecomment-623628523. If the strategy for mixed Scala/Java subproject is to compile all the Java stuff (which is fine for now), then we need to:

skip Java compilation in MixedAnalyzingCompiler#compile and
provide compileAllJava method to IncrementalCompilerImpl for convenience

Without it, I don't think this feature cannot be used by any build tool.

subproject-java scripted test demonstrates the need to coordinate Java compilation.
I'm fine with merging this as-is, and following up with that in a later PR.


Ordering nodes by name

Is it possible to order nodes by name?

You can order them in your code, the tree doesn't support it


Lower log level to reduce number of logs in prod

Description

reduce log level from INFO to DEBUG for a lot of log messages
kept INFO level for logs which are very useful for regular testing
corrected log level from INFO to ERROR where applicable
removed a couple of useless logs or logs previously used to debug no longer relevant issues

Fixes https://issues.redhat.com/browse/CCXDEV-11350
Type of change
Please delete options that are not relevant.

Refactor (refactoring code, removing useless files)

Testing steps
n/a
Checklist

[x] make before_commit passes
[x] updated documentation wherever necessary
[x] added or modified tests if necessary
[x] updated schemas and validators in insights-data-schemas in case of input/output change

/retest

/retest

/retest


software update connectivity

In our environment we tunnel all connectivity through a VPN. The machines will pass the check that a connection is valid as the wifi is enabled and active , however there can be the instance where the VPN has not established and therefore we have no connectivity out to apple.
From my testing with super in the above scenario the logs exit with error code 1 with the line "Unable to parse Apple softwareupdate results".
The issue I'm seeing is after this point no launchdaemon is recreated so super never runs again. I had a look at the script and this appears to be happening at line 2240 to 2244 - If you add the function call 'makeLaunchDaemonCalendar' to line 2243 - just before sending S.U.P.E.R.M.A.N EXIT to the logs it resolves the issue
The other thing you could do is have a connectivity check out to apple at the same point you check the network interfaces but I think the above is easier

This should be resolved with super v3.0b1. Thanks!


Show WI Selection on board view

Reproduction:

Open a work item in the board view
WI card in the board view is not shown as selected state

@fabric8io/uxd please provide the visual spec for the same

@SMahil https://redhat.invisionapp.com/share/AWB5N9NGC#/210504573_Boardview-Click1

Presently it behaves as intended. Please re-verify.


Integration Test - Release - 2018/06/06 12:43:13

Auto create for integration test. AnotherAuthorUpdatedArticleFlow

@PRMergerTest3 : Thanks for your contribution! The author, @v-caxian, has been notified to review your proposed change.


Lock cache while filling it

This should fix EDDiscovery/EDDiscovery#3072

Thanks, this obv clashes with the stuff i've rewritten, plus it involves a lock per access.
I'll change it so the table if filled right at the start with an explicit call to Fill from EDDForm.


I am keep getting this error while creating angular2 project inside VS2015, this happens when installing typing install, and I don't see anywhere there is file named .typingsrc in the project, please help:

Prerequisites

[ ] Did you check the FAQ?
[ ] Did you search open and closed issues to see if your issue has already been reported?

Description
[Description of the bug or feature]
Steps to Reproduce

[First Step]
[Second Step]
[and so on...]

Expected behavior: [What did you expect to happen?]
Actual behavior: [What actually happened?]
Versions
[From typings -v]

PATH=C:\Program Files (x86)\nodejs;.\node_modules.bin;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External;%PATH%;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External\git
"C:\Program Files (x86)\nodejs\npm.CMD" install

<EMAIL_ADDRESS>postinstall C:\my files\CATS1\MyFirstAngular2Project\src\MyFirstAngular2Project
typings install
typings ERR! message Unable to connect to "https://api.typings.org/entries/dt/node/tags/6.0.0%2B20160909174046"
typings ERR! caused by connect ECONNREFUSED <IP_ADDRESS>:443
typings ERR! cwd C:\my files\CATS1\MyFirstAngular2Project\src\MyFirstAngular2Project
typings ERR! system Windows_NT 6.1.7601
typings ERR! command "C:\Program Files (x86)\nodejs\node.exe" "C:\my files\CATS1\MyFirstAngular2Project\src\MyFirstAngular2Project\node_modules\typings\dist\bin.js" "install"
typings ERR! node -v v6.5.0
typings ERR! typings -v 1.3.3
typings ERR! code EUNAVAILABLE
typings ERR! If you need help, you may report this error at:
typings ERR!   https://github.com/typings/typings/issues
npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture<EMAIL_ADDRESS>npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN<EMAIL_ADDRESS>No repository field.
npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\Program Files (x86)\nodejs\node.exe" "C:\Program Files (x86)\nodejs\node_modules\npm\bin\npm-cli.js" "install"
npm ERR! node v6.5.0
npm ERR! npm  v3.10.3
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>postinstall: typings install
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script 'typings install'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the angular2-project package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     typings install
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs angular2-project
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls angular2-project
npm ERR! There is likely additional logging output above.

Can you please try an existing issue like https://github.com/typings/typings/issues/536? It's probable that you need to use .typingsrc to configure proxy access. If not, feel free to continue the discussion.

Good morning Blake,
I have manually created a file named .typingsrc and add the following content to the file:
proxy = http://myproxy:#portnumber
rejectUnauthorized=false
registryURL=http://api.typings.org/
And then the error for connection refused error went away, but now I am seeing below error or warning, and also in my project folders of Dependencies and the nmp inside Dependencies both showing "not installed", can you please help me out on this? (BTW, I created the empty web project in .Net Core instead of .Net 4.5.2, does that matter? )
PATH=C:\Program Files (x86)\nodejs;.\node_modules.bin;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External;%PATH%;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External\git
"C:\Program Files (x86)\nodejs\npm.CMD" install

<EMAIL_ADDRESS>postinstall C:\my files\CATS1\MyFirstAngular2Project\src\MyFirstAngular2Project

typings install

typings WARN deprecated 9/14/2016: "registry:dt/core-js#0.0.0+20160725163759" is deprecated (updated, replaced or removed)
typings WARN deprecated 9/21/2016: "registry:dt/node#6.0.0+20160909174046" is deprecated (updated, replaced or removed)
+-- core-js (global)
+-- jasmine (global)
`-- node (global)
npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture<EMAIL_ADDRESS>npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN<EMAIL_ADDRESS>No repository field.

From: Blake Embrey<EMAIL_ADDRESS>Sent: Wednesday, September 21, 2016 4:05 PM
To: typings/typings
Cc: tim182; Author
Subject: Re: [typings/typings] I am keep getting this error while creating angular2 project inside VS2015, this happens when installing typing install, and I don't see anywhere there is file named .typingsrc in the project, please help: (#694)
Can you please try an existing issue like #536https://github.com/typings/typings/issues/536? It's probable that you need to use .typingsrc to configure proxy access. If not, feel free to continue the discussion.

You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/typings/typings/issues/694#issuecomment-248769169, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ATI7qaR-Rvdww31Lc6eSMsSvdGZcSgUDks5qsbhHgaJpZM4KDVDG.

It looks fine to me. The warning says that a definition you installed has been "updated, replaced or removed". That's all. The other warnings are from NPM.

Do you know why it shows as not installed for the NPM under dependencies folder?

From: Blake Embrey<EMAIL_ADDRESS>Sent: Thursday, September 22, 2016 9:09 AM
To: typings/typings
Cc: tim182; Author
Subject: Re: [typings/typings] I am keep getting this error while creating angular2 project inside VS2015, this happens when installing typing install, and I don't see anywhere there is file named .typingsrc in the project, please help: (#694)
It looks fine to me. The warning says that a definition you installed has been "updated, replaced or removed". That's all. The other warnings are from NPM.

You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/typings/typings/issues/694#issuecomment-248949882, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ATI7qe79_9-dQDlSs8OwUcaVIMghcWb6ks5qsqhMgaJpZM4KDVDG.

What's not installed?

Inside the solution in the VS, there is a folder named "Dependencies" and the folder "npm" under "Dependencies" folder, the words "not installed" displayed on the right of the folder named "Dependencies" and "npm".
I have Node.js installed and also the npm globally, as they work fine inside another .net core project.
Do you know why I am seeing this "not  installed" message on the right of the dependencies and npm folder in the solution?
Thanks,
Tim

From: Blake Embrey<EMAIL_ADDRESS>Sent: Thursday, September 22, 2016 10:27 AM
To: typings/typings
Cc: tim182; Author
Subject: Re: [typings/typings] I am keep getting this error while creating angular2 project inside VS2015, this happens when installing typing install, and I don't see anywhere there is file named .typingsrc in the project, please help: (#694)
What's not installed?

You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/typings/typings/issues/694#issuecomment-248971058, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ATI7qdekJfZovN45C_dm1-SOZvu-hj3Eks5qsrqbgaJpZM4KDVDG.

I'm honestly not sure what you're describing, I don't use Visual Studio or Windows. Maybe you haven't installed any NPM dependencies locally? Maybe you can try seeking support online? Do you expect something to be there?


GET works POST wont. Please help

I've been trying to use this to integrate with Smartthings using a http button creater and although it will send all the GET commands, whatever I try I cannot get any POST commands I send get a 404 not found error. Could you please give a single line http POST example if possible.
Many thanks for your great work on this.
Cheers

http://localhost:8282/hubs/myhub/devices/nupro/commands/volume-up
for example


metapath2vec demo notebook too slow to run on CI

Describe the bug
Split from #820 - the demo embeddings/stellargraph-metapath2vec.ipynb takes more than 1 hour to run on CI, so has been disabled from testing.   It needs to be sped up somehow so that it can be tested on CI.
Note: the notebook is disabled from CI via specific exclusion in .buildkite/steps/test-demo-notebooks.sh.

closing as this is moved back to #820 since all the slow notebooks are disabled.


The same phone models (using default browser) born the same fingerprints

Hi, I got that issue with 3 new iphones. Do you have any suggest?

Hello! Thanks for your interest in AmIUnique!
In my opinion, it is not an issue. If you take 3 totally new iPhones (same model) that just came out from the factory, I would expect them to have the same fingerprint with the default browser. Differences start to appear when users start to make the smartphones their own. For example, if the main language is different or if they switch to a different browser, you will start to notice differences between the phones.
If you have another question or if you want a more detailed explanation, don't hesitate to ask!

Thank you very much for your answer.
Because many people use their phones with default configuration (not add plugin, not change font, use en),..
Do you have any idea for identify each of them? :)

Right now, it is very hard. There may some possibilities because it is rare that users have an exact carbon copy of their configuration but it is pretty much a research topic on its own. Standard fingerprinting scripts don't have the capacity to detect these really subtle differences.

Thank you :)


Fix typo in comments

Changes "shure" to "sure" in .nginx.conf file.

Good catch, thanks!

Coverage decreased (-0.002%) to 98.415% when pulling b343c0533120e94033de4fdfbbed967f99223e09 on brandonlilly:patch-1 into e18a3bcc3ed55f55a0217b6d6be88b64f6c89425 on mxstbr:master.


Updates source URL for the dcos_generate_config.sh to match dcos.io docs

Fixes #2

👍

This works, not sure how to make Travis happy


JSoup parses tags with spaces

After parsing the input text, which could be a part of aformula:
Aa
a<b
becomes:
Aa
a
The most weird thing is that github has this bug too!

Just to clarify with some examples:
Truncates contents after '<'
Jsoup.parseBodyFragment( "A is less than b: a<b" );

Output

  A is less than b: a

Escapes '<'
Jsoup.parseBodyFragment( "One is less than two: 1<2" )

Output

  One is less than two: 1<2

Is there any way to make Jsoup behave like the second example with numbers?

(Closing out old, dormant bugs. If you are still impacted by this, please reopen & vote.)


Sometimes find file other window breaks on the beginning.

As title, find file other windows breaks few times on the beginning. Maybe something goes wrong or triggered; like a library loaded then it changes it behavior, etc. 😕

Fixed by this commit a134443fda23edfc8442584ecd66a1049bb714ec.


Unknown IDs in flame graph when stacks are produced

Getting some blocks as IDs only (in flame graph blocks) rather than full method names which we produce through stack output ?

Do you have an example of this?
If you could provide the raw trace and an image for the flame graph with the unknown IDs that would be great =)

Yes following is the screenshot:

In case of ID only blocks the trace only consist of this number rather than full name of method with class like the rest?

@BurntBrunch @ricardorey10 @yangshun Hey, I inspected around these unknown IDs and inferred that these were actually the framework code from google like maps in my case which definitely can be a framework code: Lcom/google/maps/api/android/lib6/gmm6/vector/bg .  So, this may also be treated as a framework frame and added as a prefix possibility in here in JavaBaseTrace.h .
Should I raise a PR for this?

Issue resolved in following PR: #49 closing the issue. Changelog here


Android Subtitles SRT not working for me

Current behavior
Hi @cobarx I'm trying to use textTracks to load .srt subtitle with video but unfortunately, video is loading and working fine but subtitles are not showing up in any case, have tried almost every possible way of implementation. Scope of my project is to use this player to run multiple videos, targeting AndroidTV and AppleTV.
Reproduction Steps
Video: https://s3.amazonaws.com/irt-media/iris/videos/772.360p.mp4
Subtitles: https://roku.itsrelevant.tv/roku/subtitles?chars=50&video_id=592
Code Implementation:
<Video
    ref={videoRef => (this.videoRef = videoRef)}
    useTextureView={false}
    source={{uri: 'https://publish.dvlabs.com/democracynow/360/dn2018-0720.mp4'}}
    resizeMode="contain"
    style={styles.fullScreen}
    selectedTextTrack={{
        type: 'title',
        value: 'English',
    }}
    textTracks={[
        {
            title: 'English',
            language: 'es',
            type: TextTrackType.SRT,
            uri: 'https://roku.itsrelevant.tv/roku/subtitles?chars=50&video_id=592',
        },
    ]}
/>

Expected behavior
TextTracks i.e SRT should be displayed with video play
Platform

Android

Fixed it by changing the default player to "android-exoplayer" at  /android/settings.gradle

subtitle nt display for me, i follow given steps

Fixed it by changing the default player to "android-exoplayer" at /android/settings.gradle

not wrking for me

I solved this by adding a react-native.config.js file to root of my project with:
module.exports = { dependencies: { 'react-native-video': { platforms: { android: { sourceDir: '../node_modules/react-native-video/android-exoplayer', }, }, }, }, };


Specifying the location of arrayfire without LD_LIBRARY_PATH

Hi,
We are not using LD_LIBRARY_PATH on our system because
https://gms.tf/ld_library_path-considered-harmful.html
Is there another way than LD_LIBRARY_PATH to point to the location of the arrayfire libraries to the python wrapper ?
https://github.com/arrayfire/arrayfire-python/wiki

Not sure why it created the issue twice. Closing as a duplicate of #247

Not sure why it created the issue twice. Closing as a duplicate of #247


2.20.21 isn't on https://pypi.org

https://pypi.org only has 2.20.20 here.

Thanks Yuri for letting me know.  Fortunately, the changes in 2.20.21 were introduced by Otello and only affect the MOLC force-field.  However I apologize to Otello for not deploying his fix on pypi (or the moltemplate.org website).
Actually, there are several other serious updates that need to be made.  I am making some of them today, and I'll make sure the latest version of moltemplate is on pypi.  (2.20.22, currently.)

Updated.  Thanks again.


Add Sulu.io

[x] verified that the CMS I'm adding is still maintained.
[x] read CONTRIBUTING.md.
[x] did not generate README.md.

Two for one! Thanks, @sserot.


textarea or input lost focus time to time

when user input, mouse does't move, but text box will lost focus, maybe due to input method, but how can i fix this by filtering input or textarea element

Please give more information :

jQuery version
iframeTracker version
Browser and OS
Provide a minimal test case (use tools like jsbin, jsfiddle or codepen)

jquery version: 2.2.4
iframeTracker version: 2.0.0
Browser and OS: chrome in Windows 10
i have resolved my problem by adding a statement below to avoid those anything don't know what to trigger mouseout event.
mouseoutListener: function(e) {
if (document.activeElement == this) { return false; }
     e.data.handler.over = false;
     $.iframeTracker.focusRetriever.focus();

     ......

}
thanks.

I think it's a duplicate of #2, you should try to update to 2.1.0 instead of hacking mouseoutListener.

thanks. i'll update it.
On Sun, Apr 22, 2018 at 3:42 AM, Vincent Paré<EMAIL_ADDRESS>wrote:

I think it's a duplicate of #2
https://github.com/vincepare/iframeTracker-jquery/issues/2, you should
try to update to 2.1.0 instead of hacking mouseoutListener.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/vincepare/iframeTracker-jquery/issues/22#issuecomment-383324693,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIhgZ2a4B2ARHUSg5j4QmalS_3zMQtTgks5tq4ubgaJpZM4TPmDY
.


Allow "Actor Traits" Rule Element to take more detailed options

Currently the "Actor Traits" Rule Element only supports taking existing or homebrew traits directly. It is impossible to add more complex specifications, such as referring to a Choice Set Rule Element.

Actor traits seem to execute resolveInjectedProperties, so {item|flags.pf2e.rulesSelections.blah} should work I think?

Attempts to enter text ends in it being cleared after insertion!

Verified that it works, but not via the UI- my bad!


Colorfuloptionsetgrid not showing up

I added the custom control to view from classic editor . But the customizations are not appearing.

So you added a subgrid to your form, and went to Control, and there you cannot find the ColorfulOptionsetGrid in the list?
Have you installed the unmanaged or the managed version of the PCF?
If unmanaged, have you published after the import?

Hi I have added in the view.
And I am using unmanaged solution
On Tue, 27 Sep 2022, 21:50 Diana Birkelbach, @.***>
wrote:

So you added a subgrid to your form, and went to Control, and there you
cannot find the ColorfulOptionsetGrid in the list?
Have you installed the unmanaged or the managed version of the PCF?
If unmanaged, have you published after the import?
—
Reply to this email directly, view it on GitHub
https://github.com/brasov2de/ColorfulOptionsetGrid/issues/29#issuecomment-1259741389,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A3EQEIROZHDEN4WWDTP2GPLWAMNFLANCNFSM6AAAAAAQW6IPAE
.
You are receiving this because you authored the thread.Message ID:
@.***>

Using the new maker portal, you are not reminded to publish. But the publish is needed (publishAll)
Do you mean that the PCF is not shown in the list?
Or maybe you added the PCF already, but you don't see it while running tha App?

Yes the pcf is not shown on list

You mean I have to publish all customisation?

Yes, please.
If it still doesn't work:

have you used JSON configuration for icons?
using chrome developer tools, you could eventually see errors in the console. Can you find something?

I am not using json configuration.
But i am applying It on view
And as you told I have published all customisation
On Wed, 28 Sep 2022, 12:53 Diana Birkelbach, @.***>
wrote:

Yes, please.
If it still doesn't work:

have you used JSON configuration for icons?
using chrome developer tools, you could eventually see errors in the
console. Can you find something?

—
Reply to this email directly, view it on GitHub
https://github.com/brasov2de/ColorfulOptionsetGrid/issues/29#issuecomment-1260493846,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A3EQEITBMWUONQ7F4KA6FH3WAPW6JANCNFSM6AAAAAAQW6IPAE
.
You are receiving this because you authored the thread.Message ID:
@.***>

Hi Diana, I am finding when using it on a Model Driven Power App, I can apply apply it to a view, and then works intermittently, so often doesn't show.

Hi @StuartMHarrod ,
Does it work if you apply it for the complete table (not only a view)?
Are you able to switch the represenation "use the "Show As ColorfulOptionsetGrid"? Does it work then?


Make Session SDP-agnostic

I have a use case where I need to be prepared to send and receive offers and answers in "multipart/mixed" messages. This use case may be too specific for SIP.js, so I looked at enabling it in a custom MediaHandler. Following up on #166, this PR includes changes that

Move SDP hacks into WebRTC/MediaHandler.
Expose an onhold property on WebRTC/MediaHandler—this is used in Session instead of matching a RegExp on the SDP.
Remove SDP mangling from sendReinvite—now WebRTC/MediaHandler will check an onhold property in order to determine if it should rewrite the SDP in getDescription.
Remove Content-Type checking from Session—now Session will pass the entire SIPMessage to MediaHandler.hasDescription (which can check its Content-Type, check if it has an empty body, or anything else).
Pass the entire SIPMessage to MediaHandler.setDescription—for example, a MediaHandler expecting "multipart/mixed" messages needs to query the Content-Type in order to parse the body. There may be other MediaHandlers that observe other headers.
Allow MediaHandler.getDescription to specify extraHeaders and body—for example, a MediaHandler could specify a Content-Type other than "application/sdp".

These are significant changes, and I only have the Jasmine tests passing (I have not yet tested with my application), but would you consider such a refactor?

Just following up: this is working pretty well in my application. I do not observe any behavior change. But one concern I have is that hasDescription might duplicate the work of setDescription. Maybe instead of
if (hasDescription(request)) {
  setDescription(request);
}

Session.js should do something like
var description = extractDescription(request);
if (description) {
  setDescription(description);
}

Hey, I just wanted to post to say that this is definitely still on my radar.  I haven't had the time to really look at it closely yet.  And it's a big refactor, so I am keen to actually see it in action before merging it.  It looks like there is a lot of great work in here, and I want to make sure I can give it the attention it deserves.

Hi @wakamoleguy, thanks for the update.

I am keen to actually see it in action before merging it.

Yes, please take some time to review it first! :-) This is not a change I'd like to just push through, and I still have an open question about implementation (e.g. hasDescription vs extractDescription, as mentioned above). Normal INVITE and INVITE without SDP flows are working for me; however, I have not tested early media (I don't really have a use case for early media in my application).

Overall, I think this is a great change. When we forked SIP.js, we did an initial mediaHandler refactor to attempt to remove sdp from Session, but the re-invite logic was added after that, so I'm glad to see it finally going where it belongs. I'm going to leave some notes about changes as I go:

1st commit looks good

2nd commit: it looks like the mangle code will now get called in more situations. Specifically, whenever you are on hold and call getDescription (I believe an example would be in receiveReinvite). I don't believe this is problematic, but it is a processing change. I also commented on the diff, but I believe the hold variable in receiveReinvite may now be misused. Also, I'm not sure if remote_hold and local_hold were considered during these changes.

3rd commit: hasDescription is now more rigorous in many situations than it used to be. I think it's ok and we probably should have been checking both body and content-type, but there may be situations where that was not true.

4th commit looks good

5th commit: I may need to brush up on the RFC here, but is Content-Type required? If the new extraHeaders property will always be at least Content-Type, and Content-Type is required, I'd much rather make it the property contentType and leave the extraHeaders.push("Content-Type:"...) lines. You can still pass extraHeaders back as a third property, but if Content-Type is always important, I would favor giving it it's own property. I think description is a good name for the object coming out.

In terms of hasDescription vs. extractDescription, it seems like you'd just be forcing a dependency between the two functions if you went with extract because of the object. If the idea of extracting the description was used elsewhere, I think it would be a good change, but if extractDescription will always be followed by setDescription, I'd rather setDescription be powerful enough to deal with the SIP message, and leave hasDescription as solely a validator. I could be missing the whole point here, so let me know if that makes sense.
Thanks again,
James

@james-onsip thank you for the review!

Regarding the hold behavior:

I believe this edit actually changes the behavior incorrectly, unless it was moved elsewhere and I'm not seeing it. The hold variable was used to determine if the incoming request (a reinvite) wanted to put the call on or off hold. Now, I believe it is signaling whether or not the call has been placed on hold from our side. ...

You may be right. I can't say I use the hold functionality, so I will have to revisit that portion of the code and get back to you.

Regarding the 5th commit, that is a good suggestion. Per RFC 3261, Section 20.15,

The Content-Type header field MUST be present if the body is not empty.  If the body is empty, and a Content-Type header field is present, it indicates that the body of the specific type has zero length (for example, an empty audio file).

I will update the return value. What do you think of
{
  // optional; can be string, null, or undefined
  body: null,
  // required if `body` is present and neither null nor undefined
  contentType: "application/sdp",
  // optional
  extraHeaders: [
    "foo: bar"
  ]
}

Thank you for your perspective regarding hasDescription vs. extractDescription. I agree it would create a dependency between the two functions in the return type of extractDescription and the type of the input to setDescription.

If the idea of extracting the description was used elsewhere, I think it would be a good change

The only place I can think of using this functionality would be in unit tests, where you could create the input expected by setDescription without having to frame it in a SIP message. I don't feel strongly about it though.

if extractDescription will always be followed by setDescription, I'd rather setDescription be powerful enough to deal with the SIP message, and leave hasDescription as solely a validator. I could be missing the whole point here, so let me know if that makes sense.

Letting setDescription be powerful enough to deal with the SIP message does make a simpler API, which I like. The only worry I have is that if hasDescription and setDescription duplicate some amount of work (for example, I have a custom MediaHandler that must parse a "multipart/mixed" message body) I may pay for it twice.

I'll see about working on these changes this week, getting things rebased, etc.
Thanks,
Mark

I think using contentType as the property looks great.
In regards to the double work thing, since you are writing a custom MediaHandler, you could save the parsed message body on the MediaHandler object (this), then reuse it if it's there, or do it in another, non-interface function (should be possible, don't actually know though). I could imagine both setDescription and hasDescription call an internal extractDescription that does the parsing, but if an object has already been parsed then it is saved. at the end of setDescription, you can then clear it. It's not the best, but it does allow the parsing to only occur once. This may even be something to add to the interface, although for sdp I guess it would just kind of no-op.

@james-onsip thank you for you guidance on the hold functionality in the 2nd commit. I have rewritten it in such a way that I believe fixes the behavior (see commit message for more details). I've also updated the 5th commit based on our discussions and introduced a getDescriptionHeaders function to reduce code repetition.
Would you please take another look? Unit tests are passing, and I have successfully re-integrated these changes with my application, so I am fairly confident; however, I don't exercise the hold functionality in my own code. Is there a canonical test app I could test against?

I like the changes for the second commit, although I think the usefulness of remote_hold and local_hold on the session object is at the point where they can probably be removed (albeit in another PR, they aren't entirely useless yet).
For the fifth commit, I think the utils function makes sense, but it certainly won't get past an author or two (cough @wakamoleguy and the crusade cough). I'm not sure of exactly the best way, but based on your changes and quoting of the RFC, I would think making "Content-Type" not be an extraHeader would make sense. Making it default to application/sdp, but otherwise be set with an argument of some sort may be the best path.
What I describe seems like... a substantial change, that would most likely warrant more significant refactoring and necessitate a new release (and may not even make sense), so maybe just making the argument coming back the correct string ('Content-Type:application/sdp' and renaming the property to contentTypeHeader so as to obsolete the Utils function may be easiest to get this PR onto master.
I didn't think the idea(s) I listed above all the way through, so please let me know if I'm missing something or there is a better way (not involving Utils).
Also, a 'canonical test app' is a bit of a holy grail. We have a demo phone which is also on github and can be built locally and altered, but even that is slightly out of date. I do not believe it currently has hold functionality, but that can probably be added fairly simply. If I have some time soon I can look into getting that set up for you.
Thanks,
James

For the fifth commit, I think the utils function makes sense, but it certainly won't get past an author or two (cough @wakamoleguy and the crusade cough).

Ah, I see. I was wondering if it would make sense to instead define a local function in Session.js, but there might be a different way forward if I understand the rest of your comment correctly (more on that below).

I'm not sure of exactly the best way, but based on your changes and quoting of the RFC, I would think making "Content-Type" not be an extraHeader would make sense.

Are you referring to the way that Content-Type is pushed onto extraHeaders before calling sendRequest or reply? This does feel a bit like a mismatch in the internal API.

What I describe seems like... a substantial change, that would most likely warrant more significant refactoring and necessitate a new release (and may not even make sense)

Please let me know if I am off track here, but one thing I notice is that the object returned by getDescription now shares a couple properties (body and extraHeaders) with the options accepted by sendRequest. If we added support for the contentType property to sendRequest, then Session.js could simply merge the options it constructs with the object returned by getDescription before calling sendRequest. reply could be updated similarly.
Is this the sort of refactor you are envisioning?

so maybe just making the argument coming back the correct string ('Content-Type:application/sdp' and renaming the property to contentTypeHeader so as to obsolete the Utils function may be easiest to get this PR onto master.

I am open to this, though it is not my preference. Interested to hear if sendRequest and reply should accept contentType… what do you think?

I agree, that the smaller, "make the string the argument" was not as good as the larger refactor, but it may have been enough to get this by. I do prefer the larger refactor as well.

Please let me know if I am off track here, but one thing I notice is that the object returned by getDescription now shares a couple properties (body and extraHeaders) with the options accepted by sendRequest. If we added support for the contentType property to sendRequest, then Session.js could simply merge the options it constructs with the object returned by getDescription before calling sendRequest. reply could be updated similarly.

This would definitely be the cleanest, preferred way to do it, and hopefully the conclusion I would've reached had i thought about it more. Giving contentType it's own property in the object passed to sendRequest and reply certainly feels more in line with how the RFC describes it. I think passing it through and merging with options is good, certainly better than what is there now, but in the future maybe more could be done.
(This paragraph may be overkill and unnecessarily complicated, I just wanted to put it down as potential for the future).
I'm thinking it may make sense for it to work like route_set. If you are using a custom MediaHandler that can only handle a specific type of message, making a config option that defines what type is acceptable may make sense. Maybe just making it a property of the MediaHandler that could be read when necessary? And, just like route set, this could be overridden by the options merging idea you describe above. This way, the contentType argument becomes optional, and contentType is coded to be  more like an RFC MUST. If that doesn't make any sense, doing it as you described would still work just great.
Thanks,
James

This would definitely be the cleanest, preferred way to do it, and hopefully the conclusion I would've reached had i thought about it more. Giving contentType it's own property in the object passed to sendRequest and reply certainly feels more in line with how the RFC describes it. I think passing it through and merging with options is good, certainly better than what is there now, but in the future maybe more could be done.

I will give this a shot. It may be a little bit before I have the next iteration of this PR.
Regarding your route_set idea, I am not sure I understand fully, so I think I will punt on for now :-)
Thanks,
Mark

I did some work to address the remaining outstanding issue that was preventing this from being merged as well as updating it to the latest version of SIP.js. It is on my local branch. If it looks good, I can go ahead and merge it and then close this PR. https://github.com/egreenmachine/SIP.js/tree/mediahandler-refactor-egreen

@egreenmachine that's awesome! I ended up pretty busy with other tasks and this implementation was "good enough" for my fork, so I never got around to rewriting this. I'll take a look at your branch later today and compare.

I ran through some tests on several apps we have here and it all looked good. Even hold/unhold renegotiation worked. @markandrus did you get a chance to drop it into your application?

@egreenmachine yes, I pulled your branch, reviewed your changes, applied my patches, and re-tested with my application—it works correctly! Please close this PR and merge your updates :-)


Encoding Artifacting on Hardware Encoding

Description

It works well with ALVR v18.2.3. I updated to v19 and I'm having this artifacting. It appears for 1 frame for about 5 sec then it updates into another frame and repeats. I tried turning down the resolution to 25% and turning off all the options on the video tab but no change.
session_log.txt
vrcompositor.txt
vrmonitor.txt
vrserver.txt

General Troubleshooting

[x] I carefully followed the instructions in the README and successfully completed the setup wizard
[x] I read the ALVR Wikis here and here

Environment
Hardware
CPU: AMD Ryzen 5 5600G
GPU: AMD RX 6400
Audio: Onboard Realtek
Installation
ALVR Version: 19.0.0
SteamVR Version: 1.24.6
Install Type:

[x] Packaged (exe, deb, rpm, etc)
[ ] Portable (zip)
[ ] Source

OS Name and Version: Windows 11 Version 22H2

Try this nightly version (https://github.com/alvr-org/ALVR-nightly/releases/tag/v19.0.0-dev03%2Bnightly.2022.10.09). This was one commit before the AMF SDK update. Also, your GPU doesn't seem to support native HEVC encoding (only decoding). It does support H.264 encoding however try switching to H.264 instead.

your GPU doesn't seem to support native HEVC encoding (only decoding).
My GPU doesn't have hardware encoding (I miss typed the title).

I'm using CPU/software encoding. I have set it to software encode and H.264. I just tested the latest ALVR Nightly and the version you stated but the issue still remain.


Return parent instead of throwing Exception for Translatable

Fixes #2013

Tests passed fine before I modified the changelog, then failed with a random Mongo error afterwards. Going to assume it is more environment-related and not from this PR.
Thank you @bobdenotter :clap:


Converting Outlook VSTO add-in to web add-in

Note: This repo is only for questions related to its samples. If you have questions about how to use office.js or the Office developer platform, please post your question on https://stackoverflow.com. Tag your question with office-js or outlook-web-addins

Question
Hi, we have been using a VSTO add-in in Outlook and I understand that VSTO add-ins are not supported in the new Outlook, is there any easy way to migrate it to web add-in, or, is it possible to provide a very basic template of a web add-in that simply sends the user a prompt when there is an external recipient detected
Basically I need a sample of how such a prompt-based add-in can be created in JavaScript

Hi @ravenbao1,
Thank you for reaching out. Please check out our article on the new Outlook for Windows and the list of supported scenarios: https://learn.microsoft.com/en-us/office/dev/add-ins/outlook/one-outlook.
For your scenario in particular, are you looking to prompt the user when they are sending an email or receiving it?
(Tagging @samantharamon to follow-up.)

@AlexJerabek prompt the user when they are sending an email - if it's being sent to one or more external recipients
Thank you very much!

Sounds like the Smart Alerts feature would suit your needs. Here's the article documenting that: https://learn.microsoft.com/en-us/office/dev/add-ins/outlook/onmessagesend-onappointmentsend-events?tabs=windows. Here's a sample that shows using the feature to check for missing attachments: https://learn.microsoft.com/en-us/office/dev/add-ins/outlook/smart-alerts-onmessagesend-walkthrough?tabs=xmlmanifest.
Please let me know if that will get you going in the right direction. Thanks!


Fix photo_url for ellakaye.co.uk.json

@EllaKaye Sorry, I need to reopen this. For some reason, Hugo is not able to retrieve the image from that path. I assume because its actually an alias to another url, and that doesnt seem to work out :(
Do you have any other preferred photo?

Hello @drmowinckels. Sorry about that. I saw that one of the checks had failed but wasn't sure what the issue was. In any case, whatever you've done has worked 😄 The headshot that I'm using these days is now appearing with my directory listing on the website. Thank you!


Various builder enhancements

Try to determine config file location, fixes #293
Configure basic logging, fixes #624
Automatically determine whether to build variable or static, fixes #634
Only interpolate statics if we have a variable font, since they're likely to be interpolatable. Fixes #472
Set head.modified timestamp to that of source file, fixes #409
Allow builder to change version and add gftools version
Support WOFF2 variable fonts, fixes #350
Add docs and script to make them, fixes #344

This will now need much rebasing onto main...

I'll make a coffee and rebase this.


add CSRF validation by custom HTTP header

Q
A

Is bugfix?
❌

New feature?
✔

Breaks BC?
❌

Fixed issues
#20279

This is backport from Yii3. Good one.

I think this PR is good with exception of typos as pointed out by @bizley
@olegbaturin would you please address them?

@olegbaturin thanks for your time and efforts


Do not expose abstract concepts

Abstract concepts should not be exposed in viewpoints.
This affects

System Requirement
General Functional Parameter
General Functional Exchange
General Physical Role
General Functional Usage
instead the concepts specialing the abstract concepts should be exposed.

Status

Does this mean any change for stereotypes of the abstract concept elements? If so, please keep in mind, that SAF_SystemRequirement is required as stereotype for transfering model elements to/from RM Tools ...

Hi Eric, this depends how we solve the issue, e.g we might chose to make the concept system requirement non Abstract,  change the inheritance of stereotypes, we can discuss the options.
i think functional requirement should inherit from  system requirement anyway.
In RM tools, often classes of requirements are tagged by attributes, e.g. as safety relevant, mitigating.
In SAF, we can use stereotypes to distinguish them, if they really differ. Some properties/ relations  of requirements have a meaning dependent  of the type, e.g. function for a functional requirement could refer to the function it refines, and.on a nonfunctional requirement refer to the function it constrains.
This was the motivation for those different stereotypes. Of course both should inherit from system requirement.
Safety analysis properties should not change the kind. It could add stereotypes, or be part of a base stereotype.
There is a similar challenge, because contributing reqs. link to hazard differently than mitigating reqs.
They have different sets of "derived properties'
Are there tool specific constraints for RM tool exchange for  EA?


ts loader not worknig for server middleware?

I try to write a simple serverMiddlerware using a .ts, but it complains
interface Student {
            ^^^^^^^
  SyntaxError: Unexpected identifier

for reference my sample.ts file is below
interface Student {
    name: string
}

const a: Student = {
    name: 'hhehe'
}

console.log(a)

and in the nuxt.config.js, i set the serverMiddleware as below
serverMiddleware: [
  '~/api/sample.ts'
]

may I know how to resolve this problem?

@sweetim as per my comment in #15 I will be updating this module to support Nuxt 2.0 over the next few days, so I'll get back to you on this as and when I have done so.

@wagerfield awesome!
this issue might be related to this https://github.com/nuxt/nuxt.js/issues/3948

I found setting "module": "es2015" in tsconfig.json worked for a typescript file. It compiles once, so in nuxt dev mode, serverMiddleware file changes will not hot-reload, but otherwise it seems to work for me.


Stream comunication between JavaScript and guest OS

Hi, thank you so much for the fantastic project!
I'd like to comunicate or stream data between JavaScript and guest OS.  I know emulator.serial0_send() and "serial0-output-line" event, using in the Lua intepreter, but the output might have noises.
For example, when we have device files such as /dev/jsread and /dev/jswrite, we can compress in a guest OS and use in JavaScript by using cat /dev/jsread | gzip | /dev/jswrite. You can also  do cat /dev/jsread | lua | /dev/jswrite.
Another my idea is to use named pipes (FIFO). I tried to use them, but unfortunelly they don't use FS.prototype.Read  orFS.prototype.Write, so I could not give or obtain data to the named pipe from JavaScript.
Could you tell me how to comunicate between JavaScript and guest OS streamingly?
poor workaround
The script as follows create a large file/root/myjsread and emulator.fs9p.Read is modified to give arbitrary data to guest OS from JavaScript.
    var emulator = new V86Starter({...});

    const rootId = emulator.fs9p.SearchPath("/root").id;
    const filename = "myjsread";
    const parentid = rootId;
    const x = emulator.fs9p.CreateInode();
    x.uid = emulator.fs9p.inodes[parentid].uid;
    x.gid = emulator.fs9p.inodes[parentid].gid;
    x.qid.type = S_IFREG >> 8;
    x.mode = (emulator.fs9p.inodes[parentid].mode & 0x1B6) | S_IFREG;
    emulator.fs9p.PushInode(x, parentid, filename);
    emulator.fs9p.NotifyListeners(emulator.fs9p.inodes.length-1, 'newfile');
    var id = emulator.fs9p.inodes.length-1;
    x.size = Number.MAX_SAFE_INTEGER;

    const originalRead = emulator.fs9p.Read.bind(emulator.fs9p);

    console.log("ID", id);
    emulator.fs9p.Read = async function (nodeid, offset, count) {
        if (id === nodeid) {
            console.log("!! READ HOOK !! reading ", arguments);
            // You can return bytes what you want, but I just streams infinite "A"
            return new Uint8Array(Array(count).fill(65));
        }
        return originalRead(nodeid, offset, count);
    };

An example usage in a guest OS is as follows.
$ cat myjsread
AAAAAAAAAAAA...
AAAAAAAAAAAA...
...

In my experiment, reading the /root/myjsread stopped arround 2^32 bytes.

I finally made it, but it has a problem. I specified uartN: true bellow, then we can read/write /dev/ttyS1 and/dev/ttyS2 in guest OS.
var emulator = new V86Starter({
        ...
        uart1: true,
        uart2: true,
        uart3: true,
        ...
});

JavaScript → guest OS
//  JavaScript → guest OS
setInterval(() => {
        console.log("send now!");
        emulator.bus.send("serial1-input", 65);
        emulator.bus.send("serial1-input", 10); // "\n" needed because of line buffer
}, 1000);

cat /dev/ttyS1

guest OS → JavaScript
echo hello > /dev/ttyS2

    emulator.add_listener("serial2-output-char", function(char)
    {
        console.log("outchar2", char);
    });

The problem is the line buffer.

I found this very, very useful. Thanks!

I'm glad to heear that!

This is very helpful, thank you for sharing!

this is what I wanted.
I'm so happy somebody pointed me in https://github.com/copy/v86/issues/1140 to this issue.
Yesterday I gave up hacking on .Read() as I got weird javascript errors about incorrect size/offsets.
Seeing this example makes me realize I was unaware of multiple ttys, as well as using a real inode with a large size ❤

Small update about the serial port method: the serialX-output-char event is deprecated (https://github.com/copy/v86/commit/4928c9165d106f21fdf85f1a851e19564a91516b), so you need to use serialX-output-byte + String.fromCharCode/TextDecoder instead if you need to get a character:
    emulator.add_listener("serial2-output-byte", function(byte)
    {
        console.log("outchar2", String.fromCharCode(byte));
    });

Also you can use a virtio-console device (https://github.com/copy/v86/commit/7660cbfb6414f1be31ce9b3ccdb6ac969b0b3cd4), if you are using self-built Linux or Buildroot, you need to enable CONFIG_VIRTIO_CONSOLE in make menuconfig/linux-menuconfig (some Linux distributions have this module by default).
var emulator = new V86Starter({
        ...
        virtio_console: true,
        ...
});

JavaScript → guest OS
//  JavaScript → guest OS
setInterval(() => {
    console.log("send now!");
    emulator.bus.send("virtio-console0-input-bytes", Uint8Array.from([65]));
}, 1000);

stty raw < /dev/hvc0
microcom /dev/hvc0

guest OS → JavaScript
// guest OS → JavaScript
emulator.add_listener("virtio-console1-output-bytes", function(bytes)
{
    console.log("out", new TextDecoder("utf-8").decode(bytes));
});

stty raw < /dev/hvc1
echo hello > /dev/hvc1

Could you have a node.js server in the guest OS listening for inputs from the external Javascript?

Could you have a node.js server in the guest OS listening for inputs from the external Javascript?

Currently, no, there is some implementation on a custom network stack: https://github.com/copy/v86/discussions/1048#discussioncomment-9883237