Is there a way to cache DOI lookups in the test suite

As is it takes a long time to validate all the files because it has to download them all each time. Could we look into adding something to cache the files?

We did start to look at why the test suite is so slow in #86

Indeed, and @Kypore1 was running the code from before the commits that fixed #86. Let's see if the speed improves after updating to master. I still think this might be a good idea though... we can download JSON files of the message response or something in a directory that can be "cleaned" with a separate command

Sure, maybe we can set up a list of all the queries for the tests and do it all in one?


Unable to update data with html formatting

Hello,
first I cant to thank you for this great tool,
I've see that we can't anymore use $element.select('data',data);
I've also see that a workaround is to do:
$element.append(option);
$element.select2();

To use html formatting I saw a method:
var format = function(item) {
	return $(item.element).html();
};
$element.select2({
	data: data,
	escapeMarkup: function (m) {
		return m;
	},
	formatResult: format,
	formatSelection: format,
});

but that doesn't work if I put html in  (I know that's invalid html5 but I didn't see other workaround, it would bee great if one exists)
<select>
	<option> My super <b>option !</b>< /option>
</select>

var format = function(item) {
	return $(item.element).html();
};
$element.select2({
	escapeMarkup: function (m) {
		return m;
	},
	formatResult: format,
	formatSelection: format,
});

In this case the html is escaped and my option is not anymore between the b tag
the same thing append if I try to combine init on data and update with element
var format = function(item) {
	return $(item.element).html();
};
$element.select2({
	data: data,
	escapeMarkup: function (m) {
		return m;
	},
	formatResult: format,
	formatSelection: format,
});

myCallback(function(option){
	$element.append(option);
	$element.select2();
});

Is it possible to achieve this ?

I've made a mistake, data api is not for update the data parameter at init, is for update value (that was an ambiguous api), this is what I was looking for: #2830


labelmap volume to DICOMSeg for CT vertebrae

@lassoan I am trying to export labelmap volume to DICOMSeg for CT vertebrae. I am little bit confused with segmentDescription as mentioned in convert.py code. How you defined those segment part ? The format of data which I would like to export  is something like this,

Segment description comes from standard DICOM terminology. The DICOM standard mostly uses SNOMED-CT codes. You can find the codes in SNOMED-CT, in the DICOM standard, in the DCMQI project, or in Slicer. Probably the simplest is to use the terminology selector in Slicer (available by double-clicking the colored box in the segment list) to select a term and then save the segmentation as .seg.nrrd file. You'll find the codes in the file header.

@lassoan  Thank you. My plan is to convert label map segmentation of vertebrae to DICOM seg. Initial loading of data is in figure 1. For the testing purpose, all segments(vertebra) are merged into one segment of spine.

After running the code,  DICOMseg of Labelmap volume is shown in figure which is not as expected.
Figure 2,

Any thoughts ?


[BUG] java.lang.OutOfMemoryError: Required array size too large when uploading large files

System info

Playwright Version: [v1.37]
Operating System: [All, Windows 11, Ubuntu 20, macOS 13.2, etc.]
Browser: [All, Chromium, Firefox, WebKit]
Other info:

We use page.setInputFiles(String selector, Path[] files) to trigger file uploads in our tests. When using large or many files (in one case  2 files, 7GB in total) a java.lang.OutOfMemoryError will be thrown.
java.lang.OutOfMemoryError: Required array size too large
	at java.base/java.nio.file.Files.readAllBytes(Files.java:3294)
	at com.microsoft.playwright.impl.Utils.toFilePayload(Utils.java:239)
	at com.microsoft.playwright.impl.Utils.toFilePayloads(Utils.java:231)
	at com.microsoft.playwright.impl.FrameImpl.setInputFilesImpl(FrameImpl.java:773)
	at com.microsoft.playwright.impl.PageImpl.lambda$setInputFiles$74(PageImpl.java:1171)
	at com.microsoft.playwright.impl.LoggingSupport.lambda$withLogging$0(LoggingSupport.java:36)
	at com.microsoft.playwright.impl.LoggingSupport.withLogging(LoggingSupport.java:47)
	at com.microsoft.playwright.impl.ChannelOwner.withLogging(ChannelOwner.java:87)
	at com.microsoft.playwright.impl.LoggingSupport.withLogging(LoggingSupport.java:35)
	at com.microsoft.playwright.impl.PageImpl.setInputFiles(PageImpl.java:1170)
	at com.microsoft.playwright.Page.setInputFiles(Page.java:6779)
...

The hasLargeFile() check in FrameImpl.setInputFilesImpl(String selector, Path[] files, SetInputFilesOptions options) returns false for the 7GB files, but should be true.
When debugging the method Utils.hasLargeFile(Path[] files), the calculated totalSize of the files overflows to -1204753599 making the method return false. Playwright will then try to load the files into memory, causing the java.lang.OutOfMemoryError.
  static boolean hasLargeFile(Path[] files) {
    int totalSize = 0;
    for (Path file: files) {
      try {
        totalSize += Files.size(file);
      } catch (IOException e) {
        throw new PlaywrightException("Cannot get file size.", e);
      }
    }
    return totalSize > maxUplodBufferSize;
               ^ -1204753599, in my case, it should be<PHONE_NUMBER>
  }

As a fix, I would suggest to replace the type for totalSize with long or something else more suitable.
Many thanks - U

@railwayursin would you like to send a pull request with a fix?

@yury-s, could you please estimate how long it would take until a pull request would be merged and used in a release?

We are going to release java port this week, probably today, so it can make it into this release. If not next release is going to be in about a month from now.

@yury-s,  When the fix makes it into the next or the one after next is perfect. I prepared a fix. But I am not allowed to push the branch to the repository.
19:20:12.176: [playwright-java] git -c credential.helper= -c core.quotepath=false -c log.showSignature=false push --progress --porcelain origin refs/heads/fix-setfiles-oom:refs/heads/fix-setfiles-oom --set-upstream
remote: Permission to microsoft/playwright-java.git denied to railwayursin.
fatal: unable to access 'https://github.com/microsoft/playwright-java/': The requested URL returned error: 403

You need to fork the repo, push a fix a branch in the fork and then create a PR from it which we will merge.


Provide a way to expose typed ingress clients

It would be great if I can import the type for a service/router, combine it with a restate ingress URL, and invoke the service via the ingress in a typed way

Some open question to figure out
### Tasks
- [ ] What client library to use for the transport?
- [ ] Whether keeping heuristic for keyed vs. unkeyed service detection

Ideally similar to the tRPC client.

https://trpc.io/docs/client/vanilla/setup

We should also check that our documentation is up to date with how to invoke Restate services from externally.

Solved.


[GSUB] Simplify API for MultipleSubst

To simplify dealing with GSUB lookup type 2 (multiple substitutions), write a class MultipleSubst as sub-class of FormatSwitchingBaseTable. This would be similar to SingleSubst in Lib/fontTools/ttLib/tables/otTables.py.
Currently, GSUB lookup type 2 (Multiple Substitution) has no wrapper class in otTables, which makes it a little clumsy to construct that lookup in code. Also, the resulting TTX files are not very readable.
For example, the following feature file, when applying it to some font with Adobe’s makeotf tool:
feature test {
  sub c_t by c t;
  sub f_f by f f;
} test;

currently results in the following TTX dump, with an equally complicated Python representation:
  <Lookup index="0">
    <!-- LookupType=2 -->
    <LookupFlag value="0"/>
    <!-- SubTableCount=1 -->
    <MultipleSubst index="0" Format="1">
      <Coverage>
        <Glyph value="c_t"/>
        <Glyph value="f_f"/>
      </Coverage>
      <!-- SequenceCount=2 -->
      <Sequence index="0">
        <!-- GlyphCount=2 -->
        <Substitute index="0" value="c"/>
        <Substitute index="1" value="t"/>
      </Sequence>
      <Sequence index="1">
        <!-- GlyphCount=2 -->
        <Substitute index="0" value="f"/>
        <Substitute index="1" value="f"/>
      </Sequence>
    </MultipleSubst>
  </Lookup>

Instead of parallel arrays, we could have a MultipleSubst.mapping attribute. In the above example, its vale would be {'c_t': ('c', 't'), 'f_f': ('f', 'f')}.

Be careful.  You are changing portion api and XML format. That's not
backwards compatible, right?  If we are to do that, we should do it in a
branch and when it's complete, devise a migration plan, and merge and bump
version number.
On Sep 10, 2015 5:55 PM, "Sascha Brawer"<EMAIL_ADDRESS>wrote:

Closed #355 https://github.com/behdad/fonttools/issues/355 via #364
https://github.com/behdad/fonttools/pull/364.
—
Reply to this email directly or view it on GitHub
https://github.com/behdad/fonttools/issues/355#event-405945151.

Do we have sample migration plans for similar changes? (Not sure what the plan would state, exactly?)

For example:

make it compatible. Ie, make ttx accept old XML files and silently
convert; use python tricks like properties to make code using old API
continue working.  Specially code using old API to read tables.  Code
generating tables is much less frequent and we can accept to break.
On Sep 10, 2015 6:07 PM, "Sascha Brawer"<EMAIL_ADDRESS>wrote:

Do we have sample migration plans for similar changes? (Not sure what the
plan would state, exactly?)
—
Reply to this email directly or view it on GitHub
https://github.com/behdad/fonttools/issues/355#issuecomment-139236638.

Another plan is to just document, so we'd have a migration-guide.
On Sep 10, 2015 6:13 PM<EMAIL_ADDRESS>wrote:

For example:

make it compatible. Ie, make ttx accept old XML files and silently
convert; use python tricks like properties to make code using old API
continue working.  Specially code using old API to read tables.  Code
generating tables is much less frequent and we can accept to break.
On Sep 10, 2015 6:07 PM, "Sascha Brawer"<EMAIL_ADDRESS>wrote:

Do we have sample migration plans for similar changes? (Not sure what the
plan would state, exactly?)
—
Reply to this email directly or view it on GitHub
https://github.com/behdad/fonttools/issues/355#issuecomment-139236638.

Another plan is to just document, so we'd have a migration-guide.

Makes sense, I’ll start a draft.
Regarding doing API-breaking development in a special branch, are you sure? This would make development (a lot) more complex imho. Clients who sync with head are probably aware that they’re living on the bleeding edge; if they want stability, wouldn’t they rather take a stable release?

Regarding “make ttx accept old XML files and silently convert”, that sounds easy enough; I’m working on this.

looks like this change broke @typesupply's compositor:
https://github.com/typesupply/compositor/issues/19
Pity that the changelog for 3.1 does not mention this change.
I wonder if we could make the old API work, as @behdad was suggesting in https://github.com/fonttools/fonttools/issues/355#issuecomment-139235864

Sorry about that. On the other hand, if there’s only a single breakage, perhaps it’s easier if they just roll forward and update?

yes, it should be straightforward to update compositor. I'll send a PR.

Thank you!


kubearmor support matrix

explicits states what k8s platforms are supported
kubearmor's support for different distributions for VM/bare-metals.
Updated deployment guide to link to the support matrix
updated go.sum

Ref: #647
Signed-off-by: Rahul Jadhav<EMAIL_ADDRESS>

Online review done with @nam-jaehyun .. merging since no other comments

Online review done with @nam-jaehyun .. merging since no other comments


Generated TriangleMesh class doesn't contain any method

Hi,
I am trying to access the list of all vertices in a triangular mesh. i tried looking in the godot source code, and i found them stored in the triangleMesh class. but in the generated include files of godot-cpp project, TriangleMesh class doesn't contain any method.

This is not a Godot-Cpp bug. TriangleMesh really does not have any exposed methods: https://docs.godotengine.org/en/stable/classes/class_trianglemesh.html


Specifically, in the director, the namespace token validation can fail.
On macOS, the recursive downloads/uploads have an intermittent failure with a header timeout.

@turetske I would assume this is fixed as we disabled the related tests for macOS?

Should I open another ticket for that ubuntu test failures that have been plaguing us? https://github.com/PelicanPlatform/pelican/actions/runs/8574340084

Should I open another ticket for that ubuntu test failures that have been plaguing us? https://github.com/PelicanPlatform/pelican/actions/runs/8574340084

I think this one was a new one and was introduced by #1058 but the failure seems to be intended, unless our timeout config wasn't properly read (it was set to 10s for response header)

@haoming29 Since you know the problem more intimately can you create the ticket? It hurts me to merge with a broken test.

Sure thing!

I'm not sure the fix though. The topology really needs to be tuned up


Windows App Github signin with webauthn

Describe the bug
When signing in with github with an account that has added a security key, asks for the key, but then pops up a normal browser with the URL https://github.com/sessions/two-factor/webauthn
To Reproduce
Steps to reproduce the behavior:

Open up the Windows Desktop app and press Log in with GitHub
Put in your credentials
Press Use security key
Press the butten on your security key
A windows will pop up in regular chrome with the URL https://github.com/sessions/two-factor/webauthn with a 404 page. The app is still not authenticated.

Expected behavior
The login flow should be completed, and I should have access to DogeHouse
What device are you on?
Windows 10

It does indeed work. Thank you :)

np!


Test Arduino LED On/Off WiFi through instructions

Test the Arduino LED On/Off WiFi example app by following its instructions.

hi please how do we add more buttons to the arduino code??


apophenia loops forever in Zipf.Nth

Run imagine with the following config. Notice that it hangs.
densityscale = 2097152
version = "1.0"
[indexes.inf]
columns = 10000
fields = [
  { name = "ting", type="mutex", max=2, density=0.9, valueRule="zipf", cache = "lru" },
]
[[workloads]]
[[workloads.batches]]
description = "initial"
tasks = [
  { index = "inf", field = "ting" },
]

I tracked this into apophenia/zipf.go (the for loop in the Nth method). Setting zipfV and zipfS (to e.g. 3.0 and 1.1) in the config for the field fixes this, but we should probably:
(a) default them to reasonable values, and
(b) error at some point if they are set to values which would infinitely loop.
or, I guess, potentially there is an actual bug that causes the infinite loop with the default values.

It looks like this is a straightforward bug -- there's invalid inputs (q must be > 1, v >= 1), and NewZipf never actually checked for error conditions. Have a patch.


⚠ Processors has degraded performance

In 6dca574, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 41 ms

Resolved: Processors performance has improved in 54c6348.


Update README.md

Proposed changes

Unreleased project version (optional)

Related issues (optional)

Deploy preview for docsdocker ready!
Built with commit 37258f52097ed90899a13cde917658019c10c7f2
https://deploy-preview-7559--docsdocker.netlify.com


Add WEBP support

See XMP Specification Part 3

At least saving XMP metadata to a WebP file isn't implemented, see https://github.com/Frameright/image/commit/f35cd1f17299c7647f7db814bd34e10564b26881


this.props.history.go(0) not refreshing the page for firefox and safari.

Version
4.1.1
Test Case
https://codesandbox.io/s/n55VljYk7
Steps to reproduce
Add a button to the page and give this.props.history.go(0) to the click hander. It should refresh the page but it did it for only chrome not Firefox and Safari did not test for opera. Also not working for mobile.
NOTE: This is the history object of the router do not focus to the this.history part please.
Expected Behavior
It should refresh the page.
Actual Behavior
Nothing happens for Firefox and Safari, only works for chrome.

This is intentional: https://bugzilla.mozilla.org/show_bug.cgi?id=86487
If you want to reload the page, use window.location.reload().

Hi, i checked this bug also and saw that ticket. What i try to say why you are not doing this in the code. I mean when we call go function in your history you can simply override this as using window.location.reload(). right?


Use rustup instead of custom PS script

Something like this, though I would change it to use %USERPROFILE% instead of C:\Users\appveyor when setting PATH

Yup, I've been waiting for Rustup to stabilize, so now that it has, I've updated the configuration and removed the script!


Please descoment code for draw bar lines

Please, descoment code in class PlotContent_Category_Bar for draw bar lines

Done. There are no comments written to the console when creating category charts.


Increase default QPS and Burst to avoid getting rate limited

The test client used by every running test and we've seen many instances where we get rate-limited for no reason.

/cc @mgencur @maschmid @creydr


🤖 feat: Support New 'o1' Model

Summary
I added support for the new 'o1' model in the OpenAIClient, updated token limits, and expanded unit tests.
Currently, this model is only available to OpenAI billing tier 5.
https://platform.openai.com/docs/models#o1

Updated OpenAIClient.js to detect and handle 'o1' models correctly.
Modified tokens.js to adjust the max token limits for 'o1' series models.
Added comprehensive unit tests in tokens.spec.js to cover 'o1' model variations.

Change Type

[x] New feature (non-breaking change which adds functionality)

Testing
I ran the updated unit tests to ensure that the 'o1' models are correctly supported and that token limits are accurately calculated. All tests pass successfully.
Test Configuration:

Node.js version: [Your Node.js version]
Operating System: [Your operating system]

Checklist

[x] My code adheres to this project's style guidelines
[x] I have performed a self-review of my own code
[x] I have commented in any complex areas of my code
[x] My changes do not introduce new warnings
[x] I have written tests demonstrating that my changes are effective or that my feature works
[x] Local unit tests pass with my changes

Will the new parameter reason_effort be supported?


'octal' is missing a unit test for invalid digits

There is a unit test, that tests if "carrot" is converted to 0, but there is no unit test for inputs containing invalid digits, e.g. '8'. The example implementation does not validate the input, too.

Thanks @siebenschlaefer! The pull request has a mix of different changes in it. Would you mind tweaking this to be two different pull requests? Also, if you could ensure that the name of the problem is mentioned in the commit message that would really help, as well (e.g.: Add missing test case for octal, or octal: Add missing test case).

OK, did that.

Thank you!


Fix runtime delays smoke detec app

change smoke detector model delay to 1 sec from 1 min (only for runtime demonstrations)
add sleep delays to consumer and publisher to allow smoke detector to finish first

@dbalouek Changing delays to allow for the smoke detector to write to fs before the publisher and consumer start their actions.


cp: cannot stat 'node_modules/php-wasm/php-web-drupal.*': No such file or directory

The following error happens in docs-source/ when running npm install:
docs-source$ npm install

><EMAIL_ADDRESS>postinstall
> cp -rfv node_modules/php-wasm/php-web.* app/assets/; cp -rfv node_modules/php-wasm/php-web-drupal.* app/assets/

'node_modules/php-wasm/php-web.data' -> 'app/assets/php-web.data'
'node_modules/php-wasm/php-web.js' -> 'app/assets/php-web.js'
'node_modules/php-wasm/php-web.wasm' -> 'app/assets/php-web.wasm'
cp: cannot stat 'node_modules/php-wasm/php-web-drupal.*': No such file or directory
npm ERR! code 1
npm ERR! path docs-source
npm ERR! command failed
npm ERR! command sh -c cp -rfv node_modules/php-wasm/php-web.* app/assets/; cp -rfv node_modules/php-wasm/php-web-drupal.* app/assets/

npm ERR! A complete log of this run can be found in:
npm ERR!     ~/.npm/_logs/2022-02-26T23_36_11_739Z-debug.log

Maybe it's because php-web-drupal.* files aren't included in the package.
Upgrading to 0.0.4-b didn't help.

Looks like you're trying to install the doc site. Thats a static application that uses PHP-WASM. Try using the same command in the project root.

I deleted my previous comment as I'm a little confused. The docs-source/ directory contains an application that is served through github pages as an example useage of the project.
Are you trying to build that application? Or would you like to build the main project instead?

Are you trying to build that application?

Yes, I've tried to build the application which was on GitHub Pages to reproduce it.
I've noticed your recent changes, and it now npm install dependencies correctly, thanks.


Integer Traits and Feature State Values should be stored at least 64bit

Currently integer traits and Feature State Values in postgres top out at<PHONE_NUMBER>. We need to change the data type that is used to store the value in postgres.
In addition, the front end should bubble up these error messages to the user if the values cannot be stored for whatever reason.

As it stands the API does not return an error that can be parsed by the frontend, assign back to me when it can.
The frontend will also now start treating numbers outside of the safe range as a string.


Remove broken link to CSIStorageCapacity in API reference

Because the OpenAPI spec is extracted from an API Server configured with the default feature gates and the CSIStorageCapacity feature gate is disabled by default, this CSIStorageCapacity resource is not included in the API reference.
The API reference is based on the OpenAPI spec available at (1) generated by the script (2).
(1) https://github.com/kubernetes/kubernetes/tree/master/api/openapi-spec
(2) https://github.com/kubernetes/kubernetes/blob/master/hack/update-openapi-spec.sh
CC @pohly

Page preview:
https://deploy-preview-25593--kubernetes-io-master-staging.netlify.app/docs/concepts/storage/storage-capacity/#api

/lgtm

This is weird ... why CSIStorageCapacity is not included in the spec?

Proposed a fix to k/k: https://github.com/kubernetes/kubernetes/pull/97276

/hold
/approve
It does feel like we should fix the spec!

I also think that the link should be kept and the spec be fixed instead to contain alpha APIs.

Let's remove the link now and add a link when the spec is updated and the API reference (page) is regenerated.
An issue can be logged to track the addition of the link?
Thanks!
/approve

/hold cancel


DAVx⁵ <IP_ADDRESS>-ose debug info

Debug info attached to this message (requires attachment support of the receiving app).

Stop submitting off-topic issues or we have to ban you from this organ.


minimal_boot_disk.craff load fail and cause FS0: not found.

I try tsffs docker and linux mode, but I found minimal_boot_disk.craff not load success and cause target not found.
This is command I try :
$ sudo docker build -t tsffs .
$ sudo docker run -it tsffs
[root@00717b662e40 example]# ./simics -no-gui --no-win fuzz.simics
Intel Simics 6 (build 6275 linux64) © 2024 Intel Corporation
...
<qsp.serconsole.con>UEFI v2.70 (EDK II, 0x00010000)\r\n
<qsp.serconsole.con>Mapping table\r\n
<qsp.serconsole.con>     BLK0: Alias(s):\r\n
<qsp.serconsole.con>          PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x0,0xFFFF,0x0)\r\n
<qsp.serconsole.con>     BLK2: Alias(s):\r\n
<qsp.serconsole.con>          PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x2,0xFFFF,0x0)\r\n
<qsp.serconsole.con>     BLK1: Alias(s):\r\n
<qsp.serconsole.con>          PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x1,0xFFFF,0x0)\r\n
<qsp.serconsole.con>Press ESC in 5 seconds to skip startup.nsh or any other key to continue.Press ESC in 4 seconds to skip startup.nsh or any other key to continue.Press ESC in 3 seconds to skip startup.nsh or any other key to continue.Press ESC in 2 seconds to skip startup.nsh or any other key to continue.\r\n
<qsp.serconsole.con>Shell> FS0:\r\n
<qsp.serconsole.con>'FS0:' is not a valid mapping.\r\n
<qsp.serconsole.con>Shell> SimicsAgent.efi --download /workspace/projects/example/test.efi\r\n
<qsp.serconsole.con>'SimicsAgent.efi' is not recognized as an internal or external command, operable program, or script \r\n
<qsp.serconsole.con>file.\r\n
<qsp.serconsole.con>Shell> test.efi\r\n
<qsp.serconsole.con>'test.efi' is not recognized as an internal or external command, operable program, or script file.\r\n

In BIOS Mapping table, it not found FS0.
I also try linux mode have same problem.
$ cp ~/tsffs/examples/rsrc/minimal_boot_disk.craff .
$ cp ~/tsffs/examples/tutorials/edk2-uefi/project/* ./
$ ./simics ./run.simics

Sorry,
I found this problem is from minimal_boot_disk.craff not git clone all file.

I will close this issue


Model execution is single threaded?

Hello,
I am trying to run the following script:
https://github.com/intel/neural-compressor/tree/master/examples/pytorch/nlp/huggingface_models/language-modeling/quantization/llm
I use the script below:
OMP_NUM_THREADS=32 python run_clm_no_trainer.py     --model facebook/opt-1.3b
 --quantize     --sq     --alpha 0.5     --ipex     --output_dir "saved_results"     --int8_bf16_mixed

However, on htop I see that only a single thread is being used. Even if I set torch.set_num_threads(32). It is extremely slow, making smoothquant unusable in my case.
I have a system with Intel® Xeon® Gold 5218 Processor.
Am I missing something? Thanks!

Hi @akhauriyash , I was not able to reproduce this issue on several machines yet. Could you please share your enviroment where the issue occurs using pip list?


Implement playing Jacks in the GameState API #949

949
Relevant 949(https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)

Resolves #949

Please check the following

[ ] Do the tests still pass? (see Run the Tests)
[ ] Is the code formatted properly? (see Linting (Formatting))
For New Features:

[ ] Have tests been added to cover any new features or fixes?
[ ] Has the documentation been updated accordingly?

Please describe additional details for testing this change

thanks, also I am seing some error handling doesn't use the translation, I am going to implement that. do you think that sentence is correct = 'You can only play that card in main phase ' or would it be more accesible to say = 'you cannot play that card as a one-off or countering hasn't been resolved'

How about 'You can only do that in the main phase' so that it's generic to any move? Then we can reuse it in every relevant validate helper (including draw/pass that don't play cards)


ModSecurity False Positive with respect to logging in ModSec audit + NGX error logs due to NGINX behavior with error_page directive

Decided to pull out my comment to a separate issue since its unrelated to the other issue I raised originally:
I was trying to limit the relevant to 400's and 403's for capturing blocked transactions by ModSecurity:
SecAuditLogRelevantStatus "^(?:4((00)|(03)))"
Yet I see the audit log in RelevantOnly mode still also capturing 504 status messages as well for some reason.
SO this one is an interesting case. I am 100% sure on why 504's were making it into the audit logs even through its regex was set to 400's and 403's because I saw odd behavior in other apps too that hook into NGX with logged values not matching what the client really sent.
Firstly take a gander here(the app we run on nginx + openresty), leveraging the error_page directive:
https://github.com/Kong/kong/blob/master/kong/templates/nginx_kong.lua#L83
Then take a gander here at how Kong or OpenResty can be patched for such situations:
Kong/kong#5073
openresty/openresty#396
So what happens is when NGINX does an internal redirect via error_page, and the CTX of the client HTTP METHOD gets reset to GET always, so the NGINX ModSec audit/error logs are thinking REAL 504 timeout transactions are now a GET with a HTTP body(client sends req body) in the audit log logic(The Method the client actually used in the originating request was a POST), so it saves an blocked error log w 403 in the audit log file section H, for the transaction BUT the real transaction was a 504 and it was presented to the client as a 504, just internal logging and record keeping Modsecurity-nginx is not handling these scenarios where error_page directive gets used by folks leveraging the NGINX web server.
The fix could easily be if yall added a custom mod security http method variable to the tx context in the pre-access phase taking the original r->method to track the Method before the error_page directive internal redirect and read that custom mod sec http method variable after in the audit/error log phase logic after the redirect has occurred as the source of truth rather than the current ngx contexts r->method(which would be reset to always be GET at that time). Will save on the noisy invalid logs.
Ex of current behavior(Upstream times out in reverse proxy call, we hit error_page directive, http method gets reset to GET internally, triggering ModSec to log this tx as a block in error + audit log incorrectly when it was really just a harmless timeout):

2020/02/20 07:47:40 [error] 71#0: *65758 upstream timed out (110: Operation timed out) while connecting to upstream, client: <IP_ADDRESS>, server: kong, request: "POST /api/memleak HTTP/1.1", upstream: "http://<IP_ADDRESS>:9393/ ", host: "gateway.company.com"
2020/02/20 07:47:40 [error] 71#0: *65758 [client <IP_ADDRESS>] ModSecurity: Access denied with code 403 (phase 2). Matched "Operator Ge' with parameter 5' against variable TX:ANOMALY_SCORE' (Value: 5' ) [file "/usr/local/owasp-modsecurity-crs-3.2.0/rules/REQUEST-949-BLOCKING-EVALUATION.conf"] [line "79"] [id "949110"] [rev ""] [msg "Inbound Anomaly Score Exceeded (Total Score: 5)"] [data ""] [severity "2"] [ver ""] [maturity "0"] [accuracy "0"] [tag "application-multi"] [tag "language-multi"] [tag "platform-multi"] [tag "attack-generic"] [hostname "<IP_ADDRESS>"] [uri "/api/memleak"] [unique_id "158218486097.459274"] ...

ModSecurity-nginx: latest master branch

Hmm actually looks like if we took this specific snippit:
https://github.com/SpiderLabs/ModSecurity-nginx/pull/165/files#diff-6fc03fd6024a7ec57f5c46d276d27548R44
Then even executing the log phase logic of modsec would get avoided and save the incorrect logging. Didn't realize we could just take r->error_page . Will give this a test!

^ So following up on that test, seems to add that does indeed prevent the audit log from being written with the incorrect information. But ngx error output still receives the bad log saying we 403'ed but we really didn't since this was a tcp connection timeout on proxy and was sent to client as 504:

2020/02/20 17:20:04 [error] 72#0: *5222 [client <IP_ADDRESS>] ModSecurity: Access denied with code 403 (phase 2). Matched "Operator Ge' with parameter 5' against variable TX:ANOMALY_SCORE' (Value: 5' ) [file "/usr/local/owasp-modsecurity-crs-3.2.0/rules/REQUEST-949-BLOCKING-EVALUATION.conf"] [line "79"] [id "949110"] [rev ""] [msg "Inbound Anomaly Score Exceeded (Total Score: 5)"] [data ""] [severity "2"] [ver ""] [maturity "0"] [accuracy "0"] [tag "application-multi"] [tag "language-multi"] [tag "platform-multi"] [tag "attack-generic"] [hostname "<IP_ADDRESS>"] [uri "/api/memleak"] [unique_id "158221920441.697197"] [ref ""], client: <IP_ADDRESS>, server: kong, request: "POST /api/memleak HTTP/1.1", upstream: "http://<IP_ADDRESS>:9393/ ", host: "gateway.company.com"

Which must actually be storing this message in an earlier phase prior to the error_page directive because the request method: POST is logged correctly in the Mod Sec message. What phase/code is executing printing this ^ message? It HAS to be after the error_page directive has messed things up, so maybe the rewrite or header filter phase? Still digging and testing to confirm!

Well honestly less to change if we just do it here, I see no major drawbacks, ModSecurity should really not intervene on error_page directive paths for internal redirects at all (http://nginx.org/en/docs/http/ngx_http_core_module.html#error_page)  :
ngx_http_modsecurity_process_intervention (Transaction *transaction, ngx_http_request_t *r)
{
    char *log = NULL;
    ModSecurityIntervention intervention;
    intervention.status = 200;
    intervention.url = NULL;
    intervention.log = NULL;
    intervention.disruptive = 0;

    dd("processing intervention");

    /*
     Do not intervene on error_page directive
     because it resets HTTP Method to GET and
     causes incorrect audit/error logging.
    */
    if (r->error_page) {
       dd("ignore error_page redirect tx");
       return 0;
    }

Ugh, and then the above code stops the invalid ngx error logging BUT it also prevents me from getting valid audit logs too. The std out still has the valid error logs as well. Still digging for what can be done to get the best of both worlds here.

Yeah trying to do hacky checks around the r->error_page in various places makes this difficult, I can't seem to satisfy all constraints. I am unsure how early modsec has captured the request headers or uri but the false positives could be totally removed if we do this sudo code in the phase executions:
 /*We know the http method and URI are actually altered in error_page internal redirects so lets
 grab them from from the modsec context of the stored known request during either the pre-access, rewrite phase. Overriding what the current error_page ctx wrongly has set to prior known saved values for this tx. */

if(r->error_page) {
r->method = ctx->modsec_transaction->request->method
r->uri = ctx->modsec_transaction->request->uri
}

Reference: http://nginx.org/en/docs/http/ngx_http_core_module.html#error_page
@victorhora @defanator looking at past PR's you both have been playing with trying to make this Module more friendly with the error_pages situation, maybe you know if the above sudo code is already somehow able to be referenced, if so I will just give it a test if you have any ideas to try and PR it if it works out after testing.

Hi @jeremyjpj0916 ,
Re:

... ModSecurity should really not intervene on error_page directive paths for internal redirects at all ...

One option is to simply turn off ModSecurity for the error page.  E.g.
    error_page   403  /403.html;
    location = /403.html {
        modsecurity off;
        root   /usr/share/nginx/html;
    }

@martinhsv That may work, but lets say that mod security itself is going to block a tx and sets a 400/403 response and error_page is set to handle 400/403's . Will we then also just lose the error/audit logs for blocked transactions all together? I will run a quick test but it is a good idea I hadn't thought of.

@martinhsv Took a nap but got around to testing your idea there. Yep the behavior seen when attempting such a suggestion is the error log does still work, but audit logs on the transaction are missing, which means that audit logging is taking place in the nginx log phase running after the error_page redirection has occurred.

Hi @jeremyjpj0916 ,
Ah, yes, I guess you're probably hitting https://github.com/SpiderLabs/ModSecurity/issues/2237 .
A couple of other options that might be useful as workarounds leave modsecurity on in the error location, but remove the rules causing the false positive (I tried these with the most recent ModSecurity-nginx in github)
    error_page   403  /403.html;
    location = /403.html {
        modsecurity_rules '
        SecRuleRemoveById 920170
';
        root   /usr/share/nginx/html;
    }

In this case you may get the audit log output, as well as a double report in nginx's error.log.  (Note that there are some nuances, for example, this presupposes that the original detection was, in fact, not against 920170.)
A second option could be to disable rules more broadly:
    error_page   403  /403.html;
    location = /403.html {
        modsecurity_rules '
        SecRuleRemoveById 1000-999999
';
        root   /usr/share/nginx/html;
    }

With this option you would only get the single report in error.log.  You would also get some output in audit_log, but it looks like the 'messages' section (i.e. section 'H') is empty.  This might be acceptable if one is ok with having audit_log output as a cue to cross-reference against the content in error.log
I realize neither of these options are ideal, but I thought I'd mention them as possible workarounds, if they happen to be useful for your needs.
As yet another alternative, you could consider attempting strategy similar to one recently posted by https://github.com/theseion here: https://github.com/SpiderLabs/ModSecurity-nginx/issues/152

@martinhsv Yeah had not given that too much thought but I could remove rule by id for example on the rule triggered by seeing GET with HTTP Body in the error log which would remove most of the noisy the false positives because error_log always sets method to GET, but then you also would be losing the valid blocked audit logs for folks who actually used GET but sent a HTTP Body payload too. So its kinda a two way street with no easy workaround that actually prevents losing legitimate logs and stopping the noise. The fix I think still is simply prior to error_page redirect preserving the original request HTTP Method and request URI detected(hopefully mod security can save this in the tx context somehow during the access phase) and then we just in this connector do something like:
if(r->error_page) {
  r->method = ctx->modsec_transaction->request->method
  r->uri = ctx->modsec_transaction->request->uri
}

As mentioned above.

Still relevant.

The "nostale" tag has been set for this one too @jeremyjpj0916. We'll get to it when possible. Thank you.

Hi,
@martinhsv thanks for providing those workarounds as I am running into the same issue.
I think I found one more way that might help.
It is to use a named location for the error page instead of a URL, like so:
error_page 403 @error;
location @error {
   ...
}

Then NGINX won't change the request method to GET and full audit log will appear with correct messages in part H.

If there is no need to change URI and method during internal redirection it is possible to pass error processing into a named location: [...]
(http://nginx.org/en/docs/http/ngx_http_core_module.html#error_page)

@hator So to talk to your specific idea could we use this one for example?
https://github.com/Kong/kong/blob/master/kong/templates/nginx_kong.lua
Where I just replace here:
https://github.com/Kong/kong/blob/master/kong/templates/nginx_kong.lua#L82
and
https://github.com/Kong/kong/blob/master/kong/templates/nginx_kong.lua#L83
with
error_page 400 404 408 411 412 413 414 417 494 @kong_error_handler;
error_page 500 502 503 504 @kong_error_handler;

And then replace:
https://github.com/Kong/kong/blob/master/kong/templates/nginx_kong.lua#L234
With:
location @kong_error_handler {

And that will keep NGINX from resetting the HTTP Methods and such that comes with error_page redirection woes?
If so that is awesome and I am glad we got a fix in mind here. Kong the app I use itself wrote some logic that helped workaround these issues but it still was hitting me with ModSecurity. If so I think no fix needed since its really an nginx behavior issue, but it would be good if we could document this somewhere outside of this issue, just not sure where in ModSecurity it should live.

@jeremyjpj0916 Using a named location for 400 error page has an unfortunate effect that it will not work, when handling an invalid HTTP method. It will display a stock NGINX error page with 500 error. This is due no method being set by the request (because it is invalid) and by the error page -- the same reason why it solves this problem with modsecurity. You can try that yourself by doing curl -Xfoo http://<yourserver>/.
The configuration I use has two locations for error handling:
error_page 400 /error;
error_page 401 402 ... 500 501 ... @error2;

location /error {
   modsecurity off;
   # custom error page
}
location @error2 {
  # custom error page
}

I haven't yet figured out why I have to disable modsecurity in when handling 400, but it would cause the same problem as using a named location, i.e. 500 and stock error page, even when no rules are blocking the request.
Sorry for the offtopic, this discussion should probably move elsewhere :)

Okay, so 400 HTTPStatus is problematic still, but your solution should help for 403's and 504's my Kong instance treats as a timeout going into the error_page redirect causing some audit logging false positives. Appreciate the insight.

Okay starting from the top again I recognize the issue is error_page resetting the Originating HTTP Header being sent by the client from whatever they had set (POST PUT DELETE PATCH OPTIONS) etc. to GET.
So the solution to our problem is how do we store and persist the original client HTTP Header that was sent?
I was chatting with @airween on this problem and he had a smart observation that in the rewrite phase: http://www.nginxguts.com/phases/ , which comes prior to proxying and error_page redirection that we could grab the original method, as its set here:
https://github.com/SpiderLabs/ModSecurity-nginx/blob/master/src/ngx_http_modsecurity_rewrite.c#L145
Now I am willing to bet that when internal redirection via error_page occurs and we hit this a second time is when its setting to GET here. So the question is how in those code we can add something like:
//SAFE to trust this value as its the originating client HTTP REQUEST HEADER
if(!r->error_page){
   const char *n_method = ngx_str_to_char(r->method_name, r->pool);
  //HOW to add a global context value here to store STORED_CTX_HTTP_REQUEST_METHOD_HEADER_VALUE???
}
else {  //IF ERROR_PAGE, then we need to grab the original stored CTX header value.
  const char *n_method = ngx_str_to_char(STORED_CTX_HTTP_REQUEST_METHOD_HEADER_VALUE);
}

cc @victorhora @martinhsv @zimmerle ?
Wish I was more familiar with building ngx modules in C as this seems a simple task yet I don't see how to set and persist something to access it later easily in sample codes I am browsing.

Wallarm CEO Ivan made the comments:
Thanks for sharing! We solved some similar problems while developing Wallarm Nginx module. The short answer is yes, the wrong Nginx phase was used here. The reason is simple - this is a ModSecurity port from Apache, where Nginx phases are irrelevant.

I'll ask our development team if we can help with the patch.

Sooo, I have some ideas on how to fix that. There are at least three ways you may try to use to pass some request data through Nginx call flow: – Ivan Wallarm 3 hours ago

3. Store your data as a request's cleanup handler data. Just create a cleanup handler with ngx_pool_cleanup_add(). You may use the cleanup function callback as a unique key and the data as your data associated with the key. – Ivan Wallarm 3 hours ago

2. If Nginx resets modules records data (which it does in some cases like redirects), you may use a trick with Nginx variables. A module may register some variable with ngx_http_add_variable(), then set & get the value with ngx_http_get_variable() – Ivan Wallarm 3 hours ago

1. Store the data in a mod_security data record attached to the request: ngx_http_modsecurity_ctx_t – Ivan Wallarm 3 hours ago

I think I had an epiphany on this today in my ponderings since is the last step in getting ModSecurity Nginx "productionalized" for us.
Rather than write the above code options. ^ I think we can look at this past PR change around relevant stuff,
https://github.com/SpiderLabs/ModSecurity-nginx/commit/ce1d438bc665c28853eb5b429aad515d42027919
This was good to get log phase still actively doing its thing even during an error_page redirect, I think the mistake with this PR was deciding to allow the request "phases" to re-process data, I think the state prior to this PR merge was good logic, the log phase was all that really needed edited. Testing this theory now, I imagine modsec tx context maintains the request data seen befroe the error_page redirect.

Added my own PR as the solution to my stack overflow too: https://stackoverflow.com/questions/61805876/nginx-module-code-error-page-directive-problems/61950152#61950152

Stahp closing thingsssssss

Given the 'nostale' tag, this item should not have been closed by the bot.

indeed, yalls bot is misbehaving.

@jeremyjpj0916 thanks for digging into this! I was trying to compose a minimal test for nginx connector to demonstrate the issue without having entire CRS ruleset included and enabled, and I'm still having troubles to do that.
I was also checking another issue (https://github.com/SpiderLabs/ModSecurity-nginx/pull/90) and noticed that in current connector code there may be scenarios when audit log entries do not appear (while they definitely should) if error_page redirect was made. That PR includes relevant tests - I'm just trying to get something similar to ensure that #204 will not interfere with #90.
Could you please assist in making a minimal reproducible configuration that demonstrates an issue reported here and addressed in #204? TIA!

@jeremyjpj0916 thanks for digging into this! I was trying to compose a minimal test for nginx connector to demonstrate the issue without having entire CRS ruleset included and enabled, and I'm still having troubles to do that.
I was also checking another issue (https://github.com/SpiderLabs/ModSecurity-nginx/pull/90) and noticed that in current connector code there may be scenarios when audit log entries do not appear (while they definitely should) if error_page redirect was made. That PR includes relevant tests - I'm just trying to get something similar to ensure that #204 will not interfere with #90.
Could you please assist in making a minimal reproducible configuration that demonstrates an issue reported here and addressed in #204? TIA!

@jeremyjpj0916 could you please check that https://github.com/SpiderLabs/ModSecurity-nginx/commit/4f26b48998db5119ca818b0909b6b14e08ebb544 resolves at least some of the issues you've been observing? TIA.

If I get some time I will take a look but no promises as my current gig keeps me busy, been over a year since I was messing with this stuff and have long had workarounds I probably won't be touching again, as this modsecurity tooling in nginx ended up not being performant enough to realistically serve large volumes of traffic so we isolated it to a really small use case we don't spend much time on nowadays.


Improve example documentation

All clear now.
Please also add a colon after "api" and correct identation for python code (2 print statements and await ..)
Thanks

Well spotted!


Return original width after resize

Hi.
For example, for code
{{ image = image(photo).cropResize(120, 120) }}
{{ image.width }}
will be returned original width, but must be 120 or I am not right?
Reason is the using watermark images for photo-previews, so i need return correct new width/height data, but can't.

I have encountered the same problem:
use Gregwar\Image\Image;

$in  = __DIR__.'/image-w800.jpg';
$out = __DIR__.'/image-w120.jpg';

$widths = [];

$image = Image::open($in);
$widths['original'] = $image->width();

$image->cropResize(120);
$widths['after-resize'] = $image->width();

$image->save($out);
$widths['after-save'] = $image->width();

print_r ($widths);
// Array ( [original] => 800 [after-resize] => 800 [after-save] => 120 )

Can confirm this issue in the latest release

This is because width() now is just an helper and doesn't apply the queued operations

This could be fixed by applying the operations when calling width(), however this would violate the interest of the cache system in this case
Can you describe me your use case so I can think a solution for this?

Ok, with a meta-data api call I want to get the dimensions of the generated images by cacheId.
I tried to apply images( resource $image) , imagesy( resource $image)  but failed to retrieve  resource $image after creating the image with $img->png(). Any advice?

When you use cache, if there is already the file in cache absolutely no files are opened currently
I think in the current release width() will work the first time because the image is generated but will still be the original width the second time
I can fix that, however note that calling width() will then cost extra performances since this will open the cached file

Should be optional.
Scenario: generating and outputting responsive images with 2x resolution, so the html() method should generate something like this:

I did a changed so that calling width() and height() after generating cache should work now

Example:
$img = Image::open('test.jpg')->cropResize(50, 50);
$img->width(); // Width post resize
$img->png();
$img->width(); // Width post resize

thanks a lot, works perfectly!

Is this a viable solution? Why issue is still open? Some drawbacks?


Browse the Gallery command windows always disappear when clicked somewhere else

I tried to get "Browse the Gallery command line/Windows " on by pressing F1 / CTRL P, when I tried to
navigate to web browser and follow the instruction from website
https://code.visualstudio.com/docs/editor/extension-gallery?pub=ms-vscode&ext=jscs
The command line/ windows disappear, it is quite annoying
Any suggestion how to solve this issue?

Unless I'm misunderstanding something, this is just how the gallery is. It's a widget that you filter on. If you click somewhere else, it hides.


Dependency "ent" uses deprecated Node punycode module

This library use abandoned package "ent" that use deprecated Node punycode module.
Temporary solution: https://www.npmjs.com/package/ent-replace

@andreinwald You're probably better off using https://github.com/microformats/microformats-parser

@andreinwald Considering that the last update to this module was 7 years ago I doubt it will happen. I myself don't have commit access or publishing rights. You can always fork and publish yourself.
Good thing about https://github.com/microformats/microformats-parser is that its maintained by the community and doesn't rely on any one single maintainer.

@andreinwald Thanks for taking the time to point this out. I have now fully updated all the modules in microformat-node including replacing ent with ent-replace.
Your request just came in as I am starting to use the module again, hence me picking it up : )
I have not yet run the library against the microformats test suite, there have been about 40 small updates to it since I last went through the process, so the for the now microformats-parser is more update with the spec. I will sort that out soon.
@voxpelli I did offer transfer this repo over the community many years ago to Tantek, but the conversation got lost in time which is a shame.  I am will bring this back inline for those still using it, mainly me.

@glennjones I'm still using this library for my webmention endpoint as well 🙂


models should be able to have variables that are not in constraints

see also https://github.com/hoburg/gpkit-models/pull/17

duplicate of #784 ?

Yup


const keyword ignored when falsey

Given this JSON Schema:
{
  type: "object",
  properties: {
    s: {
      type: "string",
      const: ""
    }
  }
}

This result is expected (z.literal("")):
import { z } from "zod";

export default z.object({ s: z.literal("").optional() });

However the actual result is (z.string()):
import { z } from "zod";

export default z.object({ s: z.string().optional() });

It seems json-schema-to-zod outputs the incorrect result because the string literal "" is falsey. It seems this is a problem for all falsey values.

@Leftium I'm unable to reproduce this. Could you check out the cases added in #31 ?

@Leftium Tested the wrong issue 😅 A fix is out in 0.6.1


modified readme file for Things both Tawana and I know - We know how …

…to make SSH key in the macbook, add it to the Github and Git fetch[2]

Duplicate of things Rajiv know and so merging both into one and incremented readme with [2]


Error while converting obj to sfb

ERROR: Jsonnet Error: [1]: RUNTIME ERROR: Parameter 'roughness' doesn't have any applicable options
third_party/arcore/ar/rendercore/converter/data/mat_helpers.jsonnet:(162:5)-(177:24)	function
third_party/arcore/ar/rendercore/converter/data/mat_helpers.jsonnet:199:23-73	object <param_opt_from_name>
third_party/arcore/ar/rendercore/converter/data/mat_helpers.jsonnet:203:23-53	object <param_init_from_name>
third_party/arcore/ar/rendercore/converter/data/mat_helpers.jsonnet:230:26-51	object
std.jsonnet:158:56-67	thunk <array_element>
third_party/arcore/ar/rendercore/converter/data/import_meta_material.jsonnet:(11:19)-(12:44)	object
During manifestation
Command Line: /AR-Testing/app/build/sceneform_sdk/mac/converter --no_sfb --mat build/sceneform_sdk/default_materials/obj_material.sfm -a --matc AR-Testing/app/build/sceneform_sdk/mac/matc --outdir AR-Testing/app/build/.sfa771261066923969224 sampledata/BANH VONG MIN.obj
:app:createAsset-src_47main_47assets_47BANH_32VONG_32MIN FAILED

We have confirmed this issue and have a fix for it internally.

Just tried to convert a model with plugin and sceneform version 1.3. Still showing the same exception.

@michaelvogt can you send me the obj that has this issue.

Tracking this down.  It looks like the fix didn't make the 1.3 release train, but is still in our codebase.

This was fixed in our 1.4 release of the Sceneform Gradle plugin.  Please update com.google.ar.sceneform:plugin to 1.4.0 in your project build.gradle file and these assets should import correctly.


Setup and add classes

-Setup rubycop
-Add classes preson, student, teacher

Hi @SergSkol,
While you made a great effort in this project, I cannot proceed to review your code.
Invalid Code Review Request
You have submitted a project that does not have descriptive readme documentation. Kindly update your readme file using the template.
Your Code Review Request will be marked as invalid in your Dashboard, so please submit a new one once you are ready 🙏
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

Invalid Code Review Request does not count into the code reviews limit.


Integrate with a good UI tool (Gradio)

Mostly done:
https://github.com/deephdc/deepaas_ui

I think that we can include this, as an optional requirement, so that we can directly launch the API and the UI, does that make sense to you?

Sounds good to me. Maybe routes have to be redefined as we are currently using /ui for the Swagger interface, which might be misleading.

What about serving it on a different port? I.e. we can have the API endpoint at :5000 and the UI at port :80


Initialize the website

[x] Use minimal mistake Jekyll template
[ ] Initialize the pages
[ ] Setup the email addresses

Refrences:

A tutorial on kramdown: https://www.fabriziomusacchio.com/blog/2021-08-11-Minimal_Mistakes_Cheat_Sheet/#text-alignment-and-styling
Minimal mistakes: https://mmistakes.github.io/minimal-mistakes/docs/helpers/

The color to do undraw: #408FCA


Visual studio code deleted itself

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: Newest for 15/03/23
OS Version: Windows 11 pro 22H2

Steps to Reproduce:

Turned off computer
Turned on
VS code was already not working however for copule seconds it was visible in windows search

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.76.2. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

/duplicate #52855


XDebug not working in PHPstorm on Windows

This probably isn't a real issue but I don't get XDebug to work on my machine. Can anyone point at a good tutorial or give some pointers?

I'm trying to making it work since 3 days,
If you set the port binding, you'll be unable to listen it with phpstorm, so unfortunately the solution of @Selion05 doesn't work.
I have set a bunch of options into xdebug, and i'm now inserting a xdebug.ini in the container.
Here is a sample of the file :
zend_extension=xdebug.so
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_port=9001
xdebug.remote_autostart=1
xdebug.remote_connect_back=0
xdebug.idekey=PHPSTORM
xdebug.remote_host=<IP_ADDRESS>
xdebug.remote_log = "/var/www/symfony/var/logs/xdebug.log"

In these file you'll find two interesting lines :

The remote_host (you can find the ip host by doing a simple ipconfig in cmd)
The remote log.

after tailing the log, i've finally found out that the problem was coming from the connection was this one :
I: Connecting to configured address/port: <IP_ADDRESS>:9001.
E: Time-out connecting to client. :-(

Here is my docker-compose.yml :
    php:
        build:
            context: php7-fpm
            args:
                TIMEZONE: ${TIMEZONE}
        volumes:
            - ${SYMFONY_APP_PATH}:/var/www/symfony
            - ./logs/symfony:/var/www/symfony/var/logs
            - ${SYMFONY_APP_PATH}:/var/www/symfony/var/logs
        environment:
            XDEBUG_CONFIG: "remote_host=<IP_ADDRESS>"
        expose:
            - "9000"
            - "9001"
        extra_hosts:
            - "dockerhost:<IP_ADDRESS>"

So, the problem seems to come from the php container who is unable to connect to the host machine... But can't make it work :/

I got it working now on Windows. Xdebug in the PHP-FPM container was unable to send traffic back to the host. In other words, the IP that xdebug.remote_connect_back was using wasn't working. The solution was to configure the IP-address of the host manually with the xdebug.remote_host entry. You can use the DNS entry that is installed in the container by Docker 'docker.for.win.localhost' for Windows or 'docker.for.mac.localhost' if you're on OSX.
Here is my Dockerfile, note that I added phpcs to it at the end:
`
See https://github.com/docker-library/php/blob/master/7.1/fpm/Dockerfile
FROM php:7.1-fpm
ARG TIMEZONE
MAINTAINER Maxence POUTORD<EMAIL_ADDRESS>RUN apt-get update && apt-get install -y
openssl
git
unzip
Install Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN composer --version
Set timezone
RUN ln -snf /usr/share/zoneinfo/${TIMEZONE} /etc/localtime && echo ${TIMEZONE} > /etc/timezone
RUN printf '[PHP]\ndate.timezone = "%s"\n', ${TIMEZONE} > /usr/local/etc/php/conf.d/tzone.ini
RUN "date"
Type docker-php-ext-install to see available extensions
RUN docker-php-ext-install pdo pdo_mysql
install xdebug
RUN pecl install xdebug
RUN docker-php-ext-enable xdebug
RUN echo "error_reporting = E_ALL" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo "display_startup_errors = On" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo "display_errors = On" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo "xdebug.idekey="PHPSTORM"" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo "xdebug.remote_port=9000" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo "xdebug.remote_enable=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo "xdebug.remote_autostart=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo "xdebug.remote_host=docker.for.win.localhost" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo 'alias sf="php app/console"' >> ~/.bashrc
RUN echo 'alias sf3="php bin/console"' >> ~/.bashrc
install phpcs
RUN curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar
RUN mv phpcs.phar /usr/local/bin/phpcs
RUN chmod +x /usr/local/bin/phpcs
WORKDIR /var/www/free-energy/symfony
`
I do see warnings that I haven't been able to solve yet though: 'cannot load Xdebug because it was already loaded'.

Thank you @progonkpa I'll test that later today :)

Okay, so after testing it, it is possible to integrate the xdebug way with the PR #81
The fact that there is a fast_cgi config make it possible
here is my config :
# See https://github.com/docker-library/php/blob/master/7.1/fpm/Dockerfile
FROM php:7.1-fpm
ARG TIMEZONE

MAINTAINER Maxence POUTORD<EMAIL_ADDRESS>
RUN apt-get update && apt-get install -y \
    openssl \
    git \
    unzip \
    libpng-dev \
    g++ \
    libicu-dev \
    libxslt-dev

# Install Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN composer --version

# Set timezone
RUN ln -snf /usr/share/zoneinfo/${TIMEZONE} /etc/localtime && echo ${TIMEZONE} > /etc/timezone
RUN printf '[PHP]\ndate.timezone = "%s"\n', ${TIMEZONE} > /usr/local/etc/php/conf.d/tzone.ini
RUN "date"

# Type docker-php-ext-install to see available extensions
RUN docker-php-ext-install pdo pdo_mysql gd exif opcache && docker-php-ext-enable opcache

# install xdebug
RUN pecl install xdebug
RUN docker-php-ext-enable xdebug
RUN echo 'memory_limit = 1024M' >> /usr/local/etc/php/conf.d/memory-limit-php.ini
RUN docker-php-ext-configure intl
RUN docker-php-ext-install intl
RUN docker-php-ext-configure xsl
RUN docker-php-ext-install xsl

#RUN sed -i 's/memory_limit = .*/memory_limit = '1024M'/' /etc/php/cli/php.ini
COPY xdebug.ini /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN echo "\rxdebug.remote_host=docker.for.win.localhost" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini

RUN echo 'alias sf="php bin/console"' >> ~/.bashrc

WORKDIR /var/www/symfony

my xdebug.ini
zend_extension=xdebug.so
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_port=9001
xdebug.remote_autostart=1
xdebug.remote_connect_back=0
xdebug.idekey=PHPSTORM
xdebug.remote_log = "/var/www/symfony/var/logs/xdebug.log"

My container :
    php:
        build:
            context: php7-fpm
            args:
                TIMEZONE: ${TIMEZONE}
        volumes:
            - ${SYMFONY_APP_PATH}:/var/www/symfony
            - ./logs/symfony:/var/www/symfony/var/logs
            - ${SYMFONY_APP_PATH}:/var/www/symfony/var/logs
        expose:
            - "9000"
            - "9001"

My config in phpstorm :


Issue 290: convert travis-ci to github-actions

Resolves #290
Resolves #293

Coverage decreased (-0.03%) to 47.477% when pulling 18e237a5b67a6d57bef504c5ac6b8addee64f5f5 on sprint-action-290-yaml into 7b0aeadfc8d92d27b485ebf3e42327ef596043ea on sprint-action-staging.

Coverage decreased (-0.03%) to 47.477% when pulling 18e237a5b67a6d57bef504c5ac6b8addee64f5f5 on sprint-action-290-yaml into 7b0aeadfc8d92d27b485ebf3e42327ef596043ea on sprint-action-staging.


How often should diagnostic entities update?

I am noticing that none of my diagnostic-based entities, such as Cooling Rate, Blower Power, various CFM numbers, update anymore. Regular entities, such as temperature and humidity do update, however. Admittedly, I do not have my thermostat blocked from the Internet because I like to use the Lennox app. Is lack of diagnostic entity updates a symptom of letting my thermostat have internet access?
Here is a screenshot of diagnostic entities not updating:

FYI if I simply toggle the Diagnostic Level setting from 2 to 0 and back to 2, they will update (in the above screenshot, I had toggled 21 hours ago):

Here is another screenshot showing some entities updating, others not:

Any ideas on how I can troubleshoot?

Hi. It may be similar, although in my case the diagnostic entities are available, just not with any recent values. Toggling Diagnostic Level causes a one-time update, but then they don't update any further.
At the recommendation of my Lennox dealer, I did enable continuous air circulation in an attempt to better regulate humidity throughout our house, which has three zones (Main, which is our first floor minus master bedroom suite, Master, and Upstairs). Do you think this has triggered the internal Lennox bug you mention in #201? I can try to disable continuous air circulation from my thermostat panel and see if the integration starts getting diagnostics updates again.

Could be.  So in your case they are disabled permanently, meaning toggling diag level does just does a one time poll?   You may want to reboot the s30 see if that resolves.  Also from HA settings  integrations/lennoxs30 download the diagnostic file and post - this will have software versions in it.

With internet access enabled all the diagnostic information also streams out to Lennox.  They may not like that and/or the controller gets overwhelmed.  In the past the controller used to crash but perhaps they have fixed those.

I created this automation to toggle the diagnostic level from 2 to 1 and back, every 15 minutes, and that seems to be keeping everything updated continuously, without causing any of the sensors to switch to "Unavailable" like 2->0->2 does
alias: Fix Lennox S40
description: ""
trigger:
  ...snip...
    target:
      entity_id: number.lennox_diagnostic_level
mode: single

I have implemented your suggested automation and my metrics are updating more consistently now, thank you! I will continue to observer the behavior.

Additionally, the crashing/rebooting issues mentioned throughout the documentation do not seem to be affecting my S40.
It has full internet access, and all of the alerts and dealer sharing features are enabled.

I too run my S40 with internet enabled and it seems to stay reliably connected to both Lennox cloud and HA.

It was disconnecting from the wifi a few times a day at first (without fully resetting and losing hvac controls), but that issue was reduced significantly with the automation above, and further reduced with some tweaks to my wifi configuration (renaming 2.4GHz and 5GHz to separate SSIDs and connecting the S40 to 5GHz)

I haven't noticed any WiFi disconnects with my S40 on with my 2.4/gGhz single-SSID Unifi access points. In your case, how did you notice these WiFi disconnects?

I've seen this happen with my S40, especially with the inverter energy sensor. I noticed after a reload it would update every few seconds and display a min, mean, and max, but then after an hour or two it would get frozen.
I created this automation to toggle the diagnostic level from 2 to 1 and back, every 15 minutes, and that seems to be keeping everything updated continuously, without causing any of the sensors to switch to "Unavailable" like 2->0->2 does

Thanks for sharing your automation. It is working for me after updating the entity name for my system. I will keep observing, but my S40 diagnostic and parameter-based entities seem to be updated regularly now.

Additionally, the crashing/rebooting issues mentioned throughout the documentation do not seem to be affecting my S40.

I agree with you that the S40 seems to not suffer as much as S30 when it has internet access enabled simultaneously with the HA integration.

It was disconnecting from the wifi a few times a day at first (without fully resetting and losing hvac controls), but that issue was reduced significantly with the automation above, and further reduced with some tweaks to my wifi configuration (renaming 2.4GHz and 5GHz to separate SSIDs and connecting the S40 to 5GHz)

What symptoms did you notice with your S40 with a combo SSID? Mine stays connected 100% as far as I can tell with my Unifi APs.

If you look at the Lennoxs30.state object it has a count of reconnects.
The availability of the sensors is managed by the integration. This is why going from 2 to 1 doesn't make it unavailable.
https://github.com/PeteRager/lennoxs30/blob/dcf1b6f77934ccc1241c1a32de999f2d677bc4aa/custom_components/lennoxs30/sensor.py#L245
it sounds like Lennox may be turning off diags after a certain amount of time. What version of firmware are you on?

I’m running S40 firmware 4.25.0070, dated Sep 10, 2023.
I added the automation suggested above and my entities seem to stay updated
now.
On Tue, Dec 5, 2023 at 11:06 PeteRager @.***> wrote:

If you look at the Lennoxs30.state object it has a count of reconnects.
The availability of the sensors is managed by the integration. This is why
going from 2 to 1 doesn't make it unavailable.
https://github.com/PeteRager/lennoxs30/blob/dcf1b6f77934ccc1241c1a32de999f2d677bc4aa/custom_components/lennoxs30/sensor.py#L245
it sounds like Lennox may be turning off diags after a certain amount of
time. What version of firmware are you on?
—
Reply to this email directly, view it on GitHub
https://github.com/PeteRager/lennoxs30/issues/283#issuecomment-1841236835,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AILLRKEIBBLUCBUVKLXSZDDYH5HSVAVCNFSM6AAAAABABDF5GGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNBRGIZTMOBTGU
.
You are receiving this because you authored the thread.Message ID:
@.***>

That is good information, I will update the diagnostics docs with this information and the sample automation.
The evidence so far points to this being related to having the thermostats be internet connected, as you both are running in that mode and we do not have a report of this problem occurring with the thermostats not internet connected.
What could be helpful is to turn on message logging, disable the automation and run until the diags stop updating.  That would allow us to see if there is a message / status update that can be used to detect the situation.  It may also give us some insight into where the message is originating from.

Ok, good idea. I've enabled logging and disabled the automation and will let it run for a while.

Ok. I disabled the automation and now my diag based entities are 4 hours stale. I bounced the Diag mode from 2 to 1 to 2 by hand and they didn't update and then I bounced it from 2 to 0 to 2 and they did update. This should all be captured in the message log. How should I give you the log file?

You can email it to Pete dot Sage at iCloud dot com

Sent!
On Mon, Dec 11, 2023 at 3:53 PM PeteRager @.***> wrote:

You can email it to Pete dot Sage at iCloud dot com
—
Reply to this email directly, view it on GitHub
https://github.com/PeteRager/lennoxs30/issues/283#issuecomment-1850949033,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AILLRKDE6YV2WVD6RJD2RWLYI56EZAVCNFSM6AAAAABABDF5GGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNJQHE2DSMBTGM
.
You are receiving this because you authored the thread.Message ID:
@.***>

I analyzed the logs and don't see any notification in there that says diagnostics got turned off.
But there is an issue with the diagnostic level number entity as it only gets refreshed when the integration is loaded/reloaded or when a command is issued to set it.  So it is possible it is changing value and the integration may need to poll it.
if we want to test this,  disable the automation, wait for it to stop updating, reload the integration and see what the diagnostic level is.  If it's not 2 that means it is being changed and we need to poll it, if it is is 2 then Lennox is not updating this value when it disables diagnostics.

https://github.com/PeteRager/lennoxs30/releases/tag/2024.1.0


Japanese language support

I know you've said in other threads you don't have time to work on updates right now, but at some time in the future, an option for Japanese item/villager names would be very much appreciated!

In order to add the japanese items I'd need the Script/Str/STR_Item_name.umsbt file from the japanese game data files.

This should be the file, correct?

Sorry, I just realized the cart doesn't have Welcome amiibo items or any other updates, so here is the correct file from the updates. Let me know if you need any others.

added to 0bfa6fd62c339be70ec28e3110de65069313ef88


Day number does not reset.  Ever?

  I will boil down to game_day but static variables seem to be a source of "no-reset" bugs.

Ah, I removed one set of updates for the statics because they seemed to be redundant - perhaps the second ones I was looking at weren't for statics at all.


Fix first interaction workflow

Bug Report
Describe the Bug
The first interaction workflow recently causes errors. The bug seems to be known and documented in this issue.
Expected Behavior
Not fail.
Observed Behavior
Fails, see here for an example.
Possible Implementation
Deactivate action and wait for a new release. If this cannot be expected in the long term, we could replace the action by another one.

Current status:

It seems that the fix was released yesterday: https://github.com/actions/first-interaction/issues/101#issuecomment-1270291422

@ndr-brt Let's wait for Dependabot on monday, it should detect the update.


Update DG

This issue has been split into #104, #105, #112, #113 and #117.
As such, I will be closing this issue to avoid confusion.


Illegal callback invocation from native module

Hello,
After upgrading from 0.37 to 0.42, we're seeing this crash happen on android (I don't know about iOS as we haven't released it yet):
Fatal Exception: java.lang.RuntimeException: Illegal callback invocation from native module. This callback type only permits a single invocation from native code.
       at com.facebook.react.bridge.CallbackImpl.invoke(CallbackImpl.java:32)
       at com.sbugert.rnadmob.RNAdMobInterstitialAdModule$1$1.onAdFailedToLoad(RNAdMobInterstitialAdModule.java:63)
       at com.google.android.gms.internal.zzdz.onAdFailedToLoad(Unknown Source)
       at com.google.android.gms.internal.zzep$zza.onTransact(Unknown Source)
       at android.os.Binder.transact(Binder.java:387)
       at com.google.android.gms.ads.internal.client.z.a(:com.google.android.gms.DynamiteModulesA:124)
       at com.google.android.gms.ads.internal.a.a(:com.google.android.gms.DynamiteModulesA:872)
       at com.google.android.gms.ads.internal.a.b(:com.google.android.gms.DynamiteModulesA:424)
       at com.google.android.gms.ads.internal.c.b(:com.google.android.gms.DynamiteModulesA:164)
       at com.google.android.gms.ads.internal.m.run(:com.google.android.gms.DynamiteModulesA:150)
       at android.os.Handler.handleCallback(Handler.java:739)
       at android.os.Handler.dispatchMessage(Handler.java:95)
       at android.os.Looper.loop(Looper.java:158)
       at android.app.ActivityThread.main(ActivityThread.java:7229)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

On a side note: Why have a callback for the requestAd if all the lifecycle events are fired to JS when they happen?

Seeing the same issue here too on Android.

+1

Was there any solution / update for this?

I'm also seeing this crash. It's a common thing with RN on Android, when a callback is invoked more than once. The callback needs to be replaced with an event that can be fired multiple times. My app is crashing quite frequently, so I'll try to work on a PR for this.

Is this still an actual problem? If so, let me know and I will reopen.

Yes, I am getting these crashes... I am using:
"react-native": "^0.47.0",
"react-native-admob": "^1.3.2",

I believe this is no longer an issue with the v2 version. You'll find installation instructions in the README

+1,

"react-native": "0.49.3"
"react-native-admob": "^2.0.0-beta.3"

@KamranKhankhail please open a new issue, preferably with how you're implementing it


Search more than one data field

If the box could search more than 1 field that would be phenomenal. Otherwise, I have to have multiple visuals to search multiple fields. I'd like to be able to search multiple fields (even if it is limited to only like 3 or 4 fields) for certain words within the data.

You can add a calculated column, concatenating the columns you want to search in - and then link that to the widget.


SAML login window is delayed and not closing

I have below code setting
            const ccpConfig = {
                ccpUrl: "https://XXXXXXXXXX.my.connect.aws/ccp-v2/", // REQUIRED
				// from Azure SSO Basic SAML Configuration Relay State
                loginUrl: "https://myapps.microsoft.com/signin/c90cc4b0-40f3-4d1e-8bfd-0db749aXXXXXX?tenantId=XXXXXXX-a629-4769-908d-ff92d7d3323d&RelayState=https://ap-southeast-2.console.aws.amazon.com/connect/federate/XXXXXX-30db-4431-8c5a-f628fceXXXX?destination=%2Fconnect%2Fccp-v2",
                loginPopup: true, // optional, defaults to `true`
                loginPopupAutoClose: true, // optional, defaults to `false`
                loginOptions: {
                    // optional, if provided opens login in new window
                    autoClose: true, // optional, defaults to `false`
                    height: 600, // optional, defaults to 578
                    width: 400, // optional, defaults to 433
                    top: 0, // optional, defaults to 0
                    left: 0, // optional, defaults to 0
                },
                region: "ap-southeast-2", // REQUIRED for `CHAT`, optional otherwise
                softphone: {
                    // optional, defaults below apply if not provided
                    allowFramedSoftphone: true, // optional, defaults to false
                    disableRingtone: false, // optional, defaults to false
                    ringtoneUrl: "./ringtone.mp3", // optional, defaults to CCP’s default ringtone if a falsy value is set
                },
                pageOptions: {
                    //optional
                    enableAudioDeviceSettings: true, //optional, defaults to 'false'
                    enablePhoneTypeSettings: true, //optional, defaults to 'true'
                },
                shouldAddNamespaceToLogs: false, //optional, defaults to 'false'
                ccpAckTimeout: 5000, //optional, defaults to 3000 (ms)
                ccpSynTimeout: 3000, //optional, defaults to 1000 (ms)
                ccpLoadTimeout: 10000, //optional, defaults to 5000 (ms)
            };
`            const ccpConfig = {
                ccpUrl: "https://lifeblood-ictservicedesk.my.connect.aws/ccp-v2/", // REQUIRED
				// from Azure SSO Basic SAML Configuration Relay State
                loginUrl: "https://myapps.microsoft.com/signin/c90cc4b0-40f3-4d1e-8bfd-0db749a9f1dd?tenantId=957b3627-a629-4769-908d-ff92d7d3323d&RelayState=https://ap-southeast-2.console.aws.amazon.com/connect/federate/f00fef56-30db-4431-8c5a-f628fce563d0?destination=%2Fconnect%2Fccp-v2",
				//loginUrl: "https://myapps.microsoft.com/signin/c90cc4b0-40f3-4d1e-8bfd-0db749a9f1dd?tenantId=957b3627-a629-4769-908d-ff92d7d3323d",
                loginPopup: true, // optional, defaults to `true`
                loginPopupAutoClose: true, // optional, defaults to `false`
                loginOptions: {
                    // optional, if provided opens login in new window
                    autoClose: true, // optional, defaults to `false`
                    height: 600, // optional, defaults to 578
                    width: 400, // optional, defaults to 433
                    top: 0, // optional, defaults to 0
                    left: 0, // optional, defaults to 0
                },
                region: "ap-southeast-2", // REQUIRED for `CHAT`, optional otherwise
                softphone: {
                    // optional, defaults below apply if not provided
                    allowFramedSoftphone: true, // optional, defaults to false
                    disableRingtone: false, // optional, defaults to false
                    ringtoneUrl: "./ringtone.mp3", // optional, defaults to CCP’s default ringtone if a falsy value is set
                },
                pageOptions: {
                    //optional
                    enableAudioDeviceSettings: true, //optional, defaults to 'false'
                    enablePhoneTypeSettings: true, //optional, defaults to 'true'
                },
                shouldAddNamespaceToLogs: false, //optional, defaults to 'false'
                ccpAckTimeout: 5000, //optional, defaults to 3000 (ms)
                ccpSynTimeout: 3000, //optional, defaults to 1000 (ms)
                ccpLoadTimeout: 10000, //optional, defaults to 5000 (ms)
            };

First, it shows the iframe refused (i have add the domain to Amazon Connect)

the log shows
Refused to display 'https://XXXXXXXXX.my.connect.aws/' in a frame because it set 'X-Frame-Options' to 'sameorigin'.
Second, it takes about 8 seconds for the login screen pop up.

Third, the Login window is not closed.

i think this because, the custom ccp try to open a url (Microsoft) with different domain, it does not have the window reference and cannot close the window..

First, it shows the iframe refused (i have add the domain to Amazon Connect)

Looks like you got an answer to this one. yes you need enable your custom domain to load the CCP. - follow the guide here - https://docs.aws.amazon.com/connect/latest/adminguide/app-integration.html

Second, it takes about 8 seconds for the login screen pop up.

It could be because of the SSO flow taking longer time to complete. please verify the same by accessing login URL on a new tab and see how long that process takes.

Third, the Login window is not closed.

By the looks of the screenshot, it seems like an outcome of of the first issue. try this again after fixing the first issue by allow listing your app domain within Amazon connect.

. try this again after fixing the first issue by allow listi

HI jagadeeshaby,
Thank you for reply,
I have already added the add my custom domain in CCP, it still refused to display (before agent actual login, it works fine after agent login, it may need display a temporary page rather than a broken icon),
Refused to display 'https://XXXXXXX.my.connect.aws/' in a frame because it set 'X-Frame-Options' to 'sameorigin'.
To resolve the close of popup issue, i created a login.html, the loginUrl points to http://customdomain/login.html,  so it popup in the same domain, it can hold a window ref,    so later connect.core.loginWindow.close();
then in the login.html page, i quickly redirect to  "https://myapps.microsoft.com/signin/c90cc4b0-40f3-4d1e-8bfd-0db749aXXXXXX?tenantId=XXXXXXX-a629-4769-908d-ff92d7d3323d&RelayState=https://ap-southeast-2.console.aws.amazon.com/connect/federate/XXXXXX-30db-4431-8c5a-f628fceXXXX?destination=%2Fconnect%2Fccp-v2".
Now, login pop is working and automatically close (4 seconds after login).  it just a little bit slow.
Notes, when we use
var winRef = window.open("https:// xxx")
winRef will null if open a different domain,
winRef will not be null if open the same domain.

before agent actual login, it works fine after agent login, it may need display a temporary page rather than a broken icon

make sense, alternatively you could probably start by hiding the ccp container with some default message to say loading.. and you can listen to connect.core.onInitialized(function() { /* ... */ }); and show the container for better customer experience?

looks like we have a resolution here so moving the issue to be closed. feel free to reach out to us if you are still facing issues.


add unit test for PCI config space accesses

We were previously not testing PCI config space accesses properly.
Add a test that guarantees to span the header, some capabilities,
and some unused space.
Signed-off-by: John Levon<EMAIL_ADDRESS>

Fixes #356


how do you extract values from the code?

like if i had a fe file with the code:
(= input "hello there")
and i wanted to access the value of the input variable in c, how would i do that?

I would try fe_tostring(ctx,  fe_symbol(ctx, "myvariable"))
You might have to use fe_eval in between: fe_tostring(ctx, fe_eval(ctx, fe_symbol(ctx, "myvariable")))
There's an example of using fe_eval under "Calling a Function" here: https://github.com/rxi/fe/blob/master/doc/capi.md#calling-a-function

thanks for the reply! i'll try that out

fe_Object *obj = fe_eval(ctx, fe_symbol(ctx, "input"));

Don't forget to take care of restoring the GC stack if you're not doing it inside a fe function.
To avoid creating the 'input' symbol every time (via fe_symbol), you can create it beforehand. This will be much faster.


Create New Resources dialog text is laid out oddly

Describe the bug
Description text (screenshot) is poorly formatted.
Version

Browser

[x] Electron distribution
[ ] Chrome
[ ] Safari
[ ] Firefox
[ ] Edge

OS

[x] macOS
[ ] Windows
[ ] Ubuntu

To Reproduce
Steps to reproduce the behavior:

Create a publishing profile

Expected behavior

Screenshots

Additional context

This is a dup of #6780


Error connecting to the service protocol on configuring firebase

I get the error  in terminal as:
Configuring the default Firebase app...
*** First throw call stack:
(
	0   CoreFoundation                      0x000000010c2521bb __exceptionPreprocess + 331
	1   libobjc.A.dylib                     0x000000010b7f0735 objc_exception_throw + 48
	2   CoreFoundation                      0x000000010c252015 +[NSException raise:format:] + 197
	3   Runner                              0x000000010751b86a +[FIRApp configure] + 138
	4   Runner                              0x0000000107988e19 -[FLTCloudFirestorePlugin init] + 217
	5   Runner                              0x0000000107988c1c +[FLTCloudFirestorePlugin registerWithRegistrar:] + 300
	6   Runner                              0x0000000107516f9b +[GeneratedPluginRegistrant registerWithRegistry:] + 123
	7   Runner                        <…>
Error connecting to the service protocol: HttpException: , uri = http://<IP_ADDRESS>:52825/4HIVHFrzR-8=/ws

@vimanshu
The issue at https://github.com/flutter/flutter/issues/40509 has been closed and moved here. Future collaboration on this issue will be done here.

Hi @vimanshu
could you please provide your flutter doctor -v
and your flutter run --verbose.
Also, to better address the issue, would be helpful
if you could post a self contained app on github
or the steps to reproduce it.
Thank you

Without additional information, we are unfortunately not sure how to resolve this issue. We are therefore reluctantly going to close this bug for now. Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact descriptions what happens, logs and the output of 'flutter doctor -v'  please.
All system setups can be slightly different so its always better to open new issues and reference related issues.


report more texture size and handle case when there is no 3D texture support

3D texture support is not optional in OpenGL but some low-end OpenGL ES devices may lack hardware support for it and Linux systems may still implement OpenGL for them.
Mesa is likely to provide such incomplete OpenGL drivers in a “better than nothing” way, this to unlock out-of-the-box OpenGL compatibility with mainstream OpenGL software that don't use any 3D textures. This includes window managers, media players, visualisation software and some production software not using 3D textures, etc. For example I guess NetRadiant would work out of the box on such incomplete OpenGL driver.
This can happen with some Arm boards, especially since some Arm platforms may have targeted first Android phones before being integrated in computer boards. A good example of device with no hardware support for 3D texture but Mesa providing an as-much-complete-as-possible OpenGL driver for it is the Broadcom VC4 used in some Raspberry Pi.
We have 4 usages of 3D textures:

optional tiled lighting renderer (not needed to render the game)
optional colorgrading (not needed to render the game)
optional grid-based deluxe mapping for models (not needed to render the game)
light grid

Light grid is supposedly the only way to lit models with light that matches the position of the model in the map. If 3D textures are not supported, the models will be fullbright. This can be considered a cheat if intentional (models will not be black in dark areas), so I don't plan to give the user a way to toggle this, and this is not something we should enable in a preset. This is a fallback compatibility feature, and I consider it's fine to have it because if you actually play on such low-end hardware, you have stronger handicaps to deal with (tiny screen resolution, low framerate…). Using such hardware is hard to consider an unfair advantage.
I may add a cheat cvar to test the fallback though.

Here on a VC4 (Raspberry Pi 3B+):

It looks like we will need some std::max…
GL_MAX_3D_TEXTURE_SIZE: -2147483648

So drivers do return garbage after all?
In that case I think we should not merge the 3d texture thing for 0.55. I would hate to see lighting being disabled based on some faulty capability query thing.

This driver returning garbage is that because this driver doesn't implement 3D textures at all. I'll report the bug on their side so they can at least return 0 here. You really should not be afraid of full-featured drivers returning garbage.
Our code already downscales 2D and Cube textures down to those limits. If drivers were reporting negative values, we would already know it!
Those checks are basically for less tested or incomplete drivers, it means they are used when we actually need them. We should not expect major drivers to return garbage, and if they do, not only we would already know about it, but we would have other problems than lights being fullbright.


The set bind resets when starting minecraft/changing the world

As in the title
But beside this issue, my question here - is there a possibility to change some file to read-only mode so it doesn't change automatically? If so, what file and where is it?
I have binded it for Left Alt

The keybinds fail to save when escape is used to exit the config screen rather than the done button. This will be fixed in backports


fonts not installed

Describe Your Issue
I should have a folder , .fonts where I have all my fonts. Yet there are no fonts like devicons-regular.sh   fontawesome-regular.sh   octicons-regular.sh   pomicons-regular.sh   PowerlineSymbols.otf devicons-regular.ttf  fontawesome-regular.ttf  octicons-regular.ttf  pomicons-regular.ttf
See my screenshot
https://gifyu.com/image/wFpM
Have you tried to debug or fix it?
Powerlevel9K has been installed.
Environment Information
This information will help us understand your configuration.

What version of ZSH are you using? You can use zsh --version to see this: zsh 5.1.1 (x86_64-ubuntu-linux-gnu)

Do you use a ZSH framework (e.g., Oh-My-ZSH, Antigen)?: Oh-My-ZSH

How did you install P9k (cloning the repo, by tarball, a package from your OS, etc.,)? : yes

What version of P9k are you using? : how do I know

Which terminal emulator do you use? linux terminal

Issues with Fonts & Icons
You may delete this section if your issue is not font / icon related.

Hi @kw-andy ,
sorry for the late reply. But this is not a problem of P9K. You should look in your ~/.zshrc in Line 115 and have a look what is trying to load the fonts there..

Closing this for now. @kw-andy feel free to reopen, if it still does not work.


gio: Add local variant for connect_cancelled

I'm not sure if I got it right

We discussed this when adding the non-local variants and didn't consider adding it because why would anybody need that :) What's your use-case?

We discussed this when adding the non-local variants and didn't consider adding it because why would anybody need that :) What's your use-case?

I use it currently to update some GTK UI state directly through the cancelled callback

How do you make sure that cancellation only happens from the main thread?

I'm not sure how to explain it correctly, but here is my current usage (used a custom cancellable there):
https://github.com/SeaDve/Mousai/blob/53f2afbadbb89151c7afac120fa45cae3d20f12a/src/recognizer/mod.rs#L199
It was made sure that the cancellation happens at the main thread because it was not sent at all to other threads.


Text comparer

Description of the new feature / enhancement
Hello, it would be great to have a section to make comparisons between texts or code, only in text format.
Scenario when this would be used?
For example to see the differences between the branches of a modified file in a repository or another utility that uses text.
Supporting information
There is another apps that includes a text comparer, it would be great if something similar is included in powertoys.

Do you mean the diff tool?
ref: #14950
/needinfo

Compare two texts, when a difference is founded, it is marked on green and red, like github make when you see the history of the file.

That's the diff tool 😄
I'm linking this issue to #14950 to centralize the discussion thread, please go to that thread for discussion.
Thanks for your help to make PowerToys a better piece of software!

Duplicate of #14950

Yes, something like https://github.com/WinMerge/winmerge but with powertoys simplicity. Thanks for the refference.


Many to many relationship - nested data doesnt work

Describe the bug
I am using Amplify and everything worked fine until now. I built a schema where I have a many-to-many relationship and when I get the data with Datastore the result is not what I expected.
Those are my dependencies

My schema looks like this:
type Question @model {
  id: ID!
  name: String!
  answers: [QuestionAnswer] @connection(keyName: "byQuestion", fields: ["id"])
}

type QuestionAnswer
  @model(queries: null)
  @key(name: "byQuestion", fields: ["questionID", "answerID"])
  @key(name: "byAnswer", fields: ["answerID", "questionID"]) {
  id: ID!
  questionID: ID!
  answerID: ID!
  question: Question! @connection(fields: ["questionID"])
  answer: Answer! @connection(fields: ["answerID"])
}

type Answer @model {
  id: ID!
  name: String!
  questions: [QuestionAnswer] @connection(keyName: "byAnswer", fields: ["id"])
}

The depth is currently 5 but I've tried with 10 and I have the same problem.
If I try to query from AppSync like this :

I get this:
       "data": {
         "syncQuestionAnswers": {
            "items": [
              {
                "question": {
                "name": "How are you?",
                "answers": {
                    "items": [
                      {
                        "answer": {
                          "name": "Good"
                        }
                    },
                    {
                        "answer": {
                          "name": "Bad"
                        }
                    }
                  ]
                }
              }
            },
            {
              "question": {
                 "name": "How are you?",
                 "answers": {
                   "items": [
                      {
                        "answer": {
                          "name": "Good"
                        }
                      },
                      {
                        "answer": {
                          "name": "Bad"
                        }
                      }
                    ]
                  }
                }
              }
            ]
          }
        }

The question will appear 2 times, because I have 2 answers assigned to it.
However when I use Datastore on the QuestionAnswer model:
async getQuestions() {
this.questions = await DataStore.query(QuestionAnswer);
console.log(this.questions);
}
I get this:

What I would like to happen when I query the data it would be this:
      "question": {
        "name": "How are you?",
        "answers": {
          "items": [
            {
              "answer": {
                "name": "Good"
              }
            },
            {
              "answer": {
                "name": "Bad"
              }
            }
          ]
        }
      }

If I'm doing something wrong please tell me what because I'm going crazy :)

I have the same problem.
I need the nested data for the many to many relationship. There should be a function like: withAll() or with(['first-relation-name', 'second-relation-name',..]) . Some functions like these will help a lot. Or you can just returned the nested data by default.
Is there a workaround? Has someone found a way to make this work?
Thanks.

Hi @valceaalexandra
Since the QuestionAnswer table contains two objects ( how are you ? , Good!) and (how are you? , bad!) as you can see in the image you posted above , this is why the syncQuestionAnswers Query is returning both data.
You can try SyncQuestions Query with same model as you suggested and as your relation is M:N it will find the connected answer.
For ex this is my syncQuery similar as yours
query MyQuery {
  syncQuestions {
    items {
      name
      answers {
        items {
          answer {
            name
          }
        }
      }
    }
  }
}

This is the returned output
    "syncQuestions": {
      "items": [
        {
          "name": "how are you?",
          "answers": {
            "items": [
              {
                "answer": {
                  "name": "bad!"
                }
              },
              {
                "answer": {
                  "name": "good!"
                }
              }
            ]
          }
        }
      ]
    }
  }

Hi @valceaalexandra
Since the QuestionAnswer table contains two objects ( how are you ? , Good!) and (how are you? , bad!) as you can see in the image you posted above , this is why the syncQuestionAnswers Query is returning both data.
You can try SyncQuestions Query with same model as you suggested and as your relation is M:N it will find the connected answer.
For ex this is my syncQuery similar as yours
query MyQuery {
  syncQuestions {
    items {
      name
      answers {
        items {
          answer {
            name
          }
        }
      }
    }
  }
}

This is the returned output
    "syncQuestions": {
      "items": [
        {
          "name": "how are you?",
          "answers": {
            "items": [
              {
                "answer": {
                  "name": "bad!"
                }
              },
              {
                "answer": {
                  "name": "good!"
                }
              }
            ]
          }
        }
      ]
    }
  }

Thats the problem. When I query from AppSync, I get that output and everything looks fine.
But when I use DataStore I don't get the nested data:

No answers, only the question.

Hi @valceaalexandra
Yes , Currently in Datastore doesn't has the feature to fetch related data in the single query to a model. You can track feature request and can comment on it describing your case : https://github.com/aws-amplify/amplify-js/issues/5054
As a workaround you can query the models separately to fetch the connected data. You can find a documentation here: https://docs.amplify.aws/lib/datastore/relational/q/platform/js#querying-relations
I am closing this issue as duplicate of : https://github.com/aws-amplify/amplify-js/issues/5054. If you feel like your case is different , feel free to comment and i will reopen this again.