Possible data loss when enabling notifications

Describe the bug
When enabling notifications on a characteristic on the mobile, and the peripheral starts notifying changes right after receiving the descriptor write (in the same connection interval?), the mobile may miss the first notification(s) sent by the peripheral.
To Reproduce
Steps to reproduce the behavior:

An iPhone is acting as BLE peripheral.
The Android phone connects to the iPhone and enables notifications on a characteristic.
The iPhone starts notifying changes on that characteristic immediately after receiving the descriptor write.
The first notification sent by the iPhone is not received by the app running on the Android phone.
Following notifications are received by the app running on the Android phone.

Expected behavior
The Android phone should receive all notifications from the peripheral.
Smartphone (please complete the following information):

Device: Samsung Galaxy S9

OS: Android 9

Library version: 1.11.1

Device: iPhone X

OS: iOS 13.2

2020-06-22 16:43:40.475 18745-18869/ D/RxBle#ClientOperationQueue: QUEUED   ConnectOperation(4806158)
2020-06-22 16:43:40.476 18745-18813/ D/RxBle#ClientOperationQueue: STARTED  ConnectOperation(4806158)
2020-06-22 16:43:40.477 18745-18813/ I/RxBle#ClientOperationQueue: RUNNING  ConnectOperation{MAC='61:98:FF:76:C5:DC', autoConnect=true}
2020-06-22 16:43:40.493 18745-18858/ D/BluetoothAdapter: STATE_ON
2020-06-22 16:43:40.495 18745-18858/ D/BluetoothGatt: connect() - device: 61:98:FF:76:C5:DC, auto: true
2020-06-22 16:43:40.495 18745-18858/ D/BluetoothAdapter: isSecureModeEnabled
2020-06-22 16:43:40.495 18745-18858/ D/BluetoothGatt: registerApp()
2020-06-22 16:43:40.495 18745-18858/ D/BluetoothGatt: registerApp() - UUID=8ba9c8e6-8e02-4bce-9af6-18d1695ff809
2020-06-22 16:43:40.499 18745-18813/ D/RxBle#ClientOperationQueue: FINISHED ConnectOperation(4806158) in 23 ms
2020-06-22 16:43:40.501 18745-18759/ D/BluetoothGatt: onClientRegistered() - status=0 clientIf=11
2020-06-22 16:43:44.680 18745-18759/ D/BluetoothGatt: onClientConnectionState() - status=0 clientIf=11 device=61:98:FF:76:C5:DC
2020-06-22 16:43:44.718 18745-18759/ I/RxBle#GattCallback: MAC='61:98:FF:76:C5:DC'  onConnectionStateChange(), status=0, value=2
2020-06-22 16:43:44.755 18745-18810/ D/RxBle#ConnectionOperationQueue: QUEUED   MtuRequestOperation(9489980)
2020-06-22 16:43:44.757 18745-18868/ D/RxBle#ConnectionOperationQueue: STARTED  MtuRequestOperation(9489980)
2020-06-22 16:43:44.760 18745-18868/ I/RxBle#ConnectionOperationQueue: RUNNING  MtuRequestOperation{MAC='61:98:FF:76:C5:DC', mtu=517}
2020-06-22 16:43:44.768 18745-18858/ D/BluetoothGatt: configureMTU() - device: 61:98:FF:76:C5:DC mtu: 517
2020-06-22 16:43:45.662 18745-18759/ D/BluetoothGatt: onConfigureMTU() - Device=61:98:FF:76:C5:DC mtu=517 status=0
2020-06-22 16:43:45.672 18745-18759/ I/RxBle#GattCallback: MAC='61:98:FF:76:C5:DC'             onMtuChanged(), status=0, value=517
2020-06-22 16:43:45.723 18745-18868/ D/RxBle#ConnectionOperationQueue: FINISHED MtuRequestOperation(9489980) in 929 ms
2020-06-22 16:43:45.759 18745-18759/ D/BluetoothGatt: onPhyUpdate() - status=0 address=61:98:FF:76:C5:DC txPhy=2 rxPhy=2
2020-06-22 16:43:45.817 18745-18822/ D/RxBle#ConnectionOperationQueue: QUEUED   ServiceDiscoveryOperation(212000114)
2020-06-22 16:43:45.828 18745-18868/ D/RxBle#ConnectionOperationQueue: STARTED  ServiceDiscoveryOperation(212000114)
16:56
2020-06-22 16:43:45.839 18745-18868/ I/RxBle#ConnectionOperationQueue: RUNNING  ServiceDiscoveryOperation{MAC='61:98:FF:76:C5:DC'}
2020-06-22 16:43:45.854 18745-18858/ D/BluetoothGatt: discoverServices() - device: 61:98:FF:76:C5:DC
2020-06-22 16:43:45.867 18745-18759/ D/BluetoothGatt: onSearchComplete() = Device=61:98:FF:76:C5:DC Status=0
2020-06-22 16:43:45.887 18745-18759/ I/RxBle#GattCallback: MAC='61:98:FF:76:C5:DC'     onServicesDiscovered(), status=0
2020-06-22 16:43:45.915 18745-18869/ D/RxBle#ConnectionOperationQueue: QUEUED   DescriptorWriteOperation(24408441)
2020-06-22 16:43:45.920 18745-18868/ D/RxBle#ConnectionOperationQueue: FINISHED ServiceDiscoveryOperation(212000114) in 97 ms
2020-06-22 16:43:45.925 18745-18868/ D/RxBle#ConnectionOperationQueue: STARTED  DescriptorWriteOperation(24408441)
2020-06-22 16:43:45.931 18745-18868/ I/RxBle#ConnectionOperationQueue: RUNNING  DescriptorWriteOperation{MAC='61:98:FF:76:C5:DC', descriptor=[uuid='00002902-0000-1000-8000-00805f9b34fb', hexValue=[01, 00]]}
2020-06-22 16:43:46.008 18745-18759/ I/RxBle#GattCallback: MAC='61:98:FF:76:C5:DC'        onDescriptorWrite(), status=0, value=[uuid='00002902-0000-1000-8000-00805f9b34fb']
2020-06-22 16:43:46.021 18745-18869/ D/BluetoothGatt: setCharacteristicNotification() - uuid: 424f5343-4820-4d43-5350-20204d49534f enable: true
2020-06-22 16:43:46.027 18745-18868/ D/RxBle#ConnectionOperationQueue: FINISHED DescriptorWriteOperation(24408441) in 97 ms
2020-06-22 16:43:46.057 18745-18759/ I/RxBle#GattCallback: MAC='61:98:FF:76:C5:DC'  onCharacteristicChanged(), value=[uuid='424f5343-4820-4d43-5350-20204d49534f', hexValue=[10, 06, 02, 01, 00, 00, 27, 10, 10, 06, 02, 02, 00, 00, 27, 10, 10, 06, 02, 03, 00, 00, 27, 10, 10, 06, 02, 04, 00, 00, 27, 10, 10, 06, 02, 05, 00, 00, 27, 10, 10, 06, 02, 06, 00, 00, 27, 10, 10, 06, 02, 07, 00, 00, 27, 10]]

The data received here is the second notification sent by the iPhone.
Root cause
This problem seems to be caused by the RxAndroidBle library only enabling notifications on the local characteristic when the descriptor write has finished.
However, if a notification is already delivered within the same connection interval, the library will miss that notification because notifications are not yet fully enabled locally.
This may be a samsung-only bug, we didn't test yet with other phones.
Fix
To fix this bug, I inserted a custom operation before the call to setupNotification() that just calls BluetoothGatt.setCharacteristicNotification() on the respective characteristic.
With this in place, all notifications are received.

Check RxBleConnection.setupNotification(UUID/BluetoothGattCharacteristic, SetupMode) with SetupMode.QUICK_SETUP

Seems to work :+1:
Thanks a lot.


OctoClan Game/ ( Game Development with HC-SR04)-3

Game Development with HC-SR04: How Would You Build a Game?
How would you like this piece to be used in the OctoClan game?
Research ideas for the sensor's mission in the game. Feel free to write down any ideas you want.

My scenario:
In this game we have a technological city and the mechanism of this city is based on robots. Be it traffic lights or other things, they should work but they don't, because they are broken by a robot. Our job is to drive our car to these places and fix the broken mechanisms. Unless they're fixed, we can't move forward with the car. There are different road stages with different themes. When we fix each place, we move on to another level (stage).
Before we fix it, there is a robot that guides us and shows us what to do. He accompanies us in our car and shows us what to do first. Then we do what we need to do with coding. We can also move in the road using the distance sensor. With the distance sensor, we go where we want on the road and fix the mechanical devices. Coding is also needed to fix them. There are cables, screws, etc. to fix the device.
The robot that breaks the mechanisms and the one who guides us are the same robot. He doesn't realize it because he is sleepwalking.
Note: Different robot characters can be designed for different stages (as citizens). In different themes.
Example for different stages:

Example for the mechanic city:

Example for the guide robot:

Example for robot citizens (sketch):


Update fwpmu

Fix docs which have unpaired div tag

Remove unpaired tag
Convert html tag to markdown (except br tag)
Repair Note

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

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


Fixing some tests

Fixes tests:
framework/DataObjects.dataObject_metadata
framework/DataObjects.load_csv
framework/ErrorChecks.badHistory
framework/ErrorChecks.badPointSet

Still need work:
framework/ErrorChecks.unsyncedTypicalHistory
framework/PostProcessors/RavenOutputPostProcessor.dynamic
framework/PostProcessors/RavenOutputPostProcessor.invalidXMLtag
framework/PostProcessors/RavenOutputPostProcessor.static
framework/Optimizers.Infinite
framework/Samplers/Restart.CSV
framework.external_xml

Also fixes XSD validation so we can see qsub tests running.

Job Test qsubs on c52198e : invalidated by @PaulTalbot-INL
Files exist; confirming docs failure is consistent

I added one more test to this, the Optimizer infinite case.  Since the UnorderedCsv can now handle inf and nan, we can do a better infinite test.

@PaulTalbot-INL Can you run your branch on Falcon, and report the test results here?

Closing to add more test fixes to this PR.


Adyen capture is not implemented

Environment

Adyen Payment 18.3.0
SiteGenesis v104.1.3

Setup
We have installed vanilla SiteGenesis and Adyen cartridge by following the documentation available here :  https://docs.adyen.com/plugins/salesforce-commerce-cloud/
Issues
When fixed issues https://github.com/Adyen/adyen-salesforce-commerce-cloud/issues/164, making a capture request lead to an Adyen internal server error.

Hi @aduponchel,
See response to: https://github.com/Adyen/adyen-salesforce-commerce-cloud/issues/164#issuecomment-506434372
Best,
Scott
Adyen


doc SQL manual for stats

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

https://github.com/apache/doris/pull/27074

run buildall

run p1

run external


Bug fix DCHECK failed in not enable pipeline engine

Proposed changes
DCHECK may failed in ：src/runtime/fragment_mgr.cpp:769
Problem summary
Describe your changes.
Checklist(Required)

[ ] Does it affect the original behavior
[ ] Has unit tests been added
[ ] Has document been added or modified
[ ] Does it need to update dependencies
[ ] Is this PR support rollback (If NO, please explain WHY)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


test: fix several failing tests of Table methods

Summary of Changes
Most tests of Table are now passing again. Most others are related to broken transformers, which will be fixed in a separate PR.

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

v0.25.0
GitHub release

Your semantic-release bot :package::rocket:


[v4.x] DOCS:

On v4.x branch, there's a warning:
│ Warning: Provider oci.home is undefined
│
│   on main.tf line 109, in module "oke-v4":
│  109:     oci.home = oci.home
│
│ Module module.oke-v4 does not declare a provider named oci.home.
│ If you wish to specify a provider configuration for the module, add an entry for oci.home in the required_providers block within the module.

obviously versions.tf misses alias definitions:
terraform {
  required_providers {
    oci = {
      source = "hashicorp/oci"
      configuration_aliases = [ oci.home ]
    }
  }
  required_version = ">= 1.0.0"
}

this has to be documented at level

Closed in #372


WIP Image optimizations for visibility on page

Going to close this due to the fact that it is out of date and we are going with a different strategy now.


Update quay.io/ceph/ceph Docker tag to v19

This PR contains the following updates:

Package
Update
Change

quay.io/ceph/ceph
major
v18.2.4 -> v19.1.0

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

We'll definitely wait for v19.2 before upgrading to Ceph v19


SDSTOR-12187 : PartitionUtilization Endpoint (multi volume version)

Expose PartitionUtilization as volume used size divided by AM total size
Testing:
in one terminal, run
bin/test_volume --gtest_filter=VolTest.init_io_test --remove_file_on_shutdown=1 --delete_volume=1 --run_time=10000 --http_port=5000 --max_volume=1  --p_volume_size=100 --max_disk_capacity=1
in another terminal, run the below command to get the volume uuid:
nublox-tools/AM/hs_http_cli_tool.py  get_object --name test_files/vol0
run the below API command:
curl http://localhost:5000/api/v1/utilization/[volumeUUID]
curl http://localhost:5000/api/v1/utilization
example output:

curl http://localhost:5000/api/v1/utilization | jq .

{
"14db582f-fd5d-4f0c-996c-3e12d9978867": "0.000000",
"2b4d26f0-e6a6-49c7-8cb5-55d2048c34f7": "0.000000",
"3b229301-7c6f-4ef0-bd9b-9439c76b20af": "0.000001",
"7780c654-5633-4dcd-ad68-4afd1accb15e": "0.000037"
}
curl http://localhost:5000/api/v1/utilization/7780c654-5633-4dcd-ad68-4afd1accb15e | jq .
{
"7780c654-5633-4dcd-ad68-4afd1accb15e": "0.000037"
}

Codecov Report
Attention: 23 lines in your changes are missing coverage. Please review.

Comparison is base (e0712d5) 45.35% compared to head (5aeb262) 45.33%.

Files
Patch %
Lines

src/homeblks/homeblks_http_server.cpp
14.28%
12 Missing :warning:

src/homeblks/home_blks.cpp
0.00%
11 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@               Coverage Diff               @@
##           stable/v3.x     #277      +/-   ##
===============================================
- Coverage        45.35%   45.33%   -0.03%
===============================================
  Files              126      126
  Lines            16374    16385      +11
  Branches          1943     1945       +2
===============================================
+ Hits              7427     7428       +1
- Misses            8244     8256      +12
+ Partials           703      701       -2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[Cluster] Clean dead server

Environment

ArangoJS: 7.2.0
ArangoDB 3.7.5 Cluster

Tested on docker
Tested on windows

Description
Arangojs connected to a cluster in ROUND_ROBIN mode does not clean dead servers from the host list.
Arangojs provide a method : acquireHostList but this function append new coordinator to the host list using addToHostList function.
I suggest to change the acquireHostList function to replace the host list with the list of available server from /_api/cluster/endpoints

This would be a breaking change, but I think a compromise would be to add an alternative method (say, updateHostList) that replaces rather than updates the known hosts.
One issue with this is that right now the hosts list is an array and thus hosts are identified by their index, which will cause problems if e.g. a cursor is created from a host which is then removed from the list. This probably requires some internal changes.

This would be a breaking change, but I think a compromise would be to add an alternative method (say, updateHostList) that replaces rather than updates the known hosts.
One issue with this is that right now the hosts list is an array and thus hosts are identified by their index, which will cause problems if e.g. a cursor is created from a host which is then removed from the list. This probably requires some internal changes.


Improved Metrics tree refresh

This builds on the work recently merged in #1652. Rather than attempting to refresh at the specific node level, refresh the entire branch. This has the added benefit of allowing us to refresh MyGraphs and User Graphs at the same time. It also addresses the problem I noticed where it wouldn't notice new root nodes.
I've also update the tree name from Graphite to Metrics to match the change in #560 against the 0.9.x branch.

Current coverage is 66.15% (diff: 100%)

Merging #1653 into master will not change coverage

@@             master      #1653   diff @@
==========================================
  Files            54         54
  Lines          6034       6034
  Methods           0          0
  Messages          0          0
  Branches       1190       1190
==========================================
  Hits           3992       3992
  Misses         1836       1836
  Partials        206        206

Powered by Codecov. Last update 424f298...128670e


[SE] Allow where clauses on non-generic declarations in generic contexts

class Foo<T> {
  func foo(arg: T) where T: Equatable {}
}

SE: https://github.com/apple/swift-evolution/pull/1011
P.S.
I was going to add free where clauses to an empty generic parameter list, but then encountered this comment, remembered about generalized existentials and decided not to.
I'm not happy with using pointer unions, but couldn't come up with a better idea that wouldn't require further unrelated changes of uncertain scale; there will be a lot of opportunities to get rid of this later through making where clauses less dependent on parameter lists.

[x] Diagnose where on non-generic top-level declarations in Parse
[x] Provide syntax highlighting for contextual where clauses
[x] List the restriction on contextual where clauses
[x] Make sure subscript accessors pick this up as well
[x] Add SILGen tests
[x] Add Demangle tests
[x] Add execution tests
[x] Diagnose invalid overrides involving contextual where clauses
[x] Diagnose nested type references with unsatisfied requirements

cc @slavapestov Mind having a look?
P.S. I am aware this most likely needs an evolution proposal

Thanks for taking a look, I am glad you like it!
I haven't worked with raw SIL before, so the only thing I can think of right now is to see what happens to something in a constrained extension and CHECK for the same thing to happen without the extension. I will read through anything I can find in the docs folder about SIL before asking any questions, and get a proposal ready for discussion in the meantime.

For SILGen tests, I think it’s enough to just have some CHECK lines to verify that the lowered generic signature looks correct.

For SILGen tests, I think it’s enough to just have some CHECK lines to verify that the lowered generic signature looks correct.

I will try. It should be identical to one in a constrained extension, correct?

@AnthonyLatsis Yes, the generic signature should be identical to a constrained extension. The mangling should be slightly different though (and please test declarations that only differ in where clause; we should mangle them uniquely).

Added SILGen tests. I also noticed that a nil literal in a subscript getter is hitting a null type assert. It only happens if type checking succeeds elsewhere:
./bin/swiftc -typecheck /Users/polzovatel/Desktop/test.swift
protocol P { associatedtype Assoc }
class Class<T> {
  subscript(arg: Int) -> T.Assoc? where T: P {
    return nil
  }
}

expression has no type (nil_literal_expr type='<null>' initializer=**NULL**)
Almost sure this is specific to subscript accessors and the way they currently inherit the generic signature of the subscript. Once fixed, what is the preferred way to test against these: simply add the subscript to the silgen tests or create a separate "fixed crasher"?

@AnthonyLatsis a SILGen test is probably your best bet for tests that only fail when no errors are emitted. We should fix the AST verifier one day to be smarter about this...

Fixed! Next, I'll add some tests for protocol extensions with associated types for completeness, and then we can step into IRGen.

@slavapestov, regarding IRGen, can you give a rough idea of what to test for? Thanks.

@AnthonyLatsis testing in IRGen probably won't get you much coverage because at that stage a generic type member with a where clause is not much different from a top level function with a 'flat' generic signature.
However, one interesting thing to test would be the runtime's mangled name to metadata recovery. Take a look at test/Runtime/demangleToMetadata.swift. The idea would be to define a non-generic type with a where clause nested inside a generic type and see if you can demangle it.

@slavapestov I am having a hard time guessing the mangled names. By picking a specific example and comparing the output from -emit-silgen with the respective test in demangleToMetadata.swift, I can see that for the most part the mangled names match, but there is still a prefix and suffix that I can't predict. What is the proper way to obtain the name I need for a demangle test?

@slavapestov I think this is ready for a smoke test.
P.S. What do you think of the error messages?

@swift-ci Please smoke test

@swift-ci Please test source compatibility

That was quick..

Let's try again?

@slavapestov Please smoke test :)

@swift-ci Please smoke test

@swift-ci Please test source compatibility

@swift-ci Please test source compatibility

@swift-ci Please smoke test

@AnthonyLatsis Can you try to prepare a new PR to merge as much of this as possible without the language change/proposal? In particular I'm interested in the TypeCheckGeneric.cpp cleanups to unify the function/subscript code paths. We're about to start reworking that code for the request evaluator and I'd have to either lose the cleanup or make you redo your work.

Sure. I'll cherry-pick the cleanups onto a new branch and open a PR. Let's hope we can land them without merge conflicts.

@AnthonyLatsis Thanks! Also of course I hope the overall change is accepted too! But I know it can take a while to go through the process.

@slavapestov Hello Slava, I'm going to finally grind all this conflicting mess for landing. There have been quite some upstream changes throughout the summer, so I've no other choice but to rewrite the history bit by bit.

@slavapestov Wrapped this up. Let me know what you think.

Rebased on top of #27340..

@rintaro This collides with ASTGen due to recent changes, so you way want to review the first commit. The goal was to propagate the PD_HasContainerType flag  which is necessary for diagnosing invalid where clauses on top-level declarations.

@AnthonyLatsis I removed ASTGen things from the master branch. Could you update the PR (again)? Sorry for the inconvenience.

@rintaro Ok, no worries! This is just a PR after all.

FYI
Was lucky to notice an edge case crash that was revealed as a consequence of lifting this restriction (now fixed).
protocol P {
  associatedtype Assoc
}

protocol Q {
  typealias Alias = P where Alias.Assoc == Int
                                 ^
                                Boom
}

Since conditional dynamically-dispatched methods in classes is a feature that was apparently not intended to work yet, but does thanks to some recent fixes for a longstanding bug in override matching, I've added some more interesting override test cases just to be on the safe side.

It seems like we don't synthesize default inits when there's already an init that limit the Self type. That would be a nice future direction.

@slavapestov Let me know what you think of the execution tests. If you have any additional interesting test cases in mind, I'm all ears.

Can one of the admins verify this patch?

@slavapestov Hey Slava! I am planning to resolve the conflicts and wrap everything up. Do you have time to help me out with the review process in the next few weeks?

Let's land this as soon as the merge conflict is fixed though (and tests pass).

Sure, it should be ready now. All the comments I have addressed so far are marked as resolved (folded).

@swift-ci please test

@s2ift-ci please test source compatibility

@swift-ci please test source compatibility

Build failed
Swift Test Linux Platform
Git Sha - 9f42953b252a9e31f484132b4e369a2e3617de5f

Build failed
Swift Test OS X Platform
Git Sha - 9f42953b252a9e31f484132b4e369a2e3617de5f

Ouch, the crasher from #27987. That is a separate circularity issue I thought I had fixed here.

@theblixguy Could you trigger the tests for me once more please?

Let's merge this. Can you take a look at my other comments that you didn't address yet though?

Investigate moving diagnosing the where clause
Add SILGen tests to test/SILGen/vtable_thunks_reabstraction.swift
Add type reconstruction tests to test/TypeDecoder/

Alright, let's merge this!

Can you take a look at my other comments that you didn't address yet though?

Sure thing, they are on my mind.


feat: Scale font size when bound text containers resized with shift pressed

https://user-images.githubusercontent.com/11256141/154973540-5e9b6f04-1548-4226-acca-d6c442c97ab5.mp4

There's a feedback where if you press/release the shift it can keep resizing the text every time. I think it should revert the fontSize upon shift release — if that's doable. I haven't thought about it deep.

There's a feedback where if you press/release the shift it can keep resizing the text every time. I think it should revert the fontSize upon shift release — if that's doable. I haven't thought about it deep.

Pushed a fix for this, can you try now ?

Pushed a fix for this, can you try now ?

👍
I've tweak the type assertions a bit


support rodent atlases

This PR relies on https://jugit.fz-juelich.de/t.dickscheid/brainscapes-configurations/-/merge_requests/4 being merged.
Linked PR introduces explicit type checking (@type field) for atlas, space and parcellations. This will likely be less buggy, as @id is not a good indication of types
fixes #35

superceded by #44


refactor(connector): [Fiserv] Mask PII data

Type of Change

[ ] Bugfix
[ ] New feature
[x] Enhancement
[x] Refactoring
[ ] Dependency updates
[ ] Documentation
[ ] CI/CD

Description

Mask pii information passed and received in the connector request and response for Fiserv.
Test case
Only type level changes, No testing required.
Impacted Area

None

Checklist

[x] I formatted the code cargo +nightly fmt --all
[x] I addressed lints thrown by cargo clippy
[x] I reviewed the submitted code
[ ] I added unit tests for my changes where possible
[ ] I added a CHANGELOG entry if applicable

Could you please verify whether terminal_id should be masked or not ? As per i know this is a merchant key which is passed in metadata.

As per the doc terminal_id is defined as the unique id for a merchant device. It must be masked. I will update the code


@Wiremock => stopserver

New param on @Wiremock => stopserver with default value: AFTER_EACH to maintain compatibility with previous versions

WiremockCustomizer have now a Custom RuntimeException --> WiremockCustomizerException

WiremockResolver implements AfterEachCallback + AfterAllCallback like described at: #11

Required Tests implemented with coverage.

Hey @lanwen,
you could be interested by this PR.
Kind regards

I close it because it seems not useful ( commit 27 days ago ) also tagging you on comment (28 days ago)
I just wanted to help and realized that it is not welcomed.
No problem. delete is Ok

Sorry that completely forgot about PR
Don't worry that can happens. : )


Fix country flags in Settings and for Player bio previews

The site countryflags.io that nestrischamps uses is dead, so all the flags are shown as broken images now. Fund new source of images, or maybe even use the country flag emojis.

Done


Design Twitter cpp

Pull Request Template
Added solution for Design Twitter in cpp.
Issue no : 791
Self Check(Tick After Making pull Request)

[x] This issue was assigned to me if not it will be marked as spam.
[x] My file is in the proper folder
[x] I am following clean code and Documentation.
[x] I have added the title and what program will do first in the file
[x] I have named the file as (Problem #). (Problem Title(in Camel Case)).(extension)
ex. 2. AddToNumbers.py

README - How to Contribute

@SSKale1  could you review my PR #836


Write task to pull latest from a repo once per day

The Valet should sync master with origin/master on a regular, configurable basis. The initial breakdown should be once per day in the morning.

Started on this task by writing the outline of a spec. It looks like I'll need to use the git-ruby gem in order to replicate git commands.


0.3.0-beta.21 perseus deploy Cannot optimize client's bundle.wasm

Describe the bug
Client side bundle.wasm optimizations cause perseus deploy or maybe some prior step to fail. The error trace is too long. So, it's recommended to redirect the docker build stdout to a file as shown bellow.
The issue is not related to the perseus-size-opt plugin. Manual provision of the wee-alloc setup results in the same error.
To Reproduce
Dockerfile
# get the base image
FROM rust:1.57-slim AS build

# install build dependencies
RUN apt update \
  && apt install -y --no-install-recommends lsb-release apt-transport-https \
  build-essential curl

# vars
ENV PERSEUS_VERSION=0.3.0-beta.21 \
    PERSEUS_SIZE_OPT_VERSION=0.1.4

# prepare root project dir
WORKDIR /app

# download the target for wasm
RUN rustup target add wasm32-unknown-unknown

# install wasm-pack
RUN cargo install wasm-pack

# retrieve the src dir
RUN curl https://codeload.github.com/arctic-hen7/perseus-size-opt/tar.gz/main | tar -xz --strip=2 perseus-size-opt-main/examples/simple

# go to src dir
WORKDIR /app/simple

# install perseus-cli
RUN cargo install perseus-cli --version $PERSEUS_VERSION

# clean and prep app
RUN perseus clean && perseus prep

# specify deps in app config
RUN sed -i s"/perseus = .*/perseus = \"${PERSEUS_VERSION}\"/" ./Cargo.toml \
  && sed -i s"/perseus-size-opt = .*/perseus-size-opt = \"${PERSEUS_SIZE_OPT_VERSION}\"/" ./Cargo.toml \
  && cat ./Cargo.toml

# modify lib.rs
#RUN sed -i s'/SizeOpts::default()/SizeOpts { wee_alloc: true, lto: false, opt_level: "s".to_string(), codegen_units: 1, }/' ./src/lib.rs \
#  && cat ./src/lib.rs

# run plugin(s) to adjust app
RUN perseus tinker \
  && cat .perseus/Cargo.toml \
  && cat ./src/lib.rs

# single-threaded perseus CLI mode
ENV PERSEUS_CLI_SEQUENTIAL=true

# deploy app
RUN perseus deploy

# prepare deployment image
FROM bitnami/minideb:buster

WORKDIR /app

COPY --from=build /app/simple/pkg /app/

ENV PERSEUS_STANDALONE=true \
    HOST=<IP_ADDRESS>

CMD ["./server"]

Expected behavior
Perseus with optimizations to work the same as with 0.3.0-beta.18 before #85 appeared.
Environment (please complete the following information):

Perseus Version: 0.3.0-beta.21
Sycamore Version: 0.6
OS: docker host is debian 10
Browser: not relevant
Browser Version: not relevant

Additional context
The Dockerfile above is standalone. In order to build a docker image run something like docker build -t perseus-example:2021-12.08 . > build.log and see the contents of the build.log file.

Hmm, actually, the issue might be VPS related.
Bellow is a Dockerfile that should work locally, but doesn't on a VPS. I'll post the trace later today. Didn't figure out the exact step where the error happens yet. There might be 2 different errors.
# get the base image
FROM rust:1.57-slim AS build

# install build dependencies
RUN apt update \
  && apt install -y --no-install-recommends lsb-release apt-transport-https \
  build-essential curl

# vars
ENV PERSEUS_VERSION=0.3.0-beta.21

# prepare root project dir
WORKDIR /app

# download the target for wasm
RUN rustup target add wasm32-unknown-unknown

# install wasm-pack
RUN cargo install wasm-pack

# retrieve the src dir
RUN curl https://codeload.github.com/arctic-hen7/perseus/tar.gz/v${PERSEUS_VERSION} | tar -xz --strip=2 perseus-${PERSEUS_VERSION}/examples/basic

# go to src dir
WORKDIR /app/basic

# install perseus-cli
RUN cargo install perseus-cli --version $PERSEUS_VERSION

# clean app
RUN perseus clean

# specify deps in app config
RUN sed -i s"/perseus = .*/perseus = \"${PERSEUS_VERSION}\"/" ./Cargo.toml \
  && cat ./Cargo.toml

# prep app
RUN perseus prep

# adjust and append perseus config
RUN sed -i s"/perseus = .*/perseus = \"${PERSEUS_VERSION}\"/" .perseus/Cargo.toml \
  && cat .perseus/Cargo.toml

# single-threaded perseus CLI mode
ENV PERSEUS_CLI_SEQUENTIAL=true

# deploy app
RUN perseus deploy

# prepare deployment image
FROM bitnami/minideb:buster

WORKDIR /app

COPY --from=build /app/basic/pkg /app/

ENV PERSEUS_STANDALONE=true \
    HOST=<IP_ADDRESS>

CMD ["./server"]

Bellow is the simplest Dockerfile I could come up with and also the whole trace of perseus deploy call from the VPS building image from that Dockerfile. No optimizations are in place, so I've edited the title of the issue.
Note that PERSEUS_CLI_SEQUENTIAL=true is set and the VPS isn't running out of memory.
Locally, all of the Dockerfiles posted so far build without any error.
# get the base image
FROM rust:1.57-slim AS build

# install build dependencies
RUN apt update \
  && apt install -y --no-install-recommends lsb-release apt-transport-https \
  build-essential curl

# vars
ENV PERSEUS_VERSION=0.3.0-beta.21

# prepare root project dir
WORKDIR /app

# download the target for wasm
RUN rustup target add wasm32-unknown-unknown

# install wasm-pack
RUN cargo install wasm-pack

# retrieve the src dir
RUN curl https://codeload.github.com/arctic-hen7/perseus/tar.gz/v${PERSEUS_VERSION} | tar -xz --strip=2 perseus-${PERSEUS_VERSION}/examples/tiny

# go to src dir
WORKDIR /app/tiny

# install perseus-cli
RUN cargo install perseus-cli --version $PERSEUS_VERSION

# clean app
RUN perseus clean

# specify deps in app config
RUN sed -i s"/perseus = .*/perseus = \"${PERSEUS_VERSION}\"/" ./Cargo.toml \
  && cat ./Cargo.toml

# prep app
RUN perseus prep

# adjust and append perseus config
RUN sed -i s"/perseus = .*/perseus = \"${PERSEUS_VERSION}\"/" .perseus/Cargo.toml \
  && cat .perseus/Cargo.toml

# single-threaded perseus CLI mode
ENV PERSEUS_CLI_SEQUENTIAL=true

# deploy app
RUN perseus deploy

# prepare deployment image
FROM bitnami/minideb:buster

WORKDIR /app

COPY --from=build /app/tiny/pkg /app/

ENV PERSEUS_STANDALONE=true \
    HOST=<IP_ADDRESS>

CMD ["./server"]

...
Step 15/20 : RUN perseus deploy
 ---> Running in 7c6bea6381d4
Note: the Perseus CLI is running in single-threaded mode, which is less performant on most modern systems. You can switch to multi-threaded mode by unsetting the 'PERSEUS_CLI_SEQUENTIAL' environment variable.
   If you get JSON error traces, try running perseus snoop serve, it should give you something more coherent. If you post that we might be able to figure out what's going on. In deployment mode, the server is run in such a way that Cargo outputs a JSON build log so that we can extract the binary location from it easily. That is just about useless for understanding errors though.

With perseus snoop serve instead of perseus deploy the lastly posted Dockerfile results in could not compile  `hyper` . That's super odd.
...
Step 10/20 : RUN perseus clean
 ---> Running in cce83c62d2bb
Removing intermediate container cce83c62d2bb
 ---> 3092f0865bde
Step 11/20 : RUN sed -i s"/perseus = .*/perseus = \"${PERSEUS_VERSION}\"/" ./Cargo.toml   && cat ./Cargo.toml
 ---> Running in 91b82c32d9ab
[package]
name = "perseus-example-tiny"
version = "0.3.0-beta.21"
edition = "2018"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
perseus = "0.3.0-beta.21"
sycamore = "0.6"
Removing intermediate container 91b82c32d9ab
 ---> e1e2b4821c44
Step 12/20 : RUN perseus prep
 ---> Running in 24eed71a057d
Removing intermediate container 24eed71a057d
 ---> 957f7846c1d1
Step 13/20 : RUN sed -i s"/perseus = .*/perseus = \"${PERSEUS_VERSION}\"/" .perseus/Cargo.toml   && cat .perseus/Cargo.toml
 ---> Running in 0b38aff5c0e9
# This crate defines the user's app in terms that Wasm can understand, making development significantly simpler.
# IMPORTANT: spacing matters in this file for runtime replacements, do NOT change it!

[package]
name = "perseus-engine"
version = "0.3.0-beta.21"
edition = "2018"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
# We alias here because the package name will change based on whatever's in the user's manifest
app = { package = "perseus-example-tiny", path = "../" }

perseus = "0.3.0-beta.21"
sycamore = { version = "0.6", features = ["ssr"] }
sycamore-router = "0.6"
web-sys = { version = "0.3", features = ["Event", "Headers", "Request", "RequestInit", "RequestMode", "Response", "ReadableStream", "Window"] }
wasm-bindgen = "0.2"
wasm-bindgen-futures = "0.4"
console_error_panic_hook = "0.1.6"

# This section is needed for Wasm Pack (which we use instead of Trunk for flexibility)
[lib]
crate-type = ["cdylib", "rlib"]

[workspace]Removing intermediate container 0b38aff5c0e9
 ---> 5576365c8ec1
Step 14/20 : ENV PERSEUS_CLI_SEQUENTIAL=true
 ---> Running in 0e11de316ed2
Removing intermediate container 0e11de316ed2
 ---> 87b27b205371
Step 15/20 : RUN perseus snoop serve
 ---> Running in e5911421bf39
Note: the Perseus CLI is running in single-threaded mode, which is less performant on most modern systems. You can switch to multi-threaded mode by unsetting the 'PERSEUS_CLI_SEQUENTIAL' environment variable.
Btw, just so we can both scroll through issues more easily, would you mind putting build logs into details blocks so they're only visible when clicked on?

Using the --integration actix-web flag avoids this issue. So, it's Warp related. For now I'm closing this. Feel free to reopen.
Dockerfile
# get the base image
FROM rust:1.57-slim AS build

# install build dependencies
RUN apt update \
  && apt install -y --no-install-recommends lsb-release apt-transport-https \
  build-essential curl

# vars
ENV PERSEUS_VERSION=0.3.0-beta.23 \
    PERSEUS_SIZE_OPT_VERSION=0.1.5 \
    ESBUILD_VERSION=0.14.4

# prepare root project dir
WORKDIR /app

# download the target for wasm
RUN rustup target add wasm32-unknown-unknown

# install wasm-pack
RUN cargo install wasm-pack

# retrieve the src dir
RUN curl https://codeload.github.com/arctic-hen7/perseus-size-opt/tar.gz/main | tar -xz --strip=2 perseus-size-opt-main/examples/simple

# go to src dir
WORKDIR /app/simple

# install perseus-cli
RUN cargo install perseus-cli --version $PERSEUS_VERSION

# clean and prep app
RUN perseus clean && perseus prep

# specify deps in app config
RUN sed -i s"/perseus = .*/perseus = \"${PERSEUS_VERSION}\"/" ./Cargo.toml \
  && sed -i s"/perseus-size-opt = .*/perseus-size-opt = \"${PERSEUS_SIZE_OPT_VERSION}\"/" ./Cargo.toml \
  && cat ./Cargo.toml

# modify lib.rs
RUN sed -i s'/SizeOpts::default()/SizeOpts { wee_alloc: true, lto: false, opt_level: "s".to_string(), codegen_units: 1, enable_fluent_bundle_patch: false, }/' ./src/lib.rs \
  && cat ./src/lib.rs

# run plugin(s) to adjust app
RUN perseus tinker \
  && cat .perseus/Cargo.toml \
  && cat ./src/lib.rs

# single-threaded perseus CLI mode
ENV PERSEUS_CLI_SEQUENTIAL=true

# deploy app
RUN perseus deploy --integration actix-web

# go back to app dir
WORKDIR /app

# download and unpack esbuild
RUN curl -O https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-${ESBUILD_VERSION}.tgz \
  && tar xf esbuild-linux-64-${ESBUILD_VERSION}.tgz \
  && ./package/bin/esbuild --version

# run esbuild against bundle.js
RUN ./package/bin/esbuild ./simple/pkg/dist/pkg/perseus_engine.js --minify --target=es6 --outfile=./simple/pkg/dist/pkg/perseus_engine.js --allow-overwrite \
  && ls -lha ./simple/pkg/dist/pkg

# prepare deployment image
FROM bitnami/minideb:buster

WORKDIR /app

COPY --from=build /app/simple/pkg /app/

ENV HOST=<IP_ADDRESS>

CMD ["./server"]


Multiple header lines

Many of my CSV/TSV files have multiple header lines that have  totally different number of columns. Right now this makes CSV-Edit render the display of the actual table rows wrong. File example attached.
My proposal is to add a "header row count count"  box to the right of the "Has Header" switch in the "Read Options" pane.
List_suspended_20190918.zip

It seems that the culprit is not the header lines but the Hebrew characters in the file. Here is an English only TSV file and it is rendered correctly, multiple header lines notwithstanding!
Data_20190920.zip

I'm not sure if I understand this correctly... What exactly do you mean by "header lines"?
I understand the "header line" as the columns. In your example data this would be line 4.
All other lines (1, 2, 12) are not valid csv/tsv.
I would insert a # (to indicate a comment) at the beginning of the lines then headers should work fine.

Well, what I refer to as "Header lines" are those first lines which are not CSV lines and should be ignored when formatting CSV lines into columns. A better name is probably "Lines to be ignored".
In my all English example those are the first three lines which are indeed correctly ignored and the CSV lines are correctly rendered into columns.
In my first example though, the one with Hebrew words and characters, CSV lines were not correctly divided into columns. At first I thought that this is due to the existence of the lines to be ignored. But the second, English only, example proved me wrong. Please look into this file's rendering.
BTW, I am not creating these TSV files. I download them in the thousands. I have my own parser and I have no problem dealing with them. But every once in a while I need to look at them so I open them in VS Code, hence my interest in your plug-in.

These look pretty correct to me? Or did I miss something?

Yes they are rendered correctly, but:

It is on an Apple box; Mine is a Linux (Ubuntu 18.04) one
The true column header line (line 4) are in English; Problem
rendering is when these are in UTF-8 Hebrew.

Here is the rendering of a file with Hebrew in Line 4 of the original file
on windows 10 (For some reason PRNT SCRN doesn't work for me on the Ubuntu
box):
[image: image.png]
The columns titles line, in Hebrew, (line 3 in the CSV-Edit view) is not
rendered correctly! The first three column titles are all rendered in
Column 1 of the CSV-Edit view. All others are left shifted by two. This is
true for all files with Hebrew titles on both the Linux box and the Windows
box. (I don't have an Apple one).
Attached is the ZIP of the original TSV file.
-- Meir
http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
Virus-free.
www.avg.com
http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
<#m_-4748504499191243011_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
On Sat, Sep 21, 2019 at 12:02 AM janisdd<EMAIL_ADDRESS>wrote:

[image: en]
https://user-images.githubusercontent.com/12775963/65358580-43f5cd00-dbfa-11e9-9de1-8574d2209ef3.png
[image: heb]
https://user-images.githubusercontent.com/12775963/65358599-4bb57180-dbfa-11e9-91ac-16d9fd2fac28.png
These look pretty correct to me? Or did I miss something?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/janisdd/vscode-edit-csv/issues/9?email_source=notifications&email_token=AAKAHTMRRRQMIVZ4BOBQIYDQKU263A5CNFSM4IYUYQPKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7H32CA#issuecomment-533708040,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAKAHTPBDTOQJH3WP55RIYTQKU263ANCNFSM4IYUYQPA
.

http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
Virus-free.
www.avg.com
http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>

I don't see an attachment here. Maybe you better attach it directly via github?
And just a fast check: What do you see as a delimiter when you open the Read options panel (hover over the question mark)? Empty should be correct for tab
If it's not tab, can you set it manually to tab (click on the tab symbol) and click Reset data or temporarily change the read delimiter in the settings of csv-edit?

Hi!
Here is the file:
List_suspended_20190121.zip
The delimiter character was 'Auto'. I clicked on the Tab symbol and the field content went blank. I then clicked om the "Reset Data". However the result was the same.

I think I found the issue... It's the double quote... You can try it here https://www.freeformatter.com/csv-escape.html
Double quotes in fields need to be escaped. If you replace all " e.g. with a single whitespace it works.

Hmmm!
I changed the Delimiter and escape character to a single quote, clicked the "Reset data" button and voila, everything is rendered correctly!
It means that these are non-standard TSV files. If so I can complain to the organization that issue these (the Tel-Aviv stock Exchange.)
Thanks

I think it's indeed non-standard TSV and papaparse (used to handle the csv stuff) is strict in following the standard. I also checked https://sheet.zoho.com/sheet/excelviewer and it works properly with your file (I guess they have a more relaxed parser...).
However, I'm glad everything works now.
Closing this one.


iOS - Login - Blank page after using magic code link, returnable to 'enter code' by swiping right

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

Version Number: v1.4.47-0
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/4380855
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Logs: https://stackoverflow.com/c/expensify/questions/4856
Issue reported by: Applause-Internal team
Slack conversation: https://applause-ts.slack.com/archives/G01CL838B8T/p1709602542647289
Action Performed:

Open the iOS app
Enter an email address > tap 'Continue'
Request a magic code
Locate the email containing the main code link and click on the link
In the app, swipe right when the blank screen appears

Expected Result:
After using the magic code link, the user should be redirected to the 'Enter Magic Code' screen in the loading state.
Actual Result:
There's a blank page when using the magic code link, and it's possible to return to the "enter magic code" screen by swiping right.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[x] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
https://github.com/Expensify/App/assets/115492554/7ce57456-6f49-4aa2-9481-0f5276095372

View all open jobs on GitHub

Okay I'll review it.

Discussing here.

Closing this because the user is still logged in and making a change here is low value if we want to make a change at all.


TextLayoutResult#isLineEllipsized always returns false

Describe the bug
Currently I'm working on ReadMoreTextView library to support Compose Multiplatform. (https://github.com/webtoon/ReadMoreTextView/pull/60)
But I have an issue on Text composables.
When TextLayoutResult is received through onTextLayout of CoreText,
TextLayoutResult#isLineEllipsized always returns false.
Please let me know, if I should report this bug in the Jetpack Compose tracker.
Affected platforms
Select one of the platforms below:

Desktop
(working on Android perfectly)

Versions

Kotlin version*: 1.8.10
Compose Multiplatform version*: 1.4.0
OS version(s)* (required for Desktop and iOS issues): macOS Ventura
OS architecture (x86 or arm64): arm64 (Apple M1 Pro)
JDK (for desktop issues): JDK 11

To Reproduce
Steps and/or the code snippet to reproduce the behavior:
BasicText(
    text = currentText,
    modifier = Modifier,
    style = style,
    onTextLayout = { result ->
        result.isLineEllipsized(lineIndex = 3) // always returns false
    },
    overflow = TextOverflow.Ellipsis,
    maxLines = 3,
)

Expected behavior
If currentText exceeds maxLines and currentText is ellipsized, result.isLineEllipsized() should return true.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

Reproduced:
@Composable
@Preview
fun App() {
    var currentText: String by remember { mutableStateOf("") }

    Column {
        BasicText(
            text = currentText,
            modifier = Modifier.width(100.dp),
            onTextLayout = { result ->
                val lastLine = result.lineCount - 1
                val isEllipsized = result.isLineEllipsized(lineIndex = lastLine) // always returns false
                println("isEllipsized($lastLine) = $isEllipsized")
            },
            overflow = TextOverflow.Ellipsis,
            maxLines = 3,
        )

        TextField(currentText, onValueChange = { currentText = it })
    }
}

@fornewid

Please let me know, if I should report this bug in the

Hi, I found problem in:

androidx.compose.ui.text.SkiaParagraph.skiko.kt

override fun isLineEllipsized(lineIndex: Int) = false

This class responses for desktop realisation. Obviosly, the result, which you wait always returns false. You should report about the bug.

@AntonButov
Yes, that's right.
However, only the android library is published in Jetpack Compose.
So I thought the SkiaParagraph.skiko.kt code should be modified in compose-multiplatform-core project.
Did I think wrong?

compose-multiplatform-core is fork of JetPack Compose.
Yes, it's really strange why the desktop implementation placed in Android's Jatpack and called AndroidX.
But I am sure that AndroidParagraph.android.kt::isLineEllipsized works when launching the Android application. Work good. The desktop application uses SkiaParagraph.skiko.kt::isLineEllipsized. Work bad. Both of these classes resolve interface.
Perhaps androidx is not being renamed becouse not to break compatibility.

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


Expose nocommafirst

This was actually surprisingly easy to implement so I just ran with it. This fixes issue #279, most of the relevant discussion is already there.
https://github.com/jshint/jshint/issues/279#issuecomment-2293510

I need a better, more neutral, name for this option.

My suggestion is that it be called laxcomma and that this line: https://github.com/jshint/jshint/pull/282/files#L0R1956 be changed to
  if (!option.laxbreak || !option.laxcomma) {

This would make the option consistent with laxbreak since from an implementation perspective it is just a subset of it.

@antonkovalyov Would you like me to reimplement this as laxcomma?

Yeah, thanks much! Could you open a new PR for this please?

No problem. Look for this from me in the next 36 hrs

Just for posterity: the pull request that ultimately got merged was #340.


Pass clusterID when using meta proxy with provisioned RKE2/K3S clusters

It was decided that a cluster owner should be able to use the meta proxy when editing a cluster they own regardless of whether they have access to the cloud credential on that cluster. In order for this to happen (and to make it consistent with the way KEv2 handles this situation), the UI should pass a clusterID=c-m-xxxxx (where the c-m-xxxxx is the ID for the management cluster associated to this cluster) in the X-API-CattleAuth-Header. That way the backend can validate that the user has access to the cloud credential OR is the owner of a cluster associated to the cloud credential.

I thought this was going to be done on the API-side by looking up the user making the request and seeing if they have appropriate access to any clusters that uses the requested credentialId;  I could add clusterID=foo to the header as you've asked, but:

That has to be individually done in the UI for every machine-config provider making a request to /meta/proxy, which is going to be error-prone.
People who write 3rd party drivers will forget and edit will just unexpectedly not work right.
There's other kinds that aren't directly the proxy and don't use that header, but still need support, like the special azure/google/vmware endpoints.
It's sort of implying that
You still have to verify the that there actually exists a CRTB for the requested user+cluster with an appropriate permission and that that cluster uses the credentialId... so an extra step of "...for any clusterId" seems like just one more lookup and loop?

Ultimately, the decision boils down to performance. It would be very straightforward to list all clusters and check whether the user has access to a cluster and that cluster has the appropriate cloud credential associated to it. But if a Rancher setup has many clusters, then this will be slow and will need to be repeated for every request made through the proxy.
The Azure and Google proxies already work this way. And the meta-proxy works this way for EKS clusters. My PR updates the meta-proxy to work this way for provisioning v2 clusters. I need to update the vmware and oci proxies to work this way.
As far as third-party drivers: a user cannot create a cluster unless they have access to the cloud credential and multi-user editing currently doesn't work unless a user has access to the cloud credential. So this wouldn't break any third-party drivers and a driver could be updated to support this use case.

I meant when someone works on a driver, all the create flow and them doing their own edits (with the same user) work without adding a clusterId.  So that developer (& their QA) will have little reason to know that editing by a different person marked as an owner requires sending additional info to the proxy.  They will forget to test it, and then it won't work when someone actually needs it.  We have in fact done this ourselves frequently during this whole chain of issues.
It also sort of implies more validation is occurring than it really is, which I don't love.. the proxy calls aren't being scoped or restricted in any way to things related to that clusterId.   It's acting like a 2FA token you have to provide, but the 2nd factor isn't really a separate factor at all because it's plainly visible to anyone who knows the 1st.
So yes I agree it's an optimization to make the validation faster on the server-side, but not one I think we should force the client to provide.  I don't think it's necessary now, but if you wanted to this could certainly be optimized in other ways on the backend.  Like keeping a cache of the [user, credentialId] -> cluster that authorizes it (and updating it on RBAC changes, or just verifying the cached answer you got back is still true with a single lookup instead of trying to do perfect caching & invalidation).

Closing this in favor of the suggested approach.


Update Azure.ContainerApp* rules documentation

Description of the issue
Related to #2102
During the month of March 2022, all Azure Container Apps resources will be gradually migrated from the Microsoft.Web namespace to the Microsoft.App namespace.
https://github.com/microsoft/azure-container-apps/issues/109
Examples in Azure.ContainerApp.*.md should be adjusted accordingly.

All examples and rules have been migrated to the Microsoft.App resource provider. No further work required.


Add list recipe option

Closes #24
Added new option to list the available recipes
Testing done

Submitter checklist

[X] Make sure you are opening from a topic/feature/bugfix branch (right side) and not your main branch!
[X] Ensure that the pull request title represents the desired changelog entry
[X] Please describe what you did
[X] Link to relevant issues in GitHub or Jira
[ ] Link to relevant pull requests, esp. upstream and downstream changes
[ ] Ensure you have provided tests - that demonstrates feature works or fixes the issue

Hey @jonesbusy, I think the new yaml file format is easy to read and parse. wdyt?

But I am not sure to have the new two classes in the model directory.

Added description.Any thoughts?
Available recipes:
FetchMetadata - Fetches plugin metadata and stores in /target/pluginMetadata.json
AddPluginsBom - Adds Jenkins plugins BOM at the latest release if the project depends on any managed versions or an outdated BOM is present.
AddCodeOwner - Adds the {artifactId}-plugin-developers team to all files in .github/CODEOWNERS if absent.

Hey @jonesbusy, I think the new yaml file format is easy to read and parse. wdyt?
Old:
recipes:
  FetchMetadata:
    fqcn: "io.jenkins.tools.pluginmodernizer.core.extractor.MetadataCollector"
    artifactCoordinates: "io.jenkins.plugin-modernizer:plugin-modernizer-core:999999-SNAPSHOT"
  AddPluginsBom:
    fqcn: "org.openrewrite.jenkins.AddPluginsBom"
    artifactCoordinates: "org.openrewrite.recipe:rewrite-jenkins:0.8.1"
  AddCodeOwner:
    fqcn: "org.openrewrite.jenkins.github.AddTeamToCodeowners"
    artifactCoordinates: "org.openrewrite.recipe:rewrite-jenkins:0.8.1"

New:
recipes:
  - name: "FetchMetadata"
    fqcn: "io.jenkins.tools.pluginmodernizer.core.extractor.MetadataCollector"
    artifactCoordinates: "io.jenkins.plugin-modernizer:plugin-modernizer-core:999999-SNAPSHOT"
  - name: "AddPluginsBom"
    fqcn: "org.openrewrite.jenkins.AddPluginsBom"
    artifactCoordinates: "org.openrewrite.recipe:rewrite-jenkins:0.8.1"
  - name: "AddCodeOwner"
    fqcn: "org.openrewrite.jenkins.github.AddTeamToCodeowners"
    artifactCoordinates: "org.openrewrite.recipe:rewrite-jenkins:0.8.1"

Any reason to keep the root element "recipes" ? if this document doesn't contains other data it could be a list directly ? (Example is ansible and tasks: https://github.com/ansible/ansible-examples/blob/master/tomcat-memcached-failover/roles/lb-nginx/tasks/main.yml)
I will continue my review tomorrow, thanks for the good work anyway!


Add faster Box2DWorld querying API

also resizes the output buffer on overflow rather than asserting false

prob could have just committed to main

nvm it's good i didn't


Make a new release

The current release is not compatible with IAP because it's looking for the wrong header. This was fixed in https://github.com/imkira/gcp-iap-auth/commit/91f16a3cc3e70215b64a459154f497eb54eef27d.
Users of package managers that pull down a release will be pulling a broken version of this package until a new release is created.

ping
This package is broken for folks using common Go dependency management systems. It will take very minimal effort to tag a new release and fix it.

+1 for new release

@imkira ping

Sorry for waiting.
Please check v0.0.5


Removes Deref and AsRef impls for Database and Collection

Per API guidelines Deref should not be implemented on Database or Collection: https://rust-lang-nursery.github.io/api-guidelines/predictability.html#only-smart-pointers-implement-deref-and-derefmut-c-deref
Also I think AsRef is misleading here as a whole struct with a number of fields is reduced to str for id. It isn't too bad to access id IMO like db.id() going forward.

You are absolutely right, I have misused Deref.
Not that you mention it, we probably should also alias the Collection and Database id using something more strong than String.
We should probably use another PR for this.
I will correct the conflicts and merge.


Edit the documentation for the logstash-filter-jdbc_static

Perform a technical edit of the content to improve the overall structure and ensure that the content is easy to follow.

closing because this issue is very old and non-specific. Feel free to reopen if you feel it's still valid.


get_sys_info ought to be able to return a dictionary for consumption else where

As title. The system info is useful information in its own right, not just dumped on stdout. Requested by @seibert .

#5591 is a first step towards this. Features such as dumping to a json file could be added later.

#5591 is now ready for review and adds the requested feature.


Metadata is null

At the top of handleOnSuccess, the console log shows metadata is null and therefore metadata.account_id is null, token is the correct value.
import React, { Component } from 'react'
import PlaidLink from 'react-plaid-link'
import axios from 'axios';
class Plaid extends Component {
constructor(props) {
super(props);
}
handleOnSuccess(token, metadata) {
console.log(token)
console.log(metadata.account_id)
axios.post(...
  }).then(function (response) {
    console.log(response)
  }).catch(function (error) {
    console.log(error.message)
  });

}
handleOnExit() {
console.log('link: user exited');
console.log(error, metadata);
}
handleOnLoad() {
console.log('link: loaded');
}
handleOnEvent(eventname, metadata) {
console.log('link: user event', eventname, metadata);
}
render() {
return (
<PlaidLink
clientName="CoName"
env="sandbox"
product={["transactions"]}
publicKey="MY_KEY"
onExit={this.handleOnExit}
onSuccess={this.handleOnSuccess}>
Open Link and connect your bank!

)
}
}
export default Plaid

User error

What was the error, do you remember? I'm having a similiar problem where some of my metadata is null, ie metadata.account_id


TypeError: The "listener" argument must be of type Function. Received type object

Copy pasted the code in the usage section, put it into a react component and get the below error.
Did I miss something?

import { PlexOauth, IPlexClientDetails } from "plex-oauth"
import { useEffect } from "react";

let clientInformation: IPlexClientDetails = {
    origin: "http://localhost",                 // Required property used to identify the origin of your application for CORS
    clientIdentifier: "TestId12313451",         // This is a unique identifier used to identify your app with Plex.
    product: "TEST",                            // Name of your application
    device: "TEST",                             // The type of device your application is running on
    version: "1",                               // Version of your application
    forwardUrl: "https://localhost:3000",       // Url to forward back to after signing in.
    platform: "Web",                            // Optional - Platform your application runs on - Defaults to 'Web'
}

export const Login = () => {
    useEffect(() => {
        let plexOauth = new PlexOauth(clientInformation);

        plexOauth.requestHostedLoginURL().then(data => {
            let [hostedUILink, pinId] = data;

            console.log(hostedUILink); // UI URL used to log into Plex
        }).catch(err => {
            throw err;
        });
    }, [])

    return (
        <div>
            login
        </div>
    )
}

export default Login;

Hi @JitinDhillon,
Sorry for the late reply. I've been a bit busy. Thank you for finding this issue.
I was able to reproduce the issue and pushed out a new version of the library, however, it now looks like there are some other oddities that need further investigation.
I'll be looking into these and releasing fixes for them as well.

Hi @JitinDhillon
Per pull request #11, this should be resolved, please reopen this issue otherwise.
Thank you

Thanks @Dmbob! Will try it out.


bug: Field data from useSigner changes on subsequent calls of useSigner

Is there an existing issue for this?

[X] I have searched the existing issues

Package Version
0.6.7
Current Behavior
Given a component that is always rendered and is performing side effects based on the data field from useSigner, I expect the side effects to run only when that field changes, however it seems that data is changing every time other components that also call userSigner are mounted.
Expected Behavior
It's expected that useSigner().data remains the same object across renders until it actually changes, so that it can be used in the dependencies array of react hooks like useEffect and useCallback.
Steps To Reproduce

Download the project from codesanbox;
Run yarn to install dependencies, followed by yarn start;
A browser tab will open (if not visit http://localhost:3000/), open the developer console, notice that every time the show button is clicked the component listening for changes on useSigner().data is triggered.

Link to Minimal Reproducible Example (CodeSandbox, StackBlitz, etc.)
https://codesandbox.io/s/wagmi-usesigner-bug-1gkexf
Anything else?
Codesandbox doesn't support the sample code because it needs to be connect to an actual wallet to be reproducible, the project needs to be downloaded and run locally.
The project has 2 components:

UseSignerLogger that is always rendered and contains a useEffect hook that logs a message to the console every time useSigner().data changes.
DummyUseSignerCaller that also calls useSigner(), and is mounted or unmounted when a button is clicked.

DummyUseSignerCaller being mounted causes UseSignerLogger to detect a signer change everytime.
Maybe issue #919 is related and the "looping re-renders" are a consequence of this field changing.

Hey @jxom! Given this is a blocker for us currently, I'm wondering if you know when #1000 will be merged?

It's merged now! Just gonna reopen this one until it's actually released.

Published 0.6.8 that includes this fix!

I believe this is back.
Using useSigner multiple times in different components, will trigger side effects if used as dependency.
i.e. if the data from const { data } = useSigner() is used as a useEffect dependency, and we've initialized a total of three signers, all in different components, the effect will run three times.

@madmarko what version are you using?

Hi @tmm, I'm using the latest stable release at the time of writing, 0.9.0

@madmarko – I am unable to reproduce this, even with that Sandbox you provided.
The original issue was that the effect in UseSignerLogger was being called when a useSigner was initialized in DummyUseSignerCaller. I can't seem to replicate this again.
However, I am noticing a separate issue where useSigner initializes with undefined, and then sets its value to null if no signer is instantiated. I'd expect this to always be null until a signer is instantiated. Is this along the lines of the bug you are experiencing?

@jxom - unfortunately it's a little bit difficult to provide a sandbox for.
It's not a strict mode issue as I have it turned off in our application.
Essentially where you see the multiple undefined initializations, I get:

from: undefined to: RpcProvider
from RpcProvider to: RpcProvider
from RpcProvider to: RpcProvider

I will do my best to try and provide a sandbox.

That would be great! Thank you.

@jxom - I've only been able to make it happen one extra time on CodeSandbox, though in our app it's happening once or twice more as it's being used way more:
https://codesandbox.io/s/confident-babbage-4cvv1z
(please also check the console output for useWhyDidYouUpdate)
For context:
Our scenario is that on page load (or on request), we'd be making an Api call that would give us back the string content of the message that subsequently needs to be signed.
We need the signer as a dependency in the effect that would ultimately call the functions that fetches data from the Api, in order to know if the signer's been initialized. (we also have other dependencies that must be truthy.)
For the record I've also seen useSignMessage but I'm unable to pass it to my external service that makes the Api calls as it's a hook, and the Api calls are being made outside of React context.
So what happens now is, we get the Api call fired multiple time because of the signer update, where all other dependencies are fine.
We're currently working around it with useState, but that's messy.

@madmarko I'm currently dealing with this issue, did #1447  fix it for you?
if no how did you fix it?

@tomiiide it seemed to be fixed in a new release around January this year. Unfortunatley we also did an overhaul at the time - I am no longer working on it so I cannot provide more detailed info, sorry!


⚠ St. Lawrence Global Observatory CKAN Sitemap has degraded performance

In ea767ee, St. Lawrence Global Observatory CKAN Sitemap (https://catalogue.ogsl.ca/sitemap/sitemap-1.xml) experienced degraded performance:

HTTP code: 200
Response time: 14427 ms

Resolved: St. Lawrence Global Observatory CKAN Sitemap performance has improved in f4ccf62 after 14 minutes.


How does this repo play with the Lowe Lab project board if a separate organisation?

Needs investigation

It works!

One other downside of being separate to the organisation is the fact that we can't transfer issues. But this isn't a major issue. Will close for now, but food for thought.


Spaceship obstacle minigame Movement Refinement

Task: Refining Movement of Spaceship.
Feature: Space obstacle course Minigame feature
Description
Ship movement should feel like a spaceship, includes responsive acceleration and changing directions. Ship movement should include acceleration methods and momentum. Currently, the ship moves based purely on input, stops abruptly once key is released. Input keys should reflect the physics of piloting a ship, such as acceleration keys and brakes(functions as acceleration in opposite of current velocity) instead of the standard four direction movement keys.
SubFeature/component (optional)
-TBD
Examples (optional)

Ship should not stop after key release. There is no air friction. Only way to stop ship would be to accelerate in the opposite direction

Dependencies
-TBD
Milestones
List of sub-features you intend to have done and in Master by the end of the sprint.

[Collect physics knowledge necessary for ship movement, mainly 2d mechanics] Goal 1 (Sep. 9)
[Implement physics calculation methods for ship movement] Goal 2 (Sep. 11)
[Add input keys that reflect ship movement] Goal 3 (Sep. 12)
[Necessary JUnit Tests for input] Goal 4 (Sep. 14)

Completion Deadline: Sep. 15
Extras (optional)

TBD

Documentation

TBD
...

Members

Zhen Feng Ting (@Foref ) (Zhen Feng Ting)

Done, no rotation as of yet, Direction keys generate force that pushes the ship, added new keys
"B" which activates brake/linear damping of ship velocity
"V" which deactivates the brake
by default, Brake is not on.


minor update _presets_widget.py

Set the group combobox to the current preset when the widget is created or refreshed.
This is important for PR #144  and #122

looks like this got added also in #167, so will close


Stream.aggregateWithinEither implementation is an eager consumer, hiding ChannelExecuter's UpstreamPullStretegy

What is the problem this feature would solve?
Discord discussion: https://discord.com/channels/795981131316985866/1308468509067710484
I wanted to use Stream.groupedWithin to emit chunks from a stream when either the count or a timeout was reached.  For my application, the upstream was an effect pulling from an AWS SQS Queue.
SQS Queue polling produces up to N messages from the queue, which are then unavailable to other pollers for a visibility timeout.  If the downstream decides that it can no longer process messages, the aggregator shouldn't get ahead of the downstream, and the current implementation of ChannelExecuter seems like it defaults to an upstream pull strategy of 'after all enqueued', which means that as soon as its has successfully pushed messages to the downstream, it starts polling the upstream for further messages.
In the case of SQS polling, you would want to only poll for new messages if you know you are going to attempt to process them, or you incur an SQS costs for the redundant read, and then either incur another charge for placing making the messages visible in the queue again, or increased latency by waiting for the message to return to visible.
Aside from SQS, other source might have a resource usage 'cost' for reads that aren't then processed.
The downstream in this case might want to limit processing for a certain message count, total duration, or on encountering an error such as further downstream limits (like Lambda invocation limits).
What is the feature you are proposing to solve the problem?
It seems the the ChannelExecuter that underpins Streams supports the concept of 'after all enqueued' and 'on next' upstream polling.  The stock implementation is referenced by the aggregateWithinEither implementation, and does not appear to expose it to allow a consumer of the stream to switch to the 'on next' strategy, which would appear to ensure that the upstream pull isn't attempted until the downstream ask for further messages.
A mechanism could be provided that allows either to expose the ChannelExcecutor, or allow options to be passed to any of the grouped/aggregate functions that specifies the desired upstream pull strategy.  Or maybe this could just be a modifier that a stream can be piped through (e.g. Stream.upstreamPullStrategy('on next' or similar).
The implementation of aggregateWithinEither is non-trivial, and the apparent inability to influence the upstream pull strategy makes it a black box that cannot be reused.
What alternatives have you considered?
Bounded Queues or Mailboxes were explored, but these lack the ability to aggregate without recourse to piping to a stream, which this makes the whole pipeline eager.
In the examples, a workaround of using Effect.sleep(0) was used in the producer, but this makes an assumption that a consumer can influence the producers implementation, and I suspect whilst it works in the examples, its timing dependent, merely creating a Fiber context switch long enough to allow the downstream to consume before the upstream is polled again.
Note that in the examples quoted in the discord discussion, sometimes the stream becomes fully eager (comsuming all of the upstream messages) and other times is only 1 pull ahead of the consumer, which suggests operation is non-deterministic due to timing (when not using the Effect.sleep(0)).

@dmeehan1968 - thank you very much for the detailed explanation of the issue! However, it's a bit hard to investigate the problem without a minimal reproduction.
Is there any chance you could provide us with a minimal reproduction of the problem so that we can investigate? 🙏

Multiple examples in the discord discussion

Is there any chance you could provide us with a minimal reproduction of the problem so that we can investigate? 🙏

Multiple examples in the discord discussion

Apologies - I did not click through. Pasting the link to related playground here: https://effect.website/play#4fa7fc5f6e13

@IMax153 Just to draw attention to the feeling that I think this is, at least in part, actually a facet of Streams - they seem not to expose the Channels UpstreamPullStrategy, and the ChannelExecutor is an imported dependency, as opposed to an injected dependency, so we are stuck with the default implementation (although I may be missing on a compositional trick that could be used).
Because streams appear to pull from upstream as soon as there is space in the downstream queue, they are effectively 'ahead' of what the downstream consumer may want to do.  Aggregation is merely an example of how this can impact.
As I pointed out in this issue, how far ahead the upstream can get seems to be a produce of downstream consumption timing (hence how the Effect.sleep can alter the output). In my first example in the discussion (https://effect.website/play#90406f35099d) this seems to read the entire upstream before the downstream has consumed anything, at least some of the time.  Other times it is only 1 ahead, even though the code is identical - hence my mention about non-deterministic).
I realised after posting this that its likely a bigger issue than merely when aggregates are used, but I couldn't find another way of aggregating short of a custom implementation.


Check which species codes should be added to WoRMS, EURING and NT

NT = non-taxonomical units, see https://vocab.ices.dk/?CodeID=79748

After investigation, we find it a lot more straightforward if data providers can upload data using a single ESAS code, rather than split EURING/NT code concepts. The ESAS codes have been used for over 3 decades and will not change. For the submission of new taxa not on the list, data providers can use Aphia IDs from WoRMS, which is actively maintained.
We have completed the mapping exercise and every ESAS code now has an associated Aphia ID (including newly requested ones). For completeness, we have also linked with EURING codes were one is available: https://ices-tools-dev.github.io/esas/species/
We suggest that for data downloads (not uploads) the original provided code (whether ESAS or Aphia ID) is returned, as well as the associated Aphia ID. Returning the scientific and English name would be useful as well. Note that some specific codes (e.g. 127 Podiceps grisegena / cristatus, 128 Podiceps auritus / nigricollis, 129 Podiceps sp.) share the same Aphia ID (137056 Podiceps). By returning the original code and Aphia ID, analyses are possible at the (original) granular level and the overarching level using WoRMS as the reference list.

Todo after meeting on August 31

[ ] Remove NT columns
[ ] Remove (v6) remarks
[ ] Update description above table?

Decided to have people submit data with an ESAS code or Aphia ID. Documentation is updated as such.


Allow Extract Values to Have Multiple Outputs

Currently, the last output value is the value that is output for an extract. It would be helpful to allow multiple outputs for the same "Find" in extract.
For example:

Find
Output (Optional)
Notes

Tyvek
Product Sub Category: Tyvek

Tyvek
Material Composition: Tyvek

Current work  around:

Find
Output (Optional)
Notes

Tyvek
Product Sub Category: Tyvek

regex: Tyvek
Material Composition: Tyvek

This also occurs when using the same regex pattern while returning a different capturing group.


Desktop screen in portrait mode breaks the layout of chats

Describe the bug
Narrow screens make the chat increasingly unusable to the point where the text input disappears behind the tab icons.

Scrolling to the right to find the send-message button makes the top-left icons partially disappear behind chats.

Steps to reproduce
Open a message under messages on a narrow screen or increase the font size.
Environment
Debian FF
For me the issue appears on a portrait-mode screen with 1:1 scale.

Hey @moysa!
I'd like to contribute here and I saw that you are the right person to talk to, right?
I'd like to take this issue, but I'd like to confirm that you are not currently working on the responsive behavior of the app.


Support for Lambda@Edge

🚀 Feature Proposal
Add support for Lambda@Edge payload, serverless-express supports it.
This is pretty much just understanding its input/output, I believe no major changes would be required as it's somewhat similar to the regular integration.
Motivation
To have a unified interface between API Gateway and Lambda@Edge.
Example
Same as above.

I don't think it's a good idea to have a fastify server at lambda@edge, but feel free to contribute with a PR, if needed.

It looks overkill at first sight, but you can build something really complex in Lambda@Edge, like https://github.com/serverless-nextjs/serverless-next.js (not saying that I'd use fastify for serverless-next.js, just an example).
Otherwise, you have to build the content parsing, routes with parameters, etc, etc, all on your own.

I'm personally not going to use fastify on lambda@edge, so feel free to try a PR with tests...


Endless loading of service workers on getbootstrap website

Hello 🙂
I get these warnings after clicking on the links. It causes an infinite pageload and I will not get to the desired pages. I get same warnings across the whole website - all links causes this problem and it loads new service worker over and over again..
Win10, Chrome v61.0.3163.100

error message says it all, you have an option in the dev tools checked
open your dev tools > go to the application tab and uncheck update on reload

Yes I know but it does not affect service workers if the devtools are turned off or does it?

apparently it does, otherwise you wouldn't get that behaviour

No.. rly.. it does not, you can try it :) Maybe I chose the wrong way to report the problem. I had problem with page loading couple of minutes before I opened the devtools. I opened devtools to find out where is the problem, why the new pages are not being loaded after click on link, and all I saw was repeated loading of sw.js in network panel and after reload i get these warning messages..
Now it works.. I cleared the site data. However update on reload option is still checked and it does not affect the web when the devtools are turned off. So.. The question is, why did I have to copy links urls to the address bar to get to the next page (devtools off) before clear site data? :) And why sw.js on my or other sites do not have such problems when update on reload option is checked?

Not sure what we can do, or if there's even something we can do...

@XhmikosR It looks like the workbox-sw have not unregister method for removing service workers on update. This may cause new registration or update issues.

@TomasFrantik: can you make an issue there and CC me?

Closing in favor of #24868


Have to set stringifyAllValues: false else all strings are double quoted

Because of this line in createFormData(data: T, stringifyAll = true) in ./utilities/index.ts
 if (stringifyAll) {
        formData.append(key, JSON.stringify(value)); // <---- This double quotes everything
      } else {
        formData.append(
          key,
          typeof value === "string" ? value : JSON.stringify(value),
        );
      }

So when accessing FormData in backend with formData.get('email') the result is<EMAIL_ADDRESS>with double quoted string. What can be the workaround for this?
Currently I am setting stringifyAllValues: false and coercing all to strings in my zod schema.

@vrn-hkz this is the intended behavior, if you're interested in why this is done you can find a detailed explanation here:
https://github.com/react-hook-form/react-hook-form/pull/11061#issuecomment-1866564244
I stringify it so I can preserve the original types and easily parse back to original values, you can use the "false" option to do that yourself obviously but then you would have to convert everything back manually, eg string number => number, string boolean => boolean


Two words seem to be swapped

Hi,
In the first paragraph the words "migration" and "history" appear to be swapped:

However, many people want to perform a more advanced migration, including history. This guidance will introduce a history with migration.

No big deal, but still ...
Kind regards, Carsten

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

ID: edd6cbc8-5e3b-c3a1-4672-d42510cc058b
Version Independent ID: 8fe81fb5-7c2d-2562-5659-55fccbb3126c
Content: Migrate from Subversion (SVN) to Git
Content Source: docs/repos/git/perform-migration-from-svn-to-git.md
Product: devops
Technology: devops-code-git
GitHub Login: @hkamel
Microsoft Alias: hkamel

@CarstenSchelp  Thank you for the feedback.
The documentation has been updated and is pending review.


[Bug] Search result's selection of rows gets unselected after clearing search text from Table widget

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
When we search anything on table widget, if we do multiple select only for search results and once we move back to default view from search results, the selected rows get deselected automatically

Steps To Reproduce

Add table widget on canvas
Enable multi row selection option
Enable search option from Header
Search for any specific data based on Table data
Select multiple rows of search results
Now remove search text and view all data present in table
You will notice that none of the rows in entire table is selected

Environment
Production
Version
Cloud

Interesting find, thanks for bringing this to our attention. Needs to be investigated further.

@dilippitchika We should also consider that Table could have server-side filtering enabled.
This could be like the ServerSide filtering issue we had with Select Widget

Similar issue flagged by user Paolo Lops on Discord
hi, in a table with multi row enabled if i select a row and then i filter to search for another row the previous one is unselected.  this is not good to make a list of records , for examples of users ,to witch send a message..
can you help me?

Thanks for adding more info Dancia, @Tooluloope i believe it can only work with server side data is if the dev has selected what the primary key is. Let me know what you think.

Stats

Stat
Values

Reach
360

Effort (months)
0.75

I'd love to see this fixed. I'm attempting a work around with Appsmith.store and pushing into arrays and stuff, and it's just too much of a pain! Working natively would make it so much better/easier.

I've tried it both ways, with and without onSearchTextChanged running a query to find the search text. The problem exists both ways. I've also tried it with Default Selected Row set to empty, and to -1. I have a primary key column set with actually unique values. Server Side Pagination on or off doesn't fix it. Enable client side search on or off doesn't fix it.
I've tried a few other things weeks ago that I can't remember and never found any combination that works. But there may be some combo I haven't tried.
This amount of trouble shooting would probably not be done by the average user though, so I'd also consider this high priority like you changed this issue to. I wish I knew enough to fix it myself. I appreciate all the work the Appsmith developers have put in.

Hey so we know it won't work either ways.
So the reason I asked was to understand if how we could fix in the short term and long term. If you don't have onSearchTextChanged making a query to filter search results, then we could split down the change to first be rolled out when onSearchTextChanged is OFF. After that fix for the case when it's ON.
If you have server side pagination enabled and people will search for items frequently across pages, then the change can't be split and has to be done on one go.
Apologies around the part where i didn't mention the reason and sent you on a trouble shooting spree 😕 , but we know this doesn't work any which ways.

@dilippitchika Could we plan on a clear solution for this issue? Right now development work cant be started unless we plan it in short term and long term solutions. Also should we resolve this for only server side filtering or for both client and server side?

I don't know how this will work in server side search ON because on searching the data changes which means you lose original data here. Let's create a new issue for server side search ON and discuss there.
Let's solve this for sever side search OFF. That should be straightforward.

@sbalaji1192 Since we are using current index of the rows, on searching we can't maintain fixed indices for the rows and hence won't be able to track selected rows

@souma-ghosh when the user has selected some primary key, we can make it work right?

@dilippitchika This issue can be fixed if we store original row indices inside selectedRowIndex instead of current row indices. But to switch to that will require changes in a lot of places.
Similarly even if we have some primary key selected, to change the stored value in selectedRowIndex / selectedRowIndices to the primary key value will also require changes in many places.
So Balaji wants to think this through before proceeding any further
CC: @sbalaji1192

@dilippitchika We need to make changes to the existing processedTableData property before achieving this. Moving this back to the product backlog and assigning it to myself.


Metamorphosis - FoodSequence 3

About the PR
specific recipes in a FoodSequence can turn a food into a separate special entity. The same result can be obtained in different ways. Different ways affect the final food solution, its flavors, and the garbage that remains after it is eaten.
for example, Cheeseburger recipe:
- type: metamorphRecipe
  id: FoodBurgerCheese
  key: burger
  result: FoodBurgerCheese
  rules:
  - !type:SequenceLength
    range:
      min: 3
      max: 4
  - !type:LastElementHasTags
    tags:
    - Bun
  - !type:IngredientsWithTags
    tags:
    - Cooked
    - Meat
    count:
      min: 1
      max: 2
  - !type:IngredientsWithTags
    tags:
    - Cheese
    count:
      min: 1
      max: 2

https://github.com/user-attachments/assets/bc9132a7-fdbc-4dde-929c-f3971be03e74
Requirements

[x] I have read and I am following the Pull Request Guidelines. I understand that not doing so may get my pr closed at maintainer’s discretion
[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes
all FoodSequenceElement components edited again
transfomed from
- type: FoodSequenceElement
    sprite:
      sprite: Objects/Consumable/Food/xxx.rsi
      state: xxx
    entries:
      burger:
        name: food-sequence-content-xxx
      taco:
        name: food-sequence-content-xxx

to
- type: FoodSequenceElement
    entries:
      Taco: xxx
      Burger: xxx

with new Dictionary <ProtoId<Tag>, ProtoId<FoodSequenceElementPrototype>>
new FoodSequenceElementPrototype required:
- type: foodSequenceElement
  id: Berries
  name: food-sequence-content-berries
  sprites:
  - sprite: Objects/Specific/Hydroponics/berries.rsi
    state: produce
  tags:
  - Fruit

Changelog
:cl:

add: Returned Taco microwave recipes (people were sad)
add: added an alternative method of crafting some burgers, through the correct assembly sequence of modular food.
tweak: severely cut back on the number of items you can put on burgers, tacos, or kebabs. This had poor design, and things need to be separately resprited by adding them on modular food.

Finally no evil microwave for burgers! 🥳

your work on burgers is making me want to add soups/stews...
perhaps when I get back home (still on vacation rn)

our elephant 🐘

it's ready for review. I think in terms of code it's all ready here. I'll be adding content for a while yet.

Oh, I just merged snails, which contain more food sequence elements that need to be adjusted. Sorry. #30765

Did you pray today
Did you pray today

the promised land

:0


Diving into the classes and trying to use ContactGroups

I need only a small hint to search in ContactGroups before adding "wrong" code. I saw that ContactGroups exist with ROOObject but with the normal: $bxcontactgroup = new BizCuit\BexioContactGroup($bxCtx); it doesn't work.

Most of the classes set like class ContactGroup extends ROObject { } are stuff I haven't had time to look for. So there is no BizCuit\BexioContactGroup class yet.
I guess the class would look like, in bexio.php
class BexioContactGroup extends BexioAPI {
	const type = 'contact_group';
	protected string $className = 'BizCuit\BXObject\ContactGroup';
	protected string $query = 'BizCuit\BXQuery\ContactGroup';

	use tBexioV2Api, tBexioObject, tBexioCollection;
}

And the object class, in bxobject.php, would be like
class ContactGroup extends BXObject {
    const NR = null;
    const createProperties = [
        'name'
    ];
}

See if the pull request works for you  and then I can merge into master.
And for the search class, in bxquery.php, would be like
class ContactGroup extends BXQuery {
	function __construct() {
		parent::__construct([
			'name'
		]);
	}
}


chore: add the angular2-dependencies-graph tool

This is an attempt to integrate the the angular2-dependencies-graph into the cli. See https://github.com/angular/angular-cli/issues/934 for more details.

wow, this is pretty cool! Is there any chance this will be considered for inclusion in angular-cli? Needs a rebase on master though

@JohannesRudolph thanks for your feedbacks.
My branch is now synch'ed. I'm updating my tool to support NgModule. Check this out..

Heya @manekinekko, I talked to the team about your PR and we decided that it's more suitable as an addon rather than a core feature. We don't yet have the addon architecture ready, but when we do I'd be happy to help you add this new command.


Remove leftover code from 04-channel handshake crossing hellos

Summary
Crossing hello's is no longer possible with 04-channel. Previous Channel ID is deprecated in MsgChanOpenTry. Replace this check with an assertion that the previous channel id is empty

For Admin Use

[ ] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate contributors tagged/assigned

will remove the argument from NewMsgChannelOpenTry as well


Fix compatibility with instanced pen rendering

https://github.com/TurboWarp/scratch-render/pull/11 changed this which broke Clipping & Blending that relied on this
This problem broke the sample project which divides the screen in 4 parts.

yes please


missing kairon-ui docker build file

Do you have the Dockerfile for the image digite/kairon-ui?

did you try pulling this way?
docker pull digite/kairon-ui

@sony2 was asking about the dockerfile.. in other words, is there a way to build the docker image locally instead of pulling from docker hub?

You can build docker images for backend services locally. For UI, pulling docker image is the only way you can use this service. Any specific reason why you want to build it locally?

Thanks. I guess that answers the question which means the UI part is not open source. One reason for wanting to build the UI locally is to customize it further.


Reported spacing issues by IBM X

Please support IBM X
https://jira.ibmix.de/browse/BARE-532
https://jira.ibmix.de/browse/BARE-570
https://jira.ibmix.de/browse/BARE-553
https://jira.ibmix.de/browse/BARE-512

Needs to be double checked after the release today
\

Currently i am gathering additional use cases and thrive trough magnolia to identify additional issues. Planned is a sync with Max either tmrw or on thrusday.


Xcode 8.2 error Multiple methods named "initWithType" found with mismatched result

When we try to compile this library with the default settings for iOS 10 or iOS 9 (Xcode 8.2.1), the following error is generated in MPABTestDesignerSnapshotRequestMessage, MPDesignerEventBindingMessage and a lot of class.
 MPABTestDesignerSnapshotRequestMessage..m:20: Multiple methods named 'initWithType:' found with mismatched result, parameter type or attributes
MPDesignerEventBindingMessage.m:60: Multiple methods named 'initWithType:' found with mismatched result, parameter type or attributes
Do you have any thing what caused this problem ?

@burakketen what version of the library are you on? I tried on both master and 3.0.7 which is the latest and didn't get any errors compiling on Xcode 8.2.1.

We just released 3.0.8 with a potential fix (https://github.com/mixpanel/mixpanel-iphone/commit/f1e37f27d743ce299b9ae63e8c3b719d3b0d654b). Let me know if that helps or not!

We are using the v<IP_ADDRESS> branch for iOS 7 support. Thanks, the problem is solved.


vcpkg.cmake - CMake Warning About Policy CMP0127

Describe the bug
When using CMake versions 3.22 or higher, it warns about the policy CMP0127. The origination of this warning is due to the usage of cmake_dependent_option in the vcpkg.cmake file. This warning was mentioned in the PR that introduced the issue: https://github.com/microsoft/vcpkg/pull/23322#discussion_r820455377
Environment
All
Expected behavior
This warning should be emitted for downstream users.
Failure logs
The link above includes an example failure. Re-pasting here for convenience:
CMake Warning (dev) at F:/vcpkg/downloads/tools/cmake-3.22.2-windows/cmake-3.22.2-windows-i386/share/cmake-3.22/Modules/CMakeDependentOption.cmake:84 (message):
  Policy CMP0127 is not set: cmake_dependent_option() supports full Condition
  Syntax.  Run "cmake --help-policy CMP0127" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.
Call Stack (most recent call first):
  F:/vcpkg/scripts/buildsystems/vcpkg.cmake:521 (cmake_dependent_option)
  F:/vcpkg/buildtrees/libwebsockets/x64-windows-rel/CMakeFiles/3.22.2/CMakeSystem.cmake:6 (include)
  F:/vcpkg/buildtrees/libwebsockets/x64-windows-rel/CMakeFiles/CMakeTmp/CMakeLists.txt:5 (project)
This warning is for project developers.  Use -Wno-dev to suppress it.

Here is a patch of the fix I have in mind. I will test it locally within our team's build system. If all goes well, I'll get a PR opened for this.
diff --git a/scripts/buildsystems/vcpkg.cmake b/scripts/buildsystems/vcpkg.cmake
index 3e8fd7260..bdd0cbe1e 100644
--- a/scripts/buildsystems/vcpkg.cmake
+++ b/scripts/buildsystems/vcpkg.cmake
@@ -518,7 +518,11 @@ if(VCPKG_MANIFEST_MODE AND VCPKG_MANIFEST_INSTALL AND NOT Z_VCPKG_CMAKE_IN_TRY_C
 endif()

 option(VCPKG_SETUP_CMAKE_PROGRAM_PATH  "Enable the setup of CMAKE_PROGRAM_PATH to vcpkg paths" ON)
+
+cmake_policy(PUSH)
+cmake_policy(SET CMP0127 NEW) # CMake 3.22
 cmake_dependent_option(VCPKG_USE_HOST_TOOLS "Setup CMAKE_PROGRAM_PATH to use host tools" ON "NOT VCPKG_HOST_TRIPLET STREQUAL \"\"" OFF)
+cmake_policy(POP)

 if(VCPKG_SETUP_CMAKE_PROGRAM_PATH)
     set(tools_base_path "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/tools")

It seems that the following commit may have addressed this issue already: https://github.com/microsoft/vcpkg/commit/c8baa4708abf9118e26fb1d1950596e874448fad


#1184 Add shouldHaveSingleElement matcher with predicate

Closes: #1184

Thansk for the PR. I was thinking more that this matcher would not use the lambda to test for one element that passes the predicate (but allows more), but that there's a single element and then executes the lambda. What do you think?

Yes, it makes perfect sense and seems usable. I think if it was confusing for me from the ticket's description, it can be confusing for users too. Can we think about better naming?
Maybe it makes more sense to extend shouldBeSingleton matcher with a lambda parameter?

Yes the ticket was poor wording by me.
shouldBeSingleElement maybe ?
On Mon, 3 Feb 2020 at 14:43, Ignat Simonenko<EMAIL_ADDRESS>wrote:

Yes, it makes perfect sense and seems usable. I think if it was confusing
for me from the ticket's description, it can be confusing for users too.
Can we think about better naming?
Maybe it makes more sense to extend shouldBeSingleton matcher with a
lambda parameter?
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/kotlintest/kotlintest/pull/1186?email_source=notifications&email_token=AAFVSGXZSPOYWVH4NN7W6NTRBB6VJA5CNFSM4KOSCC22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKVKMQA#issuecomment-581609024,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFVSGVXMQGTHJDSQXJCJMTRBB6VJANCNFSM4KOSCC2Q
.

@sksamuel I've added a new matcher shouldBeSingleton { block } to keep it consistent. Please, let me know if you insist on shouldBeSingleElement naming. Should I revert shouldHaveSingleElement { predicate } matcher changes?

Lets go with your naming.