ClojureScript compilation support

@gradle-clojure/developers What would be the best way to provide ClojureScript compiler options? The compiler supports a lot of different options and having them supported as the Gradle CLJS compiler properties would make the configuration quite involved (including properties/entries that can have values of different types, e.g. source-map might be either boolean or a string path).
I can see following options:

external edn file with the compiler options (possible issue is having dynamic variables interpolated in the configuration)?
a string with edn? (cumbersome to escape e.g. string quotes but allows for dynamic variables via GString)
mirror all compiler options as ClojureScript compile task properties

I think we'd probably have to mirror the options on the task. Not too familiar with the CLJS compiler, so maybe that gets us into too much trouble though.

@ajoberstar I am working on a prototype of basic ClojureScript compile task. I have a few questions regarding the current code design and how ClojureScript support should be added. Would you have a few minutes to answer them?

Currently there is a module for the Clojure Gradle plugin. Shall we have ClojureScript tasks in this module or create another one?

Clojure source set defaults are configured in ClojureBasePlugin. Should ClojureScript defaults be configured there too or should that code be moved to ClojurePlugin and ClojureScriptPlugin respectively? Correct me if I'm wrong but with both configured in ClojureBasePlugin they will be both always configured even if a user applies only one of the plugins.

If you think it would be better to have an online chat, please, do let me know when and where it would be best to talk.
Thank you in advance,
Piotr

Currently there is a module for the Clojure Gradle plugin. Shall we have ClojureScript tasks in this module or create another one?

Assuming we won't need to add a lot of additional dependencies, I'd lean towards keeping one module. Depending on how much code this adds, we might want to break up the packages differently, but no need to do that pre-emptively.

Clojure source set defaults are configured in ClojureBasePlugin. Should ClojureScript defaults be configured there too or should that code be moved to ClojurePlugin and ClojureScriptPlugin respectively? Correct me if I'm wrong but with both configured in ClojureBasePlugin they will be both always configured even if a user applies only one of the plugins.

I think we'll want a ClojureScriptBasePlugin and a ClojureScriptPlugin to mirror the Clojure setup. The idea would be that if you just want the capability to use a language, you can apply the base, but generally you'll apply the "main" one to get the conventional build setup.
One of my struggles on ClojureScript is what the minimal version of that looks like. Do you need some Clojure support to use ClojureScript? Or is it only if you need macros that you would have to write Clojure code for an otherwise ClojureScript-only project?
There's also going to be the question of if/how a project gets packaged by default. For ClojureScript-only would you just produce the compiled output? And for Clojure+ClojureScript also package it into a JAR?
Personally, I'll need to do some more review of how the CLJS support works in Leiningen and Boot once I get through the 0.3.0 stuff.
I might be getting ahead of myself with some of those questions, but either way I can do an online chat if you're ready to discuss more. For me 7pm-10pm (CDT) would be easiest during the week, otherwise I can be more available on weekends.  Hangouts and Skype are a couple options.

Thank you @ajoberstar for your reply. Unfortunately, I didn't have as much time last week as I planned so I didn't make too much progress. I have pushed a very rough version in pbzdyl/cljs branch. It supports most of the compiler options. There are still a lot of issues to be solved, for example:

a classpath issue with Guava - I had to explicitly add Guava in the plugin compile path, otherwise an older version is picked up causing exceptions. So far I was unable to find where older Guava comes from, gradlew dependencies doesn't show it when I don't add it
DSL for adding multiple configuration options like foreign lib or modules.

I have added a single test showing the simplest use case of the plugin.

Cool, I should be able to take a look sometime this week.

Was going to take a look through this today, but ended up wrapping up the 0.3.0 issues and release. Hope to look this week.

No worries, I have been busy with other things the whole week. Hopefully I will make more progress this week.

Took a read through, and this is really good progress. Getting all of those compiler options put together is quite the ordeal.
On the Guava issue, where do you see that come up? I'm not seeing any Guava references in your code. I expect there's probably a version of Guava in Gradle itself somewhere, but not positive what version.
For the DSL of multi-option things like foreign libs, you might be able to use a NamedDomainObjectContainer. It might be overkill in this scenario, but would also probably handle the DSL needs. You can get one from the Project#container(Class) method.
Once I get a little time using 0.3.0 under my belt, I think I'll be reviewing leing-cljsbuild and figwheel to get a better sense of what the expected overall ClojureScript environment will need to involve.
Let me know if there's anything else you could use some help on in the meantime.

Thank you @ajoberstar for taking the time to review my code.
I will try to use NamedDomainObjectContainer but first I am trying to fix the Guava classpath issue.
What I have found is that Gradle repackages Guava under it's own package (com.google.common.base -> org.gradle.internal.impldep.com.google.common.base). Unfortunately, it looks that the Guava jar is also bundled in Gradle bundle used by Gradle wrapper:
~/.gradle/wrapper/dists/gradle-4.3-rc-1-bin/4dpv3r3e5mwtficz0bbnrpkn4/gradle-4.3-rc-1/lib/guava-jdk5-17.0.jar
I tried to simply delete it but then Gradle fails:
java.lang.IllegalArgumentException: Cannot find JAR 'guava-jdk5-17.0.jar' required by module 'gradle-base-services' using classpath or distribution directory '/Users/Badyl/.gradle/wrapper/dists/gradle-4.3-rc-1-bin/4dpv3r3e5mwtficz0bbnrpkn4/gradle-4.3-rc-1'
	at org.gradle.api.internal.classpath.DefaultModuleRegistry.findDependencyJar(DefaultModuleRegistry.java:262)
	at org.gradle.api.internal.classpath.DefaultModuleRegistry.findDependencyJars(DefaultModuleRegistry.java:152)
	at org.gradle.api.internal.classpath.DefaultModuleRegistry.module(DefaultModuleRegistry.java:142)
	at org.gradle.api.internal.classpath.DefaultModuleRegistry.loadOptionalModule(DefaultModuleRegistry.java:122)
	at org.gradle.api.internal.classpath.DefaultModuleRegistry.loadModule(DefaultModuleRegistry.java:106)
	at org.gradle.api.internal.classpath.DefaultModuleRegistry.getModule(DefaultModuleRegistry.java:86)
	at org.gradle.api.internal.classpath.DefaultModuleRegistry.getModules(DefaultModuleRegistry.java:160)
	at org.gradle.api.internal.classpath.DefaultModuleRegistry.access$100(DefaultModuleRegistry.java:45)
	at org.gradle.api.internal.classpath.DefaultModuleRegistry$DefaultModule.getRequiredModules(DefaultModuleRegistry.java:296)
	at org.gradle.api.internal.classpath.DefaultModuleRegistry$DefaultModule.collectRequiredModules(DefaultModuleRegistry.java:321)
	at org.gradle.api.internal.classpath.DefaultModuleRegistry$DefaultModule.getAllRequiredModules(DefaultModuleRegistry.java:313)
	at org.gradle.api.internal.DefaultClassPathProvider.findClassPath(DefaultClassPathProvider.java:32)
	at org.gradle.api.internal.DefaultClassPathRegistry.getClassPath(DefaultClassPathRegistry.java:34)
	at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:49)
	at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:37)
	at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:31)
	at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:108)
	at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)

Thus I guess it is required by Gradle even though it also contains repackaged version.
I am not sure how I should handle it. The options I see are:

don't use ClojureWorker but run ClojureScript compilation in a new JVM process (so we have full control of its classpath)
use parent-last policy for shimdandy classpath - I am not even sure it's possible out of the box in shimdandy

I am also not sure if having Guava bundled in Gradle is intended behaviour and maybe gradle-base-services should use the repackaged classes instead and drop dependency on standard Guava.
I will post updates when I make any progress on this.

OK, so you're seeing the classpath issue when you run the ClojureScript compiler in a ClojureWorker?
One of the complications to dropping the worker is that the inputs to the compiler get more complicated. With the worker we can pass that CompilerOptions object all the way into our Clojure code and fairly easily format it into the EDN map that is needed in the end.
Some kind of parent-last or blacklisting classloader might work. I was using one in a different iteration of the worker changes. I think I blew away the commits though.

The response from one of Gradle developers makes me think that manipulating the classpath (either directly from ClojureWorker or somewhere in shimdandy) might clash with the classpath filtering mechanism in Gradle.
For now I will go with calling external process instead of using workers. I will dump all the function call parameters into a temporary EDN file and read it inside clojurescript_compiler.clj to get all the parameters instead of going through command parameters.

Yeah, that makes sense. I'll keep looking into the classpath issues since I've noticed some problems in the REPL too.

I have pushed updated version of the basic ClojureScript compile task.
The syntax of the compile options can be seen in the test case.
I have also switched from ClojureWorker to calling Java process and the Guava classpath issue is gone.
Any feedback is welcomed! :)

Plan to look at this over the weekend.

Only took a brief look (since it's hard to tell what changed from the last version). If we can't get the workers to operate cleanly, I think this is a good option. The only way to cut the code down would be to do object serialization like the worker (but safer, only sharing the specific classes we want to serialize). Not worth looking into now. I'm going to do some digging on the workers to see if I can clean up some of the behavior.

If you still have a copy of your worker-based version with the Guava issue (maybe in your reflog), I'd appreciate if you could push it to a separate branch. I'm curious if something like #43 is causing some issues here.

I put together a test case for your guava issue. And will post it to the Gradle forum on the thread you opened.

Thank you @ajoberstar. I have pushed my old version of the plugin to pbzdyl/cljs-clojureworker-issue branch.
Does the test case for guava issue contain all the necessary files? I think there might be a file missing in buildSrc directory.

Regarding your suggestion to use serialisation I am not sure if it will cut too much of the code as even when I was passing the objects directly with ClojureWorker I had to convert the objects into appropriate Clojure data structures and it required quite a lot of code too. And with serialisation I would have to add our Clojure plugin and Gradle jars to the classpath of the CLJS compiler process. Dumping ("serialising") all the options to EDN decouples the external process which I think is good.

Does the test case for guava issue contain all the necessary files? I think there might be a file missing in buildSrc directory.

Good catch. My gitignore was misconfigured, should be there now.

Regarding your suggestion to use serialisation I am not sure if it will cut too much of the code as even when I was passing the objects directly with ClojureWorker I had to convert the objects into appropriate Clojure data structures and it required quite a lot of code too. And with serialisation I would have to add our Clojure plugin and Gradle jars to the classpath of the CLJS compiler process. Dumping ("serialising") all the options to EDN decouples the external process which I think is good.

Oh, yeah, I forgot how involved that still was before.

FYI, I do have the Guava issue fixed in #54. I still hope Gradle will do some improvements to the worker isolation, but I think we can get around it.

I'm finally starting on this now. Just got your branch updated with the code from master. That was just to the point of getting it to build, but want to make some updates to consolidate with changes made in master since. I'll probably be moving my ClojureCompileOptions -> EDN stuff to use the approach you used in CljsEdnUtils. Seems like a better way to keep that centralized.

Started just browsing through the compile options documentation and looking at what you put together. Wowzers... That's a lot of options...
I definitely think there's some opportunity to make this easier for buildscript authors to use by putting some Gradle modelling over the top. But I think we should do a few things before we go down that road:

Talk to the Gradle folks about the "variant" support they have, which seems like it could help with the idea of modelling multiple builds.
Do more research on the CLJS compiler options, lein-figwheel, boot-cljs, and shadow-cljs. Look at how they all approach this topic.
Get some feedback from the Clojure community on what common patterns for CLJS builds there are.
Modelling would target making it easy to do common things, without having to configure all of the compiler options yourself.

As for 0.4.0, I think what I'd like to do is release it with a gradle-clojure.clojurescript-base plugin and not provide a gradle.clojure-clojurescript plugin. Base would just provide:

Essentially what Piotrek already added. A clojurescriptCompile task for each source set. Let people configure the options themselves.
(After I do some research to see how easy this would be) minimal Figwheel support. Just allowing them to provide the task and configure it themselves. That way this would provide a usable development environment, but leave some config to the user.

Fixed by #82.


xDS Server automated testing

Description:
#176 introduces an xdstest command, which instantiates an xDS server to perform manual testing against. This issue covers work to turn this into an automated test that can be run by CI or locally.
The largest part of this work is that it will require an xDS client test library that supports:

connecting to an xDS server
accepting updates
Comparing the updates to an expected outcome

Because this process is asynchronous and requires multiple goroutines working together to work, there's a bit of design work to ensure that the testing framework isn't its own source of bugs.

xref: https://github.com/miekg/xds as xds client prior art.

@youngnick pinging you on this since RC2 is 16 days away. It would be a big help to the project if you can still take this issue on. If not, can you document how you would resolve this issue, and maybe someone else can take on the issue?

hey @danehans I plan on working on this

Yeah, sorry, I thought I would have more bandwidth to work on this. But I doubt I will before RC2, so it's better that Arko does it.
@arkodg, my plan was to have a test xDS client that mimics being an Envoy, starts the xDS conversation, and then can pass what it gets to the testing framework for comparison. Contour has a command contour cli that does this in a reasonably general case, but aside from that I couldn't find anything in go-control-plane that did the same function.

busy with other issues, unassigned myself for now, in case someone wants to pick this one up

linking https://github.com/tetratelabs/func-e/issues/433 here which should allow downstream projects like this one to programmatically run envoy which can be used for xds server end to end testing


Test creation:bcf.py: get_highest #329

Codecov Report

Merging #330 into master will increase coverage by 0.46%.
The diff coverage is 88%.

@@            Coverage Diff             @@
##           master     #330      +/-   ##
==========================================
+ Coverage   86.34%   86.81%   +0.46%
==========================================
  Files          22       22
  Lines        1340     1365      +25
  Branches       91       91
==========================================
+ Hits         1157     1185      +28
+ Misses        155      150       -5
- Partials       28       30       +2

Impacted Files
Coverage Δ

...thBoundControllerAbstraction/proxy/bcf/test_bcf.py
97.63% <88%> (-1.68%)
:arrow_down:

...r/NorthBoundControllerAbstraction/proxy/bcf/bcf.py
78.04% <0%> (+3.65%)
:arrow_up:

Continue to review full report at Codecov.

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


[FEATURE] Support global custom envVariable in Manifest file

Is your feature request related to a problem? Please describe.
In the manifest files, we do not want to always add fixed values instead for some values, we could would like to get them from environment variables.
We noticed that some sections of the manifest files already support valueFrom -> envVariable (https://seed-farmer.readthedocs.io/en/latest/manifests.html).
suffix:
valueFrom:
envVariable: SUFFIX_ENV_VARIABLE
Could you please make it work in all sections of manifest files?
Describe the solution you'd like
Make following syntax works for all secrions:
:
valueFrom:
envVariable: <ENV_NAME>
Additional context
If global custom environment variables can work in seedfarmer configuration files, it could really help us for code migration (ex. AWS EU to AWS China).

Hi @danxie1999 - Thanks for your request.  Our design tenets for SF focus on declarative manifests.  We added envVariable support for the following:

module parameters
global regional network definitions
account id (to remove the need to commit to a repo the account id and provide extensibility)
name generator for the Deployment name (to promote extensibility at large scale deployments)

Global and Regional Parameters themselves are just a set of dict strings and do not support the SF Parameter definitions, thus you cannot refer to SSM or SecretsManager or envVariables like the regional network sections.
This is the extent to which we decided to support envVariables as any further support will move away from declarative manifests to dynamic manifests...which introduces a significant amount of overhead for end users if used.
We have consciously decided to limit the envVariable support to the areas that I denoted above, so we will not make the envVariable support available in all sections.
We can evaluate adding envVariable support for Global Parameters and regional parameters and weigh the benefits vs. risks that it will introduce.

I have reviewed the global and regional parameters.  They are implemented as freeform name/values (unlike the module parameters) and are not names (like network support and account id).  This follows with our decision to make them simple string dicts.  We will not be able to support envVariables for these values without a redesign of the way global and regional parameters are implemented - causing backward compatibility issues.


[test infrastructure] TextEditTest fails due to lack of AssertionError if assertions are off

Steps to reproduce: set zend.assertions = -1 in the PHP ini, run TextEditTest in phpunit.
See http://php.net/manual/en/function.assert.php#function.assert.expectations
Solutions:

Change the code to throw OutOfBoundsException (or have an explicit throw statement for AssertionError) instead of using assert() so that the behavior of TextEdit::applyEdits is always consistent. If TextEdit::applyEdits is a public API (is it? I don't see it used anywhere), this may make sense to do.
Skip the test based on the value of zend.assertions.

Duplicate of #161 , missed that the first time I looked due to searching for AssertionError


Run sync tests in matrix

Task/Issue URL: https://app.asana.com/0/1201493110486074/1206174678008392/f
Tech Design URL:
CC:
Description:
This PR refactor Sync e2e tests code and let the tests run in parallel on multiple iOS versions.

Steps to test this PR:

Check CI is green

Internal references:
Software Engineering Expectations
Technical Design Template

Thank you @ayoy !


Add ImageGlass

ImageGlass is a lightweight software application whose purpose is to help you view images in a clean and intuitive working environment.
It gives you the possibility to view over 80+ common image formats, including .gif, .svg, .png, .heic, ... and many more advanced features which help normal users or designers speed up their work.
Privacy policy is available here: https://imageglass.org/privacy

Can you explain how does imageglass help users preserve their privacy?

Can you explain how does imageglass help users preserve their privacy?

Well, it is an open-source app that does not have ads or telemetry and helps users view and edit photos of different formats.
Don't know what else can I say :p

Privacy policy seems good. Merging. Thanks for the PR.


Saving sparse (or duck) arrays in datasets to file

Is your feature request related to a problem?
As the sparse package seems to grow in the ecosystem, I have integrated the combination of xarray and sparse in the package I am currently developing. I have experienced the power of duck-array features in xarray, since it took less than 10 minutes to convert the matrix involved to a sparse matrix and get all the tests to green. However, datasets involving sparse arrays can't be exported to netcdf files at this time.
Describe the solution you'd like
It would be great to think about some sort of interface so that the sparse (and maybe more generally duck) arrays could be serialized using declared methods.
Describe alternatives you've considered
At this time, I am converting the sparse entry to dense before saving them, which is fine but kinda loses the point of using it. I think I will write a custom loader/unloader using the coords/data interface of the sparse package at some point.
Additional context
No response

Closing as duplicate of #4156.
Can you reply there with answers to these questions please:

Which sparse format are you using?
Do any of the CF-compliant representations work better for your use case?


Present full requirements for sealing juvenile records

We want to tell them the full requirements for being eligible for sealing their juvenile records.
This is a checklist where requirements that made them ineligible are highlighted in some way. Questions that they did not answer are marked by ? or question skipped or link(s) to the skipped question(s).
From @knod on 12/3

Duplicate of https://github.com/codeforboston/docassemble-juvenilesealing/issues/14


Rotate display

Did you think about adding the possibility for rotating the display? The demo for the 2.7" display with three colors has the possibility to do that, would be nice to have this option here, too.
PS: Thank you very much for this very useful project! Would love to help out someday. :)

Thank you very much for your feedback! I will have a look later and am hoping to find the time to submit a PR.

Any update on this. i tried atting image.rotate to the interactive demo but it seems to just ignore it.

No.
Did you check the docs for image.rotate? Maybe you are using it wrong.
https://pillow.readthedocs.io/en/3.1.x/reference/Image.html#PIL.Image.Image.rotate

yep it ignores it...


Permit React Native entry to Magic Connect Extension

📦 Pull Request
Permits React Native apps to utilize Magic Connect Extension.
✅ Fixed Issues
n/a
🚨 Test instructions
Utilize this PR to test or use either a bare or expo app from the demos and install the canary version of the package via:
yarn add<EMAIL_ADDRESS>
Follow the instructions in the updated README and verify MC modal opens as illustrated below:
iOS Screenshot

Android Screenshot

⚠ Don't forget to add a semver label!

patch: Bug Fix?
minor: New Feature?
major: Breaking Change?
skip-release: It's unnecessary to publish this change.

:rocket: PR was released in<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>:rocket:


Release v0.9.10

What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Does this PR introduce a user-facing change?:

NONE

/approve


add predict_kwargs in ObjectDetectionModel in order to filter the pre…

…diction using custom threshold and manage other parameters
What does this PR do?
In this PR I have added the possibility to specify predict_kwargs for ObjectDetector that can be used to add additional parameters that are used during the prediction step. For example is possible to specify a custom threshold in order to filter the bounding boxes predicted by Icevision. And added setter method in order to allow user to update the values
Fixes # (issue)
#954

@ethanwharris I have added this parameter to the instance segmentation and keypoint detection tasks. Let me know if it's needed something more :)


dockerize jekyll build

Resolves #14
Description
I was having trouble in my local env trying to build the styles for dbt-labs/dbt-docs, as described in #14. Moving to Docker seemed like the easiest solution.  Unfortunately, because I haven't built the guide locally before, I'm not :100: on the expected behavior. Navigating to the server shows an unstyled directory list. Navigating to something like table/ looks good though, and the build was useable for me with dbt-docs.

Checklist
Checklist copied from dbt-labs/dbt-core

[x] I have read the contributing guide and understand what's expected of me
[x] I have signed the CLA
[x] I have run this code in development and it appears to resolve the stated issue
[x] This PR includes tests, or tests are not required/relevant for this PR
[x] I have opened an issue to add/update docs, or docs changes are not required/relevant for this PR
[ ] I have run changie new to create a changelog entry

Hey @mattyb — I'm Josh, and I contributed to this style guide 4 years ago. Do you have everything you need to make future updates? If so, I don't need to be connected to this repo any more. If not, let me know. Would be great to see what you've been building :)

Thanks @somegoodpixels! Nothing that I would know of. My only need here was to get dbt-docs working locally. It sounds like the core team doesn't have capacity to focus on docs right now, so this may just sit around as a guide for other folk with local environment issues for a while.

Pull Request closed to prepare for Repository Archival


Add gitpython for par file shuffling

The script I'm writing to automatically move around par files and stage changes makes use of gitpython, so we'll have to add that to the environment. It's installable through conda-forge, so this shouldn't be too hard to do.

This has been added to PR #8
~ Joe G.

Fixed in https://github.com/ipta/pulsar-env/pull/8 which is now merged.


ut_sb_stubs.c decription comment for CFE_SB_RcvMsg does not match code

Describe the bug
In ut_sb_stubs.c description comment for CFE_SB_RcvMsg incorrectly states that first call returns CFE_SUCCESS, while additional calls return -1.  It appears that it will always return CFE_SUCCESS.
To Reproduce
Steps to reproduce the behavior:

Write a test where CFE_SB_RcvMsg is called at least twice.
Check result on first call == CFE_SUCCESS, will pass
Check result on second call == -1, will fail (result is CFE_SUCCESS instead)
additional calls have same result as 3 above.

Expected behavior
Rewrite comment to show that result returned is always CFE_SUCCESS, unless the commented behavior is what is desired, then fix code to accomplish that.
Code snips
/*****************************************************************************/
/**
** \brief CFE_SB_RcvMsg stub function
**
** \par Description
**        This function is used to mimic the response of the cFE SB function
**        CFE_SB_RcvMsg.  By default it will return the TIMEOUT error response,
**        unless the test setup sequence has indicated otherwise.
**
** \par Assumptions, External Events, and Notes:
**        None
**
** \returns
**        Returns CFE_SUCCESS on the first call, then -1 on the second.
**
******************************************************************************/
int32 CFE_SB_RcvMsg(CFE_SB_MsgPtr_t *BufPtr,
                    CFE_SB_PipeId_t PipeId,
                    int32 TimeOut)
{
    int32 status;
    static union
    {
        CFE_SB_Msg_t Msg;
        uint8 Ext[CFE_MISSION_SB_MAX_SB_MSG_SIZE];
    } Buffer;

    status = UT_DEFAULT_IMPL(CFE_SB_RcvMsg);

    if (status >= 0)
    {
        if (UT_Stub_CopyToLocal(UT_KEY(CFE_SB_RcvMsg), (uint8*)BufPtr, sizeof(*BufPtr)) < sizeof(*BufPtr))
        {
            memset(&Buffer, 0, sizeof(Buffer));
            *BufPtr = &Buffer.Msg;
        }
    }

    return status;
}

System observed on:

Hardware: PC
OS: RHEL Workstation 7.6 (Maipo), Linux 3.10.0-1062.1.2.el7.x86_64
Versions cFE 6.7

Additional context
Add any other context about the problem here.
Reporter Info
Alan Gibson, NASA, GSFC-0587

This function was deprecated in #1015, closing issue.

This function was deprecated in #1015, closing issue.


long planner: always run when not openpilot longitudinal control

Logs reads in radarState if not longitudinal control and/or radarOffcan

Checked UI and we now check if openpilotLongitudinalControl to show leads, comment in radard is out of date

No longitudinal planner reset if not longitudinal control for accurate plan

Pre-req for https://github.com/commaai/openpilot/pull/24873

Can we also reset when not engaged and stock ACC? Then it seems more consistent.


Highlighting showing up as dull yellow

Hi Nick,
I downloaded LYT mode off the community themes but it isn't doing the pretty white glow highlighting that you showcased in the YouTube video.

Thoughts?
Thank you

@Comfy529 is it possible that you got the wrong markdown option? The white text is a "code" block. You can use this by surrounding the text with single backticks.

@W1-PopelierE thanks for your reply. See at 10:06 in the video: https://www.youtube.com/watch?v=vZC7FAOSjkU

Hey @Comfy529 I changed it back to a standard yellow, sorry for the confusion.

@nickmilo Oh, okay. Just wanted to make sure I wasn't missing out! Thanks


Add someone to GitHub

If you want to be able to assign bugs to someone, they only need Read access.
Please include:

GitHub ID to add: rudranshsharma123, VattiPraveen, outsidethecode
Project to be added to: Hyperledger Cacti

One of:

Team to be added to: cacti-contributors
Role: Read

Invites sent!


chore: remove max terraform version limit

Removes the max terraform version so newer versions can still use this module.

i rather not merge it until its reviewed by current module owners, due to the pin being done for a specific reason https://github.com/sysdiglabs/terraform-google-secure-for-cloud/pull/151


Complete Inventory5E Proxy for Actor5E

Expand test suite to cover all current behaviors
Ensure support for item.quantity is included
Include support for identifying if a recipe has sufficient ingredients in an inventory
Remove the ready(): boolean method from Fabricator once that is in place
Finish implementation (get those tests green)

Addressed


feat: add FetchInterceptor to the node preset

Closes #435
Closes #429

Released: v0.34.0 🎉
This has been released in v0.34.0!

📄 Release notes
📦 npm package

Make sure to always update to the latest version (npm i @mswjs/interceptors@latest) to get the newest features and bug fixes.

Predictable release automation by @ossjs/release.


Parameter logging not working (sdlog2/sdlog2_dump.py)

Hi,
logging of the onboard parameters does not seem to work in sdlog2. There is two completely separate issues:

The parameters are all written in the beginning when sdlog2 starts here https://github.com/ethz-asl/fw_px4/blob/master/src/modules/sdlog2/sdlog2.c#L582 . However, when they are updated during runtime, they are NOT written. One could add this by checking the ORB_ID(parameter_update). However, I do not see a way to only write the updated parameter (the problem is that we just know that a parameter got updated, not which one) but one would need to write all again by calling write_parameters. But it would be feasible.

Parameters are in general not converted correctly by the sdlog2_dump.py  script. This also applies to the initially written parameters! I also assume that this applies to general variables to some extent. The reason for this is - after initial assessment - the "buffer"-structure used in sdlog2_dump.py, i.e. that always 8kB of buffer are read, and only afterwards (or when a new TIME message has arrived) written. See https://github.com/ethz-asl/fw_px4/blob/master/Tools/sdlog2/sdlog2_dump.py#L158 . When many many parameters arrive in the log after another, then the conversion script "cannot keep up" because it writes the parameters correctly to the self.__csvdata variable (https://github.com/ethz-asl/fw_px4/blob/master/Tools/sdlog2/sdlog2_dump.py#L262), but only the "last" value is then written into the CSV. When I execute the conversion script, only 3 (!) of the >400 parameters that exist are actually converted correctly.

Having this functionality work would save a tremendous amount of code and work time, as at the moment we (in our own apps) are storing and saving each parameter (>40 parameters, used for a flight controller) that we use separately.
The question is: Is it worth changing this given that SDLOG3 is coming soon? Will SDLOG3 handle this?

Hi @philipoe
The next logger is already implemented and working. It also handles your first point completely [0]. If you want to try it out, you're welcome to do that. We're still working on tooling support, FlightPlot can already be used [1].
The 2. point is indeed something that should be fixed. Not sure if it's worth fixing though, the next logger uses a completely different file format that requires new scripts.
[0] https://github.com/PX4/Firmware/blob/master/src/modules/logger/logger.cpp#L644
[1] https://github.com/PX4/FlightPlot/tree/ulog_format


[SPARK-43845][INFRA] Setup Scala 2.12 Daily GitHub Action Job

What changes were proposed in this pull request?
This PR aims to setup Scala 2.12 Daily GitHub Action Job by converting Scala 2.13 Daily Job.
Why are the changes needed?
To keep the Scala 2.12 test coverage
Does this PR introduce any user-facing change?
No.
How was this patch tested?
This is a daily job. We need to check after merging.

Could you review this too, @HyukjinKwon ?

Thank you, @yaooqinn and @LuciferYang .
Merged to master.

Should probably hold on making Scala 2.13 by default for now. it'd be a breaking change to the end users of using pip install pyspark, and they wouldn't have a workaround to avoid that.


[IGNORE] Mike pl native child

NOT AFFECT ANY CODE.
isolate test for modified Build files

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Implement API to fetch submissions from Hackerrank

Can you provide more info, also can I work on this ?


Update README

remove the install section, no longer relevant for riff 0.1.0 version

remove outdated riff command section

rebased


Unable to build

Hi,
I am not able to build this project in Android Studio.
Few months ago I tested it (on other machine) and it worked, but now I am getting the message:
"Unable to resolve dependency for ':app@debugAndroidTest/compileClasspath': Could not resolve com.github.YUNEEC:Yuneec-SDK-Android:v0.14.5-1."

Currently I am using Android Studio 4.0 on Windows 10.
I also have some issues trying to register as a developer on: https://developer.yuneec.com/user/register
I am constantly getting message: "CAPTCHA error: Please ensure that captcha challenge has beeen completed. Contact the site administrator if this problem persists.".
How can I register there?
Thanks,
Łukasz

The Yuneec SDK is very much unsupported as far as I know.
I suggest to use https://github.com/mavlink/MAVSDK-Java instead.

Thank you, good to know.
In fact I don't actualy need to use android or any other mobile system.
For the purpose of my project I have to control the Yuneec H520 drone from PC (windows). I was trying to use Android SDK because as far as I know there is no "direct" windows API for H520. But if MAVSDK could be used to communicate with H520 I prefer C++/C# version.
Could you please confirm if it is possible to control H520 using MAVSDK directly from Windows?
Also, if you could reccomend any place where I could find more information about such integration I would be very grateful.
Thanks.

Could you please confirm if it is possible to control H520 using MAVSDK directly from Windows?

Yes that should work.

Thanks @julianoes for your suggestion, I can confirm that MAVSDK can be used for communication with Yuneec H520. I tested python version of this library and I am able to control gimbal, arm/disarm the drone, etc. directly from python script.
Howewer, I also identified one problem with this solution. I am able to control the drone from python script only when the GCS is turned off. If I start GCS ST16S and it connects, python scripts do not work anymore. For my project I need GCS to be fully functional, so I need both things (GCS and application with MAVSDK) to work at the same time. I think the old android API for Yuneec H520 worked exactly this way - I remember I was able to control gimbal from GCS and from Android API at the same time.
I think the reason of this issue in my current approach is that I use port 14550 to connect to drone. I believe that ST16S use the same port, and here is the conflict.
Currently I use this python code to connect to drone:
await drone.connect(system_address="udp://:14550")
So my questions are:

how to setup the communication with drone to use GCS and MAVLINK application at the same time?
does Yuneec H520 expose any other ports I could use for communication over MAVSDK?

Thanks in advance for any help.

I don't remember exactly anymore, sorry. Try connecting on 14540 instead. If that doesn't work, use wireshark to see if there are heartbeats sent on some other port.

Thanks again for the suggestions. I analyzed the messages sent from the drone using Wireshark.
For others interested in this topic: The Yuneec H520 provides three ports for connection: 14530, 14540, 14550. It seems the GCS uses 14550, so to avoid conflict when connecting using mavsdk it is better to use port 14540 or 14530.

Great, thanks for noting that here!


API Routes ?

How about API routes ?

Hi @revskill10 ,
API routes are still supported, but common to all the tenants. Krabs is an Express.js middleware, so you could still use Express.js itself for APIs and server-side stuff


Add fuzzer for SIP parser

Fuzzing input received from the network is a best practice for security and correctness. Go 1.18 added native support for fuzzing, see https://go.dev/doc/tutorial/fuzz and https://go.dev/security/fuzz.
The first commit introduces the fuzzer, which can be executed with go test -fuzz=Fuzz. For now, this starts off with a trivial SIP message. This can be expanded in the future by adding additional input strings as needed.
The subsequent commits are fixes to various issues found during execution of the fuzzer. Note that each of the files under parser/testdata/fuzz automatically become tests that are executed when running go test. This ensures that previously discovered crashes are not reintroduced with new changes.
I have executed the fuzzer for a little over two hours after fixing these issues without finding any additional issues.

@oystedal forgot to mention. Very cool, thnx for contributing.
I will also run some benchs.

merged. @oystedal


bignum_pow modifies the value of the "b" argument

I was running a program in which I observed that the argument b in
void bignum_pow(struct bn* a, struct bn* b, struct bn* c);
had its original value changed to zero after executing this function. Looking at the function code, it seems that the b pointer is directly being decremented within (see lines 524, 533 in bn.c).  I guess this is not expected behavior, as b is an input argument.

Hi @jgancedo and thanks for pointing out this flaw.
I have fixed the problem by adding another temporary variable, taking up yet more precious precious stack space ;)
Once again, thank you for pointing it out.


Fixing mixed content errors

Links are now of the form a/b/c/ vs of the form a/b/c. Not having a trailing slash results in a mixed content error when clicking on the link.

Thanks. 👍


Command line option to emit list of linters

I have tooling in my repositories which manages the vendoring and update of the linters used by gometalinter in a self-contained way. One of the big problems which maintaining this is I have to regex the paths of the linters out of metalinter's help text in order to stay automatically up to date with changes to metalinter.
It would help a lot of if there was a CLI option to emit the list of linters in JSON format.

Could you tell us more about the tooling? Why is it necessary to manage the vendoring and updating of linters?  If you'd like to use gometalinter with your own linters (or specific versions of a linter) you could create a .gometalinter.json config file to run just the linters you've installed. There is a section for InstallFrom. Your tooling could read that the JSON config to install and update vendor. That way all the configuration is in the same place.

So an example is over here: https://github.com/wrouesnel/postgres_exporter/
Briefly, I have gometalinter and all the linters vendors under a tools folder in each of my repos which uses them, and a build target which compiles the vendored tools. To maintain this stack, there is a separate target called "updatetools" which go get's metalinter, then runs it and extracts the list of linters currently being packaged as an authoritative source to follow what's going on with the community.
This model lets me ship the build system with minimal setup when someone else clones the repository, depending only (now) on a local golang install to get started.
But, I have to do a bunch of regex'ing on the metalinter output if I want to automatically track what new linters may have been added to it since last it was updated - and it's preferable to do this since worst case I get a new linter which I discover I want to disable, but best case some new tool now is finding problems for me in my code automatically.
Technically this would be solvable programmatically, but default linters is an unexported variable so I can't just have the build system import metalinter as a library and parse that (and I suppose not everyone is using go to build - certainly I only just switched from makefiles to magefiles).

Are you aware that gometalinter already vendors linters itself at https://github.com/alecthomas/gometalinter/tree/master/_linters?


[BUGFIX] Fix the file selection dialog's incorrect filter string bug

Change-Id: I2c8ea412f477abcd98b0ff7b2ae9e6353e4a6c38
Signed-off-by: GyeongSeok Seo<EMAIL_ADDRESS>

Can one of the admins verify this patch?


ultraleap-hand-tracking: init

Description of changes
Closes #292624
This packages the UltraLeap hand tracking SDK for Linux.
See https://docs.ultraleap.com/linux/
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

The PR title should include the version of the package (3.4.1)

As there are multiple packages here with different versions each, I don't think that'll be needed here

As there are multiple packages here with different versions each, I don't think that'll be needed here

Whoops, I thought the versions of all the ultraleap packages were synchronized. You're right; that isn't the case. Disregard that comment :)

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

1 package blacklisted:

nixos-install-tools

4 packages built:

openxr-ultraleap-layer
ultraleap-hand-tracking-control-panel
ultraleap-hand-tracking-service
ultraleap-hand-tracking-service.dev

Oh, well, I guess the changelog entries have to be added. But otherwise LGTM. Will test later.

I keep getting
Error opening /nix/store/jdcag779xa9a6ashdbg1lh88hmsv620a-ultraleap-hand-tracking-control-panel-3.4.1/opt/ultraleap-hand-tracking-control-panel/unity.lock: Read-only file system

this might need an fhs?

I keep getting
Error opening /nix/store/jdcag779xa9a6ashdbg1lh88hmsv620a-ultraleap-hand-tracking-control-panel-3.4.1/opt/ultraleap-hand-tracking-control-panel/unity.lock: Read-only file system

this might need an fhs?

From what I could tell, this didn't affect the application. I think this is just an optional locking mechanism from Unity. We can just ignore that error.

the ultraleap control panel does not appear to be getting any connection to the device itself despite the service working fine, it uses a local web socket looped back to localhost... possible firewall issues?

During NixCon 2024 I was able to try this module with @MatthewCroughan's Ultraleap Motion Camera and while the control panel recognized the device, it was unable to actually open the camera stream.
When keeping the service stopped, I was able to get a single frame of its camera using guvcview, before it errored out.
When the service is running it replaces the uvcvideo driver of the camera with usbfs. I am not sure if this is intended behavior.
Perhaps it is and this is just a permission issue? I sadly didn't have enough time to debug this.

Given the nontrivial contents of the openleap license, it probably deserves a nixpkgs config option to indicate acceptance. See https://github.com/NixOS/nixpkgs/pull/341095 for an example of how to do that.


Just suggestions

Hi @pav-shatalov - I really do love this theme. Just have two suggestions for minor adjustments:

increase the contrast a little for background of selected text
make comments just a little brighter

Thanks for considering - I'll keep using Siberia regardless.

Glad theme works for you. Increased brightness for comments on 4 steps and selection for 2 steps. Will see how it works

Thank you!


InstanceExtensions::supported()

As suggested in #38.
I wanted it for vulkano-info, so I didn't wait for a reply. Sorry. ;)
cargo test --lib crashed without panicking, but that's likely because I had to switch to an NVIDIA GPU. :/

I think the method name should reflect the fact that these are only the extensions supported by the core driver and not the .

I think the method name should reflect the fact that these are only the extensions supported by the core driver and not the .

Did you mean "not by layers"? Maybe supported_by_core()?

Yes for both.

I renamed it.
There should also be ways to query the extensions supported by layers and the layers and extensions supported by a physical device. Maybe this requires a rework of the layers and extensions modules?


Correction of erratum

Set codes for non-printable characters. Recognition of the text is made through the service //newocr.com

Help set non-printable character codes for gitbook.com


"pull access denied, repository does not exist or may require authorization"

When applying the manifest the deployed pod (tinkerbell-operator) fails to pull the image, with the error message:
Failed to pull image "tinkerbell/operator:v0.1.0": rpc error: code = Unknown desc = failed to pull and unpack image "docker.io/tinkerbell/operator:v0.1.0": failed to resolve reference "docker.io/tinkerbell/operator:v0.1.0": pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed
Do I need to make any special setup before applying this manifest?

Hi @taotriad. Thanks for checking in to this project. Its currently under early development and considered experimental (really early stages). Images aren't yet published so you'll want to build them locally.
I'm closing the issue, but feel free to continue the conversation.


fix biachuan-7b tp

The main modifications are in the "load_weights" function.
Before:

After:

Is the same reason for baichuan-13b? #530

Is the same reason for baichuan-13b? #530

Yes. I have tested it on both baichuan13b and 7b, and it can output normal output under tp.

Is the same reason for baichuan-13b? #530

Yes. I have tested it on both baichuan13b and 7b, and it can output normal output under tp.

Can I use this PR directly on 13B？


Log output nothing

Describe the bug

Log output nothing
To Reproduce

Expected behavior

Screenshots

Environment

Log file

Additional context

I never reproduct this issue, so close


Intersection creates degenerate triangle

This intersection produces a triangle where all three points have the same coordinate:
let path_a: F32Path = vec![
    F32Point::new(48.239437, -54.70892),
    F32Point::new(47.195786, -55.457626),
    F32Point::new(46.968903, -56.886974),
    F32Point::new(36.532383, -55.07193),
    F32Point::new(37.961735, -46.7454),
    F32Point::new(40.02635, -47.085724),
    F32Point::new(40.094414, -46.7454),
    F32Point::new(44.51859, -47.516796),
    F32Point::new(44.473213, -47.83443),
    F32Point::new(48.398254, -48.51507),
    F32Point::new(48.10331, -49.9898),
    F32Point::new(48.874702, -50.965385),
];

let path_b = vec![
    F32Point::new(48.398247, -48.515068),
    F32Point::new(48.10331, -49.989796),
    F32Point::new(44.473213, -47.834427),
];

let mut overlay = F32Overlay::new();
overlay.add_path(path_a, ShapeType::Subject);
overlay.add_path(path_b, ShapeType::Clip);
let graph = overlay.into_graph(FillRule::EvenOdd);
let shapes = graph.extract_shapes(OverlayRule::Intersect);
println!("{shapes:?}");

This generates these shapes, where the first path is the aforementioned triangle:
[[[F32Point { x: 44.473213, y: -47.834427 }, F32Point { x: 44.473213, y: -47.834427 }, F32Point { x: 44.473213, y: -47.834427 }]], [[F32Point { x: 44.47322, y: -47.83443 }, F32Point { x: 48.398247, y: -48.51507 }, F32Point { x: 48.10331, y: -49.989796 }]]]

Also interesting: using extract_shapes_min_area instead returns only the degenerate triangle, and not the valid one :thinking:
[[[F32Point { x: 44.473213, y: -47.834427 }, F32Point { x: 44.473213, y: -47.834427 }, F32Point { x: 44.473213, y: -47.834427 }]]]

Hi AzorLogh.
Thanks for sharing this test case — it's indeed an interesting one!
It seems like f32 precision is not enough to represent it in i32. In i32 the result is:
[[[
    IntPoint { x: 237520896, y: 534422528 },
    IntPoint { x: 237520967, y: 534422516 },
    IntPoint { x: 237520963, y: 534422488 }
]],
[[
    IntPoint { x: 237522114, y: 534421805 },
    IntPoint { x: 764329919, y: 443068093 },
    IntPoint { x: 724744192, y: 245133824 }
]]]

With extract_shapes_min_area is a bug the condition is inversed. I made a fix in 1.7.3 which fix it.
As for the f32 results, a potential solution could be to implement a normalization function. This function would convert the f32 results back to i32, clean up any degenerate edges, and then convert back to f32. Since this approach wouldn't significantly impact performance, I’m considering how best to apply it, possibly as an optional or as a default.

In 1.8.0 I added a new Float api which normalize the result by removing degenerated points and edges.
It is switched on by default for f32 and off for f64. It can be adjusted by Filter api:
pub fn overlay_with_filter_and_solver(self, overlay_rule: OverlayRule, fill_rule: FillRule, filter: ContourFilter, solver: Solver) -> Shapes;
pub struct ContourFilter {
pub min_area: T,
pub simplify: bool,
}
impl<T: FloatNumber> Default for ContourFilter {
fn default() -> Self {
// f32 precision is not enough to cover i32
let simplify = T::bit_width() <= 32;
ContourFilter { min_area: T::from_float(0.0), simplify }
}
}

Awesome, thanks a lot!


skeleton of strapdown page

Issue Number: 103
Issue Description:
Add docs directory and Set up Strapdown
Note - at this point the strapdown script reference is included in the index.html, this can be changed later
Summary of solution:
Initial set up of page to touch base before proceeding with links and further integration
Can this issue be closed?
No
Should any new issues be added as a result of this solution?
No
Have you named your branch in a descriptive way? Remember to name your branch in a unique and descriptive manner in order to properly reflect the issue or feature.
Yes
Thanks for contributing!

Looks good, thanks for your contributions!


Upgrading fuels to 0.96.1

Summary
Upgrade fuels versions to the latest
LICENSE:
The Fuel Support team submits this PR to help you use the fuel SDKs. It is provided "as is"
and without warranty for any purpose. We are not participants in the project at hand.
All the rights of this code are reserved to the authors of this repository.

https://github.com/Bako-Labs/bako-safe/commit/e14bdd7c3c744cc43a6476230f43374b55dba4d1


How do I query vertex attributes that are not used in shader?

Why spirv_cross::ShaderResources::stage_inputs does not contain inputs that do not used by shader(vertex stage)? I think it is important information to calculate offsets of each attribute and stride for whole vertex. Is there a way to get this information?

It should contain that. Which API did you use?
Compiler::get_shader_resources() should return all variables that are part of the entry point. Remember that unused vertex inputs may be stripped away by your GLSL or HLSL compiler, which makes it impossible for spirv-cross to know about missing inputs.
Do you have an example SPIR-V?

I use Vulkan and C++, compile with shaderc with generate debug info. I link Spirv-cross and shaderc libraries from VulkanSDK. Shader example looks like this:
`#version 460 core
#pragma stage : vertex  // used by my parser
layout(location = 0) in vec3 a_Position;
layout(location = 1) in vec2 a_TexCoords;
layout(location = 2) in vec3 a_Normal;
layout(location = 3) in vec3 a_Tangent;
layout(location = 4) in vec3 a_Bitangent;
layout(push_constant) uniform u_MaterialData
{
mat4 u_Transform;
};
void main()
{
gl_Position = u_Transform * vec4(a_Position, 1.0);
}
`
ShaderResources::stage_inputs contains only a_Position, but spirv byte code actually contains all inputs.

How do you invoke the SPIRV-Cross API? I'm getting the inputs just fine here in both --reflect and --dump-resources. Also, do you have the exact SPIR-V you're using?
./spirv-cross /tmp/test.spv --reflect

    "inputs" : [
        {
            "type" : "vec3",
            "name" : "a_Position",
            "location" : 0
        },
        {
            "type" : "vec2",
            "name" : "a_TexCoords",
            "location" : 1
        },
        {
            "type" : "vec3",
            "name" : "a_Normal",
            "location" : 2
        },
        {
            "type" : "vec3",
            "name" : "a_Tangent",
            "location" : 3
        },
        {
            "type" : "vec3",
            "name" : "a_Bitangent",
            "location" : 4
        }
    ],

./spirv-cross /tmp/test.spv --dump-resources

Entry points:
  main (vertex)

Execution modes:

subpass inputs
=============

=============

inputs
=============

 ID 025 : a_Position (Location : 0)
 ID 037 : a_TexCoords (Location : 1)
 ID 038 : a_Normal (Location : 2)
 ID 039 : a_Tangent (Location : 3)
 ID 040 : a_Bitangent (Location : 4)
=============

outputs
=============

=============

textures
=============

=============

separate images
=============

=============

separate samplers
=============

=============

images
=============

=============

ssbos
=============

=============

ubos
=============

=============

push
=============

 ID 019 : _19
=============

counters
=============

=============

acceleration structures
=============

=============

record buffers
=============

=============

builtin inputs
=============

=============

builtin outputs
=============

Builtin Position (float4) (active: yes).
Builtin PointSize (float) (active: no).
Builtin ClipDistance (float[1]) (active: no).
Builtin CullDistance (float[1]) (active: no).
=============

Active members in buffer: _19
==================

Member #  0 (u_Transform): Offset:    0, Range:   64
==================

Specialization constants
==================

==================

Capabilities
============
Capability: 1
============

Extensions
============
============

#version 460

struct u_MaterialData
{
    mat4 u_Transform;
};

uniform u_MaterialData _19;

layout(location = 0) in vec3 a_Position;
layout(location = 1) in vec2 a_TexCoords;
layout(location = 2) in vec3 a_Normal;
layout(location = 3) in vec3 a_Tangent;
layout(location = 4) in vec3 a_Bitangent;

void main()
{
    gl_Position = _19.u_Transform * vec4(a_Position, 1.0);
}

My code looks like this:
spirv_cross::Compiler compiler(src);
spirv_cross::ShaderResources resources = compiler.get_shader_resources();
resources.stage_inputs;  // here are the inputs (only a_Position)

Sorry, but I dont understand what the SPIR-V do you want. Like actual byte code I get after compilation? I opened it in text editor, some of the symbols is not ASCII and there also was whole copy of my shader. I am compiling with shaderc library from latest VulkanSDK.


chore: color docs for storybook

Description
Add a docs page with the available global token colors.
Updated existing DocBlocks to use the styled-components tooling to mimic how native Storybook components are built (example of the built-in ColorPalette component).

How and where has this been tested?
Please tag yourself on the tests you've marked complete to confirm the tests have been run by someone other than the author.
Validation steps
Open the color palette page:

[ ] Expect to see a documentation page with a gray container with rounded corners containing a set of color swatches aligning with our design token colors.
[ ] Toggle the color theme in the top toolbar to dark and expect to see the gray box to update to a dark gray/black box with all the color swatches updated to their dark-mode variants.

To-do list

[x] I have read the contribution guidelines.
[x] I have updated relevant storybook stories and templates.
[x] If my change impacts documentation, I have updated the documentation accordingly.
[x] ✨ This pull request is ready to merge. ✨

I happened to inspect some of transparent white and black swatches that weren't visible and noticed that they're rendering an invalid property value. Do these not exist and need some handling for not setting the style?

Great catch!  I originally built this page for the S2 tokens to demonstrate the changes but I forgot to update the transparent-white and transparent-black ranges to the S1 set before opening the PR.  I've pushed up that fix.


Change ordering of Matrixed TaskRuns Produced to Not Be Deterministic

This issue is tracking the discussion regarding the fact that TaskRuns are currently fanned out from a Matrixed PipelineTask in a deterministic order with a suggestion of wanting to change it to be non-deterministic so that users won't rely on the ordering. This was originally brought up when discussing  TEP-140: Produce Results from Matrixed PipelineTasks: https://github.com/tektoncd/community/pull/1047#discussion_r1293685528

This issue should be resolved before promoting Matrix to Beta #5265

@lbernick @pritidesai @jerop

Original discussion where this was introduced: https://github.com/tektoncd/pipeline/pull/6312#discussion_r1131175378
Note that Golang randomizes iteration order over map keys for a similar reasons: https://go.dev/doc/go1#iteration

Yes absolutely, ordering over map is randomized but not an array. Fanning out feature is equivalent to an array or a list. This is not a beta blocker.
@lbernick Please explain the use cases for your concerns. Thanks!

The use case is for Tekton developers wanting to change implementation of fanned out tasks.

What could be the motivation for pipeline developers wanting to change implementation of fanned out tasks?

Consider a matrixed taskrun that produces an array result, which is then fanned out into another matrixed taskrun. We will probably initially implement this to wait until all matrixed taskruns are complete, and then fan out the second task in the same order as the first task. But what if we want to improve performance, and start creating matrixed taskruns for the second task as soon as the string results from some of the previous matrixed taskruns are ready? If we guarantee deterministic ordering, we might not be able to make this change.

The use case you have included is not clear to me. Let's say we have two tasks in a pipeline.
    - name: kaniko-build
      taskRef:
        name: kaniko
      matrix:
        params:
          - name: IMAGE
            value: [ "image-1", "image-2", "image-3" ]
    - name: task-deploy-images
      taskRef:
        name: deploy
        matrix:
          params:
            - name: DIGEST
              value: $(tasks.kaniko-build.results.IMAGE-DIGEST[*])

Now, the use case you are describing includes scheduling an instance of task-deploy-images as soon as an instance with running an image-1 is done. Is that correct?

While deterministic ordering makes testing easier, I'm not aware of any use cases for it.

what kind testing are you referring to?
Let me take some time to understand your concerns with matrix.
Let's continue with the same example.
    - name: kaniko-build
      taskRef:
        name: kaniko
      matrix:
        params:
          - name: IMAGE
            value: [ "image-1", "image-2", "image-3" ]

Now, the param IMAGE is an array. When you index into IMAGE, would the first element be always image-1 or it changes everytime you access IMAGE[0]?
By following the standard programming language constructs, IMAGE[0] will always return image-1. So the first instance of the taskRun will return the DIGEST for the first element in an array.
Now, making it a little bit more complex, let's say:
    - name: kaniko-build
      taskRef:
        name: kaniko
      matrix:
        params:
          - name: IMAGE
            value: [ "image-1", "image-2", "image-3" ]
          - name: OS
            value: ["linux", "windows"]

matrix is a list of params i.e it is an array of objects. Is the map of IMAGE always the first element of matrix?
Ranging over an array matrix returns IMAGE as the first element of matrix in FanOut and OS as the second element of an array.
Now, the first instance of this matrix is executed with image-1 and linux.

Change ordering of Matrixed TaskRuns Produced to Not Be Deterministic

Are you suggesting to randomize ranging over an array using rand?

What could be the motivation for pipeline developers wanting to change implementation of fanned out tasks?

It's hard for me to predict what changes we want to make in the future, but I think it's important to leave ourselves the option of doing so. We can always re-introduce sorting later, but it's hard to take away. The example I gave was just an attempt to brainstorm a reason we might want to change the implementation. I don't think we need to know that we will change the implementation; I think we just shouldn't lock ourselves into this implementation without a good reason.

While deterministic ordering makes testing easier, I'm not aware of any use cases for it.

what kind testing are you referring to?

Just tekton pipelines unit tests. However, I don't think easier testing (by itself) is a good reason to have deterministic ordering.

Let me take some time to understand your concerns with matrix.
Let's continue with the same example.
    - name: kaniko-build
      taskRef:
        name: kaniko
      matrix:
        params:
          - name: IMAGE
            value: [ "image-1", "image-2", "image-3" ]

Now, the param IMAGE is an array. When you index into IMAGE, would the first element be always image-1 or it changes everytime you access IMAGE[0]?
By following the standard programming language constructs, IMAGE[0] will always return image-1. So the first instance of the taskRun will return the DIGEST for the first element in an array.
Now, making it a little bit more complex, let's say:
    - name: kaniko-build
      taskRef:
        name: kaniko
      matrix:
        params:
          - name: IMAGE
            value: [ "image-1", "image-2", "image-3" ]
          - name: OS
            value: ["linux", "windows"]

matrix is a list of params i.e it is an array of objects. Is the map of IMAGE always the first element of matrix?
Ranging over an array matrix returns IMAGE as the first element of matrix in FanOut and OS as the second element of an array.
Now, the first instance of this matrix is executed with image-1 and linux.

I agree that typical expectations are that array ordering is preserved. However, I don't think there are typical expectations when it comes to iteration over 2D (or 3D etc) arrays (e.g. should the next combo be "image-2" and "linux" or "image-1" and "windows"?), and it's not clear what the ordering should be if there's an include statement as well.

Are you suggesting to randomize ranging over an array using rand?

No, I'm just suggesting we remove our sorting logic and document that matrix ordering is not guaranteed.

I agree that typical expectations are that array ordering is preserved. However, I don't think there are typical expectations when it comes to iteration over 2D (or 3D etc) arrays (e.g. should the next combo be "image-2" and "linux" or "image-1" and "windows"?), and it's not clear what the ordering should be if there's an include statement as well.

We are not reinventing here, this is a standard programming paradigm. The entire language specifications for include is described in the proposal. Please refer to the TEP to understand how the combinations are derived.

Just tekton pipelines unit tests. However, I don't think easier testing (by itself) is a good reason to have deterministic ordering.

No, I'm just suggesting we remove our sorting logic and document that matrix ordering is not guaranteed.

This sorting logic has no impact or influence on the matrix ordering. This sorting logic was introduced to order each combination object e.g. a combination with multiple parameters returns the same order of params such that comparing combinations does not cause any failures due to mismatch order.
Let's take an existing example with the latest pipelines release:
Here is the list of taskRuns created:
🗂  Taskruns

 NAME                                           TASK NAME                STARTED          DURATION   STATUS
 ∙ matrixed-pr-scd79-matrix-and-params-2        matrix-and-params        21 seconds ago   20s        Succeeded
 ∙ matrixed-pr-scd79-matrix-and-params-1        matrix-and-params        21 seconds ago   19s        Succeeded
 ∙ matrixed-pr-scd79-platforms-and-browsers-8   platforms-and-browsers   22 seconds ago   20s        Succeeded
 ∙ matrixed-pr-scd79-matrix-and-params-0        matrix-and-params        22 seconds ago   21s        Succeeded
 ∙ matrixed-pr-scd79-platforms-and-browsers-6   platforms-and-browsers   23 seconds ago   15s        Succeeded
 ∙ matrixed-pr-scd79-platforms-and-browsers-7   platforms-and-browsers   23 seconds ago   21s        Succeeded
 ∙ matrixed-pr-scd79-platforms-and-browsers-4   platforms-and-browsers   24 seconds ago   12s        Succeeded
 ∙ matrixed-pr-scd79-platforms-and-browsers-5   platforms-and-browsers   24 seconds ago   15s        Succeeded
 ∙ matrixed-pr-scd79-platforms-and-browsers-3   platforms-and-browsers   24 seconds ago   13s        Succeeded
 ∙ matrixed-pr-scd79-platforms-and-browsers-1   platforms-and-browsers   25 seconds ago   17s        Succeeded
 ∙ matrixed-pr-scd79-platforms-and-browsers-0   platforms-and-browsers   25 seconds ago   16s        Succeeded
 ∙ matrixed-pr-scd79-platforms-and-browsers-2   platforms-and-browsers   25 seconds ago   19s        Succeeded

Now, let's see what were the combination used for each instance:
k get tr matrixed-pr-scd79-platforms-and-browsers-0 -o json | jq .spec.params
[
  {
    "name": "browser",
    "value": "chrome"
  },
  {
    "name": "platform",
    "value": "linux"
  }
]

k get tr matrixed-pr-scd79-platforms-and-browsers-1 -o json | jq .spec.params
[
  {
    "name": "browser",
    "value": "chrome"
  },
  {
    "name": "platform",
    "value": "mac"
  }
]

k get tr matrixed-pr-scd79-platforms-and-browsers-2 -o json | jq .spec.params
[
  {
    "name": "browser",
    "value": "chrome"
  },
  {
    "name": "platform",
    "value": "windows"
  }
]

k get tr matrixed-pr-scd79-platforms-and-browsers-3 -o json | jq .spec.params
[
  {
    "name": "browser",
    "value": "safari"
  },
  {
    "name": "platform",
    "value": "linux"
  }
]

k get tr matrixed-pr-scd79-platforms-and-browsers-4 -o json | jq .spec.params
[
  {
    "name": "browser",
    "value": "safari"
  },
  {
    "name": "platform",
    "value": "mac"
  }
]

k get tr matrixed-pr-scd79-platforms-and-browsers-5 -o json | jq .spec.params
[
  {
    "name": "browser",
    "value": "safari"
  },
  {
    "name": "platform",
    "value": "windows"
  }
]

Note the combinations, first three taskRuns 0 through 2 has browser set to chrome with all three platforms [ linux, mac, and windows ] just like when you iterate over an array.
The next three taskRuns 3 through 5 has browser set to safari with all three platforms in order [ linux, mac, and windows ].
Now, I deleted the sorting logic and ran the same example:
k get tr matrixed-pr-mnjbl-platforms-and-browsers-0 -o json | jq .spec.params
[
  {
    "name": "browser",
    "value": "chrome"
  },
  {
    "name": "platform",
    "value": "linux"
  }
]

k get tr matrixed-pr-mnjbl-platforms-and-browsers-1 -o json | jq .spec.params
[
  {
    "name": "browser",
    "value": "chrome"
  },
  {
    "name": "platform",
    "value": "mac"
  }
]

k get tr matrixed-pr-mnjbl-platforms-and-browsers-2 -o json | jq .spec.params
[
  {
    "name": "browser",
    "value": "chrome"
  },
  {
    "name": "platform",
    "value": "windows"
  }
]

k get tr matrixed-pr-mnjbl-platforms-and-browsers-3 -o json | jq .spec.params
[
  {
    "name": "browser",
    "value": "safari"
  },
  {
    "name": "platform",
    "value": "linux"
  }
]

k get tr matrixed-pr-mnjbl-platforms-and-browsers-4 -o json | jq .spec.params
[
  {
    "name": "browser",
    "value": "safari"
  },
  {
    "name": "platform",
    "value": "mac"
  }
]

k get tr matrixed-pr-mnjbl-platforms-and-browsers-5 -o json | jq .spec.params
[
  {
    "name": "browser",
    "value": "safari"
  },
  {
    "name": "platform",
    "value": "windows"
  }
]

The order is still the same.

If it helps, Matrix in GitHub Actions inspired Matrix in Tekton, and you'll observe that the ordering is also deterministic there
The blurb below the line below is lifted from this documentation: https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs#using-a-matrix-strategy

jobs:
  example_matrix:
    strategy:
      matrix:
        version: [10, 12, 14]
        os: [ubuntu-latest, windows-latest]

The order of the variables in the matrix determines the order in which the jobs are created. The first variable you define will be the first job that is created in your workflow run. For example, the above matrix will create the jobs in the following order:
{version: 10, os: ubuntu-latest}
{version: 10, os: windows-latest}
{version: 12, os: ubuntu-latest}
{version: 12, os: windows-latest}
{version: 14, os: ubuntu-latest}
{version: 14, os: windows-latest}

thanks @jerop yes it is an industry standard and common across many CI/CD platforms.

Now, I deleted the sorting logic and ran the same example:
The order is still the same.

Thank you for testing this out; I didn't realize this sorting logic was not what was causing the deterministic ordering.
@jerop thanks for the info about GHA; do you happen to have any insight on why they chose to support this? (I understand this might not be publicly available info.)
I am not opposed to deterministic ordering, but I want to understand the use cases that exist for it before users come to rely on it.

I am not opposed to deterministic ordering

Thanks a bunch for clarifying this. May be I misread this issue suggesting to change the deterministic order. Now that since you not opposed to it, can we please move this out as a blocker from https://github.com/tektoncd/pipeline/issues/5265#issue-1327646147. Thanks!

but I want to understand the use cases that exist for it before users come to rely on it.

Please clarify what exactly you would like to understand, I am happy to help!

I still believe this is important to decide before beta, for the reasons I listed in this comment. Would a clearer title for this issue be "decide whether to preserve deterministic ordering of matrixed taskruns"?
I see a few options:

If there's a clear use case for deterministic ordering, move forward with that
If we don't think there's a clear use case, make ordering randomized, since we can always revert to deterministic later on
Agree to disagree, and make a decision on the way forward via a method other than consensus

I'd like to understand an example of a CI/CD workflow that would be much more difficult to implement if matrixed ordering was not deterministic.

@jerop thanks for the info about GHA; do you happen to have any insight on why they chose to support this? (I understand this might not be publicly available info.)

I cannot speak to why GitHub Actions chose to support it, but I can see the predictability of the matrix being useful for users
Users can rely on the deterministic ordering to automate progressive deployments to different environments by using a matrix and limiting concurrency to one: https://cbrgm.net/post/2022-01-12-github-actions-environments/
...
jobs:
  deploy:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        stage: ['development', 'integration', 'production']
      fail-fast: true
      max-parallel: 1
    steps:
      - name: do some stuff
        uses: ...
        with: ...

In TEP-0090, we indicated interest in adding similar concurrency controls in Matrix in Tekton

"When a Matrix in PipelineTask would generate more than the maximum TaskRuns or Runs, this would fail the Pipeline in the first iteration. After initial usage of Matrix, we can explore other ways of supporting usage beyond that limit, such as allowing TaskRuns or Runs only up to the limit to run at a time, in a follow-up TEP."

While looking into the deterministic ordering in GHA matrix, I ran into reported issues with comments from frustrated users when the ordering was broken: https://github.com/actions/runner/issues/703, https://github.com/actions/runner/issues/483. The examples mentioned in the issues are depending on matrix and concurrency to automate progressive processes.
# running two tests at a time, then progress to more expensive tests only when the previous were successful
...
jobs:
  tests:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        test: ['simple', 'groovy', 'filesystem', 'webflow', 'webflowconfig', 'attributes']
      fail-fast: true
      max-parallel: 2
    steps:
      - name: run the tests
        uses: ...
        with: ...

# changing terraform workspace one at a time, starting with dev then staging
...
jobs:
  deploy:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        workspace: ['dev-us-east-1', 'stg-us-west-2']
      fail-fast: true
      max-parallel: 1
    steps:
      - name: change terraform workspace
        uses: ...
        with: ...

Thanks very much for this info @jerop, this is exactly what I was looking for, super helpful!
I agree this is an important use case to address, although I am not sure that deterministic ordering is the best way to address it. However, I agree that users who are used to GHA syntax may be surprised to find that ours differs. I am curious to hear what other maintainers think.
Since it sounds like IBM has a strong need for this feature, and I don't have a strong stake in it, I am not opposed to moving forward.

Thanks a bunch @EmmaMunley for your continuous support on making this feature possible!
In addition to IBM, every small and big organization which has deployed Tekton for their CI/CD needs will be benefited with this feature.
@lbernick please feel free to reopen this whenever you find some stake in it.


Document cache quota 2GB headroom restriction

See original issue on GitLab
In GitLab by [Gitlab user @Qinusty] on Jul 24, 2018, 16:29
The following discussion from !563 should be addressed:

[ ] [Gitlab user @Qinusty] commented on a discussion:  (+2 comments)

Agreed, and we probably want to make sure this headroom is documented somewhere as it may confuse people trying to set their cache_quota based on their available system storage. E.g. You may be told that you don't have enough space because you have specified within 2GB of your system capacity.

Description
There is currently no mention within the documentation of this 2GB headroom, this could cause some confusion to users who are trying to set their quota to their available space.

In GitLab by [Gitlab user @danielsilverstone-ct] on Sep 18, 2019, 08:53
[Gitlab user @juergbi] Is this headroom still accurate?  If so, where should it be documented in the new world order of buildbox-casd usage?

In GitLab by [Gitlab user @juergbi] on Sep 18, 2019, 10:47
Right now the 2GB headroom doesn't exist anymore, however, https://gitlab.com/BuildGrid/buildbox/buildbox-casd/issues/28 will reintroduce it on the casd side. It will no longer fail if the quota is too large, though, it will simply reduce the quota to the maximum possible (and will periodically adapt this as disk usage changes). I would say this makes it less of an issue for the user but we should definitely document it at least on the buildbox-casd side and maybe also add a note to the BuildStream documentation.

In GitLab by [Gitlab user @BenjaminSchubert] on Sep 30, 2019, 14:17
[Gitlab user @juergbi] would it then make sense to close this issue and repoen another one specific to casd?

In GitLab by [Gitlab user @juergbi] on Sep 30, 2019, 15:35
A buildbox-casd merge request is already open for this: https://gitlab.com/BuildGrid/buildbox/buildbox-casd/merge_requests/87
We can close this issue, unless we want to add a note to the BuildStream documentation as well. As the original scenario no longer results in a (possibly confusing) error message, I think we can leave it as is.

In GitLab by [Gitlab user @cs-shadow] on Oct 10, 2019, 17:35
Closing this as per above.

In GitLab by [Gitlab user @cs-shadow] on Oct 10, 2019, 17:35
closed


Fixed issue with control pad button tests

Fixed tests to determine which Kodi version Kore is connected too.
This caused the long press tests to fail as Kore didn't see v17 as
the version that should use the new JSON RPC call.
Refactored setting the Kodi version during testing to also set the
correct version in the database, instead of only setting it in the HostInfo
instance.

@poisdeux Same here?

Fixed


Android Basics: Activities and intents

URL of codelab
https://developer.android.com/codelabs/basic-android-kotlin-training-activities-intents?continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fandroid-basics-kotlin-unit-3-pathway-1%23codelab-https%3A%2F%2Fdeveloper.android.com%2Fcodelabs%2Fbasic-android-kotlin-training-activities-intents#5
In which task and step of the codelab can this issue be found?
Task 6, Step 6
Describe the problem
Step 6 reads as follows:
You can now replace the hardcoded URL with the SEARCH_PREFIX constant. Edit the queryUrl in the onClickListener in
WordAdapter as follows.
val queryUrl: Uri = Uri.parse("${DetailActivity.SEARCH_PREFIX}${item}")

But there is no onClickListener in the WordAdapt.kt file.  There is no "queryUrl" variable anywhere in all the files in the existing code.
Steps to reproduce?

Go to...          Download the code from Github
Click on...      Do a global search for "queryUrl" or "https"
See error...    Not found

Versions
Android Studio version:           4.1.1
API version of the emulator:     29
Additional information
Include screenshots if they would be useful in clarifying the problem.

@GregBradb
Thank you so much for reporting this issue. This is fixed and will be published soon.

@GregBradb
Thank you so much for reporting this issue. This is fixed and will be published soon.


[Feature Request]: 1Password Events API Integration

Dear Datadog.
We would like to have our 1Password Activity Logs in Datadog. At the moment we would have to write our own integration. It would be nice if Datadog could look at providing this due to the recent expansion into Security.
https://developer.1password.com/docs/events-api
https://support.1password.com/events-reporting/#step-1-set-up-an-events-reporting-integration

Hi @kderck 👋 , thanks for reaching out! For feature requests, can you reach out to support and file a ticket? That will help it get to the correct people.


Find the bug part 2

Given that https://github.com/nshalman/sys/compare/master...nshalman:fsnotify-fen passes the tests I've written so far, when compiling against that source tree, many tests pass, but sadly not all of them.
The current mystery is why...
$ git checkout rebased-solaris-fen ; go test
Switched to branch 'rebased-solaris-fen'
PASS
ok      github.com/fsnotify/fsnotify    7.965s

$ git checkout illumos-fen ; go test
Switched to branch 'illumos-fen'
--- FAIL: TestFsnotifyMultipleOperations (0.66s)
    integration_test.go:104: event received: "/tmp/fsnotify549331660": WRITE
    integration_test.go:104: event received: "/tmp/fsnotify549331660": WRITE
    integration_test.go:104: event received: "/tmp/fsnotify549331660": WRITE
    integration_test.go:167: incorrect number of create events received after 500 ms (0 vs 2)
    integration_test.go:104: event received: "/tmp/fsnotify549331660": REMOVE
--- FAIL: TestFsnotifyMultipleCreates (0.76s)
    integration_test.go:217: event received: "/tmp/fsnotify105877982": WRITE
    integration_test.go:217: event received: "/tmp/fsnotify105877982": WRITE
    integration_test.go:217: event received: "/tmp/fsnotify105877982": WRITE
    integration_test.go:294: incorrect number of create events received after 500 ms (0 vs 2)
    integration_test.go:217: event received: "/tmp/fsnotify105877982": REMOVE
--- FAIL: TestFsnotifyDirOnly (0.55s)
    integration_test.go:356: event received: "/tmp/fsnotify542869925": WRITE
    integration_test.go:356: event received: "/tmp/fsnotify542869925": WRITE
    integration_test.go:356: event received: "/tmp/fsnotify542869925/TestFsnotifyEventsExisting.testfile": REMOVE
    integration_test.go:396: incorrect number of create events received after 500 ms (0 vs 1)
--- FAIL: TestFsnotifySubDir (0.70s)
    integration_test.go:504: event received: "/tmp/fsnotify719264031": WRITE
    integration_test.go:504: event received: "/tmp/fsnotify719264031": WRITE
    integration_test.go:553: incorrect number of create events received after 500 ms (0 vs 2)
--- FAIL: TestFsnotifyRenameToCreate (0.51s)
    integration_test.go:684: event received: "/tmp/fsnotify559598761": WRITE
    integration_test.go:709: fsnotify create events have not been received after 500 ms
    integration_test.go:684: event received: "/tmp/fsnotify559598761": REMOVE
--- FAIL: TestFsnotifyFakeSymlink (0.50s)
    integration_test.go:1053: Created bogus symlink
    integration_test.go:1039: event received: "/tmp/fsnotify564860890": WRITE
    integration_test.go:1063: fsnotify other events received on the broken link
    integration_test.go:1039: event received: "/tmp/fsnotify564860890": REMOVE
--- FAIL: TestCyclicSymlink (0.50s)
    integration_test.go:1120: want at least 1 create event got 0
FAIL
exit status 1
FAIL    github.com/fsnotify/fsnotify    7.971s

Fixed!


import some events

Hello,
Can I import or add some events from JSON? And see these events still on the website?
Can I disable all buttons on header except prev and next month and months and years?
I tried several options, but do not work.
Thanks for help.

If you look in the functions list, there are 4 functions that will help you add events. You can JSON.Parse you json data and use one of those functions to add them.
I will be adding more support to disable the other buttons on the toolbar, which will be coming in a later version. I will keep you informed!
Dont forget to star and share the project if you like it :)

I've added a new setting that will disable the buttons on the main display.  This will be available in v1.3.0 when it becomes available.
Let me know if you need any more assistance.

Hello,
Can you help me with call events from json file? I've tried a few options, but it still doesn't work for me.
sometimes I'm a jerk :-)
I'm still learning
Thanks for help

Is there any way to remove holidays like April 1st and more?

Take a look at the options you can pass to the setOptions() function, this will allow you to set, or clear, the holidays, and change the test for every area to whatever you want.

Thank you. I hope I can do that :-)
And the previous request for help?

What do you mean by call events from JSON? Do you mean calling an event when you import some JSON?

Sry, I have JSON FILE with events. So can you help me with calling an events using a JSON file?
I am sorry for my English. I don't speak English very well :-D

JSON cannot contain event, its a notation format for storing data.

I'll try.
When I export all events to a JSON file. I have a JSON file with a list of all events. I need advice on how to use this JSON file to import these events from a JSON file into the calendar. I do not want to copy all items directly into the script in html again. Is there any way to import this or it is better to write everything directly into

You would need to upload the file using a form, read the contents of the file and then call the addEventsFromJson() on the calendar instance.


add rebase cmd action

Description:

Changes:

Other checks:

[ ] I have tested all my changes thoroughly.

/rebase

/rebase


add like button on the tile

add like button on the tile in card and shape page
fixes #10 by danu-ramdhani

thanks will review soon

can you please remove the google_services.json , firebase_options and other database related files .


Fix HTTP 406 when getting job output

Fixes #8

I had to replace application/json with application/text instead of appending to the list, as in another function, when application/json value exists, all others are ignored
https://github.com/controlm/ctm-python-client/blob/977f119023ba5af27f6b7051ef479ba6ca48dfe2/src/clients/ctm_api_client/api_client.py#L545

Will close since new release offers get job output


Compile error on Solaris

Recent change no longer compiles on Solaris 10.  These macros do not appear in any Solaris include file.
[ 46%] Building C object libfreerdp-core/CMakeFiles/freerdp-core.dir/tcp.c.o
/export/home/sunds/FreeRDP/libfreerdp-core/tcp.c: In function tcp_set_keep_alive_mode': /export/home/sunds/FreeRDP/libfreerdp-core/tcp.c:281: error: SOL_TCP' undeclared (first use in this function)
/export/home/sunds/FreeRDP/libfreerdp-core/tcp.c:281: error: (Each undeclared identifier is reported only once
/export/home/sunds/FreeRDP/libfreerdp-core/tcp.c:281: error: for each function it appears in.)
/export/home/sunds/FreeRDP/libfreerdp-core/tcp.c:281: error: TCP_KEEPIDLE' undeclared (first use in this function) *** Error code 1 The following command caused the error: cd /export/home/sunds/FreeRDP/libfreerdp-core && /usr/sfw/bin/gcc  -Dfreerdp_core_EXPORTS -DEXT_PATH=\"/usr/lib/freerdp/extensions\" -Wall -Wno-unused-but-set-variable -O2 -O3 -DNDEBUG -fPIC -I/export/home/sunds/FreeRDP -I/export/home/sunds/FreeRDP/include -I/opt/csw/include -o CMakeFiles/freerdp-core.dir/tcp.c.o   -c /export/home/sunds/FreeRDP/libfreerdp-core/tcp.c make: Fatal error: Command failed for target libfreerdp-core/CMakeFiles/freerdp-core.dir/tcp.c.o'
Current working directory /export/home/sunds/FreeRDP
*** Error code 1
The following command caused the error:
make -f libfreerdp-core/CMakeFiles/freerdp-core.dir/build.make libfreerdp-core/CMakeFiles/freerdp-core.dir/build
make: Fatal error: Command failed for target libfreerdp-core/CMakeFiles/freerdp-core.dir/all' Current working directory /export/home/sunds/FreeRDP *** Error code 1 The following command caused the error: make -f CMakeFiles/Makefile2 all make: Fatal error: Command failed for target all'

@sunds there was a fix for Mac OS X for the same issue that was just merged. I could build from scratch on OpenIndiana. Can you try again?

@Marc-André
TCP_KEEPALIVE is defined on Solaris as well, so if the fix is modified
to define the TCP_KEEPIDLE macro on Solaris as well as OSX it will
work.

37
+#ifdef APPLE
38
+#ifndef TCP_KEEPIDLE
39
+#define TCP_KEEPIDLE TCP_KEEPALIVE
40
+#endif
41
+#endif
42

I can address it tomorrow.
On Tue, Dec 13, 2011 at 7:10 PM, Marc-André Moreau
<EMAIL_ADDRESS>wrote:

@sunds there was a fix for Mac OS X for the same issue that was just merged. I could build from scratch on OpenIndiana. Can you try again?

Reply to this email directly or view it on GitHub:
https://github.com/FreeRDP/FreeRDP/issues/273#issuecomment-3133824

This was resolved with commit 49303c8969f56b8b381ec9917bdb4febb665201b


I get: {'error': {'code': 'BadRequest',   'message': "An unexpected 'PrimitiveValue' node was found when reading from the JSON reader. A 'StartObject' node was expected.  CorrelationId:  abf55a01-42e7-40c5-884d-59ccc790e312."}}

[Enter feedback here]

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

ID: 74270a57-78cf-d98a-d640-725f6740be26
Version Independent ID: cb3f681d-baef-b0be-a828-45c7edfcde40
Content: Create customers - Business Central
Content Source: dev-itpro/api-reference/v2.0/api/dynamics_customer_create.md
Service: dynamics365-business-central
GitHub Login: @SusanneWindfeldPedersen
Microsoft Alias: solsen

Thanks for your feedback. This repo is meant for documentation issues only. Please use your usual support channel for help with this issue. Thanks.


getByText doesn't find nodes that are

I use a code that contains an submit button like this:
        <input
          className="compareHome-submit-button"
          type="submit"
          value="Retrieve profiles"
        />

With react-testing-library I want to get it using for example getByText('Retrieve profiles'), which I expect to work because the text 'Retrieve profiles' is actually seen by users.
But this doesn't work and fails with this error:
    Unable to find an element with the text: Retrieve profiles. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.

Is this error expected in this case? I don't find an easy way to get to the submit button and have to use a matcher function instead...

Interesting. I think that the query should be updated to account for this case.
The change will actually be pretty simple in this file: https://github.com/kentcdodds/dom-testing-library/blob/master/src/get-node-text.js
We'll want a test for this as well. Would you be willing to make that contribution?

Yes, I'm interested in fixing this, but realistically I won't be able to get to it before Thursday or Friday. And if you see nothing before Friday it means it won't be before next year :-) (Precising this in case anybody wants to work on it before this).

I realize that <input type="button"> is concerned too.


Feature: Endpoint for health check

I'm trying to run Growi on a kubernetes cluster.
But currently, it seems that the endpoint suitable for health check are not implemented.
I would like to use this endpoint for livenessProbe/readinessProbe in k8s Pod yaml.
(I tried to use /login for *Probe url, but IN INITIAL STATE this URL returns 302 response that redirects to /installer)
So I hope the endpoint with the following specification.

can be done regardless of the installation status
(optionally) can monitor the state of connection to the underlying middleware

How about these route?

GET /_api/v3/healthcheck -> return 200 if express server alive
GET /_api/v3/healthcheck?connectMongoDB -> return 200 if express server can read data from MongoDB


Missing metric, and log error One or more TimeSeries could not be written: Unrecognized region or location

I have a GKE cluster with self-installed managed collection, using https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/v0.3.0/manifests/setup.yaml and https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/v0.3.0/manifests/operator.yaml
I've added PodMonitoring custom resources for many of our pods. Most of them seem to work, but I see at least one that is missing. It's unclear to me why it doesn't show up.
In the logs, the main error I see are log entries of this form. Of course, I can't tell what metric this is referring to. I don't know where the Unrecognized region or location is from, but I do note that the collector is running with --export.label.location=us-west1-a, which I assume the operator auto-detected in GKE.
ts=2022-03-04T01:43:50.939Z caller=log.go:124 component=gcm_exporter level=error msg="send batch" size=200 err="rpc error: code = InvalidArgument desc = One or more TimeSeries could not be written: Unrecognized region or location.: timeSeries[1,2,4-17,19-21,23-37,40-48,50,52-58,60,61,63-90,92-102,104-107,110-112,114-117,119,120,122-124,126-132,134-142,144-151,154-188,190-197,199]
Also, the metric that is missing looks like:
# TYPE sorter_qc_counts gauge
sorter_qc_counts{batch="2711",lane="1",location="BOTTOM",rack="70",vision_label="M"} 2344.0

The labelset for this gauge is substantial, on the order of 300 combinations. I dunno if that could be related.

Hi Will,
location is a reserved label in our system (along with project_id, cluster, namespace, job, and instance).
What's happening here is your location label is accidentally overwriting the reserved location label, making our API think that you intend to write to a GCP region called BOTTOM, which of course doesn't exist.
We want to preserve this behavior, because there are some valid use cases for overwriting location on the metric. A canonical example is, you're a EU operator generating metrics from EU-owned cell phones, and you want to make sure their data is stored in the EU even if the cell phone is currently in the US, so you would manually override location to ensure the data gets saved in the EU.
The easiest solution here would be to just use a different label name. Would that be acceptable?
Regardless we should document this a bit more clearly.

Aha, that's useful to know. Thanks for the quick reply.
Do we need to fix this in application code, or can we relabel with a RelabelingRule to address this?
I don't know if it's easy, but adding error handling for the conflict would be nice, so we could get a better log message without having to bug y'all. But your response time is very good, so much appreciated :)

I think the relabeling rule will work, but I am not positive. Our system will auto-fill in any missing project_id or location labels before it's sent to the API. I think that happens after relabeling rules are applied but I'm not positive. Should be pretty simple for you to try out, though.

OK cool, thanks. I'll give the relabeling a try first. Multiple applications use this same label and we alert on these labelsets, so it's a more difficult to update all the binaries.
Also, is there any documentation on the functionality of these reserved labels? We have k8s clusters outside of GKE on which I'd like to deploy the collector. It's unclear to me what location I should pick when configuring the operator, and if it matters.

There is some documentation here: https://cloud.google.com/stackdriver/docs/managed-prometheus/setup-unmanaged#gmp-run-binary
We recommend picking the closest GCP region to wherever your k8s cluster is running. project_id just needs to be a valid GCP project. cluster/namespace/job/location should be automatically added.

I've tested out using a RelabelingRule to replace the label, but it doesn't seem to work. We have numerous applications that use this label, so it's burdensome to fix each of them. Is location required for any functionality? If not, would it be possible to remove this requirement that it not be set by applications? The docs don't explain what the values used for, and if it's not providing value, it'd be nicer for migrating users not to have to worry about relabeling their metrics. Alternatively, could the team rework it so a RelabelingRule can solve this rather than having to update all applications that use this label?

It's used to select the GCP region where your data is stored, so it actually has critical functionality.
Can you post your relabeling rule so I can take a look?
Special case handling for relabeling metric-set location labels would make sense.

OK, I've created an internal bug for this. I'll update you when complete. However, to be frank, It will probably be some time.

Since this is google or GCP specific labels that will overlap many use cases, doesn't it make sense to prefix these like any other system label like google_ or gcp_ (or gc_) or prometheus_ or nodejs_? I find it useful that I can inject this this into the monitoring stream though.

This is fixed in 0.4.3 which is not released in all GKE clusters.
If you use location it will be automatically relabeled to exported_location and won't throw an error any more.