Quest - Mislabelling of questionnaire responses

Describe the bug
Multiple MSF questionnaires are mislabelled as G6PD
To Reproduce
Steps to reproduce the behavior:

Go to 'Harry Porter'
Click on either of the 'G6PD Test Results (09 Nov 2021)' responses. They open the MSF questionnaire and appropriate QR

Expected behavior
The labelling should clearly indicate the parent Questionnaire
Screenshots

Smartphone (please complete the following information):

Device: Nexus 5X emulator
Android version: API 28
Build number: [e.g. Settings -> About phone -> Build number]
Version [e.g. 24]

Additional context
Add any other context about the problem here.

This sounds like a general problem w/Quest, is that correct?

Hey @f-odhiambo , What should be the expected labelling here? which are the labels we wanna change here and whats the new labels? or any other additional context on this issue that might be helpful.

@shoaibmushtaq25 the issue here is that when you open a preciously completed survey for MSF as an example the correponding QR is for G6PD and vice versa . Thus the expected behavior should be once I complete a MSF or G6PD survey I should be able to retrieve the corresponding QR based on name and date

While working on this issue, I came across a different issue "Multiple entries of same Questionnaire Response were showing in the Responses section", I fixed this multiple entries of same Questionnaire Response issue. Should we track it as a separate issue or we are ok with it not creating a separate one. cc: @f-odhiambo
For the mis-labelling of QuestionnaireResponses, I debugged the different parts of the flow,

Show the QuestionnaireResponse on the screen
Save the QuestionnaireResponse upon filling the form
Syncing the Resources(QR for our case) to the server

So now I have figured it out that the issue is in Point 3 (Syncing the resources), Now I am going to do more deep debugging of sync flow to understand and fix the problem.

@shoaibmushtaq25 Let's track it on this same ticket and then update the details in the PR and change log to track what has been fixed

sure, Thanks.

I did debugging to check if there is an issue on saving QuestionnaireResponse data into FHIR Engine, also debugged sync flow but so far I found out that the local fhir engine copy upon saving QuestionnaireResponse is showing the correct labels but as we upload it via Sync, the server db shows the changes label on the server and upon next syncing into app, app downloads the changed labelled and show the in-correct ones. so it looks like there is some issue on server side, may be someone from BE side can better comment on this and please advise what should I do next on this? cc: @dubdabasoduba @f-odhiambo
Note: Local(fhir engine copy) and Server copy is attached below.
*Local Snapshot (FHIR Engine copy):
{"resourceType":"QuestionnaireResponse","id":"57d43921-00f1-4bba-bde0-6ee09d351b1b","meta":{"tag":[{"system":"http://fhir.ona.io","code":"000002","display":"MSF Questionnaire"}]},"questionnaire":"Questionnaire/3748","subject":{"reference":"Patient/e91f12be-6c54-46c0-87c9-09103c24f782"},"authored":"2021-12-07T16:16:55+05:00","item":[{"linkId":"8b06c86a-9d44-403a-861a-7afbebfad307","answer":[{"valueCoding":{"id":"b983e2ee-7169-42cd-ca46-2b77299b7064","system":"urn:uuid:435ea5e2-4fcc-4f13-b254-674ca84998a7","code":"responsive-","display":"Responsive "},"item":[{"linkId":"3e1cd435-2fc7-4584-9472-a75f53d731cb","answer":[{"valueCoding":{"id":"3082f1ea-eafa-4000-8807-9a85bc122a1d","system":"urn:uuid:e567be82-ba8f-4587-db09-142fff84e07b","code":"no","display":"No"},"item":[{"linkId":"f231e2db-ff64-48a6-88d3-15509870abc5","answer":[{"valueCoding":{"id":"f92718ec-a7f0-428e-bf1d-0b41ff9950cd","system":"urn:uuid:26bbc99d-9488-4a77-fb12-12aed8d6f477","code":"yes","display":"Yes"},"item":[{"linkId":"b96ecf71-b1ff-4964-8423-801b53d9b48c"}]}]}]}]}]}]}]}
Server Snapshot(After Sync):
{   "resourceType": "QuestionnaireResponse",   "id": "57d43921-00f1-4bba-bde0-6ee09d351b1b",   "meta": {     "versionId": "1",     "lastUpdated": "2021-12-07T11:35:45.225+00:00",     "source": "#ad116131348b6c89",     "tag": [ {       "system": "http://fhir.ona.io",       "code": "000002",       "display": "G6PD Test Results"     } ]   },   "questionnaire": "Questionnaire/3748",   "subject": {     "reference": "Patient/e91f12be-6c54-46c0-87c9-09103c24f782"   },   "authored": "2021-12-07T16:16:55+05:00",   "item": [ {     "linkId": "8b06c86a-9d44-403a-861a-7afbebfad307",     "answer": [ {       "valueCoding": {         "id": "b983e2ee-7169-42cd-ca46-2b77299b7064",         "system": "urn:uuid:435ea5e2-4fcc-4f13-b254-674ca84998a7",         "code": "responsive-",         "display": "Responsive "       },       "item": [ {         "linkId": "3e1cd435-2fc7-4584-9472-a75f53d731cb",         "answer": [ {           "valueCoding": {             "id": "3082f1ea-eafa-4000-8807-9a85bc122a1d",             "system": "urn:uuid:e567be82-ba8f-4587-db09-142fff84e07b",             "code": "no",             "display": "No"           },           "item": [ {             "linkId": "f231e2db-ff64-48a6-88d3-15509870abc5",             "answer": [ {               "valueCoding": {                 "id": "f92718ec-a7f0-428e-bf1d-0b41ff9950cd",                 "system": "urn:uuid:26bbc99d-9488-4a77-fb12-12aed8d6f477",                 "code": "yes",                 "display": "Yes"               },               "item": [ {                 "linkId": "b96ecf71-b1ff-4964-8423-801b53d9b48c"               } ]             } ]           } ]         } ]       } ]     } ]   } ] }

@shoaibmushtaq25 I would rule out the server changing the label. I just checked the server and the corresponding questionnaire has the same label

I think the code has been previously used in another questionnaire -> Questionnaire/4433. I think this could be causing the rewrite of the display value.

How to test

Can you try manually pushing a different QuestionnaireResponse referencing the same Questionnaire and see if the display changes? Use postman for this. This might point to our implementation introducing the bug
If not, see if updating the code to an unused code like 000003 will solve the issue. Also check documentation and update us on how to correctly do this

I tried different use cases (using POSTMAN) to update the QuestionnaireResponse and MSF Questionnaire itself.
Here are those with QuetionnaireResponse,

I updated the QuestionnaireResponse (id = 57d43921-00f1-4bba-bde0-6ee09d351b1b) with some different display value (New MSF Questionnaire) with same meta.tag.code (000002) but the issue still persists(server changes the value to (G6PD Test Results) as per the code(000002), looks like it’s tied to code.
I updated the QuestionnaireResponse (id = 57d43921-00f1-4bba-bde0-6ee09d351b1b) with a different meta.tag.code (000003) and the same display value(MSF Questionnaire), then upon fetching this QuestionniareResponse the server returns the display as "G6PD Patient".
I updated the QuestionnaireResponse (id = 57d43921-00f1-4bba-bde0-6ee09d351b1b) with a different meta.tag.code (000004) assuming that this code is not already in use and the display value as "A New MSF Questionnaire", the upon fetching this QuestionnaireResponse, the server returns the QuestionnaireResponse with the same code (000004) and same display (A New MSF Questionnaire) as we passed in the request body.
{  "resourceType": "QuestionnaireResponse",  "id": "57d43921-00f1-4bba-bde0-6ee09d351b1b",  "meta": {      "versionId": "3",      "lastUpdated": "2021-12-09T07:37:55.481+00:00",      "source": "#5c7875e18dc23f3a",      "tag": [          {              "system": "http://fhir.ona.io",              "code": "000003",              "display": "G6PD Patient"          },          {              "system": "http://fhir.ona.io",              "code": "000002",              "display": "G6PD Test Results"          },          {              "system": "http://fhir.ona.io",              "code": "000004",              "display": "A New MSF Questionniare"          }      ]  },  "questionnaire": "Questionnaire/3748",  "subject": {      "reference": "Patient/e91f12be-6c54-46c0-87c9-09103c24f782"  },  "authored": "2021-12-07T16:16:55+05:00",  "item": [      {          "linkId": "8b06c86a-9d44-403a-861a-7afbebfad307",          "answer": [              {                  "valueCoding": {                      "id": "b983e2ee-7169-42cd-ca46-2b77299b7064",                      "system": "urn:uuid:435ea5e2-4fcc-4f13-b254-674ca84998a7",                      "code": "responsive-",                      "display": "Responsive "                  },                  "item": [                      {                          "linkId": "3e1cd435-2fc7-4584-9472-a75f53d731cb",                          "answer": [                              {                                  "valueCoding": {                                      "id": "3082f1ea-eafa-4000-8807-9a85bc122a1d",                                      "system": "urn:uuid:e567be82-ba8f-4587-db09-142fff84e07b",                                      "code": "no",                                      "display": "No"                                  },                                  "item": [                                      {                                          "linkId": "f231e2db-ff64-48a6-88d3-15509870abc5",                                          "answer": [                                              {                                                  "valueCoding": {                                                      "id": "f92718ec-a7f0-428e-bf1d-0b41ff9950cd",                                                      "system": "urn:uuid:26bbc99d-9488-4a77-fb12-12aed8d6f477",                                                      "code": "yes",                                                      "display": "Yes"                                                  },                                                  "item": [                                                      {                                                          "linkId": "b96ecf71-b1ff-4964-8423-801b53d9b48c"                                                      }                                                  ]                                              }                                          ]                                      }                                  ]                              }                          ]                      }                  ]              }          ]      }  ] }

Here are those that I performed with Questionnaire,

I updated the MSF Questionnaire (id = 3748) with a different meta.tag.code (000004) and checked the impact on the QuestPatientDetailsScreen UI , the MSF Questionnaire (id = 3748) is no more visible on the screen, the reason is we are only fetching the Questionnaire forms with the code (000002) to display it on this screen, as per the profile_config.json file

Summary:
upon changing the code in the Questionniare, the server returns the correct display but we are fetching forms with only code(000002) to display it on the QuestPatientDetail screen,
so what we can do here as next steps to fix the problem? Do we change the profile_config.json to include the code of MSF Quetsionniare (000004) as well or is there any other way to resolve this? cc: @ekigamba @f-odhiambo

I had a call with @maimoonak on this while Kenya team was off/Company retreat and discuss the different scenarios mentioned here , She suggested me to use the name/title of questionnaire which is attached to a particular QuestionnaireResponse. I implemented the solution this way and opened a PR for this.
Moreover, I came across a different issue, the app crashes when we open G6PD Test Photo Result QuestionnaireResponse. I created a separate issue for this. cc: @f-odhiambo

@shoaibmushtaq25 Cool, so I believe that this is a quick fix and might not serve the eventual scope of Quest and it goes against the spec.

The use of Quest for user-defined questionnaires and responses might not be harcoded to a specific display code
It also goes against the spec since the spec requires that each code have the same display/text. We would want to follow the spec as much as we can so that we can maintain inter-operability and the FHIR standard. If our API/database was to be used by another app/web/system other than the Quest app, then we will have to apply the same rules/logic in all those systems so that they can display the Questionnaire displays the correct way. This will initially affect the Quest web and any other person who decides to use the API directly.

Can you create an issue to follow-up on this? What do you think?

@ekigamba , yeah, It make sense. I think , we need to discuss more about the proper solution that should meet the FHIR specs.
I will create a separate follow up on this and we can discuss the details over there.

@ekigamba , I have created a follow up issue #895 , Please have a look and edit it if it needs any modifications in the description or I missed something in it.


rambox: 0.6.1 -> 0.6.2

Motivation for this change
can't install rambox-0.6.1 anymore
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build rambox

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: rambox
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnfree = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnfree = true; }
to ~/.config/nixpkgs/config.nix.

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: rambox
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Oh, oops, unfree. Checking locally.

No attempt on x86_64-linux (full log)
The following builds were skipped because they don't evaluate on x86_64-linux: rambox
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnfree = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnfree = true; }
to ~/.config/nixpkgs/config.nix.

I got this error with rambox-0.6.1
building '/nix/store/m14qmj6wk26cfk4i59x63wfg33c9l1ja-SenchaCmd-<IP_ADDRESS>-linux-amd64.sh.zip.drv'...

trying https://cdn.sencha.com/cmd/<IP_ADDRESS>/no-jre/SenchaCmd-<IP_ADDRESS>-linux-amd64.sh.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 85.5M  100 85.5M    0     0  5480k      0  0:00:15  0:00:15 --:--:-- 5183k
building '/nix/store/2g11q8p52csggdrp29p9rjl21c13wpsk-source.drv'...

trying https://github.com/saenzramiro/rambox/archive/0.6.1.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   133    0   133    0     0    420      0 --:--:-- --:--:-- --:--:--   419
100   134    0   134    0     0    191      0 --:--:-- --:--:-- --:--:--   191
100 22.7M    0 22.7M    0     0  2585k      0 --:--:--  0:00:09 --:--:-- 3433k
unpacking source archive /tmp/nix-build-source.drv-0/0.6.1.tar.gz
building '/nix/store/x1980470v4nvak33nbqlm9kkqsq5p3qm-sencha-bare-<IP_ADDRESS>.drv'...
unpacking sources
unpacking source archive /nix/store/3jq720ymwfnjspc28a43p9mr2q1294ks-SenchaCmd-<IP_ADDRESS>-linux-amd64.sh.zip
source root is .
setting SOURCE_DATE_EPOCH to timestamp<PHONE_NUMBER> of file ./SenchaCmd-<IP_ADDRESS>-linux-amd64.sh
patching sources
configuring
building
no Makefile, doing nothing
installing
Starting Installer ...
Fontconfig warning: "/etc/fonts/fonts.conf", line 5: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/fonts.conf", line 6: unknown element "its:translateRule"
Fontconfig error: "/etc/fonts/fonts.conf", line 6: invalid attribute 'translate'
Fontconfig error: "/etc/fonts/fonts.conf", line 6: invalid attribute 'selector'
Fontconfig error: "/etc/fonts/fonts.conf", line 7: invalid attribute 'xmlns:its'
Fontconfig error: "/etc/fonts/fonts.conf", line 7: invalid attribute 'version'
Fontconfig warning: "/etc/fonts/fonts.conf", line 9: unknown element "description"
Fontconfig error: Cannot load config file from /etc/fonts/fonts.conf
The installation directory has been set to /nix/store/4648mv8if12ad8h68ighl1k0ph97hlfr-sencha-bare-<IP_ADDRESS>.
Extracting files ...
Finishing installation ...
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/4648mv8if12ad8h68ighl1k0ph97hlfr-sencha-bare-<IP_ADDRESS>
shrinking /nix/store/4648mv8if12ad8h68ighl1k0ph97hlfr-sencha-bare-<IP_ADDRESS>/bin/linux-x64/phantomjs/phantomjs
shrinking /nix/store/4648mv8if12ad8h68ighl1k0ph97hlfr-sencha-bare-<IP_ADDRESS>/bin/linux-x64/vcdiff/vcdiff
shrinking /nix/store/4648mv8if12ad8h68ighl1k0ph97hlfr-sencha-bare-<IP_ADDRESS>/bin/linux-x64/node/node
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/4648mv8if12ad8h68ighl1k0ph97hlfr-sencha-bare-<IP_ADDRESS>/lib  /nix/store/4648mv8if12ad8h68ighl1k0ph97hlfr-sencha-bare-<IP_ADDRESS>/bin
patching script interpreter paths in /nix/store/4648mv8if12ad8h68ighl1k0ph97hlfr-sencha-bare-<IP_ADDRESS>
/nix/store/4648mv8if12ad8h68ighl1k0ph97hlfr-sencha-bare-<IP_ADDRESS>/sencha: interpreter directive changed from "/bin/sh" to "/nix/store/r47p5pzx52m3n34vdgqpk5rvqgm0m24m-bash-4.4-p23/bin/sh"
checking for references to /tmp/nix-build-sencha-bare-<IP_ADDRESS>.drv-1 in /nix/store/4648mv8if12ad8h68ighl1k0ph97hlfr-sencha-bare-<IP_ADDRESS>...
building '/nix/store/gvmqm4ln0asdypdqwhkywwi5ihsfzkx4-node_modules.drv'...
npm WARN using --force I sure hope you know what you are doing.
added 158 packages from 137 contributors and audited 2671 packages in 3.783s
found 4 vulnerabilities (2 low, 2 high)
  run `npm audit fix` to fix them, or `npm audit` for details
fixed-output derivation produced path '/nix/store/a2k3r60q5q5qqdffwvzpv5aiqhd23qad-node_modules' with sha256 hash '0mg1ilz65qyxgh5zg1f8fhx7ygz10w8ifamflpwbk8mrvqpkjlvr' instead of the expected hash '0hbw47653wh159c34f0rlj3p7xy0lvsyp0wh2hl35kv3fnsfbbm0'
cannot build derivation '/nix/store/554gh4926hm52s7kmimb751f7z7b345d-rambox-bare-0.6.1.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/nsg74qbzn9lyw79g30iminxsmwhixx3k-rambox-0.6.1.drv': 1 dependencies couldn't be built
error: build of '/nix/store/nsg74qbzn9lyw79g30iminxsmwhixx3k-rambox-0.6.1.drv' failed

Sorry if I do it wrong

Mhm it might the case that building node-modules fixed output get messed up if the sandbox is not enabled leading to a different checksum.

@jeci-sarl this can be closed now.


sort src of commutative uop during rewrite

this will sort src of UOp when they are commutative. very helpful for symbolic comparison and should lead to better reusability during rewrite

this leads to a bug in llvm

solves #5304

can you separate the fix (with a regression test) from the main change? it's hard to review a pr with multiple moving parts

yes will do


[Automation] Generate SDK based on TypeSpec 0.21.2

[Automation] Generate SDK based on TypeSpec 0.21.2

API change check
API changes are not detected in this pull request.


UUID support

allow uuid string for id field.
Allow id to be specified on new models, provide _new attribute to specify that a view with an id is talking about a new model.

LGTM


[WIP] Add pythainlp.coref

What does this changes
Add pythainlp.coref for support Thai Coreference resolution
How this fixes it
Description of how the changes fix the issue.
Fixes #800
Your checklist for this pull request
🚨Please review the guidelines for contributing to this repository.

[ ] Passed code styles and structures
[ ] Passed code linting checks and unit test

coverage: 56.816% (-0.1%) from 56.963% when pulling a027c3044dfce4da7f400612493456488f55c176 on add-coref into 33c5b5a270f8775407f95bdfccce804a32dff024 on dev.


Is there a way to log slow queries, but not all queries?

Would be nice to be able to throw a warning in the logs if a query takes more than a specified amount of time. Great for optimization.
Of course this could be used in production, without having to enable the logging of all queries. But both of these should be separately settable.

Please use database's slow query feature.


Update iot-hub-devguide-messages-d2c.md

Mention modules in device lifecycle change component and link to more detailed documentation on device lifecycle changes.

@alburgin : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Link to more detailed documentation on device/module lifecycyle notifications and mention modules in the doc.

@JimacoMS4 please review

@alburgin : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@alburgin : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Looks good to me! #approve


Implemented switch for URL protocols

Hi,
another PR of an useful feature (at least for me): A cmdline switch for the URL protocol (dir mode).
I usually run gobuster on multiple domains in a for loop. This makes it more convenient, because I don't have to fiddle around and manually build the correct -u parameter.
I'm not sure about the -pr switch name, though.
Sample runs:
$> ./gobuster  -m dir -w wordlist -u gehaxelt.in

Gobuster v1.2                OJ Reeves (@TheColonial)
=====================================================
[+] Mode         : dir
[+] Url/Domain   : http://gehaxelt.in/
[+] Threads      : 10
[+] Wordlist     : wordlist
[+] Status codes : 200,204,301,302,307
=====================================================
/.git/HEAD (Status: 301)
=====================================================

and
$> ./gobuster  -m dir -w wordlist -u gehaxelt.in -pr https://

Gobuster v1.2                OJ Reeves (@TheColonial)
=====================================================
[+] Mode         : dir
[+] Url/Domain   : https://gehaxelt.in/
[+] Threads      : 10
[+] Wordlist     : wordlist
[+] Status codes : 200,204,301,302,307
=====================================================
/.git/HEAD (Status: 301)
=====================================================

Kind regards

Thanks @gehaxelt, but this PR isn't necessary.
By default, if you use dir mode, http is used if a scheme isn't passed in when specifying the host. eg.
$ gobuster -u foo.com

is the same as:
$ gobuster -u http://foo.com

If you want to use https, just do:
$ gobuster -u https://foo.com

I think the -pr switch isn't necessary. If it's ok with you, I'll close this PR, as the existing functionality works fine.


cargo fmt

I already made an extensive cargo format and clippy pass on HVM in a set of PRs starting with: https://github.com/HigherOrderCO/HVM/pull/198.
Cargo fmt isn't a big deal, but I wouldn't want you to waste your time re-ding unnecessary work if you were going to bother with clippy, etc. also.

Will need some time to go through this one. Thanks for the contrib.

Just letting you know that I didn't forget the PR and I'll still review it in a future


Export this package to be used from cmake

API suggestion:
find_package(breathing-cat QUIET)

if(${breathing-cat_FOUND})
  bcat_build_documentation()
endif()

@luator what do you think?

I am actually already working on using breathing-cat from cmake but by using it inside the existing add_sphinx_documentation macro (so the public API stays the same).  Does that make sense?  I can open a PR soon, to show what I mean.

https://github.com/machines-in-motion/mpi_cmake_modules/pull/50

We would need to add cmake-support to what is currently a pure-Python package, not sure how complicated that would be.
I'd rather follow the YAGNI-principle and not add this until someone has an actual use case for it.

we do: mpi_cmake_module
and potentially other packages I wanna use

I will do a PR on that


Slim CLI?

Hello,
I think it would be nice to create a new Slim component - CLI Console (like Symfony Console), to start the PHP Dev server, Debug router and Container, Generating Routes and Actions etc.
If you agree with me, I can immediately start working on it.

It would be a good idea to integrate into a separate repo. CLIs require a kitchen sink of dependencies so isolating it to its own repo is better imo.

@l0gicgate I agree with you, this should be a separate repository. We can create a new repository, for example Slim-console, and I will work in it, if we really need this feature.

I'm definitely open to new features that improve the end user UX. Let's get some feedback in here and see what we should put in there

@ABGEO07 @l0gicgate Would it make sense to put a CLI component as a part of https://github.com/slimphp/Slim-Skeleton ?
Since this is what Slim-Skeleton's purpose is:

to quickly setup and start working on a new Slim Framework 4 application.

Is this supposed to be a cli tool for Slim powered web application like artisan is for Laravel? Or is a slim cli framework for creating cli applications?

@l0gicgate Can i start implement thie CLI Component ?

Is this supposed to be a cli tool for Slim powered web applications like artisan is for Laravel? Or is it a slim cli framework for creating cli applications?

First one :)

@l0gicgate Can i start implement thie CLI Component ?

@mgamal92 Waiting for feedback. After that I will start working on it.

I would make the life of the cron-jobs much easier :) +1 vote from me

Is this supposed to be a cli tool for Slim powered web applications like artisan is for Laravel? Or is it a slim cli framework for creating cli applications?

First one :)

Thanks for the clarification

What's the status of this? Has a new repo been created? I'd like to contribute to this effort.

I need to create a new repo. We also need to figure out how the CLI will be built. What are we going to use to create a console? I have experience with symfony/console. Any other suggestions?
Also, what is going to be the initial functionality?

Setup a project?
Create routes?

I need more input

I need to create a new repo. We also need to figure out how the CLI will be built. What are we going to use to create a console? I have experience with symfony/console. Any other suggestions?
Also, what is going to be the initial functionality?

Setup a project?
Create routes?

I need more input

My suggestion is to use Robo  with Climate. I've used this successfully in the Willow Framework
I created Willow to marry Slim 4 with the Eloquent ORM. Here are some examples:
./willow list

./willow db:show-tables and willow db:show-columns User

I would suggest the initial functionality be create a project (prompting the user for what interfaces they want to use for error control, DI, etc.), Routes with a hello-world skeleton action. Other features to be added later may be validation and sanitation middleware.
I would like to see something like in the yii2 framework's cli interface(especially their gii/* commands.

@d3n972

I would like to see something like in the yii2 framework's cli interface(especially their gii/* commands.

This means:

Model Generator - This generator generates an ActiveRecord class for the specified database table.
CRUD Generator - This generator generates a controller and views that implement CRUD (Create, Read, Update, Delete) operations for the specified data model.
Controller Generator - This generator helps you to quickly generate a new controller class, one or several controller actions and their corresponding views.
Form Generator - This generator generates a view script file that displays a form to collect input for the specified model class.
Module Generator - This generator helps you to generate the skeleton code needed by a Yii module.
Extension Generator - This generator helps you to generate the files needed by a Yii extension.

https://www.yiiframework.com/extension/yiisoft/yii2-gii/doc/guide/2.1/en/basic-usage
But where are the models, controllers, forms, modules and extensions in Slim?

@d3n972

I would like to see something like in the yii2 framework's cli interface(especially their gii/* commands.

This means:

Model Generator - This generator generates an ActiveRecord class for the specified database table.
CRUD Generator - This generator generates a controller and views that implement CRUD (Create, Read, Update, Delete) operations for the specified data model.
Controller Generator - This generator helps you to quickly generate a new controller class, one or several controller actions and their corresponding views.
Form Generator - This generator generates a view script file that displays a form to collect input for the specified model class.
Module Generator - This generator helps you to generate the skeleton code needed by a Yii module.
Extension Generator - This generator helps you to generate the files needed by a Yii extension.

https://www.yiiframework.com/extension/yiisoft/yii2-gii/doc/guide/2.1/en/basic-usage
But where are the models, controllers, forms, modules and extensions in Slim?

Excuse me for being short wording my comment, of course I meant just the idea of generating code from stubs, instead of controllers, modules, etc for example Action classes etc.

@d3n972

I would like to see something like in the yii2 framework's cli interface(especially their gii/* commands.

This means:

Model Generator - This generator generates an ActiveRecord class for the specified database table.
CRUD Generator - This generator generates a controller and views that implement CRUD (Create, Read, Update, Delete) operations for the specified data model.
Controller Generator - This generator helps you to quickly generate a new controller class, one or several controller actions and their corresponding views.
Form Generator - This generator generates a view script file that displays a form to collect input for the specified model class.
Module Generator - This generator helps you to generate the skeleton code needed by a Yii module.
Extension Generator - This generator helps you to generate the files needed by a Yii extension.

https://www.yiiframework.com/extension/yiisoft/yii2-gii/doc/guide/2.1/en/basic-usage
But where are the models, controllers, forms, modules and extensions in Slim?

Excuse me for being short wording my comment, of course I meant just the idea of generating code from stubs, instead of controllers, modules, etc for example Action classes etc.

This is an overkill, slim is small allowing everyone to define their own structure and have their own way of implementation and not a kitchen sink.

We use Slim as the basis for all our applications, adding default modules, structured base classes, a CLI module, a bundle approach and several other useful additions to it. Slim is fantastic here because it's completely un-opinionated about everything not request and response, and that is how it should be IMHO: Otherwise you could just use Yii/Symfony/Laravel.
Still, I am in favor of adding a command line interface to Slim, for two reasons:

Bootstrapping default structures and best-practices is really useful. If you look around the web, Slim docs or the skeleton application, you will find several approaches to getting started. This is both confusing and at risk of being outdated or introducing subtle bugs.
If we had a command line interface that'd allow bootstrapping default components like routes and  their handlers or middleware, or setting up DI, or clearing/warming up the route cache, there would be a canonical, up-to-date way to do things.
Symfony does this pretty well, I think - their make:* commands do lots of boring stuff for you. Not that Slim should fully go down the Symfony road, but taking inspiration is fine I think :)
The possibility to add custom commands. I think in most applications of a certain size, a need arises to perform some actions on the command line - clearing caches, showing stats or performing maintenance tasks. If the Slim CLI would pick up user-defined commands, this would be simplified. Additionally, people could provide packages that, when installed both locally or globally, provide more commands to a project. This is pretty exciting because it paves the way for a streamlined Slim ecosystem.

To make this as easy as possible, I'd suggest using Symfony Console. That's the basis of composer, Laravel's artisan, the Symfony console and countless other tools. It's a simple, battle-tested, well-documented way to create console applications in PHP.
I'd volunteer to participate here, too :)

@l0gicgate
Initial implementation

Ability to create and run commands
View all available commands
Ability to wrap third-party commands such as Seeders, Migrations within Slim to keep everything centralize through the framework's console

For future plans:

Easy way to schedule cron jobs (I love Laravel's approach)
Build .env file interactively would be nice too upon installing the project first time.

👍 for Symfony Console.
I am a user of Slim and would like to contribute too.

I would love to contribute :) I use Slim all the time :)
i vote for the following

Build .env file interactively as @flangofas said
Create Oauth boilerplate
Generate routes and classes
The possibility to add custom commands

for boilerplate, i love how @akrabat is putting it all together.

@l0gicgate I agree with @flangofas road map as well as 5 others. Is anything else needed before a repo can be created for this?

I will be creating the repo here shortly.
Should we call it Slim-CLI or Slim-Console?
Also the initial feature set will be:

Create base project structure with index.php and bootstrapping, choose your PSR-7 implementation and container implementation
Build .env file interactively
Generate routes and classes
The possibility to add custom commands

We will be moving this discussion in the new repository when it's created and we can make a roadmap there.

What would the namespace names be like?

Slim-CLI \Slim\CLI
Slim-Console \Slim\Console

Personally, I don't like all caps in namespaces, but that's maybe only me.

php slim preset:container {container} php slim make:command ExampleCommand`
<?php

namespace App\CLI\Commands;

use Slim\CLI\Command;

class ExampleCommand extends Command
{
   // ...generated stub
}

vs.
<?php

namespace App\Console\Commands;

use Slim\Console\Command;

class ExampleCommand extends Command
{
   // ...generated stub
}

My vote goes to Slim\Console

@l0gicgate nice to hear that from you🙂 I can immediately start working on the application when we get the repository.
P.S. I vote for the name Slim Console and the namespace Slim\Console

I think Slim-Console and namespace Slim\Console makes more sense. The package would be called slim/console on packagist. I will be creating the repo shortly!

Anyone have thoughts on the idea of these two types of console commands?

Preset Commands
Make Commands

Preset Command

Ability to update composer.json (AKA require a specific implementation)
Ability to add/import stubs (AKA scaffold/dummy class)
Ability to add/import preset specific make commands
Ability to remove preset (composer dependency, stubs, and commands)

Make Commands

Ability to parse dummy stub
Ability to accept arguments/options for a given stub
Ability to override default location where file is generated
(Is it overly biased to default a location where a class will be generated?)
Ability to check if the given class already exists, and omit overriding the class as well as
inform the user of a pre-existing file.
Generate the directories to the given default generation path if the directories don't already
exist

Examples of possible preset commands
(Many examples are absolutely outside of the current scope, but provide some context)
`php slim preset:container {implementation}`
`php slim preset:logger {implementation}`
`php slim preset:config {implementation}`
`php slim preset:app-debugging {implementation}`
`php slim preset:orm {implementation}`
`php slim preset:template {implementation}`
`php slim preset:front-end {implementation}`
----

Examples of possible make:commands
_(Many examples are absolutely outside of the current scope, but provide some context)_

php slim make:middleware {name}
php slim make:migration {name}
php slim make:command {name}
php slim make:controller {name}
php slim make:model {name}
php slim make:action {name}
php slim make:factory {name}
php slim make:view {name}
php slim make:component {name}
php slim make:config {name}
php slim make:exception {name}
How cool would it be if Slim never lost it's unbiased view point, but made it extremely easy to setup preset and make commands so once a development team inevitably decides on an implementation that even if the slim preset/make console package that it was easy enough to make that they would create it themselves.

Slim console itself is a core package, but then each preset/make group was its own package that acts as a sort of plug-in or provided service into the slim console package.

We never lose the agnostic view point of core, but still provide the ability to easily expedite and enforce the decided upon implementation.

If extremely easy, I think this would go leaps and bounds to pushing slim open source contribution to the next level.

I don't know, maybe I'm just a little too excited at this point ~ what's everyone else's thoughts?


bug_fix: Fixes : #455 Remove .png from auto complete list view's suggetion list

Summary of changes
[Explain here what changes were made and why.]
Screenshots or a brief video showing the change in action:
Please make sure these boxes are checked before submitting your pull request - thanks! Guide

[ ] Code is formatted.

[ ] Run the lint tests with ./gradlew lintDebug and make sure BUILD is SUCCESSFUL

[ ] If new feature is implemeted then it is compatible with Night theme too.

[ ] Commit messages are well-written.

Automated message from Dropbox CLA bot
@Shailesh351, it looks like you've already signed the Dropbox CLA. Thanks!


Move babel config to a .babelrc file

Other packages like Jest expect this file to exist if you're using babel. This would make sharing babel settings easier.

This miiiiiight already work. I think .babelrc files trump the config if they exist. Need to test further though.

I confirmed that from a small testing project, using .babelrc seemed to have work wonderfully.

After further testing, it appears that not everything is picked up. It seems that plugins does not work when used inside the .babelrc file.
In .babelrc, this was not working:
$ cat .babelrc
{
  "presets": ["react-app"],
  "plugins": ["transform-decorators-legacy"]
}

While this is working:
  javascripts: {
    entry: {
      app: ['./app.js'],
    },
    babel: {
      presets: ['react-app'],
      plugins: ['transform-decorators-legacy'],
    },
  },

Also, I tested to see what would happen if I mixed stuff. This test seems to point there is some kind of merging happening as this setup is also working correctly:
$ cat .babelrc
{
  "presets": ["react-app"]
}

  javascripts: {
    entry: {
      app: ['./app.js'],
    },
    babel: {
      plugins: ['transform-decorators-legacy'],
    },
  },

So the presets and plugins were merged in a single config but specifying  plugins in .babelrc does not seem to work as expected.


Don't update title area for filterview

Fixes microsoft/vscode-remote-release#3676

As already discussed in the other PR this fix looks good for the recovery release -> approved.


[do not merge; testing stuff] 4.1: Reenable Windows builds

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=582673&view=logs&j=a70f640f-cc53-5cd3-6cdc-236a1aa90802 built successfully!
I'm re-enabling the other platforms again.

Thanks


Dashboard / Tag menu: Possibility to change the color with a selection mask

Currently, the color for keywords can only be customized by color code and not by selection mask. The user is forced to search outside OS for the desired color code. This is unnecessary. In the Design menu, one can already choose the color freely in a selection menu or enter the RGB code. This possibility should also exist for the color selection for keywords.
Tag menu

Compare Design

Duplicate of https://github.com/OpenSlides/openslides-client/issues/726. Keeping this issue since it's more detailled and up-to-date.


bundle: add readOnlyRootFilesystem for odf-operator

Signed-off-by: Nitin Goyal<EMAIL_ADDRESS>Bug: https://bugzilla.redhat.com/show_bug.cgi?id=2273386

/cherry-pick release-4.16

LGTM.
But, I remember when we simply added readOnlyRootFilesystem: true for odf-console pod, we had to revert the changes temporarily, so better to test this once (if not already) on close to prod-like environment (rhceph-dev) and verify if all pods (manager/proxy/console etc) are running as expected.

LGTM.
But, I remember when we simply added readOnlyRootFilesystem: true for odf-console pod, we had to revert the changes temporarily (had to do much more changes to make it work), so better to test this once (if not already) on close to prod-like environment (rhceph-dev) and verify if all pods (manager/proxy/console etc) are running as expected.

Tested, It is working well.

/cherry-pick release-4.15


Move clients out of empty directory

What does this PR (Pull Request) do?

[x] This PR is not related to any Issue

This PR just moves the Python and Java clients out of the annoying, empty, top-level directory traffic_control, and also updates references throughout the repository to correctly specify the client path.
Draft because I don't want to change this for 5.0.0
Which Traffic Control components are affected by this PR?

CDN in a Box
Documentation
Traffic Control Client (Python)
CI tests

What is the best way to verify this PR?
There should be no functionality changes, so just verify that the installation instructions work as now written.
The following criteria are ALL met by this PR

[x] Tests are unnecessary when functionality isn't changing
[x] Documentation changes are unnecessary when functionality isn't changing
[x] An update to CHANGELOG.md is not necessary
[x] This PR includes any and all required license headers
[x] This PR does not include a database migration
[x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY

Making a mental note to go fix the myriad things that will break because of this

Oh yeah. That's why it's a draft, I think people maintaining production deployments will need more than a couple days heads-up.

So what's the actual gain here?  Are we considering breaking how people have adopted these SDK just because we don't like the directory structure in the repo?


Login dialog does not go away (again)

Version: 1.48.0
Commit: db40434f562994116e5b21c24015a2e40b2504e6
Date: 2020-08-13T08:03:27.059Z
Electron: 7.3.2
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Darwin x64 18.7.0
The same as:
https://github.com/microsoft/vscode/issues/97233
https://github.com/microsoft/vscode/issues/97199
only on v1.48
Steps to Reproduce:

Open VSCode
After a few minutes of work (random time) a dialog (I assume a proxy login dialog even though it doesn't have any title) appears

The dialog will NOT go away or show any signs of life independently what I do:

enter correct credentials
enter wrong credentials
click cancel

The only way to get rid of it is to kill Code via Activity Monitor

PS: interesting thing - if I have multiple VSCode instances open then it appears only on first launched instance, but not the others
PS2: sometimes this dialog appears for the first time with the close button at the top left corner and the title VSCode. If I close it with this button then the second one appears immediately without the close button.

/duplicate of #104603 and will be fixed in upcoming recovery release


chore(package): update rollup-plugin-commonjs to version 9.1.5

Coverage decreased (-0.6%) to 81.05% when pulling 81e955a59eca3b3e24e57cb5b3727791f746e5f4 on greenkeeper/rollup-plugin-commonjs-9.1.5 into e987b716a2110029431f943bc796ee65e296921d on master.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


warp_group_dot lowering crashes for specific instruction shape

Somewhere between 68aa962e67baa191cec5aac173255abdba80db1a and 8aedb5ea40a401ba0c6d229cd0cd28c0026bb9f6 the following IR started to crash:
// RUN: triton-opt %s -split-input-file --allocate-shared-memory --convert-triton-gpu-to-llvm --debug-only=dialect-conversion

#mma0 = #triton_gpu.nvidia_mma<{versionMajor = 3, versionMinor = 0, warpsPerCTA = [4, 1], instrShape = [16, 64, 32]}>
#mma1 = #triton_gpu.nvidia_mma<{versionMajor = 3, versionMinor = 0, warpsPerCTA = [4, 1], instrShape = [16, 64, 16]}>
#mma = #mma0  // this fails
// #mma = #mma1  // this works
#shared2 = #triton_gpu.shared<{vec = 8, perPhase = 1, maxPhase = 8, order = [1, 0], hasLeadingOffset = true}>

module attributes {"triton_gpu.num-ctas" = 1 : i32, "triton_gpu.num-warps" = 4 : i32, triton_gpu.shared = 20608 : i32, triton_gpu.target = "cuda:90", "triton_gpu.threads-per-warp" = 32 : i32} {
  tt.func public @mma_crash(
    %arg0: tensor<64x64xbf16, #triton_gpu.dot_op<{opIdx = 0, parent = #mma, kWidth = 2}>>,
    %arg1: !tt.memdesc<64x64xbf16, #shared2, #triton_gpu.shared_memory>,
    %arg2: tensor<64x64xf32, #mma>) {
    %out = triton_nvidia_gpu.warp_group_dot %arg0, %arg1, %arg2 {isAsync = true}
      : tensor<64x64xbf16, #triton_gpu.dot_op<{opIdx = 0, parent = #mma, kWidth = 2}>>
      * !tt.memdesc<64x64xbf16, #shared2, #triton_gpu.shared_memory>
      -> tensor<64x64xf32, #mma>
    tt.return
  }
}

(Note that on earlier Triton versions we need to replace kWidth = 2 with kWidth = 0 in the example, since this parameter changed from having to be 0 to having to be non-0.)
It seems to be related to the instruction shape, since it works with instrShape = [16, 64, 16], but fails with instrShape = [16, 64, 32].
This is the stack trace:
assert.h assertion failed at llvm/include/llvm/ADT/SmallVector.h:295 in const_reference llvm::SmallVectorTemplateCommon<mlir::Value>::operator[](size_type) const [T = mlir::Value]: idx < size()
*** Check failure stack trace: ***
    @     0x555d376ae474  __assert_fail
    @     0x555d358e2258  loadReg()
    @     0x555d358e3327  convertDot()
    @     0x555d358e4ea2  convertWGMMA()
    @     0x555d358d78ed  (anonymous namespace)::WarpGroupDotOpConversion::matchAndRewrite()
    @     0x555d358d75d0  mlir::ConvertOpToLLVMPattern<>::matchAndRewrite()
    @     0x555d370de26f  mlir::ConversionPattern::matchAndRewrite()
    @     0x555d3717ec3c  llvm::function_ref<>::callback_fn<>()
    @     0x555d3717bfe9  mlir::PatternApplicator::matchAndRewrite()
    @     0x555d370df201  (anonymous namespace)::OperationLegalizer::legalize()
    @     0x555d370de2e9  mlir::OperationConverter::convert()
    @     0x555d370df658  mlir::OperationConverter::convertOperations()
    @     0x555d370e530c  mlir::applyPartialConversion()
    @     0x555d358b30e6  (anonymous namespace)::ConvertTritonGPUToLLVM::runOnOperation()

My hunch is that it could be related to #5009 ? CC @ggengnv

I can confirm that the crash goes away if I bring back this line: https://github.com/triton-lang/triton/commit/cfddb090981a49e54872c30325fcf54382704993#diff-c05cf3aed297bf0c5f1296cc40c522b00fb300c7a4340a1f6be5b0bbe2c42039L2048
Though I have no idea at the moment if what we then end up producing is correct at all. But that does seem to strongly imply that #5009 is the culprit.

It shouldn't be possible for f16 MMA to have instrShape K=32, since instrShapeK is calculated as 256 / elemWidthBits (see mmaVersionToInstrShape()). In your case it should have K=16.
Similarly, the kWidth value is calculated as 32 / elemWidthBits.
As long as the above relationships are true, the current logic in getTotalElemsPerThreadForOperand would be correct. So AFAIK the code you provided shouldn't ever be generated by Triton.
But code quality wise I think it makes sense to have getTotalElemsPerThreadForOperand use getRepForOperand, to match the code in SharedToDotOperandMMAv2OrV3 (which would fix the above case). So I created a PR for that here https://github.com/triton-lang/triton/pull/5105

Thanks for looking into this so quickly! Yes, the TTGIR came from an even worse example where the result layout doesn't match the LHS's parent layout. There's a slack thread where I asked about this. Somehow Triton got into an edge case when trying to optimize an internal implementation of flash attention we have.
The first step here would be to implement a better verifier for warp_group_dot /  dot_op layout, which would make it easier to root cause the offending optimization pass, and then we can fix it. I was planning to try getting some time to do that in the next couple of weeks (though I'm also happy to get help if anyone else has spare cycles).


returning username should not scrub out the username

So the problem here is that I changed the return on UserController:createUser to return the full JSON user object (same for the deleteUser method.  This actually failed the tests because it no longer returned username.
It worked in the first case, because if no keys are returned, it calls showUser . . I'm not sure why that didn't scrub the data.

If there is another way I should solve. this let me know.  I'll put in the remaining Apollo PR into the dev branch that corresponds to this shortly.


Expire after each use

Hello love your project and just wondering if there is a way to make each token expire once used?
I saw this part in the config:
    /*
    |--------------------------------------------------------------------------
    | Token destroy lottery
    |--------------------------------------------------------------------------
    |
    | You can clear the token on every use or adjust the chances the query will
    | be run. By default the odds are 1 out of 10.
    |
    */

    'lottery' => [1, 10],

And tried making the value [1, 1] which didn't work - is this what this config option was intended for. Or should I clone the Autologin Controller as you mentioned and run a delete request upon each usage.
Thank you

Hey, just had a quick look through the code to get up to speed. I thought tokens were deleted after they were used once but turns out this is not the case - they remain until they expire.
The lottery was meant to clear out expired tokens. It would only be called when a token is used, so every x token validations would trigger a cleanup.
Happy to accept a PR that would add the functionality to destroy tokens after usage, but if you wanted to get it out the door for your own app I reckon extending the autologin controller and adjusting it as you need would do the trick. Hope this helps!

Thanks for the quick reply - will go with the latter for now as it might be best to write some config to switch immediate token expiry on or off - i've gone with the quick and dirty option - thank you 👍


Web -LHN - Crash after scrolling down in LHN expensifail account

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Log in<EMAIL_ADDRESS>/ w323052760We
Scroll down in LHN

Expected Result:
LHN should scroll all the scroll down and all chats should be visible
Actual Result:
Crash after scrolling down in LHN expensifail account:
<EMAIL_ADDRESS>/ w323052760We
Workaround:
Unknown
Platform:

Where is this issue occurring?

Web

Version Number: v1.2.5-0
Reproducible in staging?: Y
Reproducible in production?: Y
Email or phone of affected tester (no customers<EMAIL_ADDRESS>/ w323052760We
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
https://user-images.githubusercontent.com/43996225/191838994-9ed8ad91-a123-4af6-9ee1-89f787da1c57.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause internal team
Slack conversation:
View all open jobs on GitHub

huh, the console makes it seem like an avatar issue?

react_devtools_backend.js:4026 TypeError: Cannot read properties of undefined (reading 'avatar')
    at HU (SidebarUtils.js:318:91)
    at KU (OptionRowLHN.js:59:24)
    at gi (react-dom.production.min.js:166:137)
    at dl (react-dom.production.min.js:289:386)
    at su (react-dom.production.min.js:279:379)
    at au (react-dom.production.min.js:279:310)
    at ou (react-dom.production.min.js:279:170)
    at Yl (react-dom.production.min.js:272:245)
    at Bo (react-dom.production.min.js:127:105)
    at Zl (react-dom.production.min.js:265:461)

personalDetails is undefined, and so its erroring out as we are trying to get personalDetails.avatar.

Looks like it all crumbles when there is a room with 0 participants:

Okay, so rooms with 0 participants is what breaks it.

We pull the report data we need for the LHN object - source
We get the participant list from the report object then pass it into `getPersonalDetailsForLogins() to get personal details --- source
For 0 participants, the method will return an empty object. When we try to get the values for the object, which returns an empty array
We then try to get the first element of the array here, which returns undefined. So perstonalDetails is undefined
Then we try to get personalDetail.avatar from undefined which breaks everything.

cc @tgolen


docs: fix incorrect package description in string namespace

Description

What is the purpose of this pull request?

This pull request:

fixes incorrect package description in string namespace's README.md.

Checklist

Please ensure the following tasks are completed before submitting this pull request.

[x] Read, understood, and followed the contributing guidelines.

@stdlib-js/reviewers

@Snehil-Shah You need to actually update the reference package, NOT the namespace README. The namespace README is auto-generated from child package information.

Understood.


What happened to v2.0.x releases?

Hello, there were v2.0.0, v2.0.1 and v2.0.2 releases (still available on Packagist), what happened to them, were they deleted? Should I downgrade to v0.15?

There was an accidental release that caused confusion. I believe @MasterOdin will add this to the release notes.
Basically, the latest release is 0.15 and includes all the changes from the short-lived 2.0 release along with some other fixes and changes that were meant to be included.

I've added a note to the release notes indicating that the releases were deleted. Given that we still have breaking changes on just regular functionality, we are sticking with 0.x releases for the time being.
We are working to remove the tags from packagist as well.

OK, thanks for clarification.

The 2.x tags have now been removed on packagist it seems.

Which is bad IMO. You should never delete tags since this causes a chain of issues. E.g. we did upgrade and now Compose is unable to install the package.

I would agree that it took too long for the version to be wiped from composer + other places, though I disagree that it's a mistake to never delete tags that were mistakenly created, especially around major versions. I am sorry it happened, and I'd like to believe it won't happen again, but software development is a human endeavor and to err is human after all.

I believe packagist removed the deleted releases the same way it removes deleted branches. There in a delay between the github change and the branch being removed from their servers.

Which is bad IMO. You should never delete tags since this causes a chain of issues. E.g. we did upgrade and now Compose is unable to install the package.

We apologize for the pain this is causing you. Unfortunately, the fix was delayed as we were missing changes meant to be in the original release and this is the fallout.

Of course, mistakes happen, we are all human after all. Still this could have been handled differently depending on the further plans / roadmap. E.g. continue in 2.x with non-breaking changes and raise to 3.x, 4.x, etc. on breaking changes. There is no problem raising the major version, that's what it is meant for.
Aside from that I'd be more curious why this wasn't 1.x instead. Was this intentionally skipped?

Aside from that I'd be more curious why this wasn't 1.x instead. Was this intentionally skipped?

The 2.0 release was a mistake, there was no intention to skip 1.0 with it. @MasterOdin would like to release 1.0 with a stable version sometime in the future, but these changes weren't ready for that.

OK, thanks for the explanation. :+1:


How can I change the Font Size?

How can I change the textarea font size?

Hi, @dp1980 , Have you tried options?

Hi, @dp1980
You can check the documentation, or use custom css.


https://hibernate.atlassian.net/browse/HHH-951

https://hibernate.atlassian.net/browse/HHH-951

merged


ISPN-11678 IndexModificationStrategy removal + ISPN-11712 Indexing auto-enabling based on  presence

IndexModificationStrategy is mostly degenerated after all the recent removals and can be removed entirely and its code merged into QueryInterceptor
https://issues.redhat.com/browse/ISPN-11678

<indexing enabled="true"> should be replaced simply with <indexing>
https://issues.redhat.com/browse/ISPN-11712

This is a continuation of the discussion https://github.com/infinispan/infinispan/pull/8204#discussion_r411342293

Compilation error

Compilation error

fixed

LGTM @anistor. The only thing missing is to update upgrading.adoc to reflect your changes here. More specifically, mention about about the auto enabling of indexing in the declarative config when child element are present, and the fact that Index.XYZ is ignored

I've updated the adocs @gustavonalle ! I hope it is good to go. CI has some failures but do not seem related. I've seen those on other builds ...

Merged,thanks @anistor


Does the RestMixin handle responses?

I have the following sample code which uses the postJson function. Since this is using Restler, I am wiring up to the events from Restler. However, it appears the events are swallowed, since there appears to be no way to get to the response data. I have also tried this with the post function as well. This is required to get response information for a latter operation.
data_pump
.mixin(datapumps.mixin.RestMixin)
.process(function (data) {
        var test_record = <some json>
        var test_record_json = JSON.stringify(test_record);

        this.postJson('http://qa71-app.mia.ucloud.int/ucc/api/candidates', {

            multipart: false,

            headers: { 'Content-Type' : 'application/json',
 'X-ApiKey' : 'xxxxxx'
 },

You should try this in process:
return this.postJson(...)
  .then(function(responseData) {
    return this.copy(...);
  }.bind(this));

Please note that process should return a Promise, that's why we need to return the result of .postJson() and .copy() too.

OK, I apologize but I am not following. I first tried the following to see if the data I am anticipating is correct:
this.postJson(target_service_end_point, {

multipart: false,

headers: { 'Content-Type' : 'application/json',
 'X-ApiKey' :
 'xxxxxx' },

data: test_record_json
}).then(function(responseData) {
            console.log(responseData);
            console.log(responseData.statusCode);
            this.copy(responseData);

        }.bind(this));

I see the response payload, however, I can see the statusCode or header information.
I then tried based on what you stated about process returning a promise and did the following:
first this
data_pump
.mixin(datapumps.mixin.RestMixin)
.process(function (data) {
var test_record = ''
var test_record_json = JSON.stringify(test_record);
        return this.postJson(target_service_end_point, {

            multipart: false,

            headers: { 'Content-Type' : 'application/json',
 'X-ApiKey': 'XXXXXXXX' },

            data: test_record_json
        }).then(function(responseData) {
            //console.log(responseData);
            //console.log(responseData.statusCode);
            return this.copy(responseData);
        }.bind(this));

    }).start().whenFinished().then(function(data){
        console.log(data);
        console.log(data.statusCode);
        console.log(data.headers);
    });

I get nothing in the console
then I tried this
data_pump
.mixin(datapumps.mixin.RestMixin)
.process(function (data) {
var test_record = ''
var test_record_json = JSON.stringify(test_record);
        return this.postJson(target_service_end_point, {

            multipart: false,

            headers: { 'Content-Type' : 'application/json',
 'X-ApiKey': 'XXXXXXXX' },

            data: test_record_json
        }).then(function(responseData) {
            //console.log(responseData);
            //console.log(responseData.statusCode);
            return this.copy(responseData);
        }.bind(this));

    }).then(function(data){
        console.log(data);
        console.log(data.statusCode);
        console.log(data.headers);
    }).start();

ERROR
then I tried this
data_pump
.mixin(datapumps.mixin.RestMixin)
.process(function (data) {
var test_record = ''
var test_record_json = JSON.stringify(test_record);
        return this.postJson(target_service_end_point, {

            multipart: false,

            headers: { 'Content-Type' : 'application/json',
 'X-ApiKey': 'XXXXXXXX' },

            data: test_record_json
        }).then(function(responseData) {
            //console.log(responseData);
            //console.log(responseData.statusCode);
            return this.copy(responseData);
        }.bind(this));

    }).start().then(function(data){
        console.log(data);
        console.log(data.statusCode);
        console.log(data.headers);
    });

ERROR

After some more digging, I think I see why it does not return all of the data.
In the RestMixin, line 61
You have
return restler[methodName].apply(restler, methodArgs).on('complete', function(result) {
However in Restler's documentation for events,(complete: function(result, response)) 'complete' has two arguments.
The first is the result, which is what you are returning, the second which is missing is the response with all of the statusCodes and header information.
We need both

Any update on this item?

I've fixed it in 0.3.26, you should receive the response in the second argument of promise resolved callback:
return this.postJson(...)
  .then(function(result, response) {
    return this.copy(...);
  }.bind(this));


CI for Node

CI for Node

Initializes with two players
Starts the game with a random player
Sets the current player to be whoever it is not


Lucide icon not imported in angular 17

Package

[ ] lucide
[X] lucide-angular
[ ] lucide-flutter
[ ] lucide-preact
[ ] lucide-react
[ ] lucide-react-native
[ ] lucide-solid
[ ] lucide-svelte
[ ] lucide-vue
[ ] lucide-vue-next
[ ] Figma plugin
[ ] source/main
[ ] other/not relevant

Version
0.302.0
Browser

[X] Chrome/Chromium
[ ] Firefox
[ ] Safari
[ ] Edge
[ ] iOS Safari
[ ] Opera
[ ] Other/not relevant

Operating system

[X] Windows
[ ] Linux
[ ] macOS
[ ] Other/not relevant

Description
if we install lucide icon and import in angular 17 then import in standalone component
Steps to reproduce
@Component({
selector: 'app-topbar',
standalone: true,
imports: [DrawerModule,MnDropdownComponent,LucideAngularModule.pick(icons)],
templateUrl: './topbar.component.html',
styleUrl: './topbar.component.scss',
schemas: [CUSTOM_ELEMENTS_SCHEMA],
})
Checklist

[X] I have searched if someone has submitted a similar issue before and there weren't any. (Please make sure to also search closed issues, as this issue might already have been resolved.)

This has nothing to do with lucide-angular - you simply cannot use ModuleWithProvider import types for standalone components in Angular. Instead, you have to either use providers to provide the icons (see https://lucide.dev/guide/packages/lucide-angular#injecting-multiple-icon-providers) or pass the icons as data instead of names, e.g.:
@Component({
  selector: 'app-topbar',
  standalone: true,
  imports: [CommonModule, RouterOutlet, LucideAngularModule],
  template: `<lucide-angular [img]="HomeIcon" />`,
})
export class AppComponent {
  protected readonly HomeIcon = HomeIcon;
}


Extended operator errors and added forecast specific exceptions

Introduced OperatorSchemaYamlError, ForecastSchemaYamlError and ForecastInputDataError.
Made target_column and target_column mandatory.
Updated code with relevant errors.

Looks like there are some conflicts with the target branch. We will need to merge the feature/forecasting into this branch at first.


Support animation of SVG color properties

Animation of 'fill', 'flood-color', 'lighting-color', 'stop-color',
'stroke' is now supported.
https://github.com/web-animations/web-animations-js/issues/81

lgtm


x/oauth2:  Config.Exchange goes into a runaway for loop hammering my OAuth2 server's /token enpoint

Go version
go version go1.21.5 windows/amd64
What operating system and processor architecture are you using (go env)?
set GO111MODULE=on
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\ghsta\AppData\Local\go-build
set GOENV=C:\Users\ghsta\AppData\Roaming\go\env
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=C:\work\github\pkg\mod
set GONOPROXY=github.com/fluffy-bunny/fluffy-kafka,go.mapped.dev
set GONOSUMDB=github.com/fluffy-bunny/fluffy-kafka,go.mapped.dev
set GOOS=windows
set GOPATH=C:\work\github
set GOPRIVATE=github.com/fluffy-bunny/fluffy-kafka,go.mapped.dev
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=C:\Program Files\Go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLCHAIN=auto
set GOTOOLDIR=C:\Program Files\Go\pkg\tool\windows_amd64
set GOVCS=
set GOVERSION=go1.21.5
set GCCGO=gccgo
set GOAMD64=v1
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=C:\work\github\mapped\ccc\oidc-orchestrator\go.mod
set GOWORK=
set CGO_CFLAGS=-O2 -g
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-O2 -g
set CGO_FFLAGS=-O2 -g
set CGO_LDFLAGS=-O2 -g
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=C:\Users\ghsta\AppData\Local\Temp\go-build3311421769=/tmp/go-build -gno-record-gcc-switches

What did you do?
I have this in a private repo that I can share.
I am using a slight modified version of this app
I am running a simple echo app where I exposed a REST POST /token endpoint.
My handler doesn't do much, other than make an outbound REST call to get some info and then returns.
During the Exchange the client hammers my /token endpoint over and over again.  I have seen this on 2 separate machines and can produce it pretty reliably.
The problem seems to be deep in the http library where there is a for loop in play. So probably not the oauth2 code.
I can repo it is running the 2 apps separately and using vscode where I debug both.
I have tracked it down to the r, err := ContextClient(ctx).Do(req.WithContext(ctx))
func doTokenRoundTrip(ctx context.Context, req *http.Request) (*Token, error) {
	r, err := ContextClient(ctx).Do(req.WithContext(ctx))
	if err != nil {
		return nil, err
	}
...
}

net/http/transport.go:604
resp, err = pconn.roundTrip(treq)

btw: Sometimes it works.
I will happily share my repo with someone that can go deeper on this than I have been able to investigate so far.
What did you expect to see?
a single call to the /token endpoint that either succeeds for fails.
What did you see instead?
My external services /token endpoint is getting hammered.

Can you share a trimmed down version of your code that triggers this, so we can reproduce? Thanks

@mauri870 I added you to my repo.
use the following branch

Run the server
Run the ClientApp

browse to login
It will take you to a google login.
login.
At this point you will see that the server output is getting hammered.

Thanks for the update. However, I prefer keeping discussions open to encourage community involvement. I am not affiliated with Google in any way nor directly responsible for resolving bugs or investigating issues. Like many others, I do this in my free time.
By making the discussion openly available any other community member has access to the full context and details and can jump in to help.
Until someone comes up with a repro, it will be difficult to move forward with this, but I do appreciate your involvement and you providing more details on the issue.
If you can take a bit more time to trim down your program to get a reproducer that would be the the fastest way to get to a solution if this is a real bug.

made it public

more clues:
My server's /token endpoint makes an outbound HTTP POST call.
sequenceDiagram
    ClientApp->>Server: POST /token
    Server->>DownstreamServer: POST /token
    DownstreamServer-->>Server: TokenResponse
    Server->>Server: Mint New Tokens
    Server-->>ClientApp: TokenResponse

Doing this makes the client app go into a runaway loop.
I made the following changes and no runaway loop.  My downstream server is now just returning a mocked reponse.
sequenceDiagram
    ClientApp->>Server: POST /token
    Server->>MockDownstreamServer: POST /token
    MockDownstreamServer-->>Server: TokenResponse
    Server->>Server: Mint New Tokens
    Server-->>ClientApp: TokenResponse

This doesn't look like a problem with go oauth libs, and inserting traces into the client doesn't show it making repeated requests.
Instead it appears to be errors within your server application that is causing retries.
Unlike many projects, the Go project does not use GitHub Issues for general discussion or asking questions. GitHub Issues are used for tracking bugs and proposals only.
For questions please refer to https://github.com/golang/go/wiki/Questions

Confirmed I had a recursion problem on the server side.  Thanks for the slap in the head @seankhliao :)


The menu option for downloading the dataset seems to float in a strange place

From Stuart

Changing the way the legend is displayed should fix this.
Old way:
img(src = "legend2.gif", width = "600px")

Now:
img(src = "legend2.gif", width = "125%")

Changeing window would legend size too:


PhpMyAdmin cannot import sql file

I tried to import sql file into my mariadb database using phpmyadmin 5.0.0 (devilbox: v1.7.2 (2020-09-17))
But always failed, and phpmyadmin give a note: Could not load the progress of the import.
I check on console, the system cannot access
Request URL: http://localhost/vendor/phpmyadmin-5.0.0/import.php
Request Method: POST
Status Code: 502 Bad Gateway
ISSUE TYPE

Bug Report

@wiedhodho can you update to v1.8.0 (latest release), which also has a newer phpMyAdmin version.
If you issue continues, please provide reproducible steps for this issue.

I have upgrade to the latest release, but the problem is still same

@wiedhodho 99% of the time this happens is because of a problem with the file you are trying to import. Its either to large, has to many queries or different versions.
Could you try to export and import something really simple? A single table DB with like a couple of entries.

my sql file is only 3kb, I dump it using phpmyadmin in another my devilbox.
I tried it using adminer in devilbox and it succeed. But not using phpmyadmin.

I'm having this same issue!! Really strange. Checked my php upload sizes and thats fine.

I have had the same issue with phpMyAdmin when importing databases.  I use the php shell to import any databases:
https://devilbox.readthedocs.io/en/latest/maintenance/backup-and-restore-mysql.html#restore

I've tried to reproduce this, but it always succeeded with phpMyAdmin (~ 1 MB SQL dump).
Could somepne provide a sanitized/anonymized dump which fails including what PHP, HTTPD and MySQL version.

Here i attach error image, phpversion, and sql files
I tri using import button and click GO! => Error
But if I try with drag n drog, It succeed. :D
whatsapp.zip

@wiedhodho @Sandy-Garrido @jameswadsworth I was able to reprocude it.
After some debugging I found out that this is an issue with uploadprogress.
You can disable it for now by appending uploadprogress to the disabled modules via .env file settings:
PHP_MODULES_DISABLE=oci8,PDO_OCI,pdo_sqlsrv,sqlsrv,rdkafka,swoole,uploadprogress

I will have to investigate further.


TCL prompt matching fails on IOS-XE 17+

Describe the bug
Regular expression for tclsh on IOS-XE fails to capture the prompt, to be more specific:
+>(tcl)#
To Reproduce
Steps to reproduce the behavior:

Your script

from scrapli import Scrapli
from scrapli_cfg import ScrapliCfg

with open("config", "r") as f:
    my_config = f.read()

device = {
   "host": "<IP_ADDRESS>",
   "auth_username": "cisco",
   "auth_password": "cisco",
   "auth_strict_key": False,
   "platform": "cisco_iosxe"
}
conn = Scrapli(**device)
cfg_conn = ScrapliCfg(conn=conn)
cfg_conn.open()
load_result = cfg_conn.load_config(config=my_config, replace=True)
print(load_result)

What you're connecting to (vendor, platform, version)
Cisco IOS-XE 17.3.1
Anything else relevant
n/a

Expected behavior
Regular expression should be updated, so the script doesn't crash.
Stack Trace
Traceback (most recent call last):
  File "/home/dmfigol/projects/network-programmability-stream/scrapli-apps/.venv/lib/python3.8/site-packages/scrapli/transport/plugins/ssh2/transport.py", line 256, in read
    _, buf = self.session_channel.read(65535)
  File "ssh2/channel.pyx", line 116, in ssh2.channel.Channel.read
  File "ssh2/channel.pyx", line 144, in ssh2.channel.Channel.read_ex
  File "ssh2/utils.pyx", line 148, in ssh2.utils.handle_error_codes
ssh2.exceptions.Timeout

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "scrapli-cfg.py", line 30, in <module>
    cfg_conn.load_config(config=rendered_config, replace=True)
  File "/home/dmfigol/projects/network-programmability-stream/scrapli-apps/.venv/lib/python3.8/site-packages/scrapli_cfg/platform/core/cisco_iosxe/sync_platform.py", line 203, in load_config
    config_result = self.conn.send_config(config=config, privilege_level="tclsh")
  File "/home/dmfigol/projects/network-programmability-stream/scrapli-apps/.venv/lib/python3.8/site-packages/scrapli/driver/network/sync_driver.py", line 536, in send_config
    multi_response = self.send_configs(
  File "/home/dmfigol/projects/network-programmability-stream/scrapli-apps/.venv/lib/python3.8/site-packages/scrapli/driver/network/sync_driver.py", line 477, in send_configs
    responses = super().send_commands(
  File "/home/dmfigol/projects/network-programmability-stream/scrapli-apps/.venv/lib/python3.8/site-packages/scrapli/driver/generic/sync_driver.py", line 208, in send_commands
    response = self._send_command(
  File "/home/dmfigol/projects/network-programmability-stream/scrapli-apps/.venv/lib/python3.8/site-packages/scrapli/decorators.py", line 408, in decorate
    result = wrapped_func(*args, **kwargs)
  File "/home/dmfigol/projects/network-programmability-stream/scrapli-apps/.venv/lib/python3.8/site-packages/scrapli/driver/generic/sync_driver.py", line 131, in _send_command
    raw_response, processed_response = self.channel.send_input(
  File "/home/dmfigol/projects/network-programmability-stream/scrapli-apps/.venv/lib/python3.8/site-packages/scrapli/decorators.py", line 284, in decorate
    return wrapped_func(*args, **kwargs)
  File "/home/dmfigol/projects/network-programmability-stream/scrapli-apps/.venv/lib/python3.8/site-packages/scrapli/channel/sync_channel.py", line 440, in send_input
    buf += self._read_until_prompt()
  File "/home/dmfigol/projects/network-programmability-stream/scrapli-apps/.venv/lib/python3.8/site-packages/scrapli/channel/sync_channel.py", line 131, in _read_until_prompt
    buf += self.read()
  File "/home/dmfigol/projects/network-programmability-stream/scrapli-apps/.venv/lib/python3.8/site-packages/scrapli/channel/sync_channel.py", line 68, in read
    buf = self.transport.read()
  File "/home/dmfigol/projects/network-programmability-stream/scrapli-apps/.venv/lib/python3.8/site-packages/scrapli/transport/plugins/ssh2/transport.py", line 256, in read
    _, buf = self.session_channel.read(65535)
  File "/home/dmfigol/projects/network-programmability-stream/scrapli-apps/.venv/lib/python3.8/site-packages/scrapli/decorators.py", line 354, in _signal_raise_exception
    self._handle_timeout()
  File "/home/dmfigol/projects/network-programmability-stream/scrapli-apps/.venv/lib/python3.8/site-packages/scrapli/decorators.py", line 311, in _handle_timeout
    raise ScrapliTimeout(self.message)
scrapli.exceptions.ScrapliTimeout: timed out sending input to device

OS (please complete the following information):

OS: [e.g. Ubuntu, MacOS, etc. - Note scrapli is not thoroughly tested on Windows and some/many things will not
be supported] Ubuntu 20.04
scrapli version: 2021.1.30

Additional context
Regexp fix: https://regex101.com/r/QdYnNu/1 (also cleaned it up to make it more concise)
^([\w.\-@\/+>:]+\(tcl\)[>#]|\+>)$

Thank you for raising this! Just merged your fix to develop, closing!


Add Google Analytics

@tdooner should we use the existing GA account from the 2014 Open Disclosure site?

Does anyone have the ga account credentials?

Here's the embed code:
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-50973042-1', 'auto');
  ga('send', 'pageview');

Sweet. Thanks.

🆒 Also, you should still have access from last time. Let me know if you've changed your email or need another invite or something.

Yeah, I've still got it. Looks like I could have solved this problem
myself. Sorry about the noise.
On Wed, Oct 5, 2016 at 3:02 PM Tom Dooner<EMAIL_ADDRESS>wrote:

🆒 Also, you should still have access from last time. Let me know if
you've changed your email or need another invite or something.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/caciviclab/disclosure-frontend/issues/199#issuecomment-251812686,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD9iQFH9MMRrbkRz37TIQ1GuEuU7wOqUks5qxB5dgaJpZM4KJoHe
.


latest fsspec does not work with intake

Description
intake fails to open remote catalog.
Workaround: use fsspec<0.9
https://github.com/roocs/rook/blob/77f51c6986bd26124107aa89a92203657e8aa8e0/environment.yml#L29
Environment

rook version used, if any: 0.5.0
Python version, if any:
Operating System:

Steps to Reproduce
import intake
url = "https://github.com/cp4cds/c3s_34g_manifests/raw/master/intake/catalogs/c3s.yaml"
cat = intake.open_catalog(url)

Additional Information

Also pinned pandas<1.3.0 and dask<2021.7.0 to avoid test failures with intake catalog (merge with PR #183).

See PR https://github.com/roocs/rooki/pull/85. The notebooks are using an updated intake catalog:
https://github.com/cehbrecht/c3s_34g_manifests/blob/fix-intake-catalog/intake/catalogs/c3s.yaml
Needs to be fixed in the catalog generator.


A couple more failing cases

I've still got a few more failing cases on the latest version I'm afraid.

@anthonykr3 We're getting closer :-)  I will take a look.

Fixed in 2.12.4.


Fallback message is shown even though impress is supported in the browser

The class impress-not-supported in body is replaced with impress-supported correctly, but the div with the class fallback-message is shown nonetheless. This happens on Firefox 67.

I have Firefox 67 too and it's definitively working. Typically what you experience would be caused by some JavaScript error in your presentation. Have you looked at Web Developer > Web Console?

Closing old issue.


ROM Info

Move/re-implement ROM info tool in this repo.

Checkout fmtlib

Added to repo. Will not re-implement for now.


feat!: Refactor/simplify configuration code

Signed-off-by: Alex Collins<EMAIL_ADDRESS>
Remove the ability to hot-reload config. Users should never rely on this. Some config changes required restart.
Remove the risk of having incorrect config loaded briefly before start-up.

TestFunctionalSuite/TestEventOnNodeFailSentAsPod fails


Individual Instance Inspection

There's a need to be able to trace the data and rendering for just 1 instance type to more rapidly fix data issues that occur for that instance. The following instances have had issues reported:

Instance
Issue

mac1.metal
billing is a 24 hour period

ra3.16xlarge
memory and node range stats should be different

cache.t4g.micro
add cpu credits

p4de.24xlarge
network performance column doesn't sort properly

t3a.large
add hibernation stats

m5d.large
add number of ENIs

db.r6i.2xlarge
pricing is off by $1k/mo

ra3.xplus
network details

r6i.2xlarge
max pods on EKS

g5.12xlarge
compute capability is 8.6

db.r6g.16xlarge
RDS max throughput

t3.large
Intel extensions such as AVX512

trn1.32xlarge
missing GPU info #689

r6i.4xlarge
wrong CPU speed #688

trn1.32xlarge
network data inconsistency #686

hpc6a
not showing in oregon region #614

m5.2xlarge
incorrect rate in signapore #604

m6g.medium
clock speed is unknown #542

This should be a command line switch that can be added to the build invoke set of scripts. When specified, the code should only get pricing data for the one instance. Raw pricing data from AWS should be printed to the console at every step. The final data that will be rendered onto the page should be printed as well. Since running the entire scraping process can take up to 10 minutes, this will significantly shorten development cycles.
This is most useful for EC2 which is the longest script that needs to run - scrape.py.

Instance
Issue

t3a.smal
Baseline vCPU / burstable credits #596

r7g.12xlarge
r7g.12xlarge says 48 vcpus and 384GB ram but it is 192GB ram on this page https://aws.amazon.com/ec2/instance-types/m7g/. Also, the r7g.16xlarge and r7g.metal say 512GiB ram here, but the page says 256GiB

db.t4g.medium
I don't see db.t4g available in the UAE region on the "Purchase reserved DB instances" page.  But on your page it seems to indicate it is available.

cache.t4g.micro
baseline bandwidth #617


Better custom world name validation

Follow-up to #3632 which lets you enter a custom world name. Ideally we should attach more validation to such a custom name. Right now if you submit an empty value the name simply won't change, but there's no indication for that unless the user looks. Ideal setup would instead validate the value of the field looking for a few potential issues:

Blank world name: Tell user to enter a name
World name matches an existing world name (even with differing capitalization): Tell user name already used
World name with gibberish in it: Maybe there are some special characters we should avoid? Yet we might want to support different language scripts for world name .... unsure about this one
Does the world name fully apply to the world-specific seed as well? I named two worlds the same and their world seeds varied slightly

Closing as complete (enough) with #3637 !


[Sample Onboard Request] Teams Messaging Extensions Search

Owner:
@frankqianms
ID:
msgext-search-python
Title:
Teams Messaging Extensions Search using Python
Description:
There are two basic types of Messaging Extension in Teams: Search-based and Action-based. This sample illustrates how to build a Search-based Messaging Extension.
Tags:
You can give your samples a set of tags so that users can easily locate your sample from a group of samples. Those tags can be:

Python
Message Extension
Bot Framework
Local debug
You can customize the tag you used for your sample, the recommended number of tags is less than 5.

Time:
5mins to run
Configuration:
Manual configurations required.
Users need to manage virtual environments and pip install dependencies before local debug.
This python message extension sample only supports local debug currently.
(Source code NOT in this Repo) Sample URL:
Teams Messaging Extensions Search

Can we update the title to indicate it's using Python: Teams Message Extension Search using Python

For source code:

please help run validation tool (https://github.com/OfficeDev/TeamsFx-Samples/tree/dev/validation-tool) against this sample
Better use latest manifest version TTK supported, i.e. 1.16 in Teams manifest file
Better update .env.local and teamsapp.local.yml to include APP_NAME_SUFFIX variable to align with latest change
There's an additional sample.json file which is conflict with assets/sample.json

Finished running validation tool, and got the result.

There are several failed validations.

Since it is a python sample, there is no package.json.
Since it is an external sample and the Microsoft-Teams-Samples team insists to use appManifest/ rather than appPackage/ for there considerations, there are three failed validations on that.
Since this sample only supports local debug now, there is no env/.env.dev now.

For source code:

please help run validation tool (https://github.com/OfficeDev/TeamsFx-Samples/tree/dev/validation-tool) against this sample
Better use latest manifest version TTK supported, i.e. 1.16 in Teams manifest file
Better update .env.local and teamsapp.local.yml to include APP_NAME_SUFFIX variable to align with latest change
There's an additional sample.json file which is conflict with assets/sample.json

For conflict sample.json files, sample owner @Mohammed-MSFT has awared this problem and would updated the repo soon.

onboarded in gallery, close the ticket


Misleading warning about property changes

Description
Under certain conditions, the warning:
Setting properties in response to other properties changing considered harmful
gets logged (often repeatedly) when an error occurred during the render process, rather than when properties changed in response to other properties
Live Demo
https://stackblitz.com/edit/lit-element-example-tjfppw
Steps to Reproduce

Throw an error in the _render() function.
Some time later, set the value of a property.

Expected Results
The error from the render function should be obvious in the browser's development console, and there should be no errors related to setting properties.
Actual Results
Any properties set after an error in the _render() function trigger the "Setting properties in response to other properties changing considered harmful" warning, which includes a stack trace. This pushes the original error up past the top of the console, making it look like the problem pertains to setting properties, distracting from the real problem
Cause
When properties are set, it checks to see if element.__isChanging is true, and logs a warning if it is (see https://github.com/Polymer/lit-element/blob/master/src/lit-element.ts#L209).
In _flushProperties(), it sets __isChanging = true, calls super._flushProperties(), and after a success sets __isChanging = false. This means failures in super._flushProperties() leave __isChanging == True, so the warning will trigger until the next successful call to _flushProperties().
Browsers Affected

[ x] Chrome
[ ] Firefox
[ ] Edge
[ ] Safari 11
[ ] Safari 10
[ ] IE 11

(I'm pretty sure it will effect all of the above, but I've only test on Chrome)
Versions

lit-element: v0.5.2
webcomponents: vX.X.X

This issue should no longer reproduce since we've removed the warning for the upcoming 0.6 release, currently in preview as dev. See the new update lifecycle for more info.


🐣 Add ability to use varibale replacement with {{}} in messages

Fixed from this: https://github.com/Monogatari/Monogatari/pull/76#issuecomment-477467633
Original message:
Hello : ) I used this to create a jam game and it was great!
I wanted the ability to use variables in messages using handlebars {{}}, so I added it in. Thought it'd be helpful to others : )

Thank you so much for this! I'm sure many people will find this really useful!  :D I also took a look at your game! You made an awesome use of the animations :D Would you mind if we published your game on the game gallery (Mind there are some NSFW images there)?

Sure I'd be honored! : )


Public

Rename environment
Install dependency for Colab
Fix widgets

Day4 Public Resources works fine in Colab and M1.


Prevent translate directive from removing child DOM elements

Subject of the issue
The problem is that when I need to add a link to an image and all my parameters are localized using angular translate, the image gets the hammer due to the behavior of the translate directive.

Note the attempt to provide an image as the content of the link while also having control over the description of the image via the alt tag.
Your environment

angular-translate/2.8.1
angular.js/1.3.15
browser not applicable

Steps to reproduce
http://plnkr.co/edit/UraKMdxvQDBVNV6k5hPU
Expected behaviour
Need to be able to provide attributes to the wrapper element without affecting the child elements within
Actual behaviour
The translate binding applied to the anchor tag causes the child image to be removed from DOM

This is the expected behavior of the translate directive: it will replace the inner content of the element.
At some point, this is really solid technically: We are supporting the syntax TEXT. And because angular-attr is not a dedicated directive, this is the result.
In your case, you can fix this easily using filters (at the a-element).

See also #1027


Optimized javascript is not compressed

When downloading to .js.pagespeed. **** file in specific, the server response with header Content-Encoding: gzip however it is not compressed.
curl -v -H 'Accept-Encoding: gzip,defate' http://example.com/control.js.pagespeed.ce.7baaRriFEV.js
*   Trying <IP_ADDRESS>...
* Connected to holidaysrental.eu (<IP_ADDRESS>) port 80 (#0)
> GET /wp-content/themes/wprentals/js/control.js.pagespeed.ce.7baaRriFEV.js HTTP/1.1
> Host: holidaysrental.eu
> User-Agent: curl/7.47.0
> Accept: */*
> Accept-Encoding: gzip,defate
>
< HTTP/1.1 200 OK
< Server: nginx/1.14.0
< Content-Type: application/javascript
< Connection: keep-alive
< Last-Modified: Wed, 09 May 2018 18:59:48 GMT
< X-Varnish: 33383
< Age: 0
< Via: 1.1 varnish (Varnish/5.2)
< Vary: Accept-Encoding
< X-Original-Content-Length: 65971
< Content-Encoding: gzip
< Content-Length: 12732
< X-Content-Type-Options: nosniff
< Date: Fri, 11 May 2018 22:27:51 GMT
< Expires: Fri, 11 May 2018 22:32:51 GMT
< Cache-Control: max-age=300,private
< X-Page-Speed: <IP_ADDRESS>-0
<
var has_transparent=0;var componentForm;var price_array;var

If you try to get the original file, the server does compress it correctly.

This is probably not the issue, or may even be a cut&paste error, but in your accept-encoding you misspelled "deflate" (lacking the L).
It does say content-encoding:gzip in the response headers.  Also of note: Varnish appears to be in the serving path, which may do its own inflation or something.  In any case, an equivalent fetch from ngxpagespeed.com appears to work as expected.
curl -v -H 'Accept-Encoding: gzip,deflate' 'https://www.ngxpagespeed.com/rewrite_javascript.js.pagespeed.ce.Fa3p2b86VH.js'
...
GET /rewrite_javascript.js.pagespeed.ce.Fa3p2b86VH.js HTTP/1.1
> Host: www.ngxpagespeed.com
> User-Agent: curl/7.54.0
> Accept: */*
> Accept-Encoding: gzip,deflate
>
< HTTP/1.1 200 OK
< Server: nginx/1.13.8
< Content-Type: application/javascript
< Transfer-Encoding: chunked
< Connection: keep-alive
< Vary: Accept-Encoding
< Strict-Transport-Security: max-age=15768000
< X-Original-Content-Length: 260
< Date: Sat, 12 May 2018 17:52:27 GMT
< Expires: Sun, 12 May 2019 17:52:27 GMT
< Cache-Control: max-age=31536000
< ETag: W/"0"
< X-Page-Speed: <IP_ADDRESS>-0
< Content-Encoding: gzip
<
U?K?0
     D?9ňU
          ?k?e{?U
* Connection #0 to host www.ngxpagespeed.com left intact

@Thedemon007 -- can you verify whether your Varnish is set up to incorporate Accept-Encoding into its cache key?  That might be the default for Varnish, but it's worth checking.

I'm sure something happens with the compression, firefox show this message https://prod-cdn.sumo.mozilla.net/uploads/images/2017-06-08-11-29-07-679a8c.png
My config module pagespeed releated with js is:

pagespeed EnableFilters canonicalize_javascript_libraries;
pagespeed EnableFilters defer_javascript;
pagespeed EnableFilters rewrite_javascript;
pagespeed EnableFilters inline_javascript;
pagespeed EnableFilters combine_javascript;

the problem only happens to me with a file, i think varnish work fine, how to i can verify?

I don't think Varnish has a bug. I'm just trying to understand how the systems interact. Can you try taking Varnish out of the serving path, temporarily, just to see if that resolves the problem? Even if it does resolve it, this may be a bug in PageSpeed or a configuration incompatibility between Varnish and PageSpeed, and if you run this experiment it would help us narrow it down.

I tried stop varnish temporarily but not have changes,  i can confirm the problem no is varnish the problem is related with Memcached i comment in my config file this lines:
pagespeed MemcachedThreads 1;
pagespeed MemcachedServers "localhost:11211";

And the server compress response but if i active again Memcached the problem appears again.

What you are seeing when you disable memcached is effectively a pagespeed server-side cache-flush.  It won't make any difference, once the cache is warm again, whether the physical part of the cache is stored in memcached or the file system.
But to confirm, you did the same 'curl' command, with corrected spelling for "deflate", and with varnish disabled, and you got the same results, with content-encoding:gzip but uncompressed output?
The question then is, what's the difference between what you are seeing and what happens with https://www.ngxpagespeed.com/rewrite_javascript.js.pagespeed.ce.Fa3p2b86VH.js

The server has been previously configured varnish with nginix via proxy_pass, I have tried in various ways to disable varnish, but I am not very familiar with CentOS Web Panel the php-fpm seems to be compiled when installing the web panel. So I installed php71-php-fpm and configured nginix without proxy this is my configuration but I do not know why the server still responds to some requests with the header "Via: 1.1 varnish (Varnish / 5.2)"
However I do not know what happened right now pagespeed does not rewriter the url on the page but when making the request with memcached active the answer is the same.