Missing screen refresh

After updating from 0.6.0 to 0.7.0 (or alternatively, git master), I occasionally observe neovide failing to refresh the screen when it should. This may be related to the setting
let g:neovide_cursor_animation_length=0.05

At least, I can't reproduce if I delete this setting.
I can reproduce this issue in the following way:

open the attached file in neovide
numbers.txt
On my screen, I can see the numbers 1 through 53
Put the cursor on the last visible line (53 in my case)
Press "page down" twice as fast as possible. Sometimes after doing this, I see lines 52 through 104, with my cursor on 52. However, I should see lines 103 through 155, with my cursor on 103.
Press the right arrow. Now I see lines 103 through 133, with my cursor on the "0" of 103.

Alternatively, instead of step 4, if I change virtual desktops and then change back, I see the correct behavior again.

I think this has been fixed in main. Please reopen if you come back to this and the issue remains.


Optimize images in integrations repository

Description
Compression helps save space when encoding integrations to avoid the size limit for documents. Sample data is the other big asset type, I think a decent solution is to truncate it to e.g. 10 records, until the catalog is able to handle more large-file storage. Image size issues became relevant in #1381
Issues Resolved
N/A
Check List

[ ] New functionality includes testing.

[ ] All tests pass, including unit test, integration test and doctest

[ ] New functionality has been documented.

[ ] New functionality has javadoc added
[ ] New functionality has user manual doc added

[X] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@Swiddis can u plz add a correspondent issue in the catalog repository for doing the same image reduction size there ?

Need #1392 to backport


Svelte/Vite plugin houdini not working in wxt

Describe the bug
Using houdini vite plugin seems to fail instantly whether in dev or build mode with the following error:
✖ Command failed after 693 ms

 ERROR  The "path" argument must be of type string or an instance of URL. Received undefined                                                        10:05:02 PM

  at fileURLToPath (node:internal/url:1489:11)
  at C:/Users/Desktop/test/repro/svelte/node_modules/.pnpm/houdini@1.2.47/node_modules/houdini/build/vite-cjs/index.js:68413:61
  at evalModule (node_modules\.pnpm\jiti@1.21.6\node_modules\jiti\dist\jiti.js:1:247313)
  at jiti (node_modules\.pnpm\jiti@1.21.6\node_modules\jiti\dist\jiti.js:1:245241)
  at C:/Users/ezzel/Desktop/test/repro/svelte/wxt.config.ts:2:36

Reproduction
Minimal reproduction instantly crashes on build or dev mode:
https://github.com/Arkezz/wxt-houdini
Steps to reproduce

git clone https://github.com/Arkezz/wxt-houdini
pnpm install in the project directory.
pnpm build || pnpm dev

System Info
OS: Windows 11 10.0.22631
    CPU: (16) x64 AMD Ryzen 7 5800H with Radeon Graphics
    Memory: 2.32 GB / 15.86 GB
  Binaries:
    Node: 22.2.0 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.17 - ~\AppData\Roaming\npm\yarn.CMD
    npm: 10.7.0 - C:\Program Files\nodejs\npm.CMD
    pnpm: 9.3.0 - ~\AppData\Local\pnpm\pnpm.CMD
  Browsers:
    Edge: Chromium (126.0.2592.56)

Used Package Manager
pnpm
Validations

[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

This seems to be a problem with Houdini's CJS build, but also the fact that WXT is loading the CJS version of the package. If it loaded the ESM version, it wouldn't crash like this.
Specifically, here's the line in the source code that's causing problems: https://github.com/HoudiniGraphql/houdini/blob/6c5dbda72fb4b7c42dc85a3991e9705224dda080/packages/houdini/src/lib/config.ts#L24
Here's the built ESM code:

Everything looks good.
Here's the CJS code:

And the problem is quite obvious... If import_meta is set to {}, then of course import_meta.url is undefined, and you can't get the dirname(undefined).

On a side note... I have never seen a comma used like this before: (0, import_node_url2.fileURLToPath)(...). Turns out it's a fancy way of calling a function with an undefined this value.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comma_Operator
WTF JS lol

So I would say their CJS build is just broken, and this would be fixed by #297.
For now, you can patch the package to get past this error:
//<EMAIL_ADDRESS>-var import_meta = {};
-var currentDir = dirname((0, import_node_url2.fileURLToPath)(import_meta.url));
+var currentDir = __dirname;

https://pnpm.io/cli/patch
Unfortunately, I don't know if that "works", your reproduction doesn't seem to use the client? The $houdini module doesn't seem to be generated (which I assume should happen since it's got aliases and references to it), so I don't think it's working.
When I add a log to the houdini.config.js file, it's not getting logged. Even if I rename it to houdini.config.cjs or convert it to an ES module, houdini.config.mjs with a default export.
I'm also getting a type error in wxt.config.ts, it seems houdini's vite plugin is for vite 4, not vite 5... https://github.com/HoudiniGraphql/houdini/blob/6c5dbda72fb4b7c42dc85a3991e9705224dda080/packages/houdini-svelte/package.json#L41
$ why vite
devDependencies:
@wxt-dev/module-svelte 1.0.0
├─┬ @sveltejs/vite-plugin-svelte 3.1.1
│ ├─┬ @sveltejs/vite-plugin-svelte-inspector 2.1.0
│ │ └── vite 4.5.3 peer
│ ├── vite 4.5.3 peer
│ └─┬ vitefu 0.2.5
│   └── vite 4.5.3 peer
└─┬ wxt 0.18.7 peer
  └── vite 5.3.1
houdini-svelte 1.2.47
├─┬ @sveltejs/kit 1.30.4
│ ├─┬ @sveltejs/vite-plugin-svelte 2.5.3
│ │ ├─┬ @sveltejs/vite-plugin-svelte-inspector 1.0.4
│ │ │ └── vite 4.5.3 peer
│ │ ├── vite 4.5.3 peer
│ │ └─┬ vitefu 0.2.5
│ │   └── vite 4.5.3 peer
│ └── vite 4.5.3 peer
└── vite 4.5.3
wxt 0.18.7
└── vite 5.3.1

WXT was created after vite 5 was released, and does not support vite 4... So I think you're out of luck :/
https://github.com/HoudiniGraphql/houdini/issues/1306
If you want to use houdini, you'll probably need to write a vite 5 compatible plugin. Before that, create a basic vite 5 project and see if it works there as expected. If it does, provide that reproduction here and I'll re-open this.

Alright, after releasing https://github.com/wxt-dev/wxt/pull/760 and upgrading the reproduction to v0.18.8, the plugin is running.
WXT 0.18.7                                                                                9:20:35 AM
ℹ Building chrome-mv3 for production with Vite 5.3.1                                                               9:20:35 AM
⠋ Preparing...HOUDINI LOADED
⠸ [1/3] background🎩 Generating runtime...
💡 No operation found. If that's unexpected, please check your config.
⠦ [2/3] content🎩 Generating runtime...
💡 No operation found. If that's unexpected, please check your config.
⠇ [3/3] popup🎩 Generating runtime...
⠏ [3/3] popup💡 No operation found. If that's unexpected, please check your config.
✔ Built extension in 6.663 s                                                                                9:20:42 AM
  ├─ .output/chrome-mv3/manifest.json               427 B
  ├─ .output/chrome-mv3/popup.html                  456 B
  ├─ .output/chrome-mv3/background.js               10.43 kB
  ├─ .output/chrome-mv3/chunks/popup-Bcgz__NX.js    7.93 kB
  ├─ .output/chrome-mv3/content-scripts/content.js  13.72 kB
  ├─ .output/chrome-mv3/assets/popup-BJWy3nl9.css   1.3 kB
  ├─ .output/chrome-mv3/icon/128.png                3.07 kB
  ├─ .output/chrome-mv3/icon/16.png                 559 B
  ├─ .output/chrome-mv3/icon/32.png                 916 B
  ├─ .output/chrome-mv3/icon/48.png                 1.33 kB
  ├─ .output/chrome-mv3/icon/96.png                 2.37 kB
  └─ .output/chrome-mv3/wxt.svg                     1.07 kB
Σ Total size: 43.57 kB
✔ Finished in 7.254 s                                                                                9:20:42 AM

It's not pretty,


Multiple fourier

Pull Request Description
What issue does this change request address? (Use "#" before the issue to link it, i.e., #42.)
Closes #711
What are the significant changes in functionality due to this change request?
Adds independent Fourier decomposition available to distinct targets.  Does not break with previous syntax.

For Change Control Board: Change Request Review
The following review must be completed by an authorized member of the Change Control Board.

[ ] 1. Review all computer code.
[ ] 2. If any changes occur to the input syntax, there must be an accompanying change to the user manual and xsd schema. If the input syntax change deprecates existing input files, a conversion script needs to be added (see Conversion Scripts).
[ ] 3. Make sure the Python code and commenting standards are respected (camelBack, etc.) - See on the wiki for details.
[ ] 4. Automated Tests should pass, including run_tests, pylint, manual building and xsd tests. If there are changes to Simulation.py or JobHandler.py the qsub tests must pass.
[ ] 5. If significant functionality is added, there must  be tests added to check this. Tests should cover all possible options.  Multiple short tests are preferred over one large test. If new development on the internal JobHandler parallel system is performed, a cluster test must be added setting, in  XML block, the node <internalParallel> to True.
[ ] 6. If the change modifies or adds a requirement or a requirement based test case, the Change Control Board's Chair or designee also needs to approve the change.  The requirements and the requirements test shall be in sync.
[ ] 7. The merge request must reference an issue.  If the issue is closed, the issue close checklist shall be done.
[ ] 8. If an analytic test is changed/added is the the analytic documentation updated/added?

@AaronEpiney you may be interested


Problems in training Camvid  dataset

Thanks for sharing so wonderful video semantic segmentation work.
I  did the experiments on Cityscapes dataset, and I can reproduce the data in your paper. However, I have encountered some problems when training the Camvid dataset. (The pretrained models are downloaded from the links you provided, and the requirements are satisfied.)
The PDA curves on testing are very weird, but the cfnet loss and the semantic loss are decreasing. Attached are the IoU accuracy across different testing epochs when the propagation distance is 1, 5, and 9, respectively. The last two images are the training losses.

I am confused about the above performances. The model seems over-fitting. Have you seen this kind of problem in your training? Do you have any idea how to fix this training problem?
In the "train.sh" file, both experiments adopt the same training epochs, learning rates, adjustment schedule of learning rates. Is there anything wrong with this setting?
Besides, I can obtain the exact same segmentation performances on Camvid just like the images in the repository folder "result --> spatial_correction_camvid" when I loaded the trained "spatial_correction_camvid" model provided in this repository. But unfortunately, I cannot achieve the same PDA in your paper. I can't figure it out.

      Fig. 12 in your paper

      The PDA curve using the trained "spatial_correction_camvid" model provided in this repository.

Looking forward to your response. Many thanks.

Many thanks for your interest in our work. I have to apologize that we have uploaded a previous version of codes and trained model weights for the camvid experiment by mistake. This version of codes lack of common data augmentation operations (such as random rotation and cropping), which are essential to alleviate the problem of overfitting. We will update the codes and corresponding model weights in the next few days. After that, You can conduct the camvid experiment again.

We have updated the codes and trained model weight. Welcome to conduct the camvid experiment again.

Thank you very much for your kind and quick response. I will conduct the experiment again.

Hi, the updated "spatial_correction_camvid" model is the same as the previous one.
I have printed the parameters of this model, it is the same as the previous model. The PDA curve in the testing dataset also remains unchanged.
Could you please check whether you have uploaded the correct one?
Besides, I noticed that you add data augmentation of random cropping and random flipping, but the training becomes very unstable. The IoU accuracy across different testing epochs when the propagation distance is 1, 5, and 9 are shown in the images below.

The PDA curve in the testing dataset using my trained model (under the latest repository) is shown in the following image. Still, I can't obtain the performance as your paper. It is similar to the previous performance.

I'm so sorry to only update the model weight on the BaiduYun and forget about the Dropbox. Now, you can check the new model on the Dropbox.
Your training curve seems weird and you can check the curve in my camvid experiment in the following.

Please check if you have updated the corresponding codes (e.g., dataset/camvid.py and python/train.py)

Thank you so much! I have reproduced the experimental results on Camvid dataset. Bravo!


UI buttons fixes

address stories:
https://www.pivotaltracker.com/story/show/143599725
https://www.pivotaltracker.com/story/show/143602641
https://www.pivotaltracker.com/story/show/143603341

center complete registration and continue button in initial queries page
make sure disabled class is removed from email button when its attribute, disabled, is removed
verbiage fix from "user" to "patient" in patient creation page

Note
These changes are needed for the eproms demo release.  @pbugni @ivan-c
Paul and/or Ivan, if you have a minute, can you review this?
Thank you very much in advance,
Amy


drawer enhancement: show layout info if circuit.layout exists

With some recent changes, a circuit that gets transpiled onto a coupling_map now will contain information about which qubits of the original (virtual) circuit correspond to which qubits of the final (physical) circuit. For example:
from qiskit.circuit import QuantumRegister, QuantumCircuit
from qiskit.compiler import transpile
from qiskit.test.mock import FakeTokyo
tokyo = FakeTokyo()

v = QuantumRegister(3)
circuit = QuantumCircuit(v)
circuit.h(v[0])
circuit.cx(v[0], v[1])
circuit.cx(v[0], v[2])

# do a GHZ state preparation on qubits 3, 7, 11, using ancillas for swap
new_circuit = transpile(circuit, tokyo, initial_layout=[3, 7, 11])

This request is to show the layout information next to each qubit. This can be found via:
new_circuit.layout

Layout({
3: Qubit(QuantumRegister(3, 'v'), 0),
7: Qubit(QuantumRegister(3, 'v'), 1),
11: Qubit(QuantumRegister(3, 'v'), 2),
0: Qubit(QuantumRegister(17, 'ancilla'), 0),
1: Qubit(QuantumRegister(17, 'ancilla'), 1),
2: Qubit(QuantumRegister(17, 'ancilla'), 2),
4: Qubit(QuantumRegister(17, 'ancilla'), 3),
5: Qubit(QuantumRegister(17, 'ancilla'), 4),
6: Qubit(QuantumRegister(17, 'ancilla'), 5),
8: Qubit(QuantumRegister(17, 'ancilla'), 6),
9: Qubit(QuantumRegister(17, 'ancilla'), 7),
10: Qubit(QuantumRegister(17, 'ancilla'), 8),
12: Qubit(QuantumRegister(17, 'ancilla'), 9),
13: Qubit(QuantumRegister(17, 'ancilla'), 10),
14: Qubit(QuantumRegister(17, 'ancilla'), 11),
15: Qubit(QuantumRegister(17, 'ancilla'), 12),
16: Qubit(QuantumRegister(17, 'ancilla'), 13),
17: Qubit(QuantumRegister(17, 'ancilla'), 14),
18: Qubit(QuantumRegister(17, 'ancilla'), 15),
19: Qubit(QuantumRegister(17, 'ancilla'), 16)
})

So I envision something like:
q0 (ancilla0) ------------
q1 (ancilla1) ------------
q2 (ancilla2) ------------
q3 (v0)       ------------
q4 (ancilla3) ------------
q5 (ancilla4) ------------
q6 (ancilla5) ------------
q7 (v1)       ------------
.
.

Note: the fact that we have q0, q1, .. q19 is an artifact of not being able to create register-less circuits currently. Eventually this should just be shown as physical qubits 0, 1, ..., 19.

The example Layout is the reverse mapping, but other than that this is good.


How to contribute?

Hi
I wish to contribute to the project but I didn't find any info about how to contribute.
Are you open to contribute ??
Thanks
Riccardo

Hi, yes but I suggest you open a thread here first with your ideas/suggestions to see if this can lead to direct or indirect contributions.

Why not to create a Contribution file here in the repo?

Good idea. I'll clarify this and other aspects next week.

Thanks

@divideconcept Please add label to issues.

any news ?


XSS fixes for identity.mgt.ui

Should encode following two lines as well
https://github.com/wso2/carbon-identity/pull/980/files#diff-e0a80181b8092021f04fe9b2fda1de7fR133
https://github.com/wso2/carbon-identity/pull/980/files#diff-ba02a275076fb512c22c313b2e26e607R143

Can merge


Broken links

There are a lot of broken links in migration area
https://advertising.amazon.com/API/docs/en-us/reference/migration-guides/reporting-v2-v3
For example:
Target
Keyword
Product ad
Advertised product

@mikhail-karabutov Thanks for reporting this. We had a bug impacting some of our links that should be resolved now.


Community templates

Fix for #2086
Types of changes
What types of changes does your code introduce to Graphback?

[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices apply)
[ ] Other (please specify)

Checklist

[x] I have read the CONTRIBUTING document.
[ ] Lint and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[x] I have added necessary documentation (if appropriate)

Further comments
I've added the changes from both mine and @wtrocki's PR to this one. The current status is:

There is a community-templates.ts file present in the packages directory.
This file contains an externalTemplates array where people can add their template as an object.
The externalTemplates array gets imported into the starterTemplates.ts file where templates from it get added to the allTemplates array.
Made changes to the way few things were imported in different files as they were giving errors in previous PR. (this might not be needed now)
Added a draft of the documention which will be changed based on suggestions.

Please let me know if you have any suggestions and what further steps I should take. Much thanks.

I need to rebase and squash this work in order to get this working


CardPreAuthorization Payin -  Call to undefined method stdClass::GetReadOnlyProperties()

Hello,
I m trying to create CardPreAuthorization payin but i got this fatal error :

PHP Fatal error:  Call to undefined method stdClass::GetReadOnlyProperties() in .../MangoPay/Libraries/ApiBase.php on line 398

Bellow my source code :
$payIn = new \MangoPay\PayIn();
$payIn->CreditedWalletId = $id_wallet_global;
$payIn->AuthorId = $id_user;
$payIn->PaymentType = \MangoPay\PayInPaymentType::Card;
$PayIn->PaymentDetails = new \MangoPay\PayInPaymentDetailsPreAuthorized();
$payIn->PaymentDetails->PreauthorizationId = $this->pre_autorisation->Id;

$payIn->DebitedFunds = new \MangoPay\Money();
$payIn->DebitedFunds->Currency = "EUR";
$payIn->DebitedFunds->Amount = $amount*100;

$payIn->Fees = new MangoPay\Money();
$payIn->Fees->Currency = "EUR";
$payIn->Fees->Amount = $amount*100;

$payIn->ExecutionType = \MangoPay\PayInExecutionType::Direct;
$payIn->ExecutionDetails = new \MangoPay\PayInExecutionDetailsDirect();

$payIn = $api->PayIns->Create($payIn);

Thanks for your answer to come
Kevin

Hey @KLevezier, so there's a couple of problems - the main one being:
$PayIn->PaymentDetails = new \MangoPay\PayInPaymentDetailsPreAuthorized();

You need to use a lowercase "p" for $PayIn to match the existing $payIn variable. Secondly (although not code related as such), you can not have the DebitedFunds->Amount = Fees->Amount (therefore you need to rework the $amount usage.


Fix color conversion bug lighting-example

Fixes #27063.
The used code is a copy of [MATTERROOT]/examples/lighting-app/genio/src/ColorFormat.cpp
More details in the issue itself.
Short version: function expects a 3 variables in a struct in the range
0-360 (degree)
0-100 (percent)
0-100 (percent)

Matter provides and is only capable of
0-255 (uint8 min - max)
0-255 (uint8 min - max)
0-255 (uint8 min - max)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Paul Targosz seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

There is still a bug in the calculation

False alert. Function is working.
For easier reviewing here are 2 godbolt links:
Testcases 4 are the most interesting ones.
new code:
https://godbolt.org/z/xs5bds4aP
old code:
https://godbolt.org/z/ffGG419vM
Further helping links:
https://en.wikipedia.org/wiki/HSL_and_HSV#/media/File:HSV-RGB-comparison.svg (its 360degree based but helps in understanding how the color changes based on hue without saturation and value)

@Sickeroni it would be awesome if this function would have a unit test for some known input & output conversions.


Not able to View Gremlin Cosmo DB in visual studio code

Does this occur consistently?
Repro steps:

Attached the Database using the Connection String
Trying to see the database, getting this issue.

Action: AzureTreeDataProvider.getChildren
Error type: FetchError
Error Message: invalid json response body at  "Gremlin Cosmo DB URL" reason: Unexpected end of JSON input
Version: 0.16.0
OS: win32
OS Release: 10.0.19042
Product: Visual Studio Code
Product Version: 1.55.2
Language: en

Call Stack
extension.bundle.js:188:158103extension.bundle.js:188:158103
processTicksAndRejections task_queues.js:97:5

Hi @SanthoshSubbanna
What type of connection string are you using to attach?  Are you using Azure Databases or a different platform?
How did you create this graph account and how are you generating your connection string?  Through the extension, I was able to create a graph account and copy the connection string and attach it.  Did you happen to create it somewhere else?

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Wallet loses track of change address, funds lost?

Follow on from discussion in Slack. Amit was testing tipping and sent this transaction:
https://explorer.lbry.io/tx/c7b42275b98d23d2379ec660808bd8774a0cae5d4c4afe236480007bd6d3cd88 -
It looks like he had 0.97 on bVxoXssismRg5W4ShPWNhoLxwL7HxG1ZaV, and it sent 0.01 of that to the claim support/tip, and .869 went to a change address (bZtf8sofVPGkkS5WY8MkgS8ZXErDx3Vg7N) which should be in his wallet. He looked for g7N address but could not find in wallet and he said his balance decreased by the entire 0.97 amount.
Details from the tx log:
2017-08-20 13:24:52,863 ERROR    lbryum:115: [CoinChooserOldestFirst] change: [(1, 'bZtf8sofVPGkkS5WY8MkgS8ZXErDx3Vg7N', 86907300)]

2017-08-20 13:24:52,864 ERROR    lbryum:115: [CoinChooserOldestFirst] using 1 inputs

2017-08-20 13:24:52,864 ERROR    lbryum:115: [CoinChooserOldestFirst] using buckets: [u'242fe4663e1679f279f3fdd644dd7c5d72dc46d035020d097b2287f1f560e389:0']

2017-08-20 13:24:53,081 ERROR    lbryum:115: adding signature for ff0488b21e000000000000000000d42ddce17b99229d8bb0fa5b388f9002e370be35151e33f78813b6bc32c48e7e03c4edc8859ef957eddf8e27d00d98c9308e68d04f96e50f6a07a32ca842803e3401006700

2017-08-20 13:24:53,621 ERROR    lbryum:115: is_complete True

2017-08-20 13:24:54,036 INFO     lbrynet.core.Wallet:1408: Broadcast tx: c7b42275b98d23d2379ec660808bd8774a0cae5d4c4afe236480007bd6d3cd88

lbryum history shows:
      "claim_id": "72dbd9613075958486fe147d717a60a1a8f24e4c",
      "claim_name": "test-witcher3",
      "confirmations": 196,
      "date": "2017-08-20 13:26",
      "is_tip": true,
      "timestamp":<PHONE_NUMBER>,
      "txid": "c7b42275b98d23d2379ec660808bd8774a0cae5d4c4afe236480007bd6d3cd88",
      "type": "Support",
      "value": -0.869205

Update: The change address was created later automatically, somehow, and I received my change back, however this happened approx 5-6 days after the original Tx, in which I "lost" the change.


fix: Ajax request makes the session expire when app.sessionExpiration is set to 0

Description
Fixes #5688

When setting in .env, all values are string.

Checklist:

[x] Securely signed commits
[] Component(s) with PHPDoc blocks, only if necessary or adds value
[ ] Unit testing, with >80% coverage
[] User guide updated
[x] Conforms to style guide

Should we fix DoEnv to convert variable types?

https://github.com/codeigniter4/CodeIgniter4/pull/5779 was merged.


Disable auto build of docs during a PR and incorporate PR68 changes

LGTM
https://daveolker.github.io/Rancher-on-SimpliVity/MVI1/config-core/group-vars.html#overriding-group-variables
https://daveolker.github.io/Rancher-on-SimpliVity/MVI1/playbooks/download-kits.html


Update SPARK-23772

I updated the impl and tests. The expected schema in the new test should drop null fields.

This change is

I'm checking this and merging this fix into my pr.


User cleanup during API acceptance tests

Issue #4390 (PRs #4433 #4441 #4456 ) implements cleanup of personal spaces and project spaces at the end of each API test scenario - good.
But I think that only happens for the local API acceptance test suites. The AfterScenario is in SpacesContext, and SpacesContext is never loaded when the core API tests are run. The core API tests create users, and those users have a personal space when the test suite is run against an oCIS server. (The core API tests never create a porject space, so we do not need to worry about cleaning up those)

Design and implement a way to get at least the needed personal-space-cleanup code to run after each core scenario finishes.

The Behat test-runner does not guarantee the order that AfterScenario methods are run. It could be that the AfterScenario that deletes users runs before the AfterScenario that cleans up spaces. This could be a problem in both local and core API acceptance test runs.

Design and implement a way to make sure that project spaces and personal spaces are cleaned up before users are deleted.

The clean-up of spaces after user deletion is implemented by these PRs
https://github.com/owncloud/ocis/pull/4532, https://github.com/owncloud/ocis/pull/4533
Now, the user spaces created after running core test from ocis and ocis local tests are deleted properly.
So closing this issue on behalf of the above PRs.


Update JSON format keys format

Hello @ahmadawais , as per our discussion, this PR:

Removes the leading # when outputting JSON
Transforms all keys to kebab-case

@ahmadawais just a friendly reminder to take a look at this, it's quite small and is per our discussion from the previous PR https://github.com/ahmadawais/corona-cli/pull/76


PackedStringArray missing methods

Tested versions

Reproductible on v4.2.2.stable.mono.official [15073afe3]

System information
Windows 10 - v4.2.2.stable.mono.official
Issue description
Methods missing on the PackedStringArray (and I believe on all the packed arrays).
They can be implemented by the user with the available methods but I believe it's a good idea to have consistent APIs.
For a Packed Array containing the type T (PackedArray<T>) the following methods need to be implemented:

bool all ( Callable method ) const
bool any ( Callable method ) const
PackedArray<T> filter ( Callable method ) const
PackedArray<T> map ( Callable method ) const
Variant reduce ( Callable method, Variant accum=null ) const
void sort_custom ( Callable func )
int bsearch_custom ( T value, Callable func, bool before=true ) const
T back ( ) const
T front ( ) const
T pick_random ( ) const
void erase ( T value )
T pop_at ( int position )
T pop_back ( )
T pop_front ( )
void push_front ( T value )
void shuffle ( )

Steps to reproduce
Attach this script to any node.
extends Node

func _ready() -> void:

	# Works
	# var arr : Array[String] = ["1","2","3","4","5","10","20","30","40","50","100","200","300","400","500","1000","2000","3000","4000","5000"]

	# Does not work
	var arr : PackedStringArray = ["1","2","3","4","5","10","20","30","40","50","100","200","300","400","500","1000","2000","3000","4000","5000"]

	arr.all(func (item: String) -> bool: return item.length() >= 2)
	arr.any(func (item: String) -> bool: return item.length() == 0)
	arr.back()
	arr.front()
	arr.erase("1")
	arr.filter(func (item:String) -> bool: return item.length() == 3)
	arr.map(func (item:String) -> int: return int(item))
	arr.pick_random()
	arr.pop_at(2)
	arr.pop_back()
	arr.pop_front()
	arr.push_front("0")
	arr.reduce(func (acc: String, item: String) -> String: return acc + item, "")
	arr.shuffle()
	arr.sort_custom(func (item1: String, item2: String) -> bool : return item1.length() < item2.length())

Minimal reproduction project (MRP)
PackedArrayMissingMethods.zip

Feature proposals are tracked here, this is for bugs. Please open a proposal instead.

Is this not a bug, or are Packed Arrays not supposed to be a better version of the normal Array?

They're designed to be tighter and more performant storage, not a plain superior version, implementing these features would require writing new dedicated methods for them, as they do not exist in the underlying type, unlike Array
So this isn't a missing intended feature, but something that can be discussed as an improvement

The Packed*Array types are primarily designed to do two things:

Store data efficiently, by not storing Variant but the real data type
Pass data back and forth between scripting and the engine, especially for servers, in a way that avoids having to constantly convert between Array and what ever specific data type is required

Internally they just use an engine data type called Vector, which lacks a lot of the features Array does, the special methods in PackedByteArray for example is only available to scripting on PackedByteArray and are implemented in the bindings, not on the Vector<uint8_t> type itself. The same would likely have to be done for the suggested methods, as they would not be very relevant to Vector itself as we don't use those methods in the engine core
The one exception really would be sort_custom which already exists, but it'd have to be bound in a custom way as the built-in one doesn't take a Callable but a comparator
Further the pop methods have been suggested before but can't be trivially implemented, as they'd be unable to return a value, unlike Array where they can return Variant() there's no way really to return clearly a null for int for example. See:

https://github.com/godotengine/godot/pull/83000

Thanks for the in-depth explanation of what is the desired purpose of the Packed Arrays is. I will open a proposal instead.
Still, I think most of the proposed methods (execpt the pop group) make sense to be implemented for Packed Arrays as well. (I'm going to try my hand at it.)

Closing as per the above


Updates Layout, Dockerfile Fix

Coverage increased (+2.0%) to 82.0% when pulling cb17df9c4b6363fdeb3ac839fb33bd501273162b on psastras:master into 8dd3f16aac19476484b95dd558a2b185ad7b9208 on OpenChatAlytics:master.


microbenchmarks MatrixUtils_persp_transformPoint_iteration regression

Looks like it's on this roll.
It's small, but persists after this roll.
https://flutter-flutter-perf.skia.org/e/?begin=1598031665&end=1598051058&keys=X8d786420a42b5955be2c6b8178e87364&xbaroffset=21187
cc @gaaclarke this week's engine sheriff.

Correction: @chinmaygarde is the current sheriff.

This benchmark is entirely computational dart code with no dependence on the framework of the engine. Any regressions would be likely due to a change in Dart itself.
This was the only Dart roll I saw in that Engine roll: https://github.com/flutter/engine/pull/20680

Here's the list of Dart commits: https://github.com/dart-lang/sdk/compare/2.10.0-45.0.dev...2.10.0-47.0.dev
@a-siva @alexmarkov @mkustermann

Bisected this to https://github.com/dart-lang/sdk/commit/d11e89f5168a4c919d73181c15c2d96bd0867407
Not sure why this change (involving the VM service) would affect this particular benchmark.
@bkonyi

That change shouldn't have any meaningful impact on performance unless the test is spawning a Dart process with the VM service and dartdev enabled (this is the default) and you're measuring performance by including startup time. The change basically just delays the printing of the Observatory message until DDS connects to avoid races between VM service clients.
You might want to consider running any non-Flutter Dart tests with the --disable-dart-dev flag to avoid this extra overhead.

This benchmark is the 3rd of 4 microbenchmark loops run in the same VM so a startup delay would more likely have affected one of the earlier benchmarks.
The same run performs the following benchmark tasks in the following order:
MatrixUtils_persp_transformRect_iteration   (improved from ~515 to ~510 on 8c3cff8)
MatrixUtils_affine_transformRect_iteration   (improved from ~387 to ~384 on 83c3ff8)
MatrixUtils_persp_transformPoint_iteration  (regressed from ~322 to ~327 on 83c3ff8)
MatrixUtils_affine_transformPoint_iteration.  (holds steady around ~301)
So it looks like the regression coincided with the two rect benchmarks (run earlier in the same run) improving a bit.
Each run causes the creation of 10,000,000 Rect or Point objects. Could the change have affected when GC runs happen during the benchmark?

This benchmark is the 3rd of 4 microbenchmark loops run in the same VM so a startup delay would more likely have affected one of the earlier benchmarks.

If that's the case, https://github.com/dart-lang/sdk/commit/d11e89f5168a4c919d73181c15c2d96bd0867407 is definitely not going to cause a problem as it should only impact performance before the main isolate of the process is started.

@jason-simmons Do you still have the data from bisecting down to https://github.com/dart-lang/sdk/commit/d11e89f5168a4c919d73181c15c2d96bd0867407?
There are some changes to the Dart VM compiler that look like they could impact Dart performance:
https://github.com/dart-lang/sdk/commit/e5cf5d95023746c796c122d4b94f61963eb514b5
https://github.com/dart-lang/sdk/commit/816fd08b9281544e2c6ffb24e271307561b647cb
https://github.com/dart-lang/sdk/commit/fdd01da670e10b48c39516716103c309e711ed76

I reran the benchmark.  This was on a Mac host and Android (Moto G4) target.

I can reproduce the difference in the MatrixUtils_persp benchmarks by starting with https://github.com/dart-lang/sdk/commit/ae462475f978d1395c7147d2c7055f53114d8294 and just adding these lines from https://github.com/dart-lang/sdk/commit/d11e89f5168a4c919d73181c15c2d96bd0867407#diff-49401d85ab1ec16dde493cf6e59c4790R40:
In sdk/lib/_internal/vm/bin/vmservice_io.dart:
@pragma("vm:entry-point")
bool _waitForDdsToAdvertiseService = false;

I don't know why a microbenchmark would be affected by this declaration.

We might be getting a slightly different order of data and code in the application snapshot. Such reordering might affect tight loop micro-benchmarks by a few percent (for example due to changes in memory cache behavior).

This benchmark was originally written a year ago to test a performance improvement that brought it down from ~450 range to ~345, so we've gotten even better than that without any changes to the code. I think a couple of ns regression is fine with regard to the purpose of the benchmark.

Not sure if Skia perf requires us to manually rebaseline, but it sounds like that would be the right idea here. Dropping the priority, and assigning back to @kf6gpe to rebaseline/close.

Sounds good! I've marked this as passing, so I think we're set.
R.


Send STOP to player if PAUSE not supported

Some players do not support pause - use stop in that case instead

@vk2him this should fix your issue reported in discord

Yes, this fixed the issue - many thanks!


Add ability for extensions to customize autoClosingBrackets

Instead of "class c {" adding a "}" we'd like some way to tell it to close it with "};" like VS does. Our C/C++ extension has knowledge of when the "};" should be used.

I really would like this feature too


Edit files to run on Linux

May need more edits to auto-detect user's platform

The pull request is obsolete now.

The pull request is obsolete now.


test: add e2e test of service

Codecov Report

Merging #38 (c55e9c2) into main (557731a) will increase coverage by 0.22%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #38      +/-   ##
==========================================
+ Coverage   70.89%   71.12%   +0.22%
==========================================
  Files          13       13
  Lines         890      890
==========================================
+ Hits          631      633       +2
+ Misses        175      173       -2
  Partials       84       84

Impacted Files
Coverage Δ

test/e2e/utils/delete.go
45.45% <0.00%> (+3.63%)
:arrow_up:

Continue to review full report at Codecov.

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


New Builds

The releases page states that builds are synced with https://github.com/StaZhu/enable-chromium-hevc-hardware-decoding, but now that hevc is included in public prod builds, can we get a new build?
Thanks!

Mike

You can actually just use the binary in that repo, It has integrated both HEVC and AC3/E-AC3 support since M115.

As @StaZhu's comment, you can use build in his HEVC repo.


[EMB-119] Language changes to the feedback dialog

Purpose
Language changes requested by Product.

Summary of Changes
Side Effects / Testing Notes
Ticket
https://openscience.atlassian.net/browse/EMB-119
Reviewer Checklist

[ ] meets requirements
[ ] easy to understand
[ ] DRY
[ ] testable and includes test(s)
[ ] changes described in CHANGELOG.md

Coverage remained the same at 4.425% when pulling 4c5f2eeb503c74c83102f13b974f186a0d58e744 on feature/language-changes into 6edf097ff88409435eb2bce74728257abe2943a4 on develop.


How to display 5 way venn diagram

Hi Ben,
Thanks for your wonderful Venn diagram!
However, I met with a problem trying to visualize 5 way venn diagram, The problem description can be found at http://stackoverflow.com/questions/28875479/draw-5-way-diagram-using-d3-js.
Thanks!

There was a syntax error in your javascript - posted fix to that SO question


feat: Add LAZ 1.4 sample file to use on point cloud examples

I am adding a new sample for LAZ 1.4 file.
The origin of the file is pdal/data repo - https://github.com/PDAL/data/blob/master/liblas/SerpentMound_LAS14_ExtraDims.laz
The license for the repo is CC-BY-4.0 - https://github.com/PDAL/data/blob/master/LICENSE
Do I need to add more attributions somewhere?

I am adding a new sample for LAZ 1.4 file. The origin of the file is pdal/data repo - https://github.com/PDAL/data/blob/master/liblas/SerpentMound_LAS14_ExtraDims.laz The license for the repo is CC-BY-4.0 - https://github.com/PDAL/data/blob/master/LICENSE
Do I need to add more attributions somewhere?

Great. If you can add those lines in one of the README files like this
https://github.com/visgl/deck.gl-data/blob/master/formats/README.md

OK landed and added license https://github.com/visgl/deck.gl-data/blob/master/README.md#examplespoint-cloud-laz


Allow url formatted db connections.

I had trouble using a database URL in my database.yml
development:
  adapter: postgresql
  database: master-db

development_slave: <%= ENV['READONLY_DATABASE_URL'] %>

This patch allows the connection to be activated using URL or hash syntax.

Awesome, thank you!
Is it possible to add a test case for this? Because even though your code is clean and I like it, the intention for this change is less clear and it can break again.

Sure thing, will do!

Thank you! 🎉 🎉 🎉


2 instance of big slide doesn't seems to work

Hi,
I am using bigSlide for one of my project on mobile. I have one left menu and one right menu triggered by to links:
$('#a_list').bigSlide({
	menu: '#menu',
	side:'left'
});
$('#a_option').bigSlide({
	menu: '#option_menu',
	side:'right'
});

The second one is not working. When I remove the first one, the second one is working... Can't we have 2 instance of bigSlide() ?
Many thanks

Hi,
i am trying use the same code for having two BigSlides on one page, but not sure where i am missing
here is the code http://sanketbhatt.com/ecom/
all i want is that when i click on hamburger menu the BigSlide should come from left (which thankfully is working fine) and when i click on cart the BigSlide should come from right, which is not working
i have used the side: 'right' option to do so here http://sanketbhatt.com/ecom/index1.html

Hi.
I used @camilonova 's suggestion and implemented an example which is running on jsfiddle here:
https://jsfiddle.net/kogcyc/qwg1xu28/
Hope someone finds it useful.
Thanks to all!


Options for handling and presentation of multiple input files

Handle generating reports for multiple files and also handle relating them together. eg:

Relate several reports in a form of matrix, each report might be a different run of the test suite, perhaps on different platforms or just at different test runs over time.

Moved this to https://gitlab.com/inorton/junit2html/issues/2


about async and advice

does async refer to performing other tasks when no data is being read? and does it impact network performance?`
i recommend using smoltcp instead of etherparse for better packet modification and analysis.

I deeply appreciate your feedback. As a novice in Rust, it is immensely valuable to me.

In the present scenario, async read can be considered as syntactic sugar. It enables you to await the future or integrate it with other asynchronous calls, rather than directly waiting on the Win32 event. Implementing an async approach may lead to slight additional CPU overhead. This is because, rather than directly waiting for the event on the packet processing thread, a thread from the thread pool is assigned to wait and subsequently wake the future job. However, the impact of this is expected to be minimal. My intention is to develop more async scenarios in the future and assess their performance, facilitating a more comprehensive comparison.
Thanks for the hint, I will take a look. etherparse was the initial crate that I deemed appropriate for demonstrating the concept.

Looking forward to seeing more async examples.
I previously attempted to write a Rust wrapper for NDISAPI, and I believe the following code snippets might be beneficial.

It can easily modify Ethernet packets.


Added uninstall option, new panel and more

Added panel to manage already installed packages
Within the panel now possible to delete packages
If there already is a config file, the installed panel will be shown
Added buttons in the titlebar of the panel with the next buttons:

show configuration panel
show already installed packages
show the install quick panel
Added icon font for buttons

Forgot to mention that the save option is added for both install and uninstall

Hi, I will be reviewing your PR. Some of the features that you implemented are under development right now, following a design for the feature. Thanks!

@albertinad, just looking through the code and i made a mixed up about .bowerrc and bower.json.
My changes only work with an already installed bower.json file.

@albertinad , Made some adjustments for the installed packages. Als able now to generate a default bower.json

I will take a look at it today, but first please updage your repository from the upstream, since most of your changes are already implemented and a lot of new changes, related to the design, (base components, ConfigurationManager, DependenciesManage, BowerFile etc).

@albertinad, maybe a stupid question, but how do i update my fork with your latest updates?

 Not ready to merge for you directly.
I saw there is a lot going on indeed. From the things we did both, I will remove mine and where necessary extending yours.
Because most parts are already there I will focus on the panel for listing end removing installed packages.

That's great! Please file an issue and make a branch on your fork so I know that you're working on that :)
If you have any question, doubt or want to discuss some design things, lets use that issue.
Thanks!

@navelpluisje I forgot, I like the icon/styles that you added, can you create a branch on your fork that only contains those little changes (icons) ? I can merge it as soon as you finish. There's an issue for that: #28


datetime validation is less strict than the documentation suggests

Bug
The documentation for datetime types suggests the following string types are acceptable:

YYYY-MM-DD[T]HH:MM[:SS[.ffffff]][Z[±]HH[:]MM]]]
int or float as a string (assumed as Unix time)

But the actual parser accepts much looser formats, including some pretty funky ones, because month, day, hour, minute and second are all allowed to be 1 digit:
>>> from pydantic.datetime_parse import parse_datetime
>>> parse_datetime('1915-5-9T14:1:2')
datetime.datetime(1915, 5, 9, 14, 1, 2)

I suppose the easy thing to do would be to update the documentation to reflect this, but I think the right thing to do would be to deprecate those unusual formats or put them behind a flag of some sort. They're not formats that are in common use.

Thanks for reporting. Let's fix in V2, we should also double check documentation exactly matches logic then.
Happy to accept a PR now to correct docs.

This is fixed in pydantic-core I believe using speedate, will be released in V2.
Let me know if the rules applied by speedate are not satisfactory.


Separate Document to a standalone module or repository

The Document code could be separated to a standalone module and even a repository.
Some tests should be added to increase coverage.

As mentioned in the mail I think could be a very good option to separate it to a new repo and many weso the maintainer.

I have already done it here.


resizeCanvas() doesn't always work correctly

Description
We are facing a problem when we change the orientation of the mobile device on iOS in Safari - from portrait mode to landscape mode. All the contents of the applications squeezes randomly.
We have studied this issue and we realized that the function resizeCanvas() doesn't always work correctly after turning the screen. It seems that the function/resize triggers before Safari swaps height and width. We thought that maybe we could solve this issue by triggering the function ourselves after some timeout.
Is it possible to run resizeCanvas() in the namespace of user scripts?
As I understand this is also a known issue. Are there any solutions available?
URL: https://toyota.3dconfiguration.com/
Video: Video with bug
Device: iPhone X
Browser: Safari 12.4

Can you post screenshots of what you're seeing (just to make sure we're observing the same problem)?

@willeastcott

Screenshots

There is an inconsistencies with the way browsers trigger few events, like: resize and orientationchange on window object. Some browsers trigger them when window.innerWidth and window.innerHeight are changed, some trigger them before those values change. This leads to inconsistencies.
Projects made from the Editor, have __start__.js file, it subscribes to those events. Quick fix would be to setInterval and check if window.innerWidth is different from what is was with last reflow call. If it was, then do the reflow.
We probably should update __start__.js and add such functionality.

I think this issue is slightly different.
The aspect on iPhone is incorrect only on landscape when the toolbar is visible. Hiding the toolbar results in correct aspect. So I suspect some element math is perhaps incorrect...

Created project to showcase this issue on iOS. Both white rectangles are anchored to the top left and bottom right of the screen: https://playcanvas.com/editor/scene/938141
On iPhone 5 wile landscaped, iOS 12.4.5, Safari, the app is stretch vertically.

Poked a bit more and I had to make a few changes to the CSS for Max's quick fix to work as seen in the JS file: https://playcanvas.com/editor/scene/938162
(Completely untested on any other device)
// initialize code called once per entity
Sandbox.prototype.initialize = function() {
    this.app.once('postrender', function() {
        document.getElementById('application-canvas').style.position = 'relative';
        document.body.style.minHeight = '100%';
        document.body.style.height = 'auto';
        document.body.style.maxHeight = 'auto';

        window.addEventListener('resize', function() {
            setTimeout(function() {
                window.scrollTo(0,1);
            }, 200);
        }, false);
    });
};

@yaustar I tested this solution on iPhone X/11 via browserstack - works fine. However, I'm not sure if this bug was there before. So, can you make one build with turn off your script?

@qWici you can grab any other public project like this one https://playcanvas.com/editor/scene/474021 Thanks for testing :)

Please note that this code in my R&D only works without the iFrame that the publish URL uses. You can get to the iframeless version by adding a /e  before /p in the URL.

I saw some similar "squishing" issues, and reported them here ( see screenshots in second post )
https://forum.playcanvas.com/t/different-speeds-and-crash-on-ios-with-new-model-viewer-starter-kit-scene/8978

If I download a self hosted build and change the CSS to the following this is the best result I got so far on my iOS device. No scaling and fills the browser viewport no matter how many rotations.
Changes marked with /**/
My concern is the use of 'fixed' for positioning of the canvas.
html {
    height: 100vh; /*used to be 100%*/
    background-color: #1d292c;
}
body {
    margin: 0;
    max-height: 100%;
    height: 100%;
    overflow: hidden;
    background-color: #1d292c;
    font-family: Helvetica, arial, sans-serif;
    position: relative;
    width: 100%;
}

#application-canvas {
    display: block;
    position: fixed; /*used to be absolute*/
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
#application-canvas.fill-mode-NONE {
    margin: auto;
}
#application-canvas.fill-mode-KEEP_ASPECT {
    width: 100%;
    height: auto;
    margin: 0;
}
#application-canvas.fill-mode-FILL_WINDOW {
    width: 100%;
    height: 100%;
    margin: 0;
}

canvas:focus {
    outline: none;
}

CSS Viewport Units is widely supported for quiet some time, so should be ok: https://caniuse.com/#feat=viewport-units
Same applied for position fixed: https://caniuse.com/#feat=css-fixed
It is matter of testing on all different platforms, and ensuring it looks ok with and without bottom panel on playcanv.as as well.

I've created a test site to make this easier:
https://xenodochial-wozniak-590156.netlify.app/no-iframe
Which deploys from this repo https://github.com/yaustar/ios-landscape-rotation-fun
It works on my Android Google Pixel 2 XL, iPhone 5S, Windows Chrome.
Trying t o use Browserstack but it's giving me different results to real devices which is weird. Anyone with physical iOS device, I be very grateful for extra testing :)
Start in portrait, load site, turn landscape (expect to go full screen), turn portrait (expect minimal URL bar) and back to landscape (expect to go full screen)
Do the same but start in landscape.
Thanks!

Ok, I think I have a version that fixes all the issues that I had previously on my iPhone 5S.
I'm not sure I like the solution but it works (TM) and the CSS does make sense. It feels like a terrible hack. 😭
Same site: https://xenodochial-wozniak-590156.netlify.app/no-iframe or https://tinyurl.com/y9nczbtq
Please try to break it on any device that you have 😅

And it breaks when the user taps the bottom or top of the screen in landscape and shows the browser navigation :(

And it breaks when the user taps the bottom or top of the screen in landscape and shows the browser navigation :(

Yeah, this is another thing - when user touches screen, and moves around, it can bring that nasty nav bar.
The go to solution would be to figure out how to always have that nav bar visible. And only hide it if user actually goes fullscreen. This is basically a behaviour on Android, and iOS should behave same.
That "magical" nav in Safari on iOS - is a pain.

As iOS doesn't support fullscreen API yet, they will always have the nav bar 😅
This branch does a 'hack' which scrolls to the top of the page 500ms after reflow to get the canvas in the right place.

That "magical" nav in Safari on iOS - is a pain.
I concur 😭

I've been investigating it more. Only to conclude: iOS sux :D
There are promising solutions. The way we are doing resize of canvas element in order to fill window, might change. As it relies on unstable behaviour of setting style width to window.innerWidth/Height, then getting clientWidth/Height and then setting canvas resolutions to such, removing style from element.
The problem lies under window.innerWidth/Height - is not reported correctly in Safari (other browsers on iOS work great).
In Safari, behaviour of changing from portrait to landscape is pretty straight forward, it hides navbar (fullscreens page), and reports resolutions correctly. But then changing back from landscape to portrait, hides bottom bar and slides top bar slightly, leading to higher resolution, but then it fails to report properly resolution, and it does not fires "resize" event on window, which logically it should. It is unique issue of Safari on iOS.
There are few workarounds, one of them is actually calling reflow method on requestAnimationFrame, and doing nothing when window.innerWidth/Height has not changed. This is lightweight, and bulletproof. @willeastcott let me know if this approach you think would be viable?

There are few workarounds, one of them is actually calling reflow method on requestAnimationFrame, and doing nothing when window.innerWidth/Height has not changed. This is lightweight, and bulletproof.

Will this work in the case of in landscape mode, the user taps the bottom or the top of the screen to show the URL bar (which overlaps content)?

There are few workarounds, one of them is actually calling reflow method on requestAnimationFrame, and doing nothing when window.innerWidth/Height has not changed. This is lightweight, and bulletproof.

Will this work in the case of in landscape mode, the user taps the bottom or the top of the screen to show the URL bar (which overlaps content)?

So far in tests, it works - no bar is showing.
I will test further. And detail a solution. It actually not an engine related, but Launcher and playcanv.as template, the way it does reflow.

So far in tests, it works - no bar is showing.

Really? That's awesome!

Alright, turns out on iOS 14 mobile Safari will go full screen if ONLY one tab is open when rotating to landscape. More than one tab will show the nav bar.
Also, on iPadOS, the full screen API is available (https://developer.apple.com/forums/thread/133248).

I am facing a similar issue with iOS Safari, wherein stretching doesn't seem to occur, but a white bar is visible when I switch from portrait to landscape. Safari automatically enters fullscreen, and the innerHeight no longer reflects the actual available height.

There are few workarounds, one of them is actually calling reflow method on requestAnimationFrame, and doing nothing when window.innerWidth/Height has not changed. This is lightweight, and bulletproof.

I tried this ↑ workaround and it didn't seem to work.

After rotating to landscape:

I am running iOS 15.1, and have the new default settings:

bottom toolbar
tab bar, not single tab

Sorry, where's the white bar?

At the bottom.

Oh, the page background is white so I didn't see the image is larger than I thought it is.
Is this with a build that has been exported from PlayCanvas.com editor?

It is from an exported build which uses the start.js @yahstar

Was this the correct way to implement your aforementioned workaround?
// do the first reflow after a timeout because of
// iOS showing a squished iframe sometimes
setTimeout(function () {
    pcBootstrap.reflow(app, canvas);
    pcBootstrap.reflowHandler = function() {
        pcBootstrap.reflow(app, canvas);
        requestAnimationFrame(pcBootstrap.reflowHandler);
    };

    // window.addEventListener('resize', pcBootstrap.reflowHandler, false);
    // window.addEventListener('orientationchange', pcBootstrap.reflowHandler, false);
    pcBootstrap.reflowHandler();
    ...

reflow: function (app, canvas) {
    if(lastWindowHeight === window.innerHeight && lastWindowWidth === window.innerWidth) {
        return;
    }

    this.resizeCanvas(app, canvas);

    /*
    // Poll for size changes as the window inner height can change after the resize event for iOS
    // Have one tab only, and rotrait to portrait -> landscape -> portrait
    if (windowSizeChangeIntervalHandler === null) {
        windowSizeChangeIntervalHandler = setInterval(function () {
            if (lastWindowHeight !== window.innerHeight || lastWindowWidth !== window.innerWidth) {
                this.resizeCanvas(app, canvas);
            }
        }.bind(this), 100);

        // Don't want to do this all the time so stop polling after some short time
        setTimeout(function() {
            if (!!windowSizeChangeIntervalHandler) {
                clearInterval(windowSizeChangeIntervalHandler);
                windowSizeChangeIntervalHandler = null;
            }
        }, 2000);
    }
    */
}

I can't reproduce this on a build I just exported today
https://user-images.githubusercontent.com/16639049/145436478-b8391e11-f8d7-49f5-96cc-c647b1ddef2e.mp4
When was the build exported from PlayCanvas? There was a change in Sept/Oct to the boilerplate files around that time for iOS.

Are you using an external library like 8th Wall? Or anything else that could affect the canvas?

Thank you for testing, @yaustar. I am using 8th wall with PlayCanvas. I have forked their AR World Tracking Starter Kit project, and am able to reproduce it. My project launch link.
I tried adding the XRExtras.FullWindowCanvas module to the pipeline, and it appears to full-size the canvas in landscape. However, this module makes the camera view black or hides it altogether. Additionally, even with this (potential) fix, the Start button in my pc scene doesn't position correctly. It is still using the incorrect innerWidth, so it's positioned higher than it should be. Please check the portrait screenshot above for reference.
Have you tried adding some ui to your project and seeing if it positions correctly on landscape rotate?
Landscape with XRExtras.FullWindowCanvas module:

OK, it's black simply because that 8th wall module adds a black background-color style rule to the body. Removing that brings it back to white. Here's the module for reference.
When I hover over the canvas with the browser dev tools, I see that it is actually not resizing the canvas in fullscreen. It simply ruins the camera view.

Without 8th Wall, iOS 15 with pink squares anchored to the corners and sides, looks fine.
https://user-images.githubusercontent.com/16639049/145444552-d3ea67bc-acac-46c3-875f-6cc0d56f856e.mp4
It's very possible that 8th Wall is modifying the canvas in some way?

Thank you for testing again, @yaustar. Without the XRExtras.FullWindowCanvas module, nothing in the other included modules in their starter project modify the canvas size. It could be that the 8th wall engine source code (not open source) is modifying the canvas size. I'll reach out to 8th wall support regarding this.


Fix/27165: Only display recent destination if search input is empty

Details

New design:

When the search input is focused and blank, only show the recents list.
When you start typing an address the recents list goes away as we show a list of auto-completed addresses based on your search input
When the search results return no valid addresses, only show "no results found"

Fixed Issues

$ https://github.com/Expensify/App/issues/27165
PROPOSAL: https://github.com/Expensify/App/issues/27165#issuecomment-1714173006
Tests

Go to Request Money --> Distance Request
Click on the Start point
Verify that when the search input is focused and blank, only show the recents list.
Verify that when you start typing an address the recents list goes away as we show a list of auto-completed addresses based on your search input
Verify that When the search results return no valid addresses, only show "no results found"

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

Go to Request Money --> Distance Request
Click on the Start point
Verify that when the search input is focused and blank, only show the recents list.
Verify that when you start typing an address the recents list goes away as we show a list of auto-completed addresses based on your search input
Verify that When the search results return no valid addresses, only show "no results found"

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

https://github.com/Expensify/App/assets/141406735/944368fe-13e6-4662-86f3-84aa3b3efe45

Mobile Web - Chrome
https://github.com/Expensify/App/assets/141406735/aa32dc8a-64be-41ae-836d-a9b3d312e16a

Mobile Web - Safari
https://github.com/Expensify/App/assets/141406735/92d80f1d-82a7-47f9-945b-095e49a4acbf

Desktop
https://github.com/Expensify/App/assets/141406735/86401d49-faba-489b-a23e-dc28c1e75ee6

iOS
https://github.com/Expensify/App/assets/141406735/35eae1f0-045c-444e-b2b8-5a0a22e0238a

Android
I get a bug while running Android (also get on latest main). I posted on [Slack](https://expensify.slack.com/archives/C01GTK53T8Q/p1695790802235719) to look for support

@burczu Could you help to review the PR on fork lib and then review this PR ?

@DylanDylann Yes - I'll review it today.

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

@DylanDylann I think it does not work correctly... At first, it shows recent searches and thats ok, then when I start typing some incorrect address, the recents list still persists - please check the video below:
https://github.com/Expensify/App/assets/7771498/1b333ff4-84b0-445c-b6ae-db2a32609a55

@burczu Do you apply change in this fork lib

No - I didn't know I need to. And I think we need to wait until the other branch is merged and deployed...

@burczu You can apply these change in here to node-module of App repository to test first. And then you should review/merge https://github.com/Expensify/react-native-google-places-autocomplete/pull/8 after that we can update version of react-native-google-places-autocomplete in App repo to everything work well

We can't merge this one without the other one.

It seems only internal engineer can merge PRs

Yes, I know I can test it this way - but still, first the other PR needs to be merged and here we need to add the update in the package.json with the version updated - then I can approve this PR as working. Also for changes in libraries you need to ask internal engineer to review I guess.

@burczu This bug you got here because the logic in react-native-google-places-autocomplete lib, we always display predefined places even though no result found. So I raised a PR on that lib to fix this case

@burczu I see in other issues that C+ needs to approve before requesting a review from an internal engineer in all repos of Expensify

@DylanDylann Ok, I can review the PR in the library first.

@burczu Bump, I updated version of react-native-google-places-autocomplete. Could you help to review this PR?

@youssef-lr Bump, Please help to review this PR

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/youssef-lr in version: 1.3.76-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/youssef-lr in version: 1.3.77-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/mountiny in version: 1.3.77-7 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


support utf8 data in pattern validation and with python2.7

fix issue #47

Coverage remained the same at 88.655% when pulling f6c744fac3ca56455ec1b68ff19828ba13fdfb75 on bneron:fix_setup into 92ea825cde64a9224aafa6fe964c09116cd135e6 on Grokzen:unstable.

Many thanks. I will add your example files to the examples folder in a later commit.


Replace i<=j for i<j in quadratic model definition

Close https://github.com/dwavesystems/dimod/issues/1114

Actually, can we use .. tip:: instead? I think it would look way better

The footnotes are just awful, though I suppose they look better in other themes.

I am fine to leave it then I suppose


Enable "Use biometrics" but launch an error message if there are no biometrics added on a device that supports it

Describe the bug
"Use biometrics" is disabled when there are no registered finger prints in a device that supports it.
To Reproduce
Steps to reproduce the behavior:

Open app - popup displayed asking to access device location
Click "While using the app - should be taken to welcome screen with button "Get started"
Click "Get started" - should be taken to screen with choice between “Use biometrics” and “I’d rather use a passcode”
Click “Use biometrics” (or verify if it's enabled)

Expected behavior
Error message should be displayed saying "To use Biometrics, please enroll your fingerprint in your device settings.
Reproduced on
0.3.0rc5_1.2
Screenshots

@jannahadlaon this is already handled in the recent build right, please confirm

@danicaerediano this issue is still present in the recent build.


Using The Latest Rails Features in Hyrax

Rob Kaufman<EMAIL_ADDRESS>+
3 hours (with break)
Devs, Sysadmins, DevOps, UI/UX
We'll introduce Rails 6 features and discuss how they might integrate in to Samvera applications.

File uploads with S3
Action Mailbox
Webpacker (default in Rails 6)
ActionText

Another day, another major Rails version. What's been happening in the larger Rails community and how does it affect Samvera development?
Laptop - we'll have updated requirements closer to the event (need to decide how best to get builds for people this year)
Max: 100

Chased 6/17


Add speakup/uinput support to kernel

Reviewer Notes:

Dependent on 5.10 kernel changes
This PR gets merged into the thcrain/a11y staging branch, which is based on 1.0-dev with the 5.10 kernel changes
I will go through the process of ensuring entangled specs (kernel-headers, signed kernels) are synced in the PR from the staging branch to 1.0-dev

Merge Checklist

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

[x] The toolchain has been rebuilt successfully (or no changes were made to it)
[x] The toolchain/worker package manifests are up-to-date
[x] Any updated packages successfully build (or no packages were changed)
[x] All package sources are available
[x] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/tools/cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json)
[x] LICENSE-MAP files are up-to-date (./SPECS/LICENSES-AND-NOTICES/LICENSES-MAP.md, ./SPECS/LICENSES-AND-NOTICES/LICENSE-EXCEPTIONS.PHOTON)
[x] All source files have up-to-date hashes in the *.signatures.json files
[x] sudo make go-tidy-all and sudo make go-test-coverage pass
[x] Documentation has been updated to match any changes to the build system
[x] Ready to merge

Summary

Add speakup and uinput as kernel modules
Change Log

On both architectures:  CONFIG_ACCESSIBILITY=y, CONFIG_SPEAKUP=m, CONFIG_SPEAKUP_SYNTH_SOFT=m
On x64: CONFIG_INPUT_UINPUT=y (already present on aarch64)
Add drivers-accessibility subpackage to kernel

Does this affect the toolchain?

YES
Test Methodology

Local build

Closing in favor of a clean PR


Akavache crashes silently (apps just disappear) after data is cleared

On Android, go to settings and clear data.  Launch apps again(from device directly, NOT from Visual Studio).    I suspect that Akavache would need to check if backing SQLite is there.  If not, create and register blobs.db, userblobs.db and secret.db (I think).  Apps works fine after deployment and continue to work fine until the data is cleared in the settings.

If the app has to ensure the db is present, then the document can specify the name and path of all the dbs that are required.

What's the exception that occurs when the app crashes? Also I guess you're talking about Android?

No exception.  As I wrote, app just shut down silently.

logcat output?

The issue only happens after the data and cache is cleared in the App Settings.  When one starts launching the app from VS IDE (or XS), the app is deployed to the device.  At this time, the bundled db is also deployed.  So no problem would happen here.  After the cache is cleared, the backing SQLite db is gone.  I suspect that at this time, any code that assumes the db is present might encounter some problem.
So I think Akavache, as a library can handle this situation.  If the apps using Akavache are to handle, then the paths to the backing dbs would just need to be exposed.
Anyway, the following is the logcat output that I captured:
monodroid-assembly  Could not load assembly 'MyApp.Droid' during startup registration
monodroid-assembly  This might be due to an invalid debug registration
monodroid-assembly  A common cause is to 'adb install' the app directly instead of from the IDE.
I wouldn't bother so much on this logcat output because they look kind of generic.  The issue can be fairly easy to reproduce by simply clearing the cache and launch the app again.
Lastly, I don't think this is limited to Android.  But I will confirm on other platforms.

Are you deploying the app in a Debug configuration with fast deployment via VS or XS? If that's the case, the problem isn't Akavache, but Xamarin, as it doesn't handle data/cache clears when fast deployment is enabled

@flagbug Yes, you're totally right.  I had "fast deployment" enabled.  After seeing your response, I disabled "fast deployment" and repeat the same steps again.  The problem NO longer happens.  You're right that the problem is not with Akavache.  I will close this ticket if I could.


store cluster version into clusterdeployment status

when we have a kubeconfig for the remote cluster, fetch the ClusterVersion.Status and store it in ClusterDeployment.Status.ClusterVersionStatus
handle nil values for fields in clusterVersion.Status (so we can pass object validation)
update test cases to work with new need to mock up remote ClusterVersion object
refactor the building of a remotecluster kubeclient (and update remotemachineset controller accordingly)
build on top of https://github.com/openshift/hive/pull/127 to get beyond the gomock issues

Now storing the entirety of the clusterversion.Status as suggested.
 Waiting for https://github.com/openshift/api/pull/143 (or something like it) to merge, and then can re-vendor openshift/api.

/retest

Still a problem, looks like a missing omit empty.

/retest

/retest

/lgtm


proposal: net/http: Add PatternContextKey package variable to track routing

I propose adding a PatternContextKey field to net/http, which would be set on a request context by ServeMux. Proposed doc-visible API as follows
var (
	// PatternContextKey is a context key. It can be used in HTTP handlers with Context.Value to access
	// the pattern used by the request router to route a request to a handler. The associated value will be
	// of type string, and can be set by ServeMux or another router where applicable.
	PatternContextKey = &contextKey{"pattern"}
)

When processing a Request, ServeMux should inject the pattern provided to Handle or HandleFunc into a request-context value against this key.
This functionality would extremely helpful for the observability or testability of routing behaviour. It is very helpful to have some sort of key to identify the route an incoming request came via, and currently there is no good way to determine this dynamically from the handler.
It is not always desirable for this key to be the request URL, or part of it. The host may be variable, the handler may be under a prefix, or the URL path may contain high-cardinality variables. To derive a useful key from the URL, dealing with the first two issues requires a handler to know a lot about the routers above it, and the third makes URLs almost unusable. The second issue is that the route may be ambiguous. A request may reach a handler via two different routing paths, perhaps because different middleware was defined on different paths or methods, but the requests are eventually handled by the same code. More likely is that the handler doing the logging or metric-recording is middleware itself, and is called in multiple places with varying requests. These ambiguity and cardinality issues already make this difficult in the existing ServeMux and it is only worse in third-party routers which support path variables. I expect this problem to become more difficult in code using the standard library router if https://github.com/golang/go/issues/61410 is accepted.
This can be worked around already, but the methods aren't very satisfactory. A value can be provided statically and either given straight to the handler when instantiating it, or given to a middleware which injects it into the context where it can be pulled out by other code. Both of these require specifying a value for the tag, which either means stuttering the routing pattern or making up a new meaningful tag for every route, both of which feel unpleasantly boilerplate-y and neither of which play well with the ecosystem of handlers and middlewares. Adding a standard way to provide this information would improve how far a user can get with the standard library, and hopefully provide something for the ecosystem to cohere around.
I don't think the net/http package should provide guarantees about the structure of the data in this context value, but I think ServeMux should. This leaves the door open for other routers to add relevant routing info here when they have it, and means they can use this context key without needing to specify their routing patterns in the same format as ServeMux.
The part of this I am undecided on is how nested ServeMuxes should handle this value. In increasing order of both usefulness and complexity:

Last wins, each router sets it on the context without checking first.
Simple concatenation, this string is appended to by different router. Leaves the awkward problem of what character to use for the concatenation.
Smart combination, where a previous value is combined with the new one in order to increase its specificity. This might be impossible to do correctly in all cases for paths as the router doesn't necessarily know if the path has had prefixes stripped already, so can't always combine paths correctly.

I realise not being able to solve this satisfactorily could be a dealbreaker for this, I'm hoping discussion will reveal solutions I haven't seen.
There is prior art for similar functionality in gorilla/mux and chi, both of which support path variables and routing based on methods. I have used these before to provide keys for request-recording metrics, but cannot provide public links.
I previously suggested this in https://github.com/golang/go/issues/61410#issuecomment-1646781961 as adding a Pattern string field to a Request. I thought better of this as it seemed odd to add a new field to the Request struct specifically to be set server-side by a ServeMux.

The part of this I am undecided on is how nested ServeMuxes should handle this value. In increasing order of both usefulness and complexity

It could always be a slice of string with nested routers just appending on the end.

@carlmjohnson that might well be simplest, leaving resolving it to whatever needs to use it. The downside is it makes the most common case more complicated.

CC @neild @jba

It’s occurred to me that “Pattern” might be too prescriptive, especially if this is intended to be used by other routers as well. “RoutingTag” or something may be more generic, but I’m not sure it’s worth it at the expense of deviating from std’s terminology
It’s probably also worth noting that chi and gorilla/mux, who I cited as prior art, don’t afaict do anything special with nested routers and just overwrite the value each time. It doesn’t seem unreasonable to say that if you’re doing something as complex as nested routers you can deal with handling routing tags yourself, in order to keep the most common usage simple.

I support this proposal as an extension to #61410; this functionality would be very helpful for 90% of use cases for logging and tracing. Note that beside gorilla/mux and chi, the super popular httprouter by Julien Schmidt also supports this functionality on master branch: https://github.com/julienschmidt/httprouter/issues/344.
IMO, the fact that it's implemented in all major routers soundly demonstrates it's usefulness.

In pkgsite, we do this with a wrapper around a handler that allows for arbitrary mappings between the pattern and the route key. We actually use that freedom. For example, we include a query parameter in the tag.
It seems to me that that approach is simple enough, more general, and doesn't suffer from the nested-mux problem. But maybe I'm missing something.

I see how building a wrapper like that solves the problem, but I do still think leaving that functionality to be implemented and re-implemented locally misses a good opportunity to unify the approaches of different ecosystem packages that need something like this.

Ah, I see your point. I think adding some sort of Tagger callback to the router feels too invasive. I don't know if I can make the call single-handedly as to whether just providing the routing pattern is useful enough in enough cases to justify my original proposal.

@jba

wrapper around a handler

The issue with this approach it makes every service requiring to implement a router wrapper to be able to tag/append in the context to have access to the routing pattern. For example to have this kind of feature datadog wraps the whole ServeMux: https://github.com/DataDog/dd-trace-go/blob/a69e46c1ba973f5adb1dd8a35b325da02e718b9b/contrib/net/http/http.go#L46
When working on custom shared tracing/logging/audit libraries this PatternContext would be a huge plus as it won't require custom wrappers for lib consumers to integrate with their current apis.
Like @alnr said

IMO, the fact that it's implemented in all major routers soundly demonstrates its usefulness.

Will close this as a duplicate of #66405.

This proposal is a duplicate of a previously discussed proposal, as noted above,
and there is no significant new information to justify reopening the discussion.
The issue has therefore been declined as a duplicate.
— rsc for the proposal review group


Adds IMCB F-10/3 College

Adds Islamabad Model College for Boys College, Islamabad
College website url: https://imcbf10-3.edu.pk/

@iamimran First stage of verification passed, official domain is imcbf10-3.edu.pk as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@iamimran Thank you for your patience while waiting for a review and processing your request. Pull request merged.


Update callbacks for json decode error

The PR includes:

Inclusion of try block for Json decode error within callbacks

https://github.com/Solution-Applications/solution-enablement-product-management/issues/635

Fix for this issue: https://github.com/Solution-Applications/solution-enablement-product-management/issues/736


Incorrect documentation about SSH_PASS

I'm trying out nixos-anywhere for the first time.  The quickstart documentation at https://github.com/nix-community/nixos-anywhere/blob/main/docs/quickstart.md states that one can set a password on the remote machine having nixos deployed to it, then set SSH_ENV to that password locally, and pass in the --env-password flag to nixos-anywhere to use it (although the way this is worded is a bit ambiguous).
However, when I tried this, I saw an error message about SSHENV not being set, and then a seemingly-endless loop of:
/nix/store/wm6mkdb46ym7zyc4f2d59fnak3cqzzs6-nixos-anywhere-1.3.0/bin/.nixos-anywhere-wrapped: line 322: 163958 Segmentation fault      (core dumped) sshpass -e ssh-copy-id -i "$ssh_key_dir"/nixos-anywhere.pub -o ConnectTimeout=10 -o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o StrictHostKeyChecking=no "${ssh_copy_id_args[@]}" "${ssh_args[@]}" "$ssh_connection"

Following the error message I tried using SSHENV instead and it seemed to work. But this is not a very good UX, and it would be good to update the documentation to be correct.

I'm assuming you mean this paragraph:

Optionally, bootstrapping can also be performed through password login. For example through the image-installer-* provided by nix-community/nixos-images. Assign your password to the SSH_PASS environment variable and specify --env-password as an additional command line option. This will provide ssh-copy-id with the required password.

The image-installer* mentioned is referring to the release artifacts here: https://github.com/nix-community/nixos-images/releases  (with the aforementioned prefix).  This will need to be booted on the target machine to accomplish this.
I searched for SSHENV and SSH_ENV that you state and cannot find them mentioned.
If my assumptions are inccorect, please be more specific.

I'm assuming you mean this paragraph:

Optionally, bootstrapping can also be performed through password login. For example through the image-installer-* provided by nix-community/nixos-images. Assign your password to the SSH_PASS environment variable and specify --env-password as an additional command line option. This will provide ssh-copy-id with the required password.

The image-installer* mentioned is referring to the release artifacts here: https://github.com/nix-community/nixos-images/releases  (with the aforementioned prefix).  This will need to be booted on the target machine to accomplish this.
I searched for SSHENV and SSH_ENV that you state and cannot find them mentioned.
If my assumptions are incorrect, please be more specific.

Ah my apologies I wrote down the wrong variable names - SSH_PASS is what the documentation says to use, that I found to be broken when I tried it, and SSHPASS is what actually worked.
Anyway, what I actually did was boot into the nixos installer on the target machine and give both the root and nixos users a password. Then when I ran nixos-anywhere locally I passed it --env-password and set SSHPASS which I thought was necessary to avoid the nixos-anywhere install process failing because it needed to manually prompt me for a ssh password.

SSH_PASS is what the documentation says to use, that I found to be broken when I tried it, and SSHPASS is what actually worked.

Thanks I will update the doc to SSHPASS.

what I actually did was boot into the nixos installer on the target machine and give both the root and nixos users a password

I have not used the regular install ISO to install in a while, did you have to edit sshd_config to allow password logins?

which I thought was necessary to avoid the nixos-anywhere

I believe it will ask and you can type it in - so this is not required.  Please let me know if you found otherwise.

what I actually did was boot into the nixos installer on the target machine and give both the root and nixos users a password

I have not used the regular install ISO to install in a while, did you have to edit sshd_config to allow password logins?

Nope, I didn't touch sshd_config on the remote server booted into the nixos installer (I think I was using the 23.05 one because that's the ISO I had handy on that remote system).

which I thought was necessary to avoid the nixos-anywhere install process failing because it needed to manually prompt me for a ssh password.

I believe it will ask and you can type it in - so this is not required. Please let me know if you found otherwise.

Oh, interesting, I just assumed it wouldn't work and didn't try it. I'll give this a shot next time I use nixos-anywhere

@neunenak can you look at https://github.com/nix-community/nixos-anywhere/pull/363
let me know if you have feedback.