Ext overrides3 fix storagee2es

Description of changes

Issue #, if available

Description of how you validated changes
Checklist

[ ] PR description included
[ ] yarn test passes
[ ] Tests are changed or added
[ ] Relevant documentation is changed or added (and PR referenced)
[ ] New AWS SDK calls or CloudFormation actions have been added to relevant test and service IAM policies

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #8721 (a10dbde) into extOverrides3 (cd63711) will not change coverage.
The diff coverage is n/a.

@@              Coverage Diff               @@
##           extOverrides3    #8721   +/-   ##
==============================================
  Coverage          56.31%   56.31%
==============================================
  Files                835      835
  Lines              47247    47247
  Branches            9467     9467
==============================================
  Hits               26605    26605
  Misses             19824    19824
  Partials             818      818

Continue to review full report at Codecov.

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


PATH is wrong on Windows

When I spawn a PowerShell instance by clicking on the "DOCKER CLI" button, the PATH variable will contain "/usr/local/bin:". It is not just an invalid path but the colon makes the first entry on PATH ignored. The problem seems to be in browser.js.
ps.: I wanted to send a pull request but given the contribution guide, I cannot build the project. That is, when I run npm start, it just shows a blank window, so I cannot verify my change.

Did you follow the Kitematic development guide?
https://docs.docker.com/opensource/kitematic/set_up_dev/

I have followed CONTRIBUTING.md which seems to contain what you have linked.

It's close, but the docs do specify the NPM version, as it's what we've been using.
If you're getting a 'white' screen after npm start it's more than likely an issue with your code/env

The problem for starting Kitematic was that I had the 64 bit version of npm installed. I fixed that and sent a pull request to fix this issue.


feat(data): Implement GET /reading/device/name/{name} V2 API

PR Checklist
Please check if your PR fulfills the following requirements:

[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

If your build fails due to your commit message not passing the build checks, please review the guidelines here: https://github.com/edgexfoundry/edgex-go/blob/master/.github/Contributing.md.
What is the current behavior?

Issue Number:
fix #2957
What is the new behavior?
Per https://app.swaggerhub.com/apis-docs/EdgeXFoundry1/core-data/2.x#/default/get_reading_device_name__name_, implement GET /reading/device/name/{name} V2 API.
Also update swagger yaml file to correct the http response codes and response samples.
Does this PR introduce a breaking change?

[ ] Yes
[x] No

New Imports

[ ] Yes
[x] No

tweak a little bit to avoid code smells as reported from SonarCloud

Codecov Report

Merging #2959 (bc9cd13) into master (4ced080) will increase coverage by 0.04%.
The diff coverage is 53.84%.

@@            Coverage Diff             @@
##           master    #2959      +/-   ##
==========================================
+ Coverage   39.92%   39.96%   +0.04%
==========================================
  Files         157      157
  Lines       13513    13558      +45
==========================================
+ Hits         5395     5419      +24
- Misses       7801     7819      +18
- Partials      317      320       +3

Impacted Files
Coverage Δ

internal/pkg/v2/infrastructure/redis/client.go
0.00% <0.00%> (ø)

internal/pkg/v2/infrastructure/redis/reading.go
0.00% <0.00%> (ø)

internal/core/data/v2/application/reading.go
66.66% <77.77%> (+8.33%)
:arrow_up:

internal/core/data/v2/controller/http/reading.go
74.28% <77.77%> (+2.19%)
:arrow_up:

internal/core/data/v2/application/event.go
63.88% <0.00%> (-3.71%)
:arrow_down:

Continue to review full report at Codecov.

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


bug: Pre-provisioned e2e maxShares failure test case hangs indefinitely

What happened:
The e2e test case "should fail when maxShares is invalid" hangs indefinitely causing the e2e test to timeout after 6 hours.
What you expected to happen:
How to reproduce it:
Anything else we need to know?:
The root cause appears to be an attempt to update the state of the AzVolume instance from stale state.
The test case log produces the following output and hangs:
I1006 11:27:49.308744   27052 azuredisk_driver.go:56] Using azure disk driver: disk.csi.azure.com
W1006 11:27:49.308848   27052 azure_disk_utils.go:333] maxShares cannot be set smaller than 1... Defaulting current maxShares (0) value to 1
I1006 11:27:49.308874   27052 crdprovisioner.go:213] Creating a new AzVolume CRI (invalid-max-shares)...
I1006 11:27:49.338907   27052 crdprovisioner.go:243] Successfully created AzVolume CRI (invalid-max-shares)...

Looking at the AzVolume controller logs we see:
I1006 18:27:49.126681       1 util.go:51] azure_disk_utils.go:436] Initiating update with retry for *v1alpha1.AzVolume (invalid-max-shares)
I1006 18:27:49.133192       1 azvolume.go:151] Creating Volume (invalid-max-shares)...
E1006 18:27:49.133261       1 azvolume.go:158] failed to create volume invalid-max-shares: rpc error: code = InvalidArgument desc = parse 0 returned with invalid value: 0
I1006 18:27:49.133325       1 util.go:51] azure_disk_utils.go:436] Initiating update with retry for *v1alpha1.AzVolume (invalid-max-shares)
E1006 18:27:49.133359       1 azvolume.go:179] failed to update AzVolume (invalid-max-shares) with volume creation result (response: <nil>, error: rpc error: code = FailedPrecondition desc = azVolume's state 'Pending' cannot be updated to CreationFailed. Pending can only be updated to Creating, Deleting)

The first entry in the AzVolume controller log appears to be from a successful attempt to update the AzVolume state from Pending to Creating. Inspecting the state afterward, we can see that the update was successfuly.
$ kubectl get azvolume -n azure-disk-csi invalid-max-shares --output=yaml
apiVersion: disk.csi.azure.com/v1alpha1
kind: AzVolume
metadata:
  creationTimestamp: "2021-10-06T18:27:49Z"
  deletionGracePeriodSeconds: 0
  deletionTimestamp:
  finalizers:
  - disk.csi.azure.com/azvolume-finalizer
  generation: 3
  name: invalid-max-shares
  namespace: azure-disk-csi
  resourceVersion: "24139"
  selfLink: /apis/disk.csi.azure.com/v1alpha1/namespaces/azure-disk-csi/azvolumes/invalid-max-shares
  uid: 8f40cd03-e0d7-4da2-8086-6607dd50aba4
spec:
  accessibilityRequirements: {}
  capacityRange:
    limit_bytes:<PHONE_NUMBER>44
    required_bytes:<PHONE_NUMBER>44
  contentVolumeSource:
    content_source: 0
    content_source_id: ""
  maxMountReplicaCount: 0
  parameters:
    maxShares: "0"
  underlyingVolume: invalid-max-shares
  volumeCapability:
  - access_details:
      access_type: 1
      fs_type: ""
    access_mode: 1
status:
  state: Creating

After receiving an invalid argument error from the attempt to create the volume, the AzVolume controller then tries to update the state to CreationFailed but cannot because it sees an earlier version of the object in the Pending state. The CrdProvisioner never sees the error and hangs indefinitely because the pre-provisioned e2e tests supply a context without a deadline.
Environment:

CSI Driver version:
Kubernetes version (use kubectl version):
OS (e.g. from /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

@sunpa93 Any ideas on how to fix this one?

This means that we can end up with similar failures in any update functions with updateState as it is inevitable that we might be trying to update an older version of the resource with an outdated state, especially given that we are getting objects from the cached reader.
The hanging problem can likely arise whenever the object is stuck in ~ing state. That said, in other updateState calls, I don't think this will be a concern because requeued reconciliation will be able to handle them but for the update routines after CreateVolume, DeleteVolume, ExpandVolume, AttachVolume, DetachVolume, we might end up with a similar hanging situation.
Maybe, we can add a forceUpdateState function that ignores the current state of the object to be used for those specific update sequences. As far as I can think, it should be guaranteed that the object is in a ~ing state if it has reached these update sequences so I think we can safely force update the states in these cases.

Maybe, we can add a forceUpdateState function that ignores the current state of the object to be used for those specific update sequences. As far as I can think, it should be guaranteed that the object is in a ~ing state if it has reached these update sequences so I think we can safely force update the states in these cases.

What about allowing a transition from the Pending state to XXXFailed states?

In that case, we should allow transition from Pending to Created / Attached states, and from Created / Attached states to Deletion / DetachFailed states although these cases seem improbable given that the reason we are seeing this error for this specific test is that CreateVolume function returned instantly due to wrong parameter, hence not allowing enough time for the cached reader to sync.


Added multiple patterns matching

Hello @johtani !
I would like to explain you some changes I made to your code: Thank you very much for sharing with us your useful plugin.
I replaced readList with readMap, allowing the plugin to match multiple patterns, picking the first one that matches (according to the columns number). The advantage is that now you can define a list of deserved patterns, and not only one, inside the plugin. At the moment I implemented this using readMap, but I don't store anywhere the key: by the way it is useful to have a clean code. I think that a nice feature could be to give the possibility to store the key of each map; in this way the user knows where the pattern matches from. Do you think that using readMap is a good idea? Maybe another type makes a better job? This is the first time I work on those plugins. I hope that my contribution may help you.
Thank you again
Best regards,
Andrea

Hi @andrea-romagnoli
Thanks for PR and using my plugin!
I have a question about PR.
What do you consider using this feature?
Same processor to ingest from different CSV file/data? or same CSV file/data?
If first use-case, I think you should define a pipeline for each CSV files.
It is simple and easy to mange each pipeline.
If second use-case, could you explain the use-case with example?

Hi @johtani ,
I try to explain by example why I needed to implement this feature - we are in a very specific scenario.
In a single log file (radius) we have different lines with different meaning.
For example, some lines have 15 columns (authentication), and others 21 columns (accounting).
We are quite lucky that different meaning columns have a different number of elements.
In this use case, we have to use a single pipeline to parse different logs in the same file.
If you have more questions, I will be happy to answer!
Thank you again

Hi @andrea-romagnoli
I understood your scenario.
I have another question about the data.
Is there any field for identifying data before parsing csv? we can only know the meaning after parsing?

where are we up to with this PR?


Added a init function

Now it is possible to create a SimpleSerial Object globally and change the initializer with his com_port and COM_BAUD_RATE later if needed.
Example main sketch:
SimpleSerial simple_serial;
cout<<"\n COM_PORT: ";
cin>> com_port;
cout<<"\n BAUD_RATE: ";
cin>> com_baud_rate;
simple_serial.init(com_port, com_baud_rate);
cout<<"Serial connection changed!\n";

Thanks for the PR @Felix-Brodmann !!


Fold the non_hiding_kzg module in relevant files

Moves the contents of Univariate KZG in two locations:

kzg_commitments, for those types needed there (essentially setting up the public parameters),
non_hiding_zeromorph, for the parts specifically used by ZM (and not yet by HyperKZG/Shplonk)

LGTM, Thanks!


[SPARK-21481][ML][FOLLOWUP] HashingTF Cleanup and Tiny Optimizations

What changes were proposed in this pull request?
some cleanup and tiny optimization
1, since the transformImpl method in the .mllib side is no longer used in the .ml side, the scope should be limited;
2, in the hashUDF, val numOfFeatures is never used;
3, in the udf, it is inefficient to involve param getter ($(numFeatures)/$(binary)) directly or via method indexOf (($(numFeatures)) . instead, the getter should be called outside of the udf;
How was this patch tested?
existing suites

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/13609/
Test PASSed.

Test build #108515 has started for PR 25324 at commit f73729c.

Test build #108515 has finished for PR 25324 at commit f73729c.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/108515/
Test PASSed.

I see what you're doing, but does it make enough difference to justify the extra complexity? The only optimization that seemed possibly helpful was not referencing the boolean property each time, but pulling it into a variable. The rest doesn't seem like it would matter.
Making the method private is OK, and removing the unused var.

Test build #108619 has started for PR 25324 at commit f5c5291.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/13706/
Test PASSed.

Test build #108619 has finished for PR 25324 at commit f5c5291.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/108619/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/13817/
Test PASSed.

Test build #108736 has started for PR 25324 at commit 0d5ca8c.

Test build #108736 has finished for PR 25324 at commit 0d5ca8c.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/108736/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/13877/
Test PASSed.

Test build #108797 has started for PR 25324 at commit 66436f0.

Test build #108797 has finished for PR 25324 at commit 66436f0.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/108797/
Test FAILed.

retest this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/13883/
Test PASSed.

Test build #108803 has started for PR 25324 at commit 66436f0.

Test build #108803 has finished for PR 25324 at commit 66436f0.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/108803/
Test PASSed.

Merged to master


Make game logic specification

[ ] make table of game functions (like a draw a card, shuffle decks, look, search, etc)
[ ] discuss

Link to document
link


stig: 0.12.2a0 -> 0.12.5a0; added passthru tests

Description of changes
change log: https://github.com/rndusr/stig/releases/tag/v0.12.5a0
diff: https://github.com/rndusr/stig/compare/v0.12.2a0...v0.12.5a0
also added passthru tests that test the version output of the binary

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 249724 run on x86_64-linux 1

2 packages built:

stig
stig.dist

Thanks!


[linux] dbus sharing design

Problem
Extend PlatformMgr to allow service registration to select loop.
Each service creates its own thread to drive DBUS: Thread, BLE, WiFi.
Need a consistent way to register such services to drive DBUS in a common way.
Proposed Solution
Map out pros and cons of each approach below.
Down-select solution.
Implement solution with unit tests.

Allow service to register with PlatformMgr main select loop.
delegate struct { .prepareSelect, .update }

Or dedicated I/O thread for DBUS

Or separate threads, but common way to drive DBUS

@yufengwangca : proceeding with gio/glib approach.  Proceeding to implementation stage. 2-3 days expected.
@turon: consider having some general APIs for adding services -- bothRegisterSelectService and RegisterGioService
@yunhanw-google : can work with you on BLE integration part
@yufengwangca : WiFi / wpasupplicant part also using gio.
Concerned about potential conflict with ThreadMgr using raw dbus API in parallel.
@bukepo : Doesn't gio use the raw dbus API?  Is WiFi using gio right now?
@kghost : No, gio has their own from scratch impl.  Yes, both WiFi and BLE using gio right now.
@yufengwangca : WiFi using pre-defined gio dbus API from wpasupplicant.
@bukepo : Ok, we could convert ThreadMgr to gio when we have time.
@yufengwangca : Think that will be required to prevent conflicts
@bukepo : Believe gio can handle raw file descriptors
@yufengwangca : Didn't try that, but anticipate there would be subtle problems with that, unless it has its own thread
@turon : Current Thread impl has separate std::thread just for dbus handling
@gjc13 : Correct
@turon : If it can work, defer gio port of ThreadMgr to optimization.
@yufengwangca : Believe there will be conflicts.
@turon : Thought dbus is designed for multiple clients and services on one system
@yufengwangca : Not advised to have multiple dbus clients in one process.  Multiple dbus IDs would confuse the system.  Not designed for that.
@bukepo : Please share material on those limitations

https://github.com/project-chip/connectedhomeip/pull/1557

This issue can be closed


fix(overflow-menu.html): remote extra text

Overview
Resolves https://github.com/carbon-design-system/carbon-components/issues/155#issuecomment-306355655

👍 ✅


Update no-verification-disposable-emails.md

Why:
Makes the warning message about disposable email addresses in Verifying your email address clearer.
Closes Explain disposable email services
What's being changed:

Check off the following:

[ ] I have reviewed my changes in staging (look for the deploy-to-heroku link in your pull request, then click View deployment).
[x] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[ ] This pull request impacts the contribution experience

[ ] I have added the 'writer impact' label
[ ] I have added a description and/or a video demo of the changes below (e.g. a "before and after video")

Thank you for your pull request. We are unable to accept this change at this time.

I think this was closed in error! Reopening!

@kindavishal Thanks so much for opening a PR! I'll get this triaged for review ⚡


module rename changes committed(https://jira.mongodb.org/browse/INTMD…

…B-420)
Description
Please include a summary of the fix/feature/change, including any relevant motivation and context.
Link to any related issue(s):
Type of change:

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Required Checklist:

[ ] I have signed the MongoDB CLA
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added any necessary documentation (if appropriate)
[ ] I have run make fmt and formatted my code

Further comments

dharma check the files in the test folder most of them still have the old resource name


Quantum peek gate

The peek gate can give per-write conditional probabilities, but seeing intermediate partial quantum states would also be useful.

Bloch sphere display and density matrix displays are in, though currently the glsl code to power them is in flux in my head so they just display the probability. That's more of a circuit computation issue though; the gates themselves will work without modification.


Persistent log store

Hi,
Is there any reference implementation for Persistent log store with NuRaft with writing log records and snapshots to disk?
Thanks

Hi @kishorekrd
Unfortunately, our log store implementation is not open-sourced. We are using Jungle to implement log store, and you can refer to the below example:
https://github.com/eBay/Jungle/blob/master/examples/example_log_store_mode.cc

@Steamgjk
You can implement your log_store that does fsync for each log append. We merely provide an example of log store that is not durable.
logger is not a Raft log store -- it is for debugging log.

Hi @greensky00, Now I am writing the append log record to disk in the "ulong append(ptr<log_entry>& entry);" call.
Here is a scenario

Append persisted 10 log records
Commit got 9 log records
9 log records are processed

In this case, If system crashes I will see that 10 log records in the backup. How to know that 10th log record is not committed? What are the other information I need to persist in the append log record's write to bring back the system to same state as before the crash. In the example state_mgr.h, I see that calls like save_config() , save_state() to write to disk. When do Raft calls this methods?

Hi @greensky00, Now I am writing the append log record to disk in the "ulong append(ptr<log_entry>& entry);" call. Here is a scenario
1. Append persisted 10 log records

2. Commit got 9 log records

3. 9 log records are processed

In this case, If system crashes I will see that 10 log records in the backup. How to know that 10th log record is not committed? What are the other information I need to persist in the append log record's write to bring back the system to same state as before the crash. In the example state_mgr.h, I see that calls like save_config() , save_state() to write to disk. When do Raft calls this methods?

I am not the contributor to NuRaft, so my understanding may be wrong (to be confirmed by @greensky00 )

You cannot know whether or not the 10 logs are committed, with a single clue that you find them in the disk of ONE replica
But raft guarantees that, if there are some committed logs before crash, they must exist in at least one of the replica's disk.
I think save_state is something related to snapshot, but log persistence needs to be done every time the replica (follower) replies to every grpc request from the leader. [Alert: the open sourced Nuraft (as well as most open-sourced Raft implementation in github) does not implement log persistence. Actually, a complete Raft implementation with log persistence will have a very low performance. If you call fsync every time to persist the log, you will see a very low performance for Nuraft.]

@kishorekrd
The last committed index should be persisted in the state machine, and should be retrieved via this API:
https://github.com/eBay/NuRaft/blob/789cc75869a6914d4c13aab6c2d5b48dba198f68/include/libnuraft/state_machine.hxx#L273-L283
Or if you really want to know the committed index at the moment the server receives the request, you may use this callback function to persist it:
https://github.com/eBay/NuRaft/blob/789cc75869a6914d4c13aab6c2d5b48dba198f68/src/handle_append_entries.cxx#L600-L601
But I wonder why you are taking care of the last committed index. It is natural that the log store can contain uncommitted logs at the end, and they will be soon committed or discarded after the first communication with the existing leader, as @Steamgjk mentioned.
And please note that it is preferred to call fsync in end_of_append_batch API,
https://github.com/eBay/NuRaft/blob/789cc75869a6914d4c13aab6c2d5b48dba198f68/include/libnuraft/log_store.hxx#L79-L86
instead of calling it in each append as it will be very inefficient because NuRaft sends multiple logs in batch.

Hi greensky00,
From my example 10 log records are appended, but 9 log records are committed. That means I processed 9 committed log records in my state machine. Now system crashed/rebooted. Now at the time of the recovery, I will see 10 log records in the append log backup. For recreating my state machine, I will first process the latest snapshot and then have to process the log records from the append backup. If I don't know up to what index the log records are committed in the previous session, how can I restore the state machine to the same state as before the crash/reboot?
What is the difference between flush() and end_of_append_batch()?
Thanks

For recreating my state machine, I will first process the latest snapshot and then have to process the log records from the append backup. If I don't know up to what index the log records are committed in the previous session, how can I restore the state machine to the same state as before the crash/reboot?

As I mentioned above, your state machine should remember the last committed index, and return it via state_machine::last_commit_index() API call.
And also, is there any reason why you do this by yourself? As long as state_machine::last_commit_index() returns the correct index, you don't need to care about this; NuRaft does this automatically.

flush(): invoked when an explicit fsync call is needed (right after membership change log is genearted).
end_of_append_batch(): invoked after each append_entries request. You can call flush() here for persistency.

Hi @greensky00 , sorry, May be I am missing some details here. After system reboot, at recovery time, I am thinking that I need to restore state_machine::last_commit_index(), so that raft will treat the remaining log entries in the log store as uncommitted.  Snapshot will have the last_commit_index at the time of the snapshot creation. log store will have all the log entries with their index number. But how and where to recover last_commit_index at last reboot time? Do I need to write it to disk for every commit? Currently I am writing only snapshot and log store to disk.

@kishorekrd
During the NuRaft initialization, last_commit_index should not be the last index number right before the reboot. it should be the last applied index of the state machine that is written the disk so that Raft can replay the log from the "last state" of the state machine. Since you sync the data to disk for every snapshot creation, when NuRaft restarts, the first state_machine::last_commit_index() call should return the index that snapshot has.

In clickhouse, there is a persistent log store implementation, https://github.com/ClickHouse/ClickHouse/blob/master/src/Coordination/KeeperLogStore.h


Run pkg-config on macOS.

Calling pkg-config zlib does not print -L /usr/lib for any zlib
package that I'm aware of on macOS (not even the one provided by Apple).
Moreover, the comment about a -L /usr/lib flag wreaking havoc on
attempting to link with OpenSSL in /usr/local/lib should no longer be
true. Presumbly, this was the case when Apple shipped its own
libcrypto and libssl in /usr/lib, but those days are long gone.

Is that true for tvOS and/or iOS? the apple target contains them along with macOS and I'm concerned that they might be affected.

It should be, yes. I'm not sure Apple ever even shipped a libssl or libcrypto on iOS.

Thank you for clarifying! Let's ship this then, this was introduced in https://github.com/rust-lang/libz-sys/commit/043a4cd1dab66e49a44d120d6e8323f23e853325, but I think it's the old macOS's issue and I'm going to revert if that issue still exists on any of the supported macOS.

Thanks!


Add DEEP

Insert URLs to the project here:
https://github.com/sovereign-nature/deep

[x] The projects is active, documented, open source licensed, shows usage from external parties and is directly targeting environmental sustainability. Find more details in the Contribution Guide.

All issues labeled as 'Good First Issue' of the project listed on OpenSustain.tech will be visible on ClimateTriage.com. This is a great way to welcome new community members to your project.

@smakhtin @giovanneguerra

@Ly0n Thank you for adding us. Anything else needed from our side?


fix: not replace require when it not resolved

Fixes #4465
We should avoid replacing require or require.xxx when it has not been resolved

!eco-ci


Request: YASSE style file handling (#log command?)

YASSE included some pretty cool file handling calls that would allow me to update .csv files for combat hits and mining finds etc. The most complex I ever got was to write a .remember script that would update a .recall script (both attached). Having some way to load, append, and save a file would be cool.
recall.txt
register.txt
remember.txt
prospect.txt

#log [>name] <text>

name (optional): The log name to write to. Default is 'CharacternameInstance_Date.log'.
text: The text you want to write to the log file.


Verbose console repeats task names many times in parallel build

I've noticed that verbose console tends to repeat task names without any output during parallel builds. Here is excerpt from the output when it happens: https://pastebin.com/8rGarXF5
I've magnified the corresponding part of the build scan timeline: https://scans.gradle.com/s/umo3mre7vjf3i/timeline#end=1510517317022&start=1510517291452
Expected Behavior
I expect that task name should be printed only when a task outputs something or when it completes.
Current Behavior
Task names are repeated with no output several times for each task
Steps to Reproduce
Run parallel build with --console verbose

Build scan URL: https://scans.gradle.com/s/umo3mre7vjf3i

Thanks for reporting. Actually, AFAIK, the task names do be printed only when task outputs something. Could you provide us a sample project to reproduce this issue? It would help a lot.

I think any project with long-running parallel tasks will do, but in case if you struggle to find one, you can reproduce it on the Kotlin build, of which I took that scan. The instructions are here https://github.com/jetbrains/kotlin#building

This probably happens because we force output every now and then to clear the buffers. However, nothing should happen if the buffers are empty.

Hi,
I bumped into this by accident as well and I noticed that I can reproduce the issue for gradle 4.6, but for gradle 4.7 this behaviour seems to be fixed.
For reference I have created a small sample that is using two sleeper tasks and the worker api to have them run in parallel. When using gralde 4.6 in the wrapper-properties one can reproduce the outlined problem, with gradle 4.7 it "goes away".
issue-3456.zip

Yeah, we did a fair bit of refactoring in 4.7 when we added task grouping to the plain console output and this was one of the bugs we found (and fixed).  I'm going to go ahead and close this as fixed.


Add the functionality to read chunk by chunk

🚀 The feature
This issue is a continuation of the discussion from here.
We are proposing to add some functionality to allow reading chunk by chunk from a stream. Ideally, this should be done without loading the entire stream/response into memory first, but this may not be possible in all cases.
Motivation, pitch
From @pmeier

Having something like a ChunkReader datapipe can be useful in general not just for HTTP requests, right?

from torchdata.datapipes.iter import IterDataPipe

class ChunkReader(IterDataPipe):
    def __init__(self, datapipe, *, chunk_size=32 * 1024 * 1024):
        self.datapipe = datapipe
        self.chunk_size = chunk_size

    def __iter__(self):
        for path, stream in self.datapipe:
            for chunk in iter(lambda: stream.read(self.chunk_size), b""):
                # filter out keep-alive new chunks from HTTP streams
                if not chunk:
                    continue

                yield path, chunk

A utility like that is needed anyway for Saver anyway. AFAIK, there is currently no builtin functionality to read data from a stream, correct? I'm guessing that is why the Saver example uses bytes as input.

This can be useful for reading from file stream in chunks (e.g. after FileOpener), writing to files in chunks (e.g. Saver, and etc (e.g. HttpReader).
Alternatives
Instead of adding a new DataPipe, we can consider modifying specific existing DataPipes to add the functionality of reading by chunk. This may be useful in avoiding the need to read the entire stream/response into memory (as I believe it is the case in the current implementation of HttpReader, please correct me if this is wrong).
We can also do both.
Additional context
No response
cc: @ejguan @VitalyFedyunin

We do have such DataPipe
https://github.com/pytorch/pytorch/blob/cac16e2ee293964033dffa6616f78b68603cd565/torch/utils/data/datapipes/iter/streamreader.py#L8-L9

I am okay with name changes.

We do have such DataPipe

Oops, I was not aware of that. The implementation looks like
while True:
    d = stream.read(self.chunk)
    if not d:
        break
    yield (furl, d)

Compared to the proposal in https://github.com/pytorch/data/issues/439#issue-1245393098 this almost equivalent. The only difference is that StreamReader stops reading after the first empty chunk. HTTP responses sometimes include keep alive chunks, i.e. empty chunks, in the middle of the response. Stopping to read after the first possibly discards everything that comes afterwards.
Are you ok with me sending a PR to adopt StreamReader to also handle keep alive chunks?

Compared to the proposal in #439 (comment) this almost equivalent. The only difference is that StreamReader stops reading after the first empty chunk. HTTP responses sometimes include keep alive chunks, i.e. empty chunks, in the middle of the response. Stopping to read after the first possibly discards everything that comes afterwards.
Are you ok with me sending a PR to adopt StreamReader to also handle keep alive chunks?

That seems reasonable to me. We can have a default argument break_if_empty=False to handle keep alive chunks:
if not chunk:
    if break_if_empty:
        break
    else:
        continue


Serialized value not always can be parsed.

I assume that if value was parsed without exception it should be serializable and parsables again.
    std::stringstream s;
    s << json::parse("22e2222");  // I'd expect exception here
    try {
      auto j2 = json::parse(s.str());
    } catch (const std::invalid_argument&) {
      std::cerr << std::string{data, data + size} << " -> "
      << s.str() << "\n";
      assert(0);
    }

I think the underlying problem is the following:
The code
json j = json::parse("22e2222");
std::cerr << j << std::endl;

outputs inf which is not valid JSON.

For floating-point numbers, the constructor looks like this:
basic_json(const number_float_t val) noexcept
    : m_type(value_t::number_float), m_value(val)
{
    // replace infinity and NAN by null
    if (not std::isfinite(val))
    {
        m_type = value_t::null;
        m_value = json_value();
    }

    assert_invariant();
}

The replacement of infinity/NAN by null was not done when a value was parsed from a string. Commit d910672 fixes this.
I am currently torn how to cope with numbers that exceed the limits of number_float_t. RFC 7159 states

This specification allows implementations to set limits on the range and precision of numbers accepted. Since software that implements IEEE 754-2008 binary64 (double precision) numbers is generally available and widely used, good interoperability can be achieved by implementations that expect no more precision or range than these provide, in the sense that implementations will approximate JSON numbers within the expected precision.

The question is how to deal with numbers that do not fit to double precision. "set limits on the range and numbers accepted" could be interpreted that numbers outside this range should be rejected which would mean throwing an exception when such a number is encountered.
What do you think?

Throwing an exception sounds like a reasonable thing to do.

+1 for exception

I think an exception is the way to go (both in the constructor and in the parser). I shall implement this change in the 3.0.0 release as it changes the public API.

This issue is fixed with 8feaf8dc94a88393510637af36a24163c95a1b45 as follows:

If an overflow occurs during parsing a number from a JSON text, an exception (std::out_of_range for the moment, to be replaced by a user-defined exception #244) is thrown so that the overflow is detected early and roundtripping is guaranteed.
NaN and INF floating-point values can be stored in a JSON value and are not replaced by null. That is, the basic_json class behaves like double in this regard (no exception occurs). However, NaN and INF are serialized to “null”.
Adjusted test cases appropriately.

Waiting for Travis to complete. Then this issue can be closed and the different semantics can be described in the wiki.


Discord/Slack bot

Send messages to topics
/ntfy send mytopic This is a message
/ntfy send myserver.com/mytopic This is a message
/ntfy send --tags=warning,skull mytopic This is a message
...

Subscribe to messages (much cooler) to forward messages to channel
/ntfy subscribe ntfy.sh/mytopic

I have WIP code here: https://github.com/binwiederhier/ntfy-bot
But I kinda stopped working on it for now.

Closing this for now, though I think this would be really cool. I think I'll pick it up again eventually but right now I have my hands full.


At which phase code is actually being generated? I need to run build 2 times

With clean project currently I need to run build 2 times, at first the code is generated inside build/cocoapods/framework/sharedSwift folder and just after I use pod install the code appears properly in Pods section in xcode.
If I use pod install before first build, then no code is still generated.
Is there some solution to not run whole build 2 times? Can I run just some specific command before running pod install and then run full build?

Hello! Now I'm going to explain how the plugin works and the integration process through CocoaPods, so that you can better understand how to use it most effectively.
The Gradle plugin adds an extra action at the end of the link***Framework task. During this action, it generates Swift code for the assembled framework. Here, there is a peculiarity of how Gradle works - if the task is not meant to be executed (for example, because the framework has already been successfully compiled), then the additional action will not be performed.
This means that when your framework is already compiled and you change the KSwift Gradle settings but don't alter the Kotlin code, the Swift files will not get updated. In this case, you either need to make a change in the Kotlin code (so the framework is recompiled) or delete the current framework located in the build/bin path.
Next, after the Gradle KSwift plugin has completed its work and generated Swift code in build/bin/<arch>/sharedSwift, another plugin, the cocoapods gradle plugin, takes over. It transfers the content of the build/bin/<arch> folder to the build/cocoapods folder, from where the cocoapods (not the gradle plugin, but the ruby application) will pick up both the framework and the generated Swift files.
The final step involves CocoaPods - when we execute pod install, the cocoapods utility does two things - for our Kotlin framework, it looks at the assembled framework and adds to the Xcode target, which triggers recompilation of the Kotlin framework through Gradle when the Xcode target itself is compiled. The second thing involves our other cocoapod - sharedSwift (where the generated Swift files reside). For this cocoapod, it reads the source directory (i.e., the folder where the generated Swift files are located) and creates an Xcode target with the files found at that moment, as well as establishes a link from sharedSwift to the shared Xcode target.
That is, the set of generated Swift files that will make it into Xcode is determined exactly at the moment of the pod install call.
In summary, the most efficient way to use KSwift is as follows:

Configure all filtering options and features in Gradle
Write code in Kotlin
Initially assemble the framework. For example, manually call link***Framework, after which you can ensure that there is a folder with Swift files in build/bin/<arch>
Invoke podspec to generate the podspec and copy the generated files to the cocoapods folder.
Execute pod install.

If you've created a new Kotlin module or connected a new dependency for which new generated files should exist, you need to re-run pod install after successfully generating Swift files.
I understand and agree that the current usage is not convenient or simple, but I hope that by understanding the mechanics of the process, it will be easier for you to use the plugin.
In the future, I hope we can find a way to simplify the integration.

Okay, thank you, I found the generated code build/bin/<arch> originally I was looking only into the cocoapods directory where it wasnt after running link***Framework


fix(default-flatpaks): Couldn't resolve host name with some working internet connections

Even with user-flatpak-setup service, which starts later, this issue can arrise when adding remote or installing flatpaks in some working internet connections.
We have this in service unit already covered:
Wants=network-online.target
After=network-online.target

Anecdotally, I switched to fiber internet a week ago & since then, I noticed this issue.
I tried to change DNS to Cloudflare, but issue still persists.
Interesting thing is that I also have fiber internet from same operator in another place & flatpak-setup works fine there.
Here's the log on when it happens for me:
okt 15 00:12:15 gidro-fedora user-flatpak-setup[2333]: Adding remote flathub-user from https://dl.flathub.org/repo/flathub.flatpakrepo
okt 15 00:12:15 gidro-fedora user-flatpak-setup[2333]: Note that --if-not-exists flag doesn't prevent the repo from modifying repo URL
okt 15 00:12:15 gidro-fedora user-flatpak-setup[2454]: error: Can't load uri https://dl.flathub.org/repo/flathub.flatpakrepo: While fetching https://dl.flathub.org/repo/flathub.flatpakrepo: [6] Couldn't resolve host name

Let's investigate on how to improve this situation.
Maybe we need to do some tweaking for service units.
If someone got into similar situation, please comment.
I remember that @Oakleafknight06 had the same issue.

Interestingly, I caught today that user-flatpak-setup worked.
So I believe we need to set system-flatpak-setup to start later.
user-flatpak-setup always starts after system-flatpak-setup, so we just need to adjust that to solve this issue.

The PR I made solved the issue I had, maybe I can set 5 tries instead of 3, to be more safe
And, it would be good to add log after internet connection is reinstated

Here's how it looks like when internet connection is not successful:
gidro@gidro-fedora:~/Downloads$ $HOME/Downloads/user-flatpak-setup
User flatpak remote 'fedora' is already removed
User flatpak remote 'fedora-testing' is already removed
User flatpak apps from 'fedora' remote are already removed
User flatpak runtimes from 'fedora' remote are already removed
User flatpak apps from 'fedora-testing' remote are already removed
User flatpak runtimes from 'fedora-testing' remote are already removed
Adding user-wide remote flathub-user from https://dl.flathub.org/repo/flathub.flatpakrepo if it doesn't exist (requires internet)
Internet connection is not available. Waiting...
Internet connection is not available. Waiting...
Internet connection is not available. Waiting...
Internet connection is not available. Waiting...
Internet connection is not available. Waiting...
ERROR: Internet connection is not available. Skipping the operation above.
Custom flatpak user remote title is already set

For me, it seems to connect from 1 to 3 connection attempts, with 2 attempts on average.
@Oakleafknight06 Mentioning you to tell you that this issue should be fixed.
Here's how logs look like for me now:

gidro@gidro-fedora:~$ journalctl --system -u system-flatpak-setup -b 0

okt 23 18:38:22 gidro-fedora systemd[1]: Starting system-flatpak-setup.service - Manage system flatpaks...

okt 23 18:38:22 gidro-fedora system-flatpak-setup[2198]: Fedora third-party repos are already disabled

okt 23 18:38:22 gidro-fedora system-flatpak-setup[2198]: System flatpak remote 'fedora' is already removed

okt 23 18:38:22 gidro-fedora system-flatpak-setup[2198]: System flatpak remote 'fedora-testing' is already removed

okt 23 18:38:22 gidro-fedora system-flatpak-setup[2198]: System flatpak apps from 'fedora' remote are already removed

okt 23 18:38:22 gidro-fedora system-flatpak-setup[2198]: System flatpak runtimes from 'fedora' remote are already removed

okt 23 18:38:22 gidro-fedora system-flatpak-setup[2198]: System flatpak apps from 'fedora-testing' remote are already removed

okt 23 18:38:22 gidro-fedora system-flatpak-setup[2198]: System flatpak runtimes from 'fedora-testing' remote are already removed

okt 23 18:38:22 gidro-fedora system-flatpak-setup[2198]: Adding system-wide remote flathub-system from https://dl.flathub.org/repo/flathub.flatpakrepo if it doesn't exist (requires internet)

okt 23 18:38:22 gidro-fedora system-flatpak-setup[2198]: Internet connection is not available. Waiting...

okt 23 18:38:25 gidro-fedora system-flatpak-setup[2198]: Internet connection is successful, applying the operation above

okt 23 18:38:25 gidro-fedora system-flatpak-setup[2198]: Custom flatpak system remote title is already set

okt 23 18:38:25 gidro-fedora systemd[1]: system-flatpak-setup.service: Deactivated successfully.

okt 23 18:38:25 gidro-fedora systemd[1]: Finished system-flatpak-setup.service - Manage system flatpaks.

gidro@gidro-fedora:~$ journalctl --user -u user-flatpak-setup -b 0

okt 23 18:38:22 gidro-fedora user-flatpak-setup[2303]: User flatpak remote 'fedora' is already removed

okt 23 18:38:22 gidro-fedora user-flatpak-setup[2303]: User flatpak remote 'fedora-testing' is already removed

okt 23 18:38:22 gidro-fedora systemd[2273]: Started user-flatpak-setup.service - Configure Flatpaks for current user.

okt 23 18:38:22 gidro-fedora user-flatpak-setup[2303]: User flatpak apps from 'fedora' remote are already removed

okt 23 18:38:23 gidro-fedora user-flatpak-setup[2303]: User flatpak runtimes from 'fedora' remote are already removed

okt 23 18:38:23 gidro-fedora user-flatpak-setup[2303]: User flatpak apps from 'fedora-testing' remote are already removed

okt 23 18:38:23 gidro-fedora user-flatpak-setup[2303]: User flatpak runtimes from 'fedora-testing' remote are already removed

okt 23 18:38:23 gidro-fedora user-flatpak-setup[2303]: Adding user-wide remote flathub-user from https://dl.flathub.org/repo/flathub.flatpakrepo if it doesn't exist (requires internet)

okt 23 18:38:23 gidro-fedora user-flatpak-setup[2303]: Internet connection is not available. Waiting...

okt 23 18:38:26 gidro-fedora user-flatpak-setup[2303]: Internet connection is successful, applying the operation above

okt 23 18:38:26 gidro-fedora user-flatpak-setup[2303]: Custom flatpak user remote title is already set

Alright sounds good. Haven't been using the module and can't really use it right now but thanks for the fix :)
If ever I'm using it in the future it seems it'll work just fine


Peer review: "thank the contributor" should show snackbar instead of notification

I want to work on this

Is this ok ?

Seeing this now, I am a bit worried about usability. Performing peer review usually means tapping about 1 button per second, so the button being hidden impacts productivity.

I think it will not a major issue cause we are displaying the snackbar for a sec and there is also a sec delay before the user start the next review because of the loading of the image. So it will not affect the user.

@nicolas-raoul, please update on this

If you believe it does not hinder fast peer review, please send a pull request and we will be able to try it out.
Thanks!

made the pr


Blank map on iOS

First time using react-native-maps. I've tried react-native link and manually linking everything together. I've made sure that everything is linked when using react-native link, deleted my builds, rebuilt my project, and even tried using this on a completely new project running React Native 0.41.0 with React 15.4.0-rc.4 but no matter what I do, the component never renders.
I've tried using react-native-maps 0.13 and 0.12.4 but neither worked...

Can you post your code? Nothing was rendering for me before I set an explicit width (height works fine)

Just gave that a try but it didn't work...
import React, { Component } from 'react';
import {
  AppRegistry,
  View
} from 'react-native';
import MapView from 'react-native-maps';

export default class finzen003 extends Component {
  render() {
    return (
      <View style={{ width: 500 }}>
        <MapView
          initialRegion={{
            latitude: 37.78825,
            longitude: -122.4324,
            latitudeDelta: 0.0922,
            longitudeDelta: 0.0421,
          }}
        />
      </View>

    );
  }
}

AppRegistry.registerComponent('myApp', () => myApp);

Just tried this with rn 0.39.2 and rn-maps 0.12.4. Same thing is happening :/

Thanks actually! What you suggested worked. Just needed to switch over to using a stylesheet:
import React, { Component } from 'react';
import { Text, View, Dimensions, ScrollView, StyleSheet } from 'react-native';
import { GradientView } from '../../Common'
import MapView from 'react-native-maps';

const { width, height } = Dimensions.get('window');
const SCREEN_WIDTH = width;
const ASPECT_RATIO = width / height;
const LATITUDE = 37.78825;
const LONGITUDE = -122.4324;
const LATITUDE_DELTA = 0.0922;
const LONGITUDE_DELTA = LATITUDE_DELTA * ASPECT_RATIO;

export default class Analysis extends Component {
  constructor(props) {
    super(props);

    this.state = {
      region: {
        latitude: LATITUDE,
        longitude: LONGITUDE,
        latitudeDelta: LATITUDE_DELTA,
        longitudeDelta: LONGITUDE_DELTA,
      },
    };
  }

  render() {
    return (
      <View style={styles.container}>
        <ScrollView
          style={StyleSheet.absoluteFill}
          contentContainerStyle={styles.scrollview}
        >
          <MapView
            provider={this.props.provider}
            style={styles.map}
            scrollEnabled={true}
            zoomEnabled={true}
            pitchEnabled={true}
            rotateEnabled={true}
            initialRegion={this.state.region}
          >
            <MapView.Marker
              title="This is a title"
              description="This is a description"
              coordinate={this.state.region}
            />
          </MapView>
        </ScrollView>
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    ...StyleSheet.absoluteFillObject,
    justifyContent: 'flex-end',
    alignItems: 'center',
  },
  scrollview: {
    alignItems: 'center',
  },
  map: {
    width: SCREEN_WIDTH,
    height: 250,
  },
});

Happy it's working for you.
TBC - not sure what was not working first, but the following piece of code works fine. So using Stylesheet is NOT a requirement:
import React, { Component } from 'react';
import { View, AppRegistry } from 'react-native';
//import { GradientView } from '../../Common'
import MapView from 'react-native-maps';

export default class sandbox extends Component {
  render() {
    return (
      <View style={{ position: 'relative', height: 500}}>
        <MapView
          style={{ left:0, right: 0, top:0, bottom: 0, position: 'absolute' }}
          initialRegion={{
            latitude: 37.78825,
            longitude: -122.4324,
            latitudeDelta: 0.0922,
            longitudeDelta: 0.0421,
          }}
        />
      </View>

    );
  }
}

Awesome, that code worked perfectly. Appreciate the help! 👍

I had a similar issue when updating to react-native 0.40.0, I tried adding a stylesheet and explicitly setting the width but it didn't work:

        <MapView style={styles.map}
            initialRegion={{
            latitude: 37.78825,
            longitude: -100.4324,
            latitudeDelta: 150,
            longitudeDelta: 150,
          }}>
          {this.state.markers.map(marker => (
              <MapView.Marker
                key={marker.id}
                coordinate={marker.latlng}
                title={marker.title}
                description={marker.description}
                pinColor={'#000000'}
              />
          ))}
         </MapView>

Any ideas as to what might be happening?

Hi,
I have successfully implemented map on simulator.
But while i am archiving the build i am getting following error -
Apple Mach-O Linker (ld) Error Group
ld: 396 duplicate symbols for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Please help me

@rajeshkos I'd suggest you make a new issue for that. If I had to guess, it sounds like an issue with the linking process. Initialize a new project and try linking everything manually without react-native link.
Use instructions here as a guide:
https://github.com/airbnb/react-native-maps/issues/693#issuecomment-259804156
This may help too:
https://gist.github.com/heron2014/e60fa003e9b117ce80d56bb1d5bfe9e0

@rajeshkos i had the same issue , that's bc the new react native version links headers in different ways . Try to update your RN and React-Native Maps to the lastest version

Hey @rajeshkos, I actually ran into that issue yesterday. It came up when I removed react-native-maps and tried adding it back. Ended up having to rebuild my project from scratch :/

Hi @tedjames  thanks for your reply.
I have created a new project from scratch but still unable to archive and facing same linker error.
I am able to run directly app on the device but no success while archiving. :(

Hmm.. post a screenshot of the file that the errors are pointing towards. We should be able to find a reference to what's causing the issue.

@arsanjea ,
CC: @airbnbelena , @bipinairbnb
I tried your snippet and it shows the rectangle only, no map showed.

Can you help me to fix this?
Thanks.

+1

same.
Only red border,no map shows.
I use the option 3 to install and don't use google map support

@zengyanzi The red border means it has not installed correctly, or you have not yet rebuilt the apk with airbnb maps installed. React-native link might not work for maps, as it did not for me. I had to follow the instalation guide as if i had not run link.

@Rubenvdabeele thanks a lot.I installed it from a brand new project and not it works fine.
Thank you very much. I used the manually option 3..

@zengyanzi ,
Yes I solved it.
Just follow this instruction: https://gist.github.com/heron2014/e60fa003e9b117ce80d56bb1d5bfe9e0
Thanks.

Running this and restarting the IOS Simulator fixed it for me.
react-native link react-native-maps
Read this: https://github.com/airbnb/react-native-maps/blob/master/docs/installation.md

Enabling maps in XCode fixed my error

@arsanjea , Awesome!,  appreciate the help!, Thanks.

I fixed this issue by moving the initialization of an API key, to the end of didFinishLaunchingWithOptions method in AppDelegat.m, just before return YES.
[GMSServices provideAPIKey:@"API_KEY"];   return YES;

setting provider prop to DEFAULT_PROVIDER in iOS fix for me
provider={                    Platform.OS === 'ios'                     ? PROVIDER_DEFAULT                      : PROVIDER_GOOGLE                 }

thanks, @afzalali27  changing the provider helped me to fix this error

the problem persist for me when try show google maps provider in ios


ForEach-Object -Parallel / Start-ThreadJob don't honor unsilencing of silent-by-default streams via common parameters

Inside a ForEach-Object -Parallel / Start-ThreadJob script block, passing common parameters -Verbose, -Debug, -InformationAction Continue does not make the respective stream output visible to the caller.
Workaround: set the corresponding preference variables in the caller's scope.
Steps to reproduce
# Note: The same applies to Start-ThreadJob
1 | ForEach-Object -Parallel {
  Write-Host "host"
  Write-Output "Output"
  Write-Error "error"
  Write-Warning "Warning"
  Write-Debug "debug" -Debug
  Write-Verbose "verbose" -Verbose
  Write-Information "information" -InformationAction Continue
}

Expected behavior
All streams should produce output, as would be the case with ForEach-Object without -Parallel as well as with Start-Job:
host
Output
Write-Error: error
WARNING: Warning
DEBUG: debug
VERBOSE: verbose
information

Actual behavior
The verbose, debug, and information streams unexpectedly produce no output:
host
Output
Write-Error: error
WARNING: Warning

Environment data
PowerShell Core 7.1.0-rc.1

Same for 7.1.1

Area-Cmdlets-Core is best I can set. (This says the area is not classified in WG RFC for specific WG.)

I am not sure how relevant it is to this thread, but also -WhatIf does not propagate with -Parallel

@jaslawinMs Whatif being set to false is scary.  Let's see what files would be deleted using WhatIf.  Hum, that's a lot of large audit files.  I guess I better buy some extra backup space so that I can delete them without violating the law.

Simple demo
$VerbosePreference = 'Stop'
$ProgressPreference = 'Stop'
$InformationPreference = 'Stop'
$WarningPreference = 'Stop'
$ErrorActionPreference = 'Stop'
$WhatIfPreference = $true

$DebugPreference
$VerbosePreference
$ProgressPreference
$InformationPreference
$WarningPreference
$ErrorActionPreference
$WhatIfPreference

1 | ForEach-Object -Parallel {
    $_
    $DebugPreference
    $VerbosePreference
    $ProgressPreference
    $InformationPreference
    $WarningPreference
    $ErrorActionPreference
    $WhatIfPreference
}```

Stop
Stop
Stop
Stop
Stop
Stop
True
1
SilentlyContinue
SilentlyContinue
Continue
SilentlyContinue
Continue
Continue
False

I'm not sure what's going on here, but it might be worth pointing out that the output does come out:
If you run:
$InformationPreference = "SilentlyContinue"
"Hello","Goodbye" | foreach -parallel {
    write-host $_
    invoke-command -Cn $Env:COMPUTERNAME -EnableNetworkAccess {
        write-host $args from $Env:ComputerName
    } -ArgumentList $_
} -iv drip

$drip | Format-Table * -force

You will actually see the greeting from Computername, like:
MessageData         Source     TimeGenerated        Tags
-----------         ------     -------------        ----
Hello               Write-Host 11/4/2022 1:38:25 AM {PSHOST}
Goodbye             Write-Host 11/4/2022 1:38:25 AM {PSHOST}
Hello from Tester   Write-Host 11/4/2022 1:38:29 AM {PSHOST, FORWARDED}
Goodbye from Tester Write-Host 11/4/2022 1:38:29 AM {PSHOST, FORWARDED}

So why isn't it being displayed by the host?

Why is this still open?  $WhatIfPreference is still being silently changed from $true to $false.  This is a bug that can potentially cause a lot of damage.  If nothing else is fixed, at least fix this.
"Whatif correctly listed everything that needs to be done.  Cleanup after the big migration next month will be a really fast with your script.  This parallel stuff is great.  Hey, isn't that the CEO walking into the office?"


Client library call to gRPC hangs indefinitely under some conditions

I have a Django application running on Apache on a GCE Ubuntu VM. I have a service account with the Secret Manager Admin permission, and I am loading its credentials via GOOGLE_APPLICATION_CREDENTIALS. I've verified that the credentials are loaded by the client library successfully.
When I make any request via the secret manager client library, my application hangs indefinitely - the call never returns.
Strangely, the issue does not occur when I run the code using the Django dev server instead of Apache in the same environment, even when Apache is running as the same user.
I traced the execution as far as grpc._channel line 929
class _UnaryUnaryMultiCallable(grpc.UnaryUnaryMultiCallable):...
  def _blocking(...
    call = self._channel.segregated_call(...

# e.g. called from google.cloud.secretmanager_v1.services.secret_manager_service.client.SecretManagerServiceClient.list_secret_versions L971

I believe this calls into the C gRPC code. This never returns. As far as I can see, all the arguments passed in to this call are the same between the two scenarios.
I turned on the logging for gRPC. Things look good when using the Django dev server:
secure_channel_create.cc:178] grpc_secure_channel_create(creds=0x17cfda0, target=secretmanager.googleapis.com:443, args=0x7fe254620f20, reserved=(nil))
init.cc:167]                grpc_init(void)
client_channel.cc:1099]     chand=0x2299b88: creating client_channel for channel stack 0x2299b18
...
timer_manager.cc:188]       sleep for a 1001 milliseconds
...
client_channel.cc:1879]     chand=0x2299b88 calld=0x229e440: created call
...
call.cc:1980]               grpc_call_start_batch(call=0x229daa0, ops=0x20cfe70, nops=6, tag=0x7fe25463c680, reserved=(nil))
call.cc:1573]               ops[0]: SEND_INITIAL_METADATA...
call.cc:1573]               ops[1]: SEND_MESSAGE ptr=0x21f7a20
...

but under Apache, it creates the client_channel, then just sits there - no call is created or run:
secure_channel_create.cc:178] grpc_secure_channel_create(creds=0x7fd5bc850f70, target=secretmanager.googleapis.com:443, args=0x7fd583065c50, reserved=(nil))
init.cc:167]                grpc_init(void)
client_channel.cc:1099]     chand=0x7fd5bca91bb8: creating client_channel for channel stack 0x7fd5bca91b48
...
timer_manager.cc:188]       sleep for a 1001 milliseconds
...
timer_manager.cc:188]       sleep for a 1001 milliseconds
...
etc

Environment details

OS type and version: Ubuntu 21.04 (GNU/Linux 5.11.0-1017-gcp x86_64)
Python version: Python 3.9.5
pip version: 20.3.4
google-cloud-secret-manager version: 2.7.0
Apache: 2.4.46 (Ubuntu)

Steps to reproduce

Install Apache
Install mod_wsgi, and point Apache to a Python WSGI application.
Have your WSGI application make any request via the secret manager client library.
Start Apache, visit page

Code example
secret_name = f"projects/{project_id}/secrets/foo"
client = secretmanager.SecretManagerServiceClient()
client.list_secret_versions(parent=secret_name)

Hi @fergusmac,
Sorry to hear you're having trouble. Thank you for the detailed log and code example!
Have you ever successfully made a request to another google cloud client library using a similar setup? If not, please try this code sample that lists buckets in Google Cloud Storage. Since google-cloud-storage makes calls to the REST API, being able to run this sample might indicate something going wrong with gRPC specifically.
If the above doesn't work, please try this snippet. It detects the service account from the environment and refreshes it to get a token. (The library will usually do this for you when the first request is ent).
import google.auth
import google.auth.transport

credentials, _ = google.auth.default()
credentials.refresh(google.auth.transport.requests.Request())

I also see you opened https://stackoverflow.com/questions/68933205/why-does-this-grpc-call-from-the-google-secret-manager-api-hang-when-run-by-apac, I'll leave the link here in case it's helpful for other folks debugging the issue.

Hi,
Thanks for taking a look and your suggestions. I ended up deducing that the problem is that Apache's forking causes an issue for gRPC. Please see the stack overflow page linked for further details.


[SFT VLM] Added support for Molmo models via standalone script sft_vlm_molmo

What does this PR do?

Fixes #2136.
This PR presents a standalone version for adding support to Molmo models. It may benefit from a generalization to be compatible with sft_vlm.py
This notebook has a reproducible version, both running the script or using code directly.
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[x] Did you read the contributor guideline,
Pull Request section?
[x] Was this discussed/approved via a GitHub issue? Please add a link
to it if that's the case.
[ ] Did you make sure to update the documentation with your changes? Here are the
documentation guidelines.
[ ] Did you write any new necessary tests?

Who can review?
@lewtun @edbeeching @qgallouedec

HI @sergiopaniego , thanks for impementing this. Could you run make precommit to format the code so the quality tests pass (you may have to pip install pre-commit)
We are discussing internally how feasible it is to hormonize this script with the other VLM training scripts, I will let you know when we have a conclusion.

Updated!
Any updates on the harmonization discussion?  I’m happy to make any modifications needed! 😊

@sergiopaniego so is this working in theory? Also OOM'ing for me needs 50 GB and my A100 only has like 48 GB or something. Is there a level I can pull to decrease the memory? Why does it need so much considering it is doing a LORA?
Is it possible to set this up to train on multiple GPUs?

@sergiopaniego so is this working in theory? Also OOM'ing for me needs 50 GB and my A100 only has like 40 GB or something. Is there a level I can pull to decrease the memory? Why does it need so much considering it is doing a LORA?
Is it possible to set this up to train on multiple GPUs?

Sorry for the late response @mshuffett. It still needs some polishing. While testing it, it seems like something is still missing from the artifacts for the model shared. You can see more details about it in the README. For example, since the grad-checkpoint is disabled, memory consumption increases a lot.
It's also not yet merged in the official transformers repo https://github.com/huggingface/transformers/pull/33962


[2/2][UI] Eng 2193 Allow connecting to email as integration

Describe your changes and why you are making these changes
This PR adds UI changes for email connection. Verified (as shown in demo) that connect, edit, and deletion works properly.
The only thing for feedback is the notification level selector that automatically covers 'lower' level of notifications when certain level is selected.
Related issue number (if any)
ENG-2193
Loom demo (if any)
https://www.loom.com/share/a41ad69dece24b6c9236b3fd30d0a4dd
Add new integration: 0 - 1:05
Level selector: 37s
Edit: 1:05 - 1:30
Delete: 1:30 - end
Checklist before requesting a review

[ ] I have created a descriptive PR title. The PR title should complete the sentence "This PR...".
[ ] I have performed a self-review of my code.
[ ] I have included a small demo of the changes. For the UI, this would be a screenshot or a Loom video.
[ ] If this is a new feature, I have added unit tests and integration tests.
[ ] I have run the integration tests locally and they are passing.
[ ] I have run the linter script locally (See python3 scripts/run_linters.py -h for usage).
[ ] All features on the UI continue to work correctly.
[ ] Added one of the following CI labels:

run_integration_test: Runs integration tests
skip_integration_test: Skips integration tests (Should be used when changes are ONLY documentation/UI)

@vsreekanti how about this:

And this is the new dialog page (same for edit and create):

And this is the new dialog page (same for edit and create):

@likawind Is there a way you could half the spacing between the checkboxes? they look a little too spread out vertically.

@agiron123 done, redid the checkboxes manually so that the colors match our library:

Sorry for the confusion, @likawind — by "capitalized" I don't mean in all caps. I'd like the first letter to be capitalized — Success, Warning, etc.


Added Clio

You forgot Email: Yes :wink:

Oh man. For some odd reason I'm really bad at this!
On Mar 24, 2015 10:09 PM, "mxxcon"<EMAIL_ADDRESS>wrote:

You forgot Email: Yes [image: :wink:]
—
Reply to this email directly or view it on GitHub
https://github.com/jdavis/twofactorauth/pull/1030#issuecomment-85785132.


Signal 11 on "exec_ctx.cc:164 assertion failed: combiner_data_.active_combiner == nullptr"

What version of gRPC and what language are you using?
grpcio=1.38.1
What operating system (Linux, Windows,...) and version?
It happens on AWS using Docker python:3.9-buster
What runtime / compiler are you using (e.g. python version or version of gcc)
python
What did you do?
Using gunicorn=20.1.0 and googlads=11.0.2, I'm doing multiple concurrent requests to my API.
curl --location --request GET 'http://localhost:8080/api/google-ads/someid/accounts-details' &\
curl --location --request GET 'http://localhost:8080/api/google-ads/someid/accounts-details' &\
curl --location --request GET 'http://localhost:8080/api/google-ads/someid/accounts-details'

What did you expect to see?
All requests succeed.
What did you see instead?
Worker exits with signal 11
E0708 15:33:27.553304306   22140 exec_ctx.cc:164]            assertion failed: combiner_data_.active_combiner == nullptr
Fatal Python error: Aborted

Thread 0x00007fd2aa0b3640 (most recent call first):
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/gevent/_threading.py", line 68 in wait
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/gevent/_threading.py", line 158 in get
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/gevent/threadpool.py", line 187 in run

Thread 0x00007fd2aa8b4640 (most recent call first):
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/gevent/_threading.py", line 68 in wait
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/gevent/_threading.py", line 158 in get
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/gevent/threadpool.py", line 187 in run

Thread 0x00007fd2ab4f5640 (most recent call first):
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/gevent/_threading.py", line 68 in wait
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/gevent/_threading.py", line 158 in get
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/gevent/threadpool.py", line 187 in run

Current thread 0x00007fd2cdfd32c0 (most recent call first):
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/grpc/_channel.py", line 933 in _blocking
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/grpc/_channel.py", line 955 in with_call
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/grpc/_interceptor.py", line 241 in continuation
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/google/ads/googleads/interceptors/exception_interceptor.py", line 165 in intercept_unary_unary
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/grpc/_interceptor.py", line 254 in _with_call
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/grpc/_interceptor.py", line 266 in with_call
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/grpc/_interceptor.py", line 241 in continuation
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/google/ads/googleads/interceptors/logging_interceptor.py", line 357 in intercept_unary_unary
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/grpc/_interceptor.py", line 254 in _with_call
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/grpc/_interceptor.py", line 266 in with_call
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/grpc/_interceptor.py", line 241 in continuation
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/google/ads/googleads/interceptors/metadata_interceptor.py", line 106 in _intercept
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/google/ads/googleads/interceptors/metadata_interceptor.py", line 123 in intercept_unary_unary
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/grpc/_interceptor.py", line 254 in _with_call
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/grpc/_interceptor.py", line 216 in __call__
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/google/api_core/grpc_helpers.py", line 67 in error_remapped_callable
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/google/api_core/gapic_v1/method.py", line 145 in __call__
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/google/ads/googleads/v7/services/services/customer_service/client.py", line 579 in list_accessible_customers
  File "/home/me/company/monorepo/services/some-service/myapp/google_ads/external.py", line 74 in get_seed_accounts
  File "/home/me/company/monorepo/services/some-service/myapp/google_ads/api.py", line 110 in get
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/flask_restful/__init__.py", line 675 in wrapper
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/flask_restful/__init__.py", line 583 in dispatch_request
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/flask/views.py", line 89 in view
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/flask_restful/__init__.py", line 468 in wrapper
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/flask/app.py", line 1936 in dispatch_request
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/flask/app.py", line 1950 in full_dispatch_request
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/flask/app.py", line 2447 in wsgi_app
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/flask/app.py", line 2464 in __call__
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/gunicorn/workers/base_async.py", line 108 in handle_request
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/gunicorn/workers/ggevent.py", line 127 in handle_request
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/gunicorn/workers/base_async.py", line 55 in handle
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/gunicorn/workers/ggevent.py", line 123 in handle
  File "/home/me/company/monorepo/services/some-service/.venv/lib/python3.8/site-packages/gevent/baseserver.py", line 34 in _handle_and_close_when_done

Anything else we should know about your project / environment?
Unfortunatly, I can't provide a minimal example ATM.
I understand how troublesome it can be.
I can try to reproduce it later if need.

The issue seems to happen only when using gevent worker in gunicorn, I have switched to gthread with worker = 1 and it does not occur anymore.

This might be a fork support problem -> https://github.com/grpc/grpc/blob/master/doc/fork_support.md.
We recommend using the pre-fork pattern, the application forks before creating gRPC objects. This is due to complexity of managing locks, sockets in C extension in the time of forking. You can refer to this example if multiple workers are required: https://github.com/grpc/grpc/tree/master/examples/python/multiprocessing. In gunicorn scenario, this can translate to not creating gRPC objects in global scope, but only in the workload.
Closing this issue since there is a work around.


[model] Collections update from both sides

We can now update collections from both sides now. This would be useful when updating collection properties on objects.
https://blueprints.launchpad.net/dhis2/+spec/web-api-collection-api-update-both-sides

It seems this does not work correctly for dataElementGroups on dataElement. Might need more investigation.
Currently patched by doing several requests to delete first then post.
https://github.com/dhis2/maintenance-app/blob/ff05955eadf3fc44207fc8d216602f1177aedbcc/src/EditModel/model-specific-components/DataElementGroupsFields.component.js#L49

Since collections that are not owned by the model are currently not picked up because the model when saving only saves the owned properties. These are not send along.


Ensure there are no conflicts while the Flutter SDK unzips engine artifacts

This is a follow up to https://github.com/flutter/flutter/issues/132592, to ensure it doesn't happen again.
Before we extract the Dart SDK zip archive on windows, we move the existing output to a backup, and then extract zip to previous location of the old one. However, when a new file was added to this archive (LICENSE.dart_sdk_archive.md) but the powershell file to extract it wasn't updated, the 7zip sub-process that was spawned would prompt the user what they wanted to do about the conflict, but the powershell script would never surface this prompt to the user.
This was fixed by special-casing this file. However, we need a more robust solution to prevent this from happening again.

cc @loic-sharma


SP4: How to hide labels for decimal ticks but preserve their major grid lines?

ScottPlot Version: 4.1.63
Operating System: Windows 11
Application Type: WPF
Question:
As the title says.
My current approach is to use TickLabelFormat, making it returns an empty string when it's a decimal:
<WpfPlot x:Name="plotControl" />

plotControl.Plot.BottomAxis.MinimumTickSpacing(0.5);
plotControl.Plot.BottomAxis.TickLabelFormat((d) => d % 1 == 0 ? d.ToString() : string.Empty);

However this approach causes inconsistency on layout when zooming with mouse wheel:

Hi @szescxz, thanks for this question!
I found an even simpler solution:
plotControl.Plot.YAxis.Ticks(major: true, minor: true, majorLabels: false);
plotControl.Plot.XAxis.Ticks(major: true, minor: true, majorLabels: false);

hide labels for decimal ticks

Oops, I realize now I misunderstood the question 😅
My "solution" hides all tick labels, and I missed your custom tick formatter 🤦 reopening 😅

Thanks again for reporting this! I believe this is now solved by #2634
using ScottPlot;
ScottPlot.Plot plt = new();
plt.BottomAxis.MinimumTickSpacing(0.5);
plt.BottomAxis.TickLabelFormat((d) => d % 1 == 0 ? d.ToString() : string.Empty);
plt.Launch.FormsPlot();

My "solution" hides all tick labels, and I missed your custom tick formatter 🤦 reopening 😅

Yeah, with current ScottPlot implementation, I think using the custom tick formatter is the only way to mimic a ruler, where only integer ticks are labeled:

Therefore, the first solution you've come up with (hiding labels by tick type) isn't feasible unless ScottPlot is able to provide 3 types of ticks instead of 2 (major & minor).

Therefore, the first solution you've come up with (hiding labels by tick type) isn't feasible

Hopefully #2634 solved it. I'll publish a new package on NuGet tonight and you can let me know if it doesn't perform as expected.

mimic a ruler

In case you hadn't seen it, https://scottplot.net/cookbook/4.1/category/advanced-axis-features/#ruler-mode
Thanks again for this issue!


[SPARK-23870][ML] Forward RFormula handleInvalid Param to VectorAssembler to handle invalid values in non-string columns

What changes were proposed in this pull request?
handleInvalid Param was forwarded to the VectorAssembler used by RFormula.
How was this patch tested?
added a test and ran all tests for RFormula and VectorAssembler

LGTM
Merging with master
Thanks @yogeshg !


Merge agent pipeline

Resolves #394

Contrib test failures are expected, but will be resolved after the next release using changes shown here.


Fn button not recognized in Keyboard Manager Remapper

Description of the new feature / enhancement
Keyboard manager > Keys > Remap a key > Select a key on keyboard > It doesn't recognize any of the Fn keys.
Scenario when this would be used?
Do you mean for what/why do I want it?
The story is - My Asus TUF A15 - The power button doesn't work. The laptop will start when any button except the Power Button is pressed (And I need to keep it pressed or the Laptop will power off within a moment). Hence, I use the Fn key so that the other keys are available to use. Also, since Fn performs functions when combination is given, I face trouble there when I pressed buttons like V, P or whatever that has a combination with Fn. Since the keyboard has 2 Fn keys, of which one I keep pressed, if I could disable that on OS level I could run my laptop and use the other Fn key for regular operations. That's it, that's why I need it :)
Supporting information
No response

we directly call out Fn as a key we cannot remap. with the APIs we use, the Fn key is not visible.


Add reference to the published article.

I signed it!

Line breaked.

Looks good! Thanks for your changes.


chore: set up npm workspaces with shared package

PR Checklist

[ ] Includes changes to desk files
[X] Describes how you tested the PR locally (test ship vs livenet)
[ ] If a new feature, includes automated tests
[ ] Comments added anywhere logic may be confusing without context

Changes

Updates repository to use npm workspaces
Creates shared package at packages/shared with sample shared type to start
Updates the web UI's group state manager to use the example shared type
Moves Tlon mobile app into monorepo architecture at apps/tlon-mobile with bundle ID io.tlon.groups.staging

Tested with my livenet ship:

Delete all existing node_modules folders in your repo: rm -rf ./**/node_modules
Install dependencies at the root level: npm i
Follow setup directions in apps/tlon-mobile/README.md
Plug in your device or start the iOS simulator and run Tlon mobile: npm run dev:ios

No changes were made to the way the web UI is run for now

Marking as draft because the rest of the CI workflows need updating. But the app package should be good for review.

For the new bundle ID, we should use a distinctive app icon so it's. not the same as tlon-mobile's currently in production.
I'll followup in Linear.

Discussed with @mrozanski and @dnbrwstr, plan now is to move the ./ui folder to ./apps/tlon-web and leave the ./desk folder at the root of the repo since it's not a workspace package. cc @arthyn @Fang- any issues with this folder structure/naming?

@alecananian sounds good to me

@mrozanski The web code is now in apps/tlon-web with the PR workflow passing


Created Counting-sort.cpp

This sorting algorithm is called counting sort, it stores the frequency of all the elements in the hash array and returns the sorted array.
The time complexity of this algorithm is O(n) , with O(n) extra space.
The only downside of the algorithm is that it cannot be used to store large range difference , because the array of size >= 10^7 will give memory limit and TLE verdict and is inefficient.

No Information About The Algorithm And Complexity

I wrote about the complexity in comments for the pull request, please check that out


Flow gives incorrect answers when converting SFC to ES6 classes

Hi!
I have a typedef for a function that converts a stateless functional component (SFC) to an ES6 class of the same props. (flow try link)
type Transform = <P>(P => ?React$Element<any>) => Class<React$Component<any, P, any>>;
type Props = {|a: number|};

const T: Transform = (null: any);
const Component = T((p: Props) => null);

// All of these should error
<Component />;
<Component a="asdf" />;

On version 0.45.0, there is no error (although I think there should be).
On version 0.46.0, it prints "Internal error: Not_found"
Is there a better way to do this? I need this to deal with HOCs because the double representation of SFCs/Class<React$Component> breaks Flow left and right, so I will type my HOCs as only accepting the ES6 class sort.

Update: It looks like that Flow is unable to recognize (p: Props) => null as a React component.
I made these following edits which work (flow try link):

Return a ReactElement
Change the anys to {}

I ran into a similar issue when updating from 0.45 to 0.47,
        <Text>
          {this.isSchool()
            ? <Image
                src={require(`assets/images/school.svg`)}
              />
            : <Image
                src={require(`assets/images/district.svg`)}
              />}
        </Text>

That caused "Internal error: Not_found".
A workaround was to move the ternary condition out of the JSX expression by setting const imgSrc above.

Issue not relevant anymore to the current state of flow, React$Component does not accept 3 parameters currently.


Github vulnerability reporting

Hello, first off thanks for putting together this great course! While completing it I though it may be useful to mention GitHub's vulnerability reporting mechanism that was recently released [1] in the chapter "Publicly State How to Send Vulnerability Reports". If you think this sounds reasonable I'd be happy to open a PR around this change.
[1] https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability

Yes, I'd definitely be interested!


Pass props through to underlying Tooltip component

Allows custom classes to be set, as well as the additional flexibility
:boom: Breaking Changes

:rocket: Enhancements

Allows custom classes to be set, as well as the additional flexibility of being able to interface with the underlying Tooltip component

:memo: Documentation

:bug: Bug Fix

:house: Internal

LGTM thanks for the contribution!


Build a parser

It would be nice to have a parser to parse the arguments of /scriptevent commands. The parser would take string representations of the types supported by MakeCode (number, position, selector) and parse them into the corresponding ScriptAPI types (number, Vector3, EntityQueryOptions). Without a parser, I have to use hacks which cost in readability and probably performance.

Upon discovering mobs.queryTarget(), parsing target selectors will no longer be necessary. I can query the target's unique ID, and pass that as an argument in place of a selector string.


Does it have a way to get the confidence of depth in D435?

Required Info

Camera Model
{ D435 }

Firmware Version
<IP_ADDRESS>

Operating System & Version
Ubuntu 16

Kernel Version (Linux Only)
4.15.0-50-generic

Platform
IPC

SDK Version
2.38.0

Language
{C++/opencv

Segment
{Robot/Smartphone/VR/AR/others }

Issue Description
Hi， Does it have a way to get the confidence of depth in D435?

Hi @PCCSYY   I hope that the answer in the link below will be helpful to you.
https://github.com/IntelRealSense/librealsense/issues/3185#issuecomment-460540961

Hi @PCCSYY   Do you require further assistance with this case, please?   Thanks!

Case closed due to no further comments received.


docs: v11 size token updates for search component

This PR updates the size tokens on the Style tab for the search component.

Unsure if Extra large is an additional size for search


update_forward_refs for Run

Adds a call to Pydantic's update_forward_refs for the Run class (in addition to the ChainRun and ToolRun classes, for which that method is already called). Without it, the self-reference of child classes (type List[Run]) is problematic. For example:
from langchain.callbacks import StdOutCallbackHandler
from langchain.chains import LLMChain
from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate
from wandb.integration.langchain import WandbTracer

llm = OpenAI()
prompt = PromptTemplate.from_template("1 + {number} = ")

chain = LLMChain(llm=llm, prompt=prompt, callbacks=[StdOutCallbackHandler(), WandbTracer()])
print(chain.run(number=2))

results in the following output before the change
WARNING:root:Error in on_chain_start callback: field "child_runs" not yet prepared so type is still a ForwardRef, you might need to call Run.update_forward_refs().

> Entering new LLMChain chain...
Prompt after formatting:
1 + 2 =
WARNING:root:Error in on_chain_end callback: No chain Run found to be traced

> Finished chain.

3

but afterwards the callback error messages are gone.

thank you @robert-perrotta!


DtsPlugin not working with multiple domains in host and HTTPS protocol with self-signed certificate

Describe the bug
If the static files are served by the webpack-dev server with the host localhost.example.com, then when you try to load the manifest using the DTS plugin, the URL is transformed into <IP_ADDRESS>.example.com/mf-manifest.json. This results in an error:
cause: Error: getaddrinfo ENOTFOUND <IP_ADDRESS>.example.com
      at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:107:26) {
    errno: -3008,
    code: 'ENOTFOUND',
    syscall: 'getaddrinfo',
    hostname: '<IP_ADDRESS>.example.com'
  }
}

This problem is solved by adding lines like this to ets/hosts:
<IP_ADDRESS> <IP_ADDRESS>.example.com
<IP_ADDRESS> localhost.example.com

And adding the allowedHosts: 'all' property to the devServer
After that, when you try to call https://<IP_ADDRESS>.example.com:4178/mf-manifest.json an error occurs:
cause: Error: self-signed certificate

Reproduction
Turn on https/ssl for example test apps react-ts-host and react-ts-remote
OR
https://github.com/dimohqa/example-mf-dts-bug
Used Package Manager
npm
System Info
System:
    OS: macOS 14.4.1
    CPU: (8) arm64 Apple M2
    Memory: 62.02 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 18.16.0 - ~/.nvm/versions/node/v18.16.0/bin/node
    Yarn: 1.22.19 - ~/.nvm/versions/node/v18.16.0/bin/yarn
    npm: 9.5.1 - ~/.nvm/versions/node/v18.16.0/bin/npm
    pnpm: 8.15.6 - ~/.nvm/versions/node/v18.16.0/bin/pnpm
  Browsers:
    Chrome: 123.0.6312.123
    Safari: 17.4.1

Validations

[X] Read the docs.
[X] Read the common issues list.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Module federation issue and not a framework-specific issue.
[X] The provided reproduction is a minimal reproducible example of the bug.

Added repo for reproduction:
https://github.com/dimohqa/example-mf-dts-bug

@2heal1 Help with this issue

is there any information?

@dimohqa it's a good security practice to keep enabled self-signed certificate check.
If you still need to overcome this, you can set the environment variable NODE_TLS_REJECT_UNAUTHORIZED=0 directly inside your npm script.

Just tried, using NODE_TLS_REJECT_UNAUTHORIZED=0 makes it working.
No fix needed on our side.


Infinite scroll stops working when navigating to file page / back

Reproduce:

Scroll down a couple of pages
click a claim
click back
scroll down
infinite scroll stops

If you go back up a little and then back down, it starts working again.

This is one of my most annoying issues!

I can work on this. I looked into the infinite scroll page while working on my last PR #4054 and the code is not efficient/best way. I also found that infinite scroll doesn't work at all on smaller pageSize i.e. number of loaded elements.
I can look into this. May I?

Definitely @HarshKhandeparkar!

@tzarebczan I wasn't able to reproduce this one. It seems like infinite scroll works fine? :man_shrugging:

I'm able to reproduce in the all content area. First scroll down so a 2nd page loads. Then scroll down a little bit and click an item. Click back to go to all content. Scroll down again. It will stop at the bottom. Try this a couple times and see if it does it. Happens consistently here.
If I scroll back up and down a few times, then it scrolls more.

Okay I'll try again today. Maybe I was doing this incorrectly.

I am still not able to reproduce this very well. The content is also not loading fast enough (Internet Cap Over, Meh). Could you record a GIF or a video of this?  TY.

Let me know if this helps: https://photos.app.goo.gl/hgkzZ5Yo7VVZ5KJGA
Notice how sometimes it starts again when going back up and down, and other times it takes a few tries. This happens on desktop too.

Okay got it. I was trying this on my desktop. Does it happen on a desktop
too?
On Tue, 28 Apr, 2020, 9:16 AM Thomas Zarebczan<EMAIL_ADDRESS>wrote:

Let me know if this helps: https://photos.app.goo.gl/hgkzZ5Yo7VVZ5KJGA
Notice how sometimes it starts again when going back up and down, and
other times it takes a few tries. This happens on desktop too.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/lbryio/lbry-desktop/issues/3071#issuecomment-620363154,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIJI5H3U5376BHAYNOWV45TROZGRTANCNFSM4JB2L7BA
.

I managed to reproduce this on the desktop app too. Trying to fix...


Alluxio client as context manager that closes session.

Ideally, shouldn't the Alluxio Client be used as a context manager that opens the requests.Session() as a context manager and closes this session properly (closing all the connection adapters) when the Client exits?
Currently the session object is kept open.

I'm happy to create and submit a PR if this would indeed be better practice.


JSX does not accept functional components that can return null types

TypeScript Version:  2.2.1
Code
import * as React from "react";

interface TestStatelessProps {
    output: boolean;
}

function TestStateless(props: TestStatelessProps): JSX.Element | null {
    if (props.output) {
        return
Hello World
;
    }
    return null;
}

const test = (

        1: {null}
        2: <TestStateless output />
        3: <TestStateless output={false} />

);
console.log(test);

Expected behavior:
Compiles. test has type JSX.Element. If test were rendered it would show

1:2:
Hello World
3:

Null wouldn't render anything, the first TestStateless would render it's content, the second wouldn't render anything.
Actual behavior:
If I try to use <TestStateless />, I get the following errors.
[ts] JSX element type 'Element | null' is not a constructor function for JSX elements.
  Type 'null' is not assignable to type 'ElementClass'.
[ts] JSX element class does not support attributes because it does not have a 'props' property

The {null} part of the JSX works correctly.
The same issue happens if the functional component returns undefined

The same problem:
function X <T extends Readonly<{ children?: React.ReactNode }>>({ children }: T): T | null> {
	return null;
}

The same problem:
let X: React.StatelessComponent<{}> = () => null;

Duplicate #11566


TypeParam flag is propagated to original type

Description:

I have done a hack for Cloneable representation in lang.
https://github.com/ballerina-platform/ballerina-lang/pull/26371/commits/ea0d25ee0dab54fdd6573bc2850b9349fcb35ae1
@typeParam
//type CloneableType Cloneable;
type CloneableType Cloneable|never;

This is done to prevent default error type being recognized as a type param here https://github.com/ballerina-platform/ballerina-lang/blob/d2ecb8cda98ef019fb655b870bbedcf1de590380/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/TypeParamAnalyzer.java#L239
Steps to reproduce:
Affected Versions:
OS, DB, other environment details and versions:
Related Issues (optional):

#23691
Suggested Labels (optional):

Suggested Assignees (optional):

This also changes how the name is propagated to type param. With never now the type param name is CloneableType but it should be Cloneable.

This also changes how the name is propagated to type param. With never now the type param name is CloneableType but it should be Cloneable.


Add only working plugins to Server.DEFAULT_PLUGINS

Add a try/catch around the require() call to load the bundled plugins
and use plugins only if there was no exception.
This allows us to have optional dependencies in the plugins.

I like it! Thanks for this contribution :)