APEXMALHAR-2151 delimited file format support to FSLoader

@chinmaykolhatkar Could you please review

Incorporated review comments

@chinmaykolhatkar  I have used Delimited Schema used in CsvParser to get field-specific information . Updated tests too.

Looks good to me. I'll merge it in a day if there are no further comments.


macos/grpc_build_artifacts timeout

https://source.cloud.google.com/results/invocations/47b2cf5d-896a-4e35-82f4-f48f7d272b25/targets/grpc%2Fcore%2Fpull_request%2Fmacos%2Fgrpc_build_artifacts/log
checking for finite... yes
checking for flock... yes
checking for hypot... yes
checking for isinf... yes
checking for isnan...
ERROR: Aborting VM command due to timeout of 7200 seconds
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
[14:27:46] Collecting build artifacts from build VM
Build script failed with exit code: 1

Seeing a whole bunch of timeouts for mac artifact build in #21909:
https://source.cloud.google.com/results/invocations/293223a9-5fd4-4008-bc07-98b6a115f5b4/targets/github%2Fgrpc/tests;group=tasks;test=build_artifact.csharp_ext_macos_x64;row=1

seen again - https://source.cloud.google.com/results/invocations/8b0688a2-7197-46c7-b55d-42ee8200a945/targets/grpc%2Fcore%2Fpull_request%2Fmacos%2Fgrpc_build_artifacts/log

Seems state now.


Ensure the meta cluster rename drop down menu for remapping doesn't get cut off

What is the purpose of this PR?
Closes #630. The way the toolbar is set up, the meta cluster renaming textbox/drop-down menu can get cut off on the far right. This needs to be pushed further to the center.
How did you implement your changes
Adjust the toolbar's layout.justify_content setting to 'center'.

@ngreenwald just tested this on MIBIAN and the meta cluster renaming portion of the lower tool doesn't get cut off. Aesthetically might not be as pleasing to look at though, let me know if that's an issue.

Will you screenshot it and post?

This is how it looks like with 30 clusters:

What about with 200 pixel clusters instead of 100

200 SOM clusters and 30 meta clusters. Both the slider and the selection bar still appear. The crowding issue is a separate issue, unfortunately not a whole lot that can be done with this many clusters and the limited space in the Jupyter notebook.


Can not access media manager in TinaAdmin

When using TinaAdmin one can not edit media.
See: https://www.loom.com/share/64c19a962bf74188bc6e6bdb9042d10f

There's a good chance this is fixed by https://github.com/tinacms/tinacms/pull/2261 (inject-tailwind PR).

It did fix it.


NameError: name 'vim' is not defined

I'm on ubuntu WSL and I installed python support with apt install python3-neovim
Error detected while processing function vim_ai#AIChatRun[30]..provider#python3#Call:
line   18:
Error invoking 'python_execute_file' on channel 4 (python3-script-host):
Traceback (most recent call last):
  File "/home/nrosquist/.local/share/nvim/lazy/vim-ai/py/chat.py", line 2, in <module>
    plugin_root = vim.eval("s:plugin_root")
NameError: name 'vim' is not defined

Hi, thanks for reporting! I think I fixed this issue by explicitly importing vim module. Please update the plugin and let me know if it works for you.

Hmmm, that doesn't seem to fix it.
I reinstalled the plugin via lazy, and double checked that your commit came through.
I wonder if it's something with my nvim python integration. I will see if I can test that separately

Closing due to inactivity

Closing due to inactivity

import vim at the top of ~/.local/share/nvim/site/pack/plugins/start/vim-ai/py/complete.py fixed this for me

@AutoRescue thank you for letting me know. I have pushed the fix, hope it definitely resolves this issue


Update rapids private dependency to 24.04.1

To fix: https://github.com/NVIDIA/spark-rapids/issues/10665
Due to the part of 2.12 private jar has been uploaded and can not be removed from maven central
we'll need to upgrade dependency version of rapids private jar to 24.04.1 for spark-rapids v24.04.0 release
Signed-off-by: Tim Liu<EMAIL_ADDRESS>

Convert this PR to draft until the 24.04.1-SNAPSHOT private jar is available.

build

build


Add steps to explain solution in output in vector dot product

Is your feature request related to a problem? Please describe.

Add steps to explain solution in output in vector dot product

Describe the solution you'd like

A clear and concise description of what you want to happen.

@sairish2001 i would like to work on this issue

Go ahead
Deadline 10 May,2021


Build Support API: Ticket Forms

Need to build, validate input, and test all the following endpoints for "Ticket Forms":

[x] List Ticket Forms
[x] Create Ticket Forms
[x] Show Ticket Form
[x] Show Many Ticket Forms
[x] Update Ticket Forms
[x] Delete Ticket Form
[x] Reorder Ticket Forms
[x] Clone an already existing ticket form

completed by #67


feat(cert): Create a Certificate signing request using tedge cert create-csr

Proposed changes
This PR is introducing new tedge cert command: create-csr along with new config option device.csr_path. This allow to create a certificate signing request which later can be used to create device certificate using CA. The Syntax for the command is following:
# Create a new private key (if it does not already exist)
tedge cert create-csr --device-id mydevice001

# Re-use the existing device-id from an already existing certificate
tedge cert create-csr

Command will reuse existing public certificate to use its CommonName.
Moreover, the command will reuse private key if it already exists. Same goes for tedge cert create.

Types of changes

[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Improvement (general improvements like code refactoring that doesn't explicitly fix a bug or add any new functionality)
[ ] Documentation Update (if none of the other choices apply)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Paste Link to the issue

#2760

Checklist

[x] I have read the CONTRIBUTING doc
[x] I have signed the CLA (in all commits with git commit -s)
[x] I ran cargo fmt as mentioned in CODING_GUIDELINES
[x] I used cargo clippy as mentioned in CODING_GUIDELINES
[x] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

Further comments

@didier-wenzek Do you think it would make sense if there was also an option to override where to write the csr file to? Reasoning is that the CSR is generally something that has to be triggered by another system (e.g. service which is doing the request to a PKI API and the service needs to know how to access the resulting csr file...and having to do a tedge config get csr.path involves having to know too much about tedge)
For example:
tedge cert csr --output-file ./mycsr

Or even writing the csr to stdout?
tedge cert csr > ./mycsr

@didier-wenzek Do you think it would make sense if there was also an option to override where to write the csr file to? Reasoning is that the CSR is generally something that has to be triggered by another system (e.g. service which is doing the request to a PKI API and the service needs to know how to access the resulting csr file...and having to do a tedge config get csr.path involves having to know too much about tedge)
For example:
tedge cert csr --output-file ./mycsr

Or even writing the csr to stdout?
tedge cert csr > ./mycsr

Why not.
That said, to interact with a CA what we provide now might not be enough to get a device certificate and is definitely not enough to get certificates for local entities. Indeed, we will have to provide not only a CN, but also critical infos (Subject, Subject Alternative Name, Key Usage, Extended Key Usage).
So we will also need to provide a CSR template on the command line as well as template examples for each kind of entity (the main device, the MQTT broker,  tedge_agent, tedge_mapper, child devices ...).


References to require get turned into a call

Reference to require as in the following
var temp = require;
get turned into a call to require('.') which is not at all what was expected.  In a Node environment trying to get require function into another variable to allow requires outside webpack.

http://webpack.github.io/docs/context.html
http://webpack.github.io/docs/context.html#critical-dependencies

It looks like it is probably an interaction with babel.


clair: Update Dockerfile to build DB

Addressing https://issues.redhat.com/browse/PROJQUAY-4878 this removes the pre-compiled DB fetch and forces the container to do the DB creation. This is required as the infra for serving the pre-compiled DB is going away. Also, update the clair-action version. This will increase the time it takes to produce the image as it will be reaching out directly to Clair's sources, but given it is run daily that shouldn't be an issue. This also means that errors in the update cycle will be transparent in the Actions instead of hidden (as they are now).
Signed-off-by: crozzy<EMAIL_ADDRESS>

Is possible to not log at debug level? It generates way too much lines during the build?

Is possible to not log at debug level? It generates way too much lines during the build?

Looks like there is no option to suppress the debug log in the update command.
@crozzy I've opened the PROJQUAY-5085 ticket to add that option.


Add path alias to the auto import suggestions

From @Maus3rVonDutch on December 2, 2017 9:52
Right now the auto import feature provides the file location of any symbol, which is great but could be improved upon. In the ts compiler options you have the option to provide path aliases, so you can combine multiple symbols in one import declaration:
tsconfig.json
{
    "compilerOptions": {
        ...
        "paths": {
            "@my-application/common": [
                "./src/app/common/index"
            ],
            "@my-application/module1": [
                "./src/app/module1/index"
            ],
            "@my-application/module2": [
                "./src/app/module2/index"
            ]
        }
}

With this configuration you can import multiple classes in one declaration:
import { CommonA, CommonB } from '@my-application/common';
import { ClassA, ClassB, ClassC } from '@my-application/module1';
import { ClassD, ClassE } from '@my-application/module2';

It would be a great feature if the import suggestion provider would be able to pick up those paths from the tsconfig.json file and provide those aliases as well. Maybe the provider could have a configuration that allows you to include both options (the local file path and the alias) or just one or the other. As a note, when choosing the alias, the import feature would have to add the symbol to any existing declaration (and not just always add the alias as a new import line)
Copied from original issue: Microsoft/vscode#39459

Tested with TS 2.6.2 and 2.7-dev-20171203. Confirmed that auto imports do not seem to ever show suggestions that use the paths


Metrics evaluated before the step is over.

Summary
What happened/what you expected to happen?
When I have this
      metrics:
        prometheus:
          - name: backup_db_table
            help: "Backing up a db table"
            when: "{{status}} == Running"
            labels:
              - key: table
                value: "{{inputs.parameters.table}}"
              - key: status
                value: "{{status}}"
            counter:
              value: "1"

I never get any metrics emitted. If I change it to
      metrics:
        prometheus:
          - name: backup_db_table
            help: "Backing up a db table"
            # when: "{{status}} == Running"
            labels:
              - key: table
                value: "{{inputs.parameters.table}}"
              - key: status
                value: "{{status}}"
            counter:
              value: "1"

The status is always "Running".
I want to emit metrics with a label = failed or success. This is what the docs seem to say.
I thought the status was meant to be evaluated when the step completes. This looks more like it is running in realtime.
Diagnostics
What Kubernetes provider are you using?
minikube version: v1.15.1
commit: 23f40a012abb52eff365ff99a709501a61ac5876
What version of Argo Workflows are you running?
argo: v2.12.0-rc3
BuildDate: 2020-11-23T12:28:02Z
GitCommit: 85cafe6e882f9a49e402c29d14e04ded348b07b2
GitTreeState: clean
GitTag: v2.12.0-rc3
GoVersion: go1.13
Compiler: gc
Platform: darwin/amd64
image: argoproj/workflow-controller:v2.12.0-rc2
Paste a workflow that reproduces the bug, including status:
kubectl get wf -o yaml ${workflow}

    namespaced/clickhouse-backup-template/backup-db-table:
      arguments: {}
      container:
        args:
        - -v
        - -f
        - -XPOST
        - http://{{inputs.parameters.ch_server}}:{{inputs.parameters.port}}/backup/create?table={{workflow.parameters.db_name}}.{{inputs.parameters.table}}&name={{inputs.parameters.bkname}}
        image: nigelbrown/chops:1
        name: ""
        resources: {}
      inputs:
        parameters:
        - name: ch_server
        - name: port
        - name: table
        - name: bkname
      metadata: {}
      metrics:
        prometheus:
        - counter:
            value: "1"
          help: Backing up a db table
          labels:
          - key: table
            value: '{{inputs.parameters.table}}'
          - key: status
            value: '{{status}}'
          name: backup_db_table
      name: backup-db-table
      outputs: {}

Paste the logs from the workflow controller:
kubectl logs -n argo $(kubectl get pods -l app=workflow-controller -n argo -o name) | grep ${workflow}

This was way too long. It did not seem to contain any metric info. The rest of the workflow worked well.

Message from the maintainers:
Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.

Will take a look. Meanwhile, can you try in latest (v2.12.9)?

I will give it a go. Cheers

argo_workflows_backup_ingestor_task{action="pause", instance="<IP_ADDRESS>:9090", job="kubernetes-service-endpoints", kubernetes_name="workflow-controller-metrics", kubernetes_namespace="argo", status="Succeeded", task="event_alert"}
argo_workflows_backup_ingestor_task{action="pause", instance="<IP_ADDRESS>:9090", job="kubernetes-service-endpoints", kubernetes_name="workflow-controller-metrics", kubernetes_namespace="argo", status="Succeeded", task="event_alert_priority"}
argo_workflows_backup_ingestor_task{action="pause", instance="<IP_ADDRESS>:9090", job="kubernetes-service-endpoints", kubernetes_name="workflow-controller-metrics", kubernetes_namespace="argo", status="Succeeded", task="event_app"}
argo_workflows_backup_ingestor_task{action="pause", instance="<IP_ADDRESS>:9090", job="kubernetes-service-endpoints", kubernetes_name="workflow-controller-metrics", kubernetes_namespace="argo", status="Succeeded", task="event_page"}
argo_workflows_backup_ingestor_task{action="resume", instance="<IP_ADDRESS>:9090", job="kubernetes-service-endpoints", kubernetes_name="workflow-controller-metrics", kubernetes_namespace="argo", status="Succeeded", task="event_alert"}
argo_workflows_backup_ingestor_task{action="resume", instance="<IP_ADDRESS>:9090", job="kubernetes-service-endpoints", kubernetes_name="workflow-controller-metrics", kubernetes_namespace="argo", status="Succeeded", task="event_alert_priority"}
argo_workflows_backup_ingestor_task{action="resume", instance="<IP_ADDRESS>:9090", job="kubernetes-service-endpoints", kubernetes_name="workflow-controller-metrics", kubernetes_namespace="argo", status="Succeeded", task="event_app"}
argo_workflows_backup_ingestor_task{action="resume", instance="<IP_ADDRESS>:9090", job="kubernetes-service-endpoints", kubernetes_name="workflow-controller-metrics", kubernetes_namespace="argo", status="Succeeded", task="event_page"}
argo_workflows_backup_ingestor_task{action="snapshot", instance="<IP_ADDRESS>:9090", job="kubernetes-service-endpoints", kubernetes_name="workflow-controller-metrics", kubernetes_namespace="argo", status="Error", task="event_app"}
argo_workflows_backup_ingestor_task{action="snapshot", instance="<IP_ADDRESS>:9090", job="kubernetes-service-endpoints", kubernetes_name="workflow-controller-metrics", kubernetes_namespace="argo", status="Succeeded", task="event_alert"}
argo_workflows_backup_ingestor_task{action="snapshot", instance="<IP_ADDRESS>:9090", job="kubernetes-service-endpoints", kubernetes_name="workflow-controller-metrics", kubernetes_namespace="argo", status="Succeeded", task="event_alert_priority"}
argo_workflows_backup_ingestor_task{action="snapshot", instance="<IP_ADDRESS>:9090", job="kubernetes-service-endpoints", kubernetes_name="workflow-controller-metrics", kubernetes_namespace="argo", status="Succeeded", task="event_app"}
argo_workflows_backup_ingestor_task{action="snapshot", instance="<IP_ADDRESS>:9090", job="kubernetes-service-endpoints", kubernetes_name="workflow-controller-metrics", kubernetes_namespace="argo", status="Succeeded", task="event_page"}
Click: select series, CMD + click: toggle multiple series

Yes, the latest seems to work as expected.
It also seems to fix another bug where if there was a mutex waiting while a workflow was deleted, it would take a long time to free. It seems better now.
Many thanks


Microsoft.powershell.preview <IP_ADDRESS>

This PR includes a msix file for arm/arm64 installers as a temporary solution until we create msi for arm.

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.5 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

[Policy] reset feedback
[Policy] Needs-Manual-Merge
[Policy] Needs-Attention

@stephengillie - Looks like this needs a waiver or a manual merge

@stephengillie could we please get a manual merge on this, we have community members asking for this. Appreciate it highly!

stephengillie could we please get a manual merge on this, we have community members asking for this. Appreciate it highly!

Sorry for missing this over the weekend.


Error When Decrypting Data

I wrote a program that uses the yfinance library to retrieve the current indices for the Dow, NASDAQ and S&P every 15 minutes while the exchanges are open.  The program executes on a Windows 7 platform using Python version 3.8.1 . The installed version of yfinance is 0.2.4 .
The program functioned flawlessly until last night (24 January).  However, with no changes made to the code, not only did the program generate an exception, but it caused the Python interpreter to crash!!
The code that generated the exception is shown below:
#-------------------------------------------------------------------
Retrieve the DOW index from the Yahoo server:
hDow=yf.Ticker ('^DJI')
strTag="regularMarketPrice"
nDJ_Index=int (hDow.info [strTag])
strDJ_Index=(("%d") % nDJ_Index)
print ("strDJ_Index=",strDJ_Index)
The traceback error message is shown below:
Traceback (most recent call last):
File "E:\Projects\WebServer\Version 1.5.5\StockDataProgram.py", line 343, in
pStck.GetSendStockInfo ("False")
File "E:\Projects\WebServer\Version 1.5.5\StockDataProgram.py", line 198, in GetSendStockInfo
nDJ_Index=int (hDow.info (strTage))
File "E:\Program File (x86)\Python Version 3.8.1\lib\site-packages\yfinance\ticker.py", line 138, in info
return self.get_info()
File "E:\Program File (x86)\Python Version 3.8.1\lib\site-packages\yfinance\base.py", line 895, in get_info
data = self._quote.info
File "E:\Program File (x86)\Python Version 3.8.1\lib\site-packages\yfinance\scrapers\quote.py", line 27, in info
self._scrape(self.proxy)
File "E:\Program File (x86)\Python Version 3.8.1\lib\site-packages\yfinance\scrapers\quote.py", line 56, in _scrape
json_data = self._data.get_json_data_stores(proxy=proxy)
File "E:\Program File (x86)\Python Version 3.8.1\lib\site-packages\yfinance\data.py", line 40, in wrapped
return func(*args, **kwargs)
File "E:\Program File (x86)\Python Version 3.8.1\lib\site-packages\yfinance\data.py", line 202, in get_json_data_stores
stores = decrypt_cryptojs_aes_stores(data)
File "E:\Program File (x86)\Python Version 3.8.1\lib\site-packages\yfinance\data.py", line 73, in decrypt_cryptojs_aes_stores
raise Exception(msg)
I am at a complete loss to understand how this could happen!!  The only thing that I can think of is that Yahoo has changed their encryption mechanism which is causing the code to fail.  The reason I say this is that I had yfinance version 0.2.3 running on a Raspberry Pi and, just like this case, one day it simply stopped working!  The on-line forums indicated that it was related to a change in the encryption mechanism.

I have the same problem. Also no changes to my code since it worked.
Traceback
$>python3 yf/py-gethist-range.py 'NAB.AX' 'NAB.AX' '2023-01-04' '2023-01-28' 'temp.data.lisp' 'temp.smy.lisp'
(echo)
py-gethist-range.py.txt
yf/py-gethist-range.py NAB.AX NAB.AX 2023-01-04 2023-01-28 temp.data.lisp temp.smy.lisp
YF Version last 0.2.4 0.2.4
Traceback (most recent call last):
File "/hd/hd-home/finance/src/daily/yf/py-gethist-range.py", line 17, in
if ('exchange' in aaaa.info) :
File "/home/tim-ml/.local/lib/python3.10/site-packages/yfinance/ticker.py", line 138, in info
return self.get_info()
File "/home/tim-ml/.local/lib/python3.10/site-packages/yfinance/base.py", line 895, in get_info
data = self._quote.info
File "/home/tim-ml/.local/lib/python3.10/site-packages/yfinance/scrapers/quote.py", line 27, in info
self._scrape(self.proxy)
File "/home/tim-ml/.local/lib/python3.10/site-packages/yfinance/scrapers/quote.py", line 56, in _scrape
json_data = self._data.get_json_data_stores(proxy=proxy)
File "/home/tim-ml/.local/lib/python3.10/site-packages/yfinance/data.py", line 40, in wrapped
return func(*args, **kwargs)
File "/home/tim-ml/.local/lib/python3.10/site-packages/yfinance/data.py", line 202, in get_json_data_stores
stores = decrypt_cryptojs_aes_stores(data)
File "/home/tim-ml/.local/lib/python3.10/site-packages/yfinance/data.py", line 73, in decrypt_cryptojs_aes_stores
raise Exception(msg)
Exception: Yahoo has again changed data format, yfinance now unsure which key(s) is for decryption: '0e56e61daac9'-><class 'str'> , '0e56e61daac9'-><class 'str'> , '0e56e61daac9'-><class 'str'> , '0e56e61daac9'-><class 'str'> , (MUCH more of the same for many pages).
Source of script attached (with .txt suffix added to make github uploader happy)

After upgrading to 0.2.6 I get a slightly different message. Same script as above.
$>python3 yf/py-gethist-range.py 'NAB.AX' 'NAB.AX' '2023-01-04' '2023-01-28' 'temp.data.lisp' 'temp.smy.lisp'
yf/py-gethist-range.py NAB.AX NAB.AX 2023-01-04 2023-01-28 temp.data.lisp temp.smy.lisp
YF Version last 0.2.4 0.2.6
Traceback (most recent call last):
File "/hd/hd-home/finance/src/daily/yf/py-gethist-range.py", line 17, in
if ('exchange' in aaaa.info) :
File "/home/tim-ml/.local/lib/python3.10/site-packages/yfinance/ticker.py", line 142, in info
return self.get_info()
File "/home/tim-ml/.local/lib/python3.10/site-packages/yfinance/base.py", line 1220, in get_info
data = self._quote.info
File "/home/tim-ml/.local/lib/python3.10/site-packages/yfinance/scrapers/quote.py", line 96, in info
self._scrape(self.proxy)
File "/home/tim-ml/.local/lib/python3.10/site-packages/yfinance/scrapers/quote.py", line 125, in _scrape
json_data = self._data.get_json_data_stores(proxy=proxy)
File "/home/tim-ml/.local/lib/python3.10/site-packages/yfinance/data.py", line 40, in wrapped
return func(*args, **kwargs)
File "/home/tim-ml/.local/lib/python3.10/site-packages/yfinance/data.py", line 256, in get_json_data_stores
stores = decrypt_cryptojs_aes_stores(data)
File "/home/tim-ml/.local/lib/python3.10/site-packages/yfinance/data.py", line 190, in decrypt_cryptojs_aes_stores
raise Exception("yfinance failed to decrypt Yahoo data response with hardcoded keys, contact developers")
Exception: yfinance failed to decrypt Yahoo data response with hardcoded keys, contact developers

Duplicate of #1329


Feature a blog post on the home page

Update to the latest master version (if not already).
Then create a homepage section using the new Featured widget. Essentially, this involves taking the demo of the Featured Widget and change the page type to "post".
Finally, set featured = true in the front matter of one of your blog posts.

Works great, thanks!

For some reason, this solution does not work for me. The main page shows an empty page...
I am not sure why.

For some reason, this solution does not work for me. The main page shows an empty page...
I am not sure why.


Write more documentation for Context and friends

Add some more info and examples to body parsing extension traits.
Give examples for how to access parts of the Context.

resolves #41
resolves #42

I think this may be ready for merge. What do you think, @jocull?

This is so much better! Unfortunately I don't have a ton of time at the moment to dig into the examples, but I am looking forward to checking them out soon. Merge on, my friend!

Alright, here we go! We can always patch things if something is missing or wrong.
@homu r+

:pushpin: Commit 501f492 has been approved by Ogeon

:hourglass: Testing commit 501f492 with merge 6f7b763...

:sunny: Test successful - status


Improve copy text response time

Summary
Copy Text was waiting for the bottom sheet to disappear before putting the text into the clipboard. Now we put it as soon as we hit the button.
Ticket Link
Fix https://github.com/mattermost/mattermost-mobile/issues/7287
Fix https://mattermost.atlassian.net/browse/MM-52218
Release Note
Improve reaction time for Copy Text option

/e2e-test

Successfully triggered e2e mobile testing!
https://git.internal.mattermost.com/qa/mobile-e2e-testing/-/pipelines/337132


Update DG and UG

DG

Add use cases
Add non functional requirements
Add glossary

UG

Add clarity for filterteam
Add Q&A

Great effort on the use cases and NFRs. UG/DG updates are clear as well. LGTM!


Created cookie helper, user guide and unit test.

Note that the unit testing isn't fully implemented/executed due to header issues when setting up cookies. This was tested however, on the browser, which works correctly as expected.

The best way to handle the tests is to mock the IncomingRequest object and put it's instance back in the Services class with Services::InjectMock. Then you can test that it's doing what it should be without setting cookies and getting errors.

Okay, I'll try that one. Be back with Services::injectMock()...

Hi lonnieezell. Can you point me to a good direction? The setCookie() is from \Config\Services::response(), which is an instance of \CodeIgniter\HTTP\Response. I can't get a good picture using Servicess::injectMock() to set the $_COOKIE's value using set_cookie() helper.

I won't be near a computer to give a good response here until late tonight, check out the URL helper for an example of mocking the Request class in a helper.

@prezire did you have any luck with this or still needing more guidance?

@lonnieezell I tried looking into similar unit tests in the tests folder regarding setting up cookies however, I couldn't find one. Reading cookies is fine, but I haven't fully grasp yet the idea about creating one. It would be interesting to see how you create the mock objects if you have time to look into it.

Have looked at it a little more, and doing an automated mock through PHPUnit isn't going to work, I don't think. This is probably a good time to create an actual MockResponse class at test/_support/HTTP/MockResponse.php. It would extend the main Response class, and then we can override the setCookie() method to simply store it in an array. Then a new hasCookie() method to check.
At that point, you should be able to do something like:
function testSetCookie()
{
	$response = new MockResponse(new \Config\App());
	Services::injectMock('response', $response);

	set_cookie(...);

	$this->assertTrue(service('response')->hasCookie('name'));
}

@prezire Will you be able to wrap this up?

Hi lonnieezell. I apologize. I'm travelling and schedules are so tight. I'll jump right back as soon as I'm free next week. In the meantime, it would be good if anyone can implement the unit tests you suggested.

Hi Ionnieezell. Okay, I have things set up however, I still can't wrap my head around this http://icecream.me/fc8700ed80048951e840af42992195b2.
The issue isn't in GETting the cookie value, but SETting the cookie value. How does a helper use the Mock Object?

No problem, and understand the confusion. When testing this helper, though, we just want to verify that a) we're calling the setCookie method in the Response object, and that b) the correct parameters are being passed to native PHP command. So, the tests on this are really pretty simple. The tests on the Response object should be responsible for ensuring it does it's thing correctly, so we don't worry about that here.
The MockResponse class just needs to collect the data that's sent to it via the setCookie method, and provide a new method that allows us to grab that out. That allows us to test that it's working and the data didn't get mangled along the line. Obviously, the chances of that happening here are pretty slim, but it protects us if we try to change things down the line.

Thanks for the inputs. Does this count? This shows it's only testing the Response object and not the set_cookie() function itself. The methods under the current MockResponse object only relates to this branch. If this is still incorrect, it would be interesting to see someone work on it and show how it should be done.

Yup, that looks pretty good! I would have just created a new class property to store the names of the cookies in, but this way works also. My only concern would be that the $_COOKIE array isn't reset before each test.

Cool! You're right. I planned resetting cookies after each test using delete_cookie(), which are found in every method in CookieHelperTest.php. I'll see what I can do with that as well.

Is this good enough?

That will work for me for now. Thanks so much for your continued work on this! Merging.

You only close it, not merge it.

Silly me.


add -l option. List violating files.

I'm currently trying to add jscs to an existing codebase. I'm fiddling with options and would really love to know which files are problematic.
Feature Request: jscs . -l prints out a list of violating files. The number of infringements could be listed next to the filename as well or be optional.

Want to back this issue? Place a bounty on it! We accept bounties via Bountysource.

Hey @morenoh149. Thanks for contributing! Interesting idea.
The closest we have is the first step in --auto-configure that shows you the number of errors generated from the given path for every preset. It then tells you the number of violated rules. That's not quite what you're asking for.
Maybe a new cli option like jscs --summarize path would work. For now this would output a format like:
filename #Errors #ViolatedRules
I'm not particularly sold on showing the number of violated rules, but it could be helpful. If someone wanted to know the violated rules, they could just run jscs on that particular file.
Would you like to give the implementation a go? We could really use the help. If you have questions on how to approach this and where to look, we're happy to help.

This can be implemented as a reporter called the summary reporter. Until then, @morenoh149, you can do:
jscs -r inline <path> | grep ".js" | cut -d':' -f1 | sort | uniq -c which should get you the info you want ;)

@mikesherov Woah.

@mikesherov that's some strong unix-fu 👾

@mrjoelkemp @morenoh149 "With enough pipes, everything is possible."


.../config is a JavaScript header file (.h.js), but JavaScript header files should only be used for +config.h.js

Description
Hello,
I'm experimenting with creating my own custom little framework for my own usage.
I have pnpm monorepo with package react-meta-framework exporting +config.h.js
Then in renderer/+config.h.js I import it like this:
import reactMetaFramework from 'react-meta-framework/config';

export default {
    extends: reactMetaFramework
}

However it shows warning:

Should I be worried about it?
I don't have this warning when importing e.g. vike-react config.
Here is minimal repo for reproduction: https://github.com/UROjQ6r80p/vike-custom-framework-test/tree/main

See how vike-react is implemented.

Curious: what is it you're building?

Curious: what is it you're building?

I was looking for something working nicely with classic express app where I can e.g. fetch the data in the route and pass it into "page".
Next.js got rid of getServerSideProps in Nextjs > 13 and is not willing to add it in favor of creating Backend for Frontend and getting data via fetch, Astro.js is also problematic in that regard.
I was able to achieve what I want with Marko but ecosystem is way too small and it is used mainly by eBay, and well... it's not React.
I'm fairly sure I will use Vike in my future projects and I'm trying to build mini framework to minimize boilerplate aka "Zero config".
That's the experience I want to get in the end in my case:

pnpm add react-meta-framework react react-dom
Add middleware:

import createMiddleware from 'react-meta-framework/middleware';

app.use(await createMiddleware({ dev: true }))

app.get('/', async (req, res, next) => {
	try {
        // I know I can fetch data with `onBeforeRender` but for my own flow I prefer this
		res.renderPage('index', { someRandomData: 'anything' });
	} catch(err) {
		next(err);
	}
})

That's all.
I want to achieve it without need to explicitly create vite.config.js which I'm able to do with inline config.
Not sure how can I get rid of need to manually create +config.h.js in either renderer or pages folder extending my custom config.
It's great that we can have onRenderHtml, onRenderClient in node_modules but as far as I understand we need then to create +config.h.js manually and extend it with vike packs. It's not a big deal but I would like it to be there invisible somehow in the same way onRenderHTML is stored in node_modules etc. without it being in the actual project folder if I don't want to override it.
I'm much, much more excited about Vike than Astro and Next.
For example here was my proposal to Next.js: https://github.com/vercel/next.js/discussions/45174
Which is possible in Vike, the fact that I can use React in HTML-only mode and have +custom.js is amazing to me.

See how vike-react is implemented.

I thought I can combine vike-react with my own framework in this way, kind of treating vike-react as a base.
// react-meta-framework/renderer/+config.js
import vikeReact from 'vike-react'

export default {
    onRenderHtml: 'import:react-meta-framework/renderer/onRenderHtml:onRenderHtml',
    onRenderClient: 'import:react-meta-framework/renderer/onRenderClient:onRenderClient',
    extends: vikeReact
}

When I removed `import vikeReact from 'vike-react'`` then the warning dissapears.

AFAICT you should be able to achieve everything you mentioned.
Also note that there'll soon be a vike.config.js so won't need to create a +config.h.js file.

@UROjQ6r80p let us know how things go :) Also, contributions and sponsoring welcome :pray:


Could not deploy type = "templatedSignal" resource through TF

I am trying to deploy rules through Terraform.  I did import rules from the workspace  and want to create the same rules through TF (terraform) in the new workspace , but got an error while trying to apply 3 templated rules:
│ Error: Insufficient actions blocks
│   on main.tf line 212, in resource "sigsci_site_rule" "rule-7":
│  212: resource "sigsci_site_rule" "rule-7" {
│ At least 1 "actions" blocks are required.

My TF resource:
resource "sigsci_site_rule" "rule-9" {
    site_short_name = local.site_short_name
    type            = "templatedSignal"
    group_operator  = "all"
    enabled         = true
    reason          = "Password reset attempt"
    signal          = "PW-RESET-ATTEMPT"
    expiration      = ""

    conditions {
        field    = "method"
        operator = "equals"
        type     = "single"
        value    = "PUT"
    }
    conditions {
        field    = "path"
        operator = "equals"
        type     = "single"
        value    = "/api/somepath/"
    }
}

And there is a link to docs: https://github.com/signalsciences/terraform-provider-sigsci/blob/main/docs/resources/site_rule.md
I did like it written in the documentation but still got the same error.
I added an actions block to it, but  error: action block not expected here, appears

After version update it is working


better documention for timestamp-lines

I needed to add: timestamp-lines=true to: buildkite-agent.cfg in order to get the timestamps to show up in the logs.
It would be nice if this option was added to buildkite-agent.cfg but commented out with a description above like several of the other config options.
It would be even better if this could be dynamically enabled and disabled by setting the BUILDKITE_TIMESTAMP_LINES env variable. This way users don't need to deal with updating the cfg file and restarting the agent. Setting that env variable does not seem to work without first editing the buildkite-agent.cfg.
(originally https://github.com/buildkite/feedback/issues/349)

I would vote for a UI checkbox/API method to toggle this as well, just to make things more difficult 😉


Data deserialisation error (Object type cannot be converted to target type)

While testing the fix proposed in pull request #189 I found that mod data was not persisting between game loads. After saving and quitting, then reloading the game, I found that I had to spend an hour remaking all of my lane connections, restrictions, speed limit changes, timed traffic lights, etc.
I'm not sure what the root cause is, but I also don't think it's the proposed pull either. When I was using workshop 1.10.8, this problem occurred (though I did not check for a stacktrace at that time).
Three days ago I was using TMPE 1.10.3, as a test to see if it fixes the PT bug which #189 appears to fix. When I switched to that version, there was a bug with data resetting and me having to redo all of the above. This happened again when I switched to 1.10.7, also as a test, and again when I switched back to workshop 1.10.8.
I inspected TMPE.log (%programfiles(x86)%/Steam/steamapps/common/Cities_Skylines/TMPE.log) and found a stacktrace (using the .dll's provided in #189).
[Error] @<PHONE_NUMBER> Error deserializing data: System.ArgumentException: Object type System.Collections.Generic.List`1[TrafficManager.Configuration+ExtCitizenData] cannot be converted to target type: System.Collections.Generic.List`1[TrafficManager.Configuration+ExtCitizenData]
Parameter name: val
  at System.Reflection.MonoField.SetValue (System.Object obj, System.Object val, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
  at System.Reflection.FieldInfo.SetValue (System.Object obj, System.Object value) [0x00000] in <filename unknown>:0
  at System.Runtime.Serialization.ObjectRecord.SetMemberValue (System.Runtime.Serialization.ObjectManager manager, System.Reflection.MemberInfo member, System.Object value) [0x00000] in <filename unknown>:0
  at System.Runtime.Serialization.FixupRecord.FixupImpl (System.Runtime.Serialization.ObjectManager manager) [0x00000] in <filename unknown>:0
  at System.Runtime.Serialization.BaseFixupRecord.DoFixup (System.Runtime.Serialization.ObjectManager manager, Boolean strict) [0x00000] in <filename unknown>:0
  at System.Runtime.Serialization.ObjectRecord.DoFixups (Boolean asContainer, System.Runtime.Serialization.ObjectManager manager, Boolean strict) [0x00000] in <filename unknown>:0
  at System.Runtime.Serialization.ObjectManager.RegisterObjectInternal (System.Object obj, System.Runtime.Serialization.ObjectRecord record) [0x00000] in <filename unknown>:0 traffic mana
  at System.Runtime.Serialization.ObjectManager.RegisterObject (System.Object obj, Int64 objectID, System.Runtime.Serialization.SerializationInfo info, Int64 idOfContainingObj, System.Reflection.MemberInfo member, System.Int32[] arrayIndex) [0x00000] in <filename unknown>:0
  at System.Runtime.Serialization.Formatters.Binary.ObjectReader.RegisterObject (Int64 objectId, System.Object objectInstance, System.Runtime.Serialization.SerializationInfo info, Int64 parentObjectId, System.Reflection.MemberInfo parentObjectMemeber, System.Int32[] indices) [0x00000] in <filename unknown>:0
  at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadNextObject (System.IO.BinaryReader reader) [0x00000] in <filename unknown>:0
  at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadObjectGraph (BinaryElement elem, System.IO.BinaryReader reader, Boolean readHeaders, System.Object& result, System.Runtime.Remoting.Messaging.Header[]& headers) [0x00000] in <filename unknown>:0
  at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.NoCheckDeserialize (System.IO.Stream serializationStream, System.Runtime.Remoting.Messaging.HeaderHandler handler) [0x00000] in <filename unknown>:0
  at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize (System.IO.Stream serializationStream) [0x00000] in <filename unknown>:0
  at TrafficManager.State.SerializableDataExtension.DeserializeData (System.Byte[] data) [0x00000] in <filename unknown>:0
   at CSUtil.Commons.Log.LogToFile(System.String log, LogLevel level)
   at CSUtil.Commons.Log.Error(System.String s)
   at TrafficManager.State.SerializableDataExtension.DeserializeData(System.Byte[] data)
   at TrafficManager.State.SerializableDataExtension.OnLoadData()
   at SerializableDataWrapper.OnLoadData()
   at SimulationManager.LateUpdateData(UpdateMode mode, Single minProgress, Single maxProgress)
   at SimulationManager.Managers_LateUpdateData(UpdateMode mode, Single minProgress, Single maxProgress)
   at LoadingManager+<LoadSimulationData>c__IteratorB.MoveNext()
   at AsyncTask.Execute()
   at SimulationManager.SimulationStep()
   at SimulationManager.SimulationThread()

[Info] @<PHONE_NUMBER>   at System.Reflection.MonoField.SetValue (System.Object obj, System.Object val, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
  at System.Reflection.FieldInfo.SetValue (System.Object obj, System.Object value) [0x00000] in <filename unknown>:0
  at System.Runtime.Serialization.ObjectRecord.SetMemberValue (System.Runtime.Serialization.ObjectManager manager, System.Reflection.MemberInfo member, System.Object value) [0x00000] in <filename unknown>:0
  at System.Runtime.Serialization.FixupRecord.FixupImpl (System.Runtime.Serialization.ObjectManager manager) [0x00000] in <filename unknown>:0
  at System.Runtime.Serialization.BaseFixupRecord.DoFixup (System.Runtime.Serialization.ObjectManager manager, Boolean strict) [0x00000] in <filename unknown>:0
  at System.Runtime.Serialization.ObjectRecord.DoFixups (Boolean asContainer, System.Runtime.Serialization.ObjectManager manager, Boolean strict) [0x00000] in <filename unknown>:0
  at System.Runtime.Serialization.ObjectManager.RegisterObjectInternal (System.Object obj, System.Runtime.Serialization.ObjectRecord record) [0x00000] in <filename unknown>:0
  at System.Runtime.Serialization.ObjectManager.RegisterObject (System.Object obj, Int64 objectID, System.Runtime.Serialization.SerializationInfo info, Int64 idOfContainingObj, System.Reflection.MemberInfo member, System.Int32[] arrayIndex) [0x00000] in <filename unknown>:0
  at System.Runtime.Serialization.Formatters.Binary.ObjectReader.RegisterObject (Int64 objectId, System.Object objectInstance, System.Runtime.Serialization.SerializationInfo info, Int64 parentObjectId, System.Reflection.MemberInfo parentObjectMemeber, System.Int32[] indices) [0x00000] in <filename unknown>:0
  at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadNextObject (System.IO.BinaryReader reader) [0x00000] in <filename unknown>:0
  at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadObjectGraph (BinaryElement elem, System.IO.BinaryReader reader, Boolean readHeaders, System.Object& result, System.Runtime.Remoting.Messaging.Header[]& headers) [0x00000] in <filename unknown>:0
  at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.NoCheckDeserialize (System.IO.Stream serializationStream, System.Runtime.Remoting.Messaging.HeaderHandler handler) [0x00000] in <filename unknown>:0
  at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize (System.IO.Stream serializationStream) [0x00000] in <filename unknown>:0
  at TrafficManager.State.SerializableDataExtension.DeserializeData (System.Byte[] data) [0x00000] in <filename unknown>:0
[Error] @<PHONE_NUMBER> OnLoadData: Error while deserializing data: System.ApplicationException: An error occurred while loading
  at TrafficManager.State.SerializableDataExtension.DeserializeData (System.Byte[] data) [0x00000] in <filename unknown>:0
  at TrafficManager.State.SerializableDataExtension.OnLoadData () [0x00000] in <filename unknown>:0
   at CSUtil.Commons.Log.LogToFile(System.String log, LogLevel level)
   at CSUtil.Commons.Log.Error(System.String s)
   at TrafficManager.State.SerializableDataExtension.OnLoadData()
   at SerializableDataWrapper.OnLoadData()
   at SimulationManager.LateUpdateData(UpdateMode mode, Single minProgress, Single maxProgress)
   at SimulationManager.Managers_LateUpdateData(UpdateMode mode, Single minProgress, Single maxProgress)
   at LoadingManager+<LoadSimulationData>c__IteratorB.MoveNext()
   at AsyncTask.Execute()
   at SimulationManager.SimulationStep()
   at SimulationManager.SimulationThread()

[Info] @<PHONE_NUMBER> An error occurred while loading.

To me, this is suggesting that my mod data may be corrupt, but I'm not sure. I will provide my save file if necessary to help find a solution to this.
Since the stacktrace mentions it, I'll link in the SerializableDataExtension file.
https://github.com/VictorPhilipp/Cities-Skylines-Traffic-Manager-President-Edition/blob/8e17bfde3bddb8e6c497d58ffc1bd9e6d069f89e/TLM/TLM/State/SerializableDataExtension.cs
As near as I can tell, the specific lines which are referenced are 40, 82 (and the immediately following catch statement), 121, 125, and 131. I believe it gets to at least line 131, as the stacktrace specifically mentions BinaryFormatter.Deserialize.
My best guess for the cause of this is a corrupt save.

I did some testing and found a rather unique result. Please note that I am using the files from PR189 in the entirety of this testing.
Using the file provided in the referenced pull request, I would get this error. I tested the workshop version and it worked fine with no error at all, which I found strange. The serialisation code hasn't been touched, so why is this version erroring while the workshop version isn't?
I then tried altering the file version which you'd see in the Properties window, and this did nothing. My save still did not load correctly. Another idea came in to mind, which goes like this.

Disable computer Internet connection so that Steam Workshop cannot sync. This is essential.
Copy the files provided by the download in PR189 and overwrite the Steam Workshop-provided files in %programfiles(x86)%\Steam\steamapps\workshop\content\255710\583429740 with the PR189 files.
Remove the files from %localappdata%\Colossal Order\Cities_Skylines\Addons\Mods to ensure no conflicts.
Launch game and test.

Much to my great surprise, my save then loaded correctly and all of my lane connections, timed lights, crossing restrictions, priority signs, etc., were working as they were.
The only thing which has changed is the file location, right?

moved


For TabularPrediction, add get_default_hyperparameters

There are several comments (e.g. this one) where it's recommended to specify all hyperparameters except one to avoid training a particular model type.  That involves knowing the default hyperparameters for everything else, which can be hard to find.  Furthermore, it isn't future-proof (to changes in default hyperparameters in future).
It would be great if there was a get_default_hyperparameters method.  Then, we could more directly express what we're after in these cases as...
hyperparameters = predictor.get_default_hyperparameters()
del hyperparameters['NN']
predictor.fit(..., hyperparameters=hyperparameters)

Sorry, from searching the code, I've just discovered...
from autogluon.task.tabular_prediction.hyperparameter_configs import get_hyperparameter_config
get_hyperparameter_config('default')

...does exactly what I'm looking for.


Added Maven and Java 1.8 Support

The changes in this request add support for Maven and Java 1.8. There are also changes to reduce the amount of unused and duplicate code.

More changes forthcoming, but I wanted to get these up for review before I went any further.

Awesome, thanks for picking up some stuff with this @andysenn. I have had zero time since I first got the code together months ago.


Automated cherry pick of #4476

Cherry pick of #4476 on release-5.19.

#4476: MM-19870 - reset at-mention selection

/cc  @ali-farooq0

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

Trying to auto merge this PR.

Pull Request successfully merged
SHA: a3b1ba8bd9911a03c10b73167f5a00820d3d7844


Random system freezes with KPH enabled

Describe the bug
If I have the KPH driver enabled, my system will eventually freeze, requiring a hard reset. This is extremely unreliable but I've been observing this over a few months and while the freeze comes at an unreliable time, it does happen within a few hours, and only when the KPH driver is enabled. I also looked into loopMIDI, the only other non-standard driver I have installed, and it's not that. It seems tied to high disk or CPU usage, but I couldn't say for sure.
This seems really difficult to track down, so I'd like to see at least if anyone else has had this issue and notices it resolving when KPH is disabled.
To Reproduce
Steps to reproduce the behavior:
It's not really reproducible, but if anyone's noticed random system freezes it's worth looking into.
Expected behavior
The system should not crash.
Desktop (please complete the following information):

OS: Windows 10.0.19042 20H2

Additional context
I'm on a Surface Pro 2017. I use WSL 2, so I have Hyper-V on. As I said before, loopMIDI is the only other 3rd party driver I've installed. Crashes seem to happen more when doing things like opening a ton of browser tabs or building a C++ or Rust project but can also happen when I'm not doing anything.

@parkovski
This might help check the utilization:
https://docs.microsoft.com/en-us/windows-server/administration/performance-tuning/role/hyper-v-server/detecting-virtualized-environment-bottlenecks


Bump identity apps console version to v2.2.3

$ subject

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/6641323399

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/6641323399
Status: failure

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/6643506521

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/6643506521
Status: success


The regrid.pl script was updated for SLES-12

This change is in conjunction with updates in mk_Restarts in the @GEOSgcm_GridComp component. I ran tests that were successful on both SLES-11 and SLES-12.

@gmao-jstassi should the hard coded #SBATCH directives (line ~2382) in regrid.j be changed depending on whether running at NAS or NCCS?

@gmao-jstassi should the hard coded #SBATCH directives (line ~2382) in regrid.j be changed depending on whether running at NAS or NCCS?

@sdrabenh I don't think we really support regrid.pl at NAS. It doesn't have access to MERRA and MERRA2 there so a good chunk of functionality is gone. I guess we could support non-MERRA/MERRA2 regridding at some point though we'd need to fix a lot.
I suppose we maybe should have a detection to fail if not at NCCS. (And, I guess, change all the "PBS" references in it to SLURM.)

@gmao-jstassi should the hard coded #SBATCH directives (line ~2382) in regrid.j be changed depending on whether running at NAS or NCCS?

@sdrabenh I don't think we really support regrid.pl at NAS. It doesn't have access to MERRA and MERRA2 there so a good chunk of functionality is gone. I guess we could support non-MERRA/MERRA2 regridding at some point though we'd need to fix a lot.
I suppose we maybe should have a detection to fail if not at NCCS. (And, I guess, change all the "PBS" references in it to SLURM.)

Interesting, I wasn't aware that we don't support regridding at NAS. In that case, I guess my comments are a moot point. Still, it would seem a good goal in the long term even if they aren't necessary now.


Professions/BlackSmith

[x]  Update background for Blacksmith page
[x]  Add model start quest
[x]  Add logic and validation for the quest.
[x]  Add claim reward popup after completing a quest.

This task has been completed and can test


Added Picture Manipulation (does not allow adding)

Allows for swapping of images, without changing styles of the image, allows you to change the name of the image, and get the Position of the image.
things I would need help improving:

calculating image size/position for adding a new image

sorry for all the commits... was working between 4 computers...

broken.... going to fix this..


Can't Find Module 'request'

I'm pretty sure there's a decent chance this is just due to my lack of Node experience, but I created a folder, than ran "npm install node-cratejoy"  Afterwards I just created test.js with the below code.  I just needed to run "npm install request" and my code was able to run.  I don't know if this is something people just need to do, or if it should be added as a dependency in your package.json?
test.js:
var cratejoyAPI = require('node-cratejoy');
var cratejoy = new cratejoyAPI (
        '[clientid]',
        '[clientsecret]'
);

cratejoy.getSubscriptions(function(err, res, body) {
        if(err) throw err;
        console.log('Got it!');
        console.log(body);
});

error:
module.js:340
    throw err;
          ^
Error: Cannot find module 'request'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at new module.exports (/Users/aaronm14/node_projects/cratejoy/node_modules/node-cratejoy/nodecratejoy.js:2:16)
    at Object.<anonymous> (/Users/aaronm14/node_projects/cratejoy/test.js:2:16)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)

Hey @Aaronm14,
You're right I didn't include request as a dependency because I assumed that usually someone using this would already have request and I didn't want to require a different version. I've seen it in a few other packages like this so I assumed it was a best practice for small API wrappers like this. I'm going to go ahead and add a note about it to the README

@JustMaier - Good to know.  Works for me.
Quick question unrelated to this - any idea why my code in test.js didn't return anything (I have my client id/secret from my Cratejoy admin)?  It says undefined in my console when it logs the body

It's possible that you don't actually have a real client id/secret yet. As far as I know CrateJoy hasn't actually publicly released their API. The client id/secret was actually given to me by someone on the dev team for testing. I know that it also has it in the control panel, but I don't think those are actually active yet...
You can try using something like Postman or CURL to see if you can actually get a response from the API without this module.


A workflow succeding is treated as an issue on notifications

⏱ Before you start...

[X] Have you updated FluentHub? You might be using an old version.
[X] Have you checked if a similar issue has already been reported?

🪟 What version of Windows is this issue present?
Windows 11 Beta
🔢 What version/architecture of FluentHub are you on?
Latest
📄 Description
A workflow is treated as an issue, opening causes problems.
🪜 Steps To Reproduce

Open a workflow from notifications

🤔 Expected behavior
It should be treated as an action.
📸 Assets
No response

What do you mean? A workflow?

What do you mean? A workflow?

A github actions script. when a workflow runs (badly), you get a notification, usually

Ah, I see. Then do you @arihant2math have any screenshots about this?

@DeveloperWOW64 Sometimes you also get notification about when it runs successfully.
@onein528 Here is a screenshot:

on github how does it show? @arihant2math

on github how does it show? @arihant2math

I'll see if I can show you...

Sometimes you also get notification about when it runs successfully. @onein528 Here is a screenshot:

This item is not issue? it's a owner/repo #256 item what is 256?

@onein528

This item is not issue? it's a owner/repo #253 item what is 253?

@onein528 actions have their own  # numbers afaik.

What a.... this is a really deep problem. I'm not sure I can detect if a notification item is not workflow item...


treq: 17.3.1 fixes

enables and fixes tests
makes docs properly
tested nixos python 27/34

@FRidh ready_for_review

@FRidh updated to correctly write out documentation to $out/docs. i left this in for the sake of completeness, but let me know if you would rather remove documentation all-together.  it seems if the author took the time to write it, we should attempt to package, if not too much trouble?

@nand0p its just that its the wrong destination. Documentation likely goes somewhere in /share. I'm not too familiar with those things though.

@FRidh im seeing other python mods like python-wifi, write out documentation to $out/docs, but im also seeing other projects write out docs to $out/share and $out/lib.   im not finding any documentation regarding what the correct method is.  can we merge this for now, so as to unblock master, and I can update once there is a clear path forward regarding documentation?


[QUESTION] FindOr404?

hello hyperf community
i am trying to retrieve model but if it does not exits it responds with 500 status code
public function getPost($id)
{
        return $this->model->findOrFail( $id);
}

i am looking for something like this method findOr404
any ideas?

You could write an ExceptionHandler to catch the model not found exception, and response a 404 response object

<?php

declare(strict_types=1);
/**
 * This file is part of Hyperf.
 *
 * @link     https://www.hyperf.io
 * @document https://hyperf.wiki
 * @contact<EMAIL_ADDRESS> * @license  https://github.com/hyperf/hyperf/blob/master/LICENSE
 */
namespace App\Model;

use Hyperf\DbConnection\Model\Model as BaseModel;
use Hyperf\HttpMessage\Exception\NotFoundHttpException;
use Hyperf\ModelCache\Cacheable;
use Hyperf\ModelCache\CacheableInterface;

abstract class Model extends BaseModel implements CacheableInterface
{
    use Cacheable;

    public static function findOr404($id, $columns = ['*'])
    {
        $model = static::query()->find($id, $columns);
        if (empty($model)) {
            throw new NotFoundHttpException();
        }
        return $model;
    }
}

You can add this Model to your project.


Need a high score list - with timer

We need to add a high score!!!
And it could be with a timer so you see your best time etc!

Timer is implemented, but we still need high score list

Timer is implemented, but we still need high score list

Started on a function sketch that could be the start of a high score list. I put it outside of the class since it's not game specific

Started on a function sketch that could be the start of a high score list. I put it outside of the class since it's not game specific

I think each item of the high score list should contain 4 different things:

Width
Height
Time
Mine count

When displaying the high score list, maybe we should show high scores for games of different sizes and mine counts separately?


Support Shadows

Added basic dithered shadows in commit https://github.com/gkjohnson/unity-dithered-transparency-shader/commit/32d121dee32da0d641b35e087c29aeb9cb1fa922


better diagnostics for Tree Borrows + int2ptr casts

Entirely reject -Zmiri-permissive-provenance -Zmiri-tree-borrows since that combination just doesn't work
In the int2ptr cast warning, when Tree Borrows is enabled, do not recommend -Zmiri-permissive-provenance, instead note that Tree Borrows does not support int2ptr casts

Fixes https://github.com/rust-lang/miri/issues/3764

@bors r+

:pushpin: Commit 4cee51163c6dbe2124d1b07db2e256f3672ce61c has been approved by RalfJung
It is now in the queue for this repository.

:hourglass: Testing commit 4cee51163c6dbe2124d1b07db2e256f3672ce61c with merge ed1fb37df789ae42d3699f2a9e9f1c7bb791c73b...

:broken_heart: Test failed - checks-actions

@bors r+

:pushpin: Commit 6f8dc279e9744d59ce9249a9ae1d315118cd8ff8 has been approved by RalfJung
It is now in the queue for this repository.

:sunny: Test successful - checks-actions
Approved by: RalfJung
Pushing c84b86d5a9bdab0b471fdd510b02b5f5a4e756d3 to master...

Also, is there a way to suppress the int2ptr casts warning when using tree borrows?

Not really -- since Tree Borrows doesn't support int2ptr casts, not showing the warning seems hazardous. Now that I understand that your original issue was unrelated, we could possibly partially revert this PR -- but it is still the case that Tree Borrows + int2ptr will miss a lot of UB (even more so than usual for int2ptr), and I am not sure how to best communicate that to users.
The warning should be shown only once. Is it so bad that it needs to be hidden?

@RalfJung I see, and it makes complete sense. Actually, I've been hunting a bunch of bugs down and the int-to-ptr cast warnings filled the logs...because we use them excessively for storing extra pointer metadata using alignment hacks; that's why I was wondering if there was a way around it.
Also, since we use crossbeam, as it happens, tests fail when using stacked borrows but pass using tree borrows (and it's a known issue; see crossbeam-rs/crossbeam#545). So yeah, in a bit of a situation. But I can totally see why suppressing int2ptr warnings could be dangerous.

storing extra pointer metadata using alignment hacks

FWIW this can be done without int2ptr casts using strict provenance, but that currently requires either nightly or using the sptr crate.


[AutoTVM] Tuning fails for an NHWC network on Arm CPU

I'm trying to tune NHWC networks produced by the tflite frontend, but they fail with the error AssertionError: only support NCHW/HWCN currently. This suggests to me the AlterOpLayout pass is not happening during task extraction. I can force the AlterOpLayout pass to happen using the following patch:
--- a/python/tvm/autotvm/task/relay_integration.py
+++ b/python/tvm/autotvm/task/relay_integration.py
@@ -49,7 +49,9 @@ def _lower(func,
                 grc = graph_runtime_codegen.GraphRuntimeCodegen(None, target)
                 return grc.codegen(mod["main"])
     # default case
-    mod, _ = relay.optimize(func, target, params)
+    with relay.build_config(opt_level=3):
+        mod, _ = relay.optimize(func, target, params)
+
     grc = graph_runtime_codegen.GraphRuntimeCodegen(None, target)
     return grc.codegen(mod["main"])

which does fix this issue. Am I doing something wrong in AutoTVM or is this patch necessary?

You're not doing anything wrong. Not supporting NHWC layouts on Arm CPUs is a known issue and something we should have patched in soon.

I think even if NHWC isn't supported, the auto-tuning shouldn't fail as a result. We can still compile networks that are initially in NHWC format as AlterOpLayout converts them to NCHW. I think AutoTVM should also do this instead of just failing.

AutoTVM does not compile the model but just tune the ops extracted from the model. Accordingly, failing when the ops are not supported for tuning is reasonable.
Also please open such discussion topics in discuss.

It doesn't compile, but it does run optimize which should invoke the appropriate passes to transform the graph. Is it a design choice for AutoTVM not to apply this pass? If so I'm happy to open a discuss post, as this is quite unintuitive behaviour.

Not sure if that workaround works for all cases, but you are welcome to open an RFC to collect opinions from others.

Please keep an eye of PR #3859 , which could solve TFLite NHWC auto tune on ARM CPU problem.

I agree that AlterOpLayout and AutoTVM do not have the most intuitive design/user experience yet.
For now, you can choose either of the 3 options

Use the #3859 to use NHWC schedule. However, it might not give you the best performance because for now NCHW perf is somewhat better than NHWC.
Call AlterOpLayout pass the way you did before extracting layouts.
In general, use the #4335 ConvertLayout to convert the whole graph to NCHW and then call AutoTVM extraction. Similarly, after AutoTVM is done, before calling the relay.build, call ConvertLayout.

close for now due to inactive status, and there are related  #3859 feel free to open new thread on the discuss forum


Game crashes when trying to pick up items

ERROR: (Node not found: "Package" (relative to "/root/Test_02/Camera2D/Healthbar").)


System.ComponentModel.TypeConverter 4.0.1 was not found - Causes failures in .Net Core and .Net Standard projects

NSubstitute had the same issue, so I'm basically going to copy bits and pieces of StefanKert bug report here:
Currently if Newtonsoft.Json is used with .NetCore or .Net Standard projects the following warning is generated when calling dotnet restore:
warning NU1603: Castle.Core 4.0.0 depends on System.ComponentModel.TypeConverter (>= 4.0.1) but System.ComponentModel.TypeConverter 4.0.1 was not found. An approximate best match of System.ComponentModel.TypeConverter 4.1.0 was resolved.
This results in a warning for each referenced package that uses these assemblies (basically almost all my projects):

This error is already fixed in castleproject/Core#239 so upgrading the version will probably fix this issue.
Current version of System.ComponentModel.TypeConverter is 4.3.0
The dependency on the non-existent 4.0.1 package causes NuGet restore to float upwards. Each restore will try again to check if 4.0.1 exists on a source since it is the best match.
Restore caches the list of versions from http feeds for 30 minutes, but after that it will again make http requests to each feed looking for the package again.
I'm currently hitting this due to Newtonsoft.Json (10.0.3) dependency on Castle.Core, and it is currently blocking progress on my project.
In .Net Core 2.0 / .Net 4.7 this actually causes dotnet restore to fail on the command line (but strangely not in VS2017) and blocks EF migrations from being generated. In VS2017 I end up with all sorts of other referencing issues instead, and this seems to break ReSharper too.
This is the build failure I get via the CLI (but not VS) as soon as I reference a project that references Newtonsoft.Json:
C:\Program Files\dotnet\sdk\2.0.0\NuGet.targets(102,5): error : Unable to load the service index for source https://projectname.pkgs.visualstudio.com/_packaging/Store/nuget/v3/index.json.\r
[C:\Code\Project\Project.Persistence.csproj]
C:\Program Files\dotnet\sdk\2.0.0\NuGet.targets(102,5): error :   Response status code does not indicate success: 404 (Not Found). [C:\Code\Project\Project.Persistence.csproj]
Build failed.

What? Newtonsoft.Json already uses System.ComponentModel.TypeConverter 4.3.0
https://www.nuget.org/packages/Newtonsoft.Json/10.0.3

Newtonsoft.Json (10.0.3) dependency on Castle.Core

This is also not true.

My apologies - this was a bit of a Red Herring.
The warning message I was getting in Visual Studio was a bit misleading, but was all I really had to work from.
To me, the warning message seemed to indicate that Castle.Core 4.0.0 depends on an older version of System.ComponentModel.TypeConverter, which it does, and which it couldn’t find anymore (perhaps MS deleted it or something).
After searching the web, I found that NSubstitute basically had the same issue/warning message, because they were referencing an older version of Castle.Core. So, I jumped to the conclusion that Newtonsoft.Json was probably doing the same thing (referencing Castle.Core), and just hadn’t been updated yet.
What I probably should have done first, was to download all the source code and check for myself.
However, I assumed that it was a rather simple fix [just update to the newest package] that I didn’t spend the time to dig much further.
It turns out that this was more of a NuGet/VS issue than anything else, with the warning message showing up on the ‘wrong’ package.
Sorry for any inconvenience caused.
PS: Thanks for contributing such a useful library to the community.

no problemo :)


Aboutus - Evan

Add my profile in AboutUs and a general write up about our project

Codecov Report

Merging #2 (dcbd738) into master (eaabbf0) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master       #2   +/-   ##
=========================================
  Coverage     72.15%   72.15%
  Complexity      399      399
=========================================
  Files            70       70
  Lines          1232     1232
  Branches        125      125
=========================================
  Hits            889      889
  Misses          311      311
  Partials         32       32

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Add dependency injection to register method and change plugin NAME to ID

NAME is a bit misleading, it is actually and ID so it is better to use ID as it conveys the right usage.

Currently, plugins need to "manually" call a plugin before its usage on the register method. This can get annoying after a while  and we already have this information from REQUIRES and OPTIONAL, so we can just use inject them
so something like:

class SomePlugin(SpyderDockablePlugin)
    ID = 'some-unique-id'
    REQUIRES = ["some-plugin-id"]
    OPTIONAL = ["some-other-plugin-id"]

    def register(self, some_plugin_id, some_other_plugin_id=None):
        pass

This way the plugins are ready to be used.
The get_plugin will still be available if a plugin needs to be used on an API method of the SomePlugin.

This probably no longer applies now that we have a plugin registry.


Update styles.xml

Hide Notch Display Cutout

Explain why this is necessary.
I do this programmatically, but only when the skin is used and the action bar is not used.
Otherwise, the cutout may bite off part of the content or buttons in the action bar.


Add fuzzy completion for user defined custom completion function

Here it should probably mentioned that depending on wildoptions either regexp or fuzzy matching would be used:
:h command-completion-custom
The function may use these for determining context.  For the "custom"
argument, it is not necessary to filter candidates against the (implicit
pattern in) ArgLead.  Vim will filter the candidates with its

regexp engine

after function return, and this is probably more efficient in most cases. For
the "customlist" argument, Vim will not filter the returned completion
candidates and the user supplied function should filter the candidates.


Parameters and querys

Now, the lib only can execute a simple queries without parameters, and this is not ok. So:

[ ] add support for parameters in querys like the https://github.com/rusqlite/rusqlite
[ ] the "query_simple" and "execute_simple" approaches will be removed
[ ] Use the no_params! macro, or similar, instead

@jairinhohw, you have any suggestions or comments about this?

I'm working on this on my test implementation. Right now i have a working implementation of the output xsqlda that receives the type information from the database and allocates / coerces the date to known types to make impossible to try to interpret a varchar as a number for example, and i am now working to use a similar logic to implement the input xsqlda (parameters).
I will port it to this lib when i get it working.

The result will look something like this:
let mut cursor = stmt.query(("coffe", 45))?; // Two parameters

while let Some(row) = cursor.fetch()? {
    let row: (Option<i32>, String, f64) = row; // Three columns of data

    println!("{:?}\n", row);
}

As of now, i got the fetch return working.

I'm working on this on my test implementation. Right now i have a working implementation of the output xsqlda that receives the type information from the database and allocates / coerces the date to known types to make impossible to try to interpret a varchar as a number for example, and i am now working to use a similar logic to implement the input xsqlda (parameters).

This is a new level for the lib, hehe. The idea of use the database type instead the code specified type is amazing.

I will port it to this lib when i get it working.

Nice.

The result will look something like this:

I'm curious to see how you managed to implement this

So, I will wait for you implementation since you are progressing better than me. If I can help with something, I'm here.

I will pub a new lib version on the crates site with yours contributions.


Update instructions for tags with invalid symbols

@jph00  Update instructions for tags with invalid symbols to use a dictionary.

Much better!


Very odd constructor call with transients

Hello! I've been trying to pin down a very odd issue I've been seeing with my larger code base and I've managed to make a trivial repro for it. It seems that calling persistent on a vector_transient is trying to instantiate a ctor call to my object using some transient impl type, but I've no idea why. This doesn't seem like expected behavior to me, so hopefully you can provide some insight.
#include <immer/vector.hpp>
#include <immer/vector_transient.hpp>
#include <immer/box.hpp>

struct object;

template <typename T>
struct is_valid_type
{ static bool constexpr value{ false }; };
template <>
struct is_valid_type<object>
{ static bool constexpr value{ true }; };

struct object
{
  using vector_type = immer::vector<immer::box<object>>;

  template <typename T>
  object(T &&)
  { static_assert(is_valid_type<T>::value, "invalid type"); }
};

int main()
{
  object::vector_type::transient_type t;
  // If this next line is commented out, the code compiles.
  (void)t.persistent();
}

Here's the error I'm getting from GCC 10.2.0 on Arch.
❯ c++ -I lib/immer main.cpp
main.cpp: In instantiation of ‘object::object(T&&) [with T = immer::detail::rbts::rbtree<immer::box<object>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5, 5>&]’:
lib/immer/immer/box.hpp:47:48:   required from ‘immer::box<T, MemoryPolicy>::holder::holder(Args&& ...) [with Args = {immer::detail::rbts::rbtree<immer::box<object, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5, 5>&}; T = object; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>]’
lib/immer/immer/detail/util.hpp:69:16:   required from ‘T* immer::detail::make(Args&& ...) [with Heap = immer::debug_size_heap<immer::cpp_heap>; T = immer::box<object>::holder; Args = {immer::detail::rbts::rbtree<immer::box<object, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true> >, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap, 1024>, immer::refcount_policy, immer::spinlock_policy, immer::no_transience_policy, false, true>, 5, 5>&}]’
lib/immer/immer/box.hpp:78:43:   required from ‘immer::box<T, MemoryPolicy>::box(Arg&&) [with Arg = immer::detail::rbts::rbtree<immer::box<object>, immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>, 5, 5>&; Enable = void; T = object; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>]’
lib/immer/immer/vector_transient.hpp:185:37:   required from ‘immer::vector_transient<T, MemoryPolicy, B, BL>::persistent_type immer::vector_transient<T, MemoryPolicy, B, BL>::persistent() & [with T = immer::box<object>; MemoryPolicy = immer::memory_policy<immer::free_list_heap_policy<immer::cpp_heap>, immer::refcount_policy, immer::spinlock_policy>; unsigned int B = 5; unsigned int BL = 5; immer::vector_transient<T, MemoryPolicy, B, BL>::persistent_type = immer::vector<immer::box<object> >]’
main.cpp:26:22:   required from here
main.cpp:20:37: error: static assertion failed: invalid type
   20 |   { static_assert(is_valid_type<T>::value, "invalid type"); }
      |                                     ^~~~~

The immer::detail::rbts::rbtree type looks like the vector_transient::impl_t, but I'm not sure. I don't think it should be trying to hit my object ctor with that though. :confused:
Thank you for your time!

Hmmm, this is strange... :thinking:
And yes, rbtree is vector_transient::impl_t.

Got it. A fix is on the way. It was calling the initializer_list constructor of the vector. Fun times.

Thanks so much for the quick fix!

No worries! I'm also curious about what this "larger codebase" where you are using this is, if you ware willing to talk about it :smile:

Nice! That niche of systems programmers that dig Clojure :heart:
As you can imagine, my experience with Clojure was my motivation to write this library. In fact, I think that it's choice of default data-structures is Clojure's biggest contribution and what really allowed shaping "value-oriented design" as a paradigm (I'd argue that even code in Haskell and other lisps used to not be "value-oriented" in the way that Clojure's is... this days the landscape is more mixed).
I see that you are using the default memory policy in your code. I think that this could be an area of experimentation down the line. You could maybe try using LibGC.
I'll follow your project, it sounds quite interesting and something that definitelly could be useful for me if it becomes somewhat stable.
This summer I wanna book some time to some focused work on Immer again. Finally implement map transients and maybe some forms of diffing and ordered collections... Let's see.

As you can imagine, my experience with Clojure was my motivation to write this library.

I did imagine so; we very much share the same overlap, but you made a great lib out of it.

I see that you are using the default memory policy in your code. I think that this could be an area of experimentation down the line. You could maybe try using LibGC.

Thanks for this suggestion. Right now, performance with my run-time is abysmal, so this may help. Profiling with perf + flamegraph shows that the majority of the time is spent:

Creating immer maps
Getting data out of maps

The problem is that my object is a stack-allocated tagged union. If I have a object const &o parameter and I need to pull a key from it, I have to copy, since I don't know its lifetime. So every (get m k) copies the value out of m, which is not cheap. I've tried lifting everything to use object_ptr, which is a shared_ptr<object>, to remove the copying problem, but that slowed things down even more, since now everything from numbers to seqs needs another heap allocation.

This summer I wanna book some time to some focused work on Immer again. Finally implement map transients and maybe some forms of diffing and ordered collections... Let's see.

Please do! One thing that might be worth considering is lazy seqs in immer. Or maybe that'd just be useful for me and nobody else. 😁

Hi @arximboldi, this issue is still present in array and array_transient. It would be nice to have that fixed too (although it doesn't affect my code anymore, as I was actually using array where I should have been using vector).


[ISSUE #377] FIX Admin subcommand consumeMessage should quit when catching an exception

What is the purpose of the change
FIX Admin subcommand consumeMessage should quit when catching an exception, see #377 for details.
Brief changelog
make the method pullMessageByQueue  return when catching an exception.
Verifying this change
XXXX
Follow this checklist to help us incorporate your contribution quickly and easily.

[x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Write necessary unit-test(over 80% coverage) to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[x] Run mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test  to make sure integration-test pass.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Coverage decreased (-0.09%) to 42.285% when pulling 49ada22a097fc0a48bf811ad47c7dacbc794ea54 on XiaoZYang:fix-consumeMessage-not-quit-when-catch-message into bc0c04bff0be7970cf603835826ef17e855694ba on apache:develop.

@dongeforever Could you help us to review this pr？


Validity check not working according to 2G rules

The app does not do certificate verification for Austria correctly. They have completely different 2G rules, so in the app it shows the certificate is valid for Austria but it is not because last vaccination was more than half a year ago. Please fix, I consider this as quite critical because it can spoil travel plans.

You mean clicking on "Reisegültigkeit prüfen" and then selecting "Österreich" leads to this wrong result?

Yes. For Austria is the vaccination of the second shot older than 6 months considered as not vaccinated at all. If I am wrong please correct me, it might be that I do not understand that feature.

If it is only for entering the country then the title "Your certificate satisfy 2G rule" is wrong. Because it does not satisfy nor austrian nor german 2G rule.

Okay, as the app is intended for use in Germany the 2G(+) badges are shown according to German rules.
For Austria it's only relevant that the validity check for entering the country is correct


Inline a couple of 2D grid cell access functions

Noticed ToFlatIndex during profiling. Inline a couple of other short functions as well.

Merge requested by authorized user pifon2a. Merge queue now has a length of 2.

FYI: I unblocked "Verify pull request"

Error: exit status 1
Log:
=> handle work item: PR 1420 on googlecartographer/cartographer.
 => Switching to branch master.
 $ git reset --hard HEAD [data/cartographer]
HEAD is now at 36ea74d9 Stop using broken async_grpc::Client retry strategy
 $ git clean -fd [data/cartographer]
 $ git checkout master [data/cartographer]
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
 $ git pull [data/cartographer]
From https://github.com/googlecartographer/cartographer
   e1a839d6..d0348634  master     -> origin/master
Updating e1a839d6..d0348634
Fast-forward
 cartographer/mapping/2d/grid_2d.cc | 21 ---------------------
 cartographer/mapping/2d/grid_2d.h  | 18 +++++++++++++++---
 cmake/functions.cmake              |  4 ++++
 3 files changed, 19 insertions(+), 24 deletions(-)
 => Checking out ojura/patch-1 as local branch pr_1420.
 $ git remote add ojura git@github.com:ojura/cartographer.git [data/cartographer]
fatal: remote ojura already exists.
 $ git fetch ojura [data/cartographer]
 $ git branch --track pr_1420 ojura/patch-1 [data/cartographer]
Branch 'pr_1420' set up to track remote branch 'patch-1' from 'ojura'.
 => Switching to branch pr_1420.
 $ git reset --hard HEAD [data/cartographer]
HEAD is now at d0348634 Enable -Wthread-safety for Clang and CMake. (#1403)
 $ git clean -fd [data/cartographer]
 $ git checkout pr_1420 [data/cartographer]
Switched to branch 'pr_1420'
Your branch is up to date with 'ojura/patch-1'.
 $ git pull --force [data/cartographer]
Your configuration specifies to merge with the ref 'refs/heads/patch-1'
from the remote, but no such ref was fetched.


Diverging color scheme gets darker faster in one direction than the other

Please see the example here.
When I set a diverging color scheme w/ pivot 0, I expect it to look like this. With +4 and -4 to be similarly dark (one a light green and the other a light pink).

Instead I saw this:

My hunch is that it's calculating the ramp from the pivot to the min and max, leading to a different ramp if the min is closer to the pivot than the max.

Yep, this is the documented behavior:

For most quantitative scales, the default domain is the [min, max] of all values associated with the scale.

And you can confirm with the code here:
https://github.com/observablehq/plot/blob/cd19abab613474824c44e87f1839fb46aa3e39b3/src/scales/quantitative.js#L143
https://github.com/observablehq/plot/blob/cd19abab613474824c44e87f1839fb46aa3e39b3/src/scales/quantitative.js#L188-L193
We could certainly change the default domain for diverging scales, but I think you’d want an option for whether the diverging scale should be symmetric around the pivot or not. . Maybe symmetric = true? Or center = true?
The other thing to consider is that if we use a default domain of [pivot-delta, pivot+delta] where delta = max(|value - pivot|), then the color legend will show values that don’t exist in the chart, like this:

So… it might be better to somehow truncate the interpolator rather than extending the domain to be centered around the pivot. I think that would be possible, too, which would get you what you wanted.
I’m going to retitle this to describe a feature request, but please let me know if you have thoughts on how we’d support this use case.

yes - my expectation is that if type is diverging and a pivot point is set, then the domain would no longer be [min,max] but would become: [pivot-delta, pivot+delta] where delta = max(|value - pivot|). Thanks for making the calculation concrete.
I feel like there is a pretty strong expectation that a diverging color scheme is symmetric (unless made non-symmetric for a very specific reason). I'm actually struggling to come up with a reason for it not to be symmetric. Even if I wanted to deal with an extreme outlier, then I would want to clamp the delta at some smaller value, while maintaining the symmetric expectation.
It's funny... even though technically the domain would no longer be [min,max], it conceptually feels like it's achieving the same goal of the max distance from the pivot defining the domain, along with the constraint that the colors are symmetric from the center.
In Python's Matplotlib and Seaborn:

"For the Diverging maps, we want to have monotonically increasing 𝐿∗ values up to a maximum, which should be close to 𝐿∗=100, followed by monotonically decreasing 𝐿∗ values. We are looking for approximately equal minimum 𝐿∗ values at opposite ends of the colormap."

Example in colab here.

I don't actually see a straightforward way to make it non-symmetric.
Diverging color schemes seem a little more awkward / less supported in ggplot2. scale_fill_gradient2 let's you define a high/low/mid color and midpoint value. It also looks symmetriceven when the data is not, but I didn't test it yet.
And, to show that this isn't just about matplotlib/python & R, here is Storytelling with Data's description of diverging:

A diverging color ramp is like two sequential ramps facing opposite directions, stitched together tail-to-tail at your data’s natural midpoint. If your data includes both negative and positive numbers, for instance, then you would choose a dichromatic (two-hued) palette, ideally with your key color (for positive) and its complementary color (for negative), and use a neutral gray color for the midpoint (where the tails are stitched together).

It’s important to note that the diverging color ramp’s midpoint is not the midpoint of your data range, but rather at the meaningful midpoint that is the threshold between positive and negative. (A data range from -10 to 90 should not have a color ramp that uses 40 as its midpoint. The color ramp, in fact, should run from -90 to 90, with a midpoint of 0.)

In each case, I think the assumption that it's symmetric is pretty strong.

a few additional notes
the color legend will show values that don’t exist in the chart --> I actually don't have a problem with that; I think it can be nice to see the full extent of the color space (but this might be just me). And, at the same time, it's not clear to me why that has to be true? Why is the legend's domain being defined by the color domain rather than the data's domain?
I'm not sure what you mean by truncate the interpolator. Do you mean clamp at the min of the distances? Instead of extend to the max?

One more: How is this handled in Data Wrapper?
It was pretty cool.

If you choose a diverging in the dropdown, it centers as expected halfway between min/max.

But, there is a custom range selector in the UI with min / center / max. So the interface encourages you to make a decision about what those should be.

Which is actually really nice because often "max" isn't the ideal either. It might make more sense to choose to clamp at 5% or 10% or 15%, rather than have the color determined by whatever the most extreme value happens to be. For example, if we consider +5% a pretty big change, then perhaps setting a 5/-5 extent makes more sense.

ps - thanks for the much better title on this issue :)


Fix checkstyle failure in BookieRackAffinityMapping

Motivation

master branch is broken because of #13683 merged after checkstyle enabled by #13732

Modifications

replace Guava usage with Commons Lang

#13772 already fixed it. @lhotari

#13772 already fixed it. @lhotari

thank you @gaozhangmin . I merged that one now.


Is this where I can share samples for custom template layouts?

I have created a few layouts, based on Handlebars partials, and stored in html files.
Is this the correct place to share those?

I think we can put them in a folder below https://github.com/microsoft-search/pnp-modern-search, and then add docs pages pointing to them. That or I add a separate repo for sample templates. Any opinions?

Hi @PerOve, custom templates should be stored in this repository, not in the main repository. You can create a search-html-templates folder at root and make a PR. Then you can reference them in the doc.
When the custom layout feature will be available, they will be merged into the search-extensibility-samples solution folder as available custom layouts.

@PerOve  I'd love to see samples for your custom layouts!


Fix uncoupled block

Describe changes:

Use the same uncoupled task logic as in Grossman 2022 and Su 2022 (Python implementation of the Arduino code)
Use anti_perseverative to fight against bias in uncoupled tasks
Accordingly, the following block controls are disabled because they don't make much sense when blocks are uncoupled:

The manual "NextBlock" button (maybe we'll add "NextLeftBlock" and "NextRightBlock" in the future)
Block hold based on BlockMinReward
Block hold based on AdvancedBlock (recent choice proportion)

What issues or discussions does this update address?

Replace #204
Finally resolve https://github.com/AllenNeuralDynamics/aind-behavior-blog/issues/36
Resolve https://github.com/AllenNeuralDynamics/aind-behavior-blog/issues/169#issuecomment-1911041687

Describe the expected change in behavior from the perspective of the experimenter
Describe the outcome of testing this update on a rig in 447

[] Get the parameters and initialize the class
[] set self.RewardProbPoolUncoupled
[] set self.B_CurrentRewardProb
[] set self.BlockLen
[] set self.BlockLenHistory
[] handle self.B_ANewBlock

@XX-Yin while I'm refactoring the code before plugging in my class, please start to review my changes to make sure I understand your logic correctly.

@XX-Yin  can you help me understand this function https://github.com/AllenNeuralDynamics/dynamic-foraging-task/blob/f908229125ff4fd1818b21baf3613978201556af/src/foraging_gui/MyFunctions.py#L412-L428
Why do you need this since you alrady have https://github.com/AllenNeuralDynamics/dynamic-foraging-task/blob/f908229125ff4fd1818b21baf3613978201556af/src/foraging_gui/MyFunctions.py#L313 and https://github.com/AllenNeuralDynamics/dynamic-foraging-task/blob/f908229125ff4fd1818b21baf3613978201556af/src/foraging_gui/MyFunctions.py#L349
Do you use it to recalculate the actual block length history after any type of block manipulation, such as holding the block to fight against bias?

@XX-Yin can you help me understand this function
https://github.com/AllenNeuralDynamics/dynamic-foraging-task/blob/f908229125ff4fd1818b21baf3613978201556af/src/foraging_gui/MyFunctions.py#L412-L428
Why do you need this since you already have
https://github.com/AllenNeuralDynamics/dynamic-foraging-task/blob/f908229125ff4fd1818b21baf3613978201556af/src/foraging_gui/MyFunctions.py#L313
and
https://github.com/AllenNeuralDynamics/dynamic-foraging-task/blob/f908229125ff4fd1818b21baf3613978201556af/src/foraging_gui/MyFunctions.py#L349
Do you use it to recalculate the actual block length history after any type of block manipulation, such as holding the block to fight against bias?

@hanhou You are right. self.BlockLenHistory[i].append(self.BlockLen) is the expected block length. It could be changed by holding the block or pressing the NextBlock button. It's safer to compute the actual block length.

My code transplant now seems to work, although I'll do more tests. @XX-Yin @ZhixiaoSu

green: both sides is the lowest, push the previously lowest one to a higher prob
red: one side is higher for 3 consecutive blocks, push it to the lowest

@hanhou You are right. self.BlockLenHistory[i].append(self.BlockLen) is the expected block length. It could be changed by holding the block or pressing the NextBlock button. It's safer to compute the actual block length.

Thanks. I have renamed it to _override_block_len. In general, it would be great to add more comments and/or use more explicit name for such code that is not quite self-explanatory.

Tested a left-biased agent and the GUI correctly extended the right block until the agent's bias was reduced.

[ ] Fix the bug where the user switch coupled/uncoupled in the middle of a session.

@XX-Yin @ZhixiaoSu this PR is ready for review.

@XX-Yin @ZhixiaoSu @alexpiet It would be great if this PR can be reviewed and merged this week.

@XX-Yin @ZhixiaoSu @alexpiet It would be great if this PR can be reviewed and merged this week.

I dont have any bandwidth to review this right now.

@XX-Yin @ZhixiaoSu @alexpiet It would be great if this PR can be reviewed and merged this week.

I don't have bandwidth either. There are a lot of changes. Do you test different tasks (simulation state should be ok)? Coupled, uncoupled and RewardN.

Sorry, I don't think I have enough knowledge of the code to review it. But if the modification is only about the uncoupled task and it is relatively local, I can try to review and approve it. As long as it won't affect other versions of the task, I can take the responsibility if there are bugs that affect uncoupled task only (I believe it should be rare case.).

@XX-Yin @ZhixiaoSu @alexpiet It would be great if this PR can be reviewed and merged this week.

I don't have bandwidth either. There are a lot of changes. Do you test different tasks (simulation state should be ok)? Coupled, uncoupled and RewardN.

Yes. I added the tests I've done in the PR description

Sorry, I don't think I have enough knowledge of the code to review it. But if the modification is only about the uncoupled task and it is relatively local, I can try to review and approve it. As long as it won't affect other versions of the task, I can take the potential risk in uncouple unbaited task if there are bugs that affect uncoupled task only (I believe it should be rare case.).

Thanks Sue! Let's keep an eye on the first batch of mice using the new Uncoupled task. btw, congrats on the visa -- that's so fast!

Great! I'll ask Jackie to test it on the current few animals. (And yes, I just got an email saying my passport is ready for pick-up tomorrow! Highly recommend Vancouver for visa interviews.)

First real mouse running on the new Uncoupled task. The block structure seems good.
2024-02-26, 710414, Session 9


week cases added

Added support for the week case.

Looks good.
Would you like to finish this by making sure that both the RecurringExpense and RecurringIncome have all the needed code?
Just make the changes and commit it to the branch. They will be automatically added to this PR, so there is no need to close and open a new PR

I also noticed that by mistake I added some blank space, sorry,  got rid of it, and I rearranged the order in witch the method comes, that week follows after day and before month. The windows for both classes do have the same size so it should look decent.

It seems you forgot to add the week option to the switch in the RecurringExpenseInput form.
You can just copy it from the RecurringIncomeInput form
oh, and don't feel bad that you missed it. Thanks to this PR we caught a major bug that data wasn't being saved.
Otherwise the changes look great!
Thank you for all the hard work.

Does it look good now?

:shipit: :+1:
Looks great!!
Thank you very much!!


Update README.md

Add kopf, search guard, and tempest plugin.

Thank you @achmadns for your contribution!
I accept all except except tempest.
Unfortunately, it seams this project is abandoned (last update Aug 22, 2015)

I see, you prefer live community. Got it.