Rebuild the engine and run, crashed with log 'Error while initializing the Dart VM: Wrong full snapshot version, expected 'cd8223b4ae8a3e78182fd55e29ba31de' found '39646f79e9336fb65ac68c8568544c92''

Steps to Reproduce
I rebuild the engine following the steps from (CONTRIBUTING.md) , and run the example project with Flutter.framework. I get crash with log ' Runner[91916:11242220] [VERBOSE-3:dart_init.cc(698)] Error while initializing the Dart VM: Wrong full snapshot version, expected 'cd8223b4ae8a3e78182fd55e29ba31de' found '39646f79e9336fb65ac68c8568544c92''. Does anyone know how to fix it. Thank you

Please add the output of flutter doctor -v

flutter doctor -v
[✓] Flutter (Channel master, v0.3.1-pre.34, on Mac OS X 10.13.2 17C88, locale zh-Hans-CN)
• Flutter version 0.3.1-pre.34 at /Users/levinyang/Desktop/Project/Tencent/flutter
• Framework revision 044dfdb446 (5 days ago), 2018-04-18 17:46:20 -0700
• Engine revision c73be7ada2
• Dart version 2.0.0-dev.48.0.flutter-fe606f890b
[✗] Android toolchain - develop for Android devices
✗ Unable to locate Android SDK.
Install Android Studio from: https://developer.android.com/studio/index.html
On first launch it will assist you in installing the Android SDK components.
(or visit https://flutter.io/setup/#android-setup for detailed instructions).
If Android SDK has been installed to a custom location, set $ANDROID_HOME to that location.
[✓] iOS toolchain - develop for iOS devices (Xcode 9.2)
• Xcode at /Applications/Xcode9.2.app/Contents/Developer
• Xcode 9.2, Build version 9C40b
• ios-deploy 1.9.2
• CocoaPods version 1.4.0
[✓] Android Studio (version 3.0)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 23.0.1
• Dart plugin version 171.4424
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)
[!] VS Code (version 1.22.2)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Dart Code extension not installed; install from
https://marketplace.visualstudio.com/items?itemName=Dart-Code.dart-code
[✓] Connected devices (1 available)
• iPhone 8 Plus • 2D71DF13-BEA9-42CD-90D4-32239D024E8D • ios • iOS 11.2 (simulator)
I just need run in iOS platform

I do have the same Isuse,please help

@zoechi the vs code give option about the dart  upgrade available and it got updated, after this has happen I believe it stoped working,  after it,

@ninexus-pankaj
Please add the output of flutter doctor -v.

Just to brief it again
I did as suggested Deleted Flutter/bin/Cache , run the flutter doctor after it , run the flutter iOS build, it build fine, in Xcode 10, run the Runner app on iOS 12 iPhone 7 , it builds fine , but when it get installed on iPhone it gives the same error
Error Log
2018-11-22 19:32:07.208596+0530 Runner[616:95067] [VERBOSE-3:dart_vm.cc(403)] Error while initializing the Dart VM: Wrong full snapshot version, expected '8343f188ada07642f47c56e518f1307c' found '46b2bfb57b5647c5f7527ff9aa56c69b'
(lldb)
Thread Output
Runner`main:
0x102c7bf20 <+0>:   sub    sp, sp, #0x40             ; =0x40
0x102c7bf24 <+4>:   stp    x29, x30, [sp, #0x30]
0x102c7bf28 <+8>:   add    x29, sp, #0x30            ; =0x30
0x102c7bf2c <+12>:  stur   wzr, [x29, #-0x4]
0x102c7bf30 <+16>:  stur   w0, [x29, #-0x8]
0x102c7bf34 <+20>:  stur   x1, [x29, #-0x10]
0x102c7bf38 <+24>:  bl     0x102d5ddf4               ; symbol stub for: objc_autoreleasePoolPush
0x102c7bf3c <+28>:  adrp   x1, 347
0x102c7bf40 <+32>:  add    x1, x1, #0x6c8            ; =0x6c8
0x102c7bf44 <+36>:  adrp   x30, 351
0x102c7bf48 <+40>:  add    x30, x30, #0x730          ; =0x730
0x102c7bf4c <+44>:  ldur   w8, [x29, #-0x8]
0x102c7bf50 <+48>:  ldur   x9, [x29, #-0x10]
0x102c7bf54 <+52>:  ldr    x30, [x30]
0x102c7bf58 <+56>:  ldr    x1, [x1]
0x102c7bf5c <+60>:  str    x0, [sp, #0x18]
0x102c7bf60 <+64>:  mov    x0, x30
0x102c7bf64 <+68>:  str    w8, [sp, #0x14]
0x102c7bf68 <+72>:  str    x9, [sp, #0x8]
0x102c7bf6c <+76>:  bl     0x102d5de9c               ; symbol stub for: objc_msgSend
0x102c7bf70 <+80>:  bl     0x102d5dae8               ; symbol stub for: NSStringFromClass
0x102c7bf74 <+84>:  mov    x29, x29
0x102c7bf78 <+88>:  bl     0x102d5def0               ; symbol stub for: objc_retainAutoreleasedReturnValue
0x102c7bf7c <+92>:  mov    x9, #0x0
0x102c7bf80 <+96>:  ldr    w8, [sp, #0x14]
0x102c7bf84 <+100>: str    x0, [sp]
0x102c7bf88 <+104>: mov    x0, x8
0x102c7bf8c <+108>: ldr    x1, [sp, #0x8]
0x102c7bf90 <+112>: mov    x2, x9
0x102c7bf94 <+116>: ldr    x3, [sp]
0x102c7bf98 <+120>: bl     0x102d5db6c               ; symbol stub for: UIApplicationMain
0x102c7bf9c <+124>: stur   w0, [x29, #-0x4]
0x102c7bfa0 <+128>: ldr    x1, [sp]
0x102c7bfa4 <+132>: mov    x0, x1
0x102c7bfa8 <+136>: bl     0x102d5dec0               ; symbol stub for: objc_release
0x102c7bfac <+140>: ldr    x0, [sp, #0x18]
0x102c7bfb0 <+144>: bl     0x102d5dde8               ; symbol stub for: objc_autoreleasePoolPop
0x102c7bfb4 <+148>: ldur   w0, [x29, #-0x4]
0x102c7bfb8 <+152>: ldp    x29, x30, [sp, #0x30]
0x102c7bfbc <+156>: add    sp, sp, #0x40             ; =0x40
0x102c7bfc0 <+160>: ret
Flutter Doctor Command output after deleting the flutter/bin/cache
Downloading Dart SDK from Flutter engine 5c8147450db52b81232c138b9f9a65a8f9c61862...
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100 49.7M  100 49.7M    0     0   253k      0  0:03:21  0:03:21 --:--:--  664k
Building flutter tool...
Downloading Material fonts...                                2.6s
Downloading package sky_engine...                            1.5s
Downloading common tools...                                  7.3s
Downloading darwin-x64 tools...                             28.9s
Downloading android-arm-profile/darwin-x64 tools...          3.4s
Downloading android-arm-release/darwin-x64 tools...          2.6s
Downloading android-arm64-profile/darwin-x64 tools...        3.6s
Downloading android-arm64-release/darwin-x64 tools...        3.0s
Downloading android-x86 tools...                            17.0s
Downloading android-x64 tools...                            17.8s
Downloading android-arm tools...                             6.3s
Downloading android-arm-profile tools...                     6.5s
Downloading android-arm-release tools...                     4.3s
Downloading android-arm64 tools...                           7.4s
Downloading android-arm64-profile tools...                   6.1s
Downloading android-arm64-release tools...                   4.5s
Downloading android-arm-dynamic-profile tools...             8.9s
Downloading android-arm-dynamic-release tools...             5.8s
Downloading android-arm64-dynamic-profile tools...           7.1s
Downloading android-arm64-dynamic-release tools...           5.6s
Downloading ios tools...                                    40.6s
Downloading ios-profile tools...                            37.1s
Downloading ios-release tools...                            24.4s
Downloading Gradle Wrapper...                                0.5s
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, v0.11.9, on Mac OS X 10.14 18A391, locale en-US)
[!] Android toolchain - develop for Android devices (Android SDK 27.0.3)
✗ Android license status unknown.
[!] iOS toolchain - develop for iOS devices (Xcode 10.0)
✗ libimobiledevice and ideviceinstaller are not installed. To install with
Brew, run:
brew update
brew install --HEAD usbmuxd
brew link usbmuxd
brew install --HEAD libimobiledevice
brew install ideviceinstaller
[✓] Android Studio (version 3.2)
[✓] VS Code (version 1.29.1)

Can you please run in your Flutter install directory
git clean -xfd
git stash save --keep-index
git stash drop
git pull
flutter doctor

since suggested , did all , I went into the directory, where flutter is installed its on mac os library folder
Inside the flutter directory
I run command : git clean -xfd
Output : it removed all
run command :  git stash save --keep-index
Output : No local changes to save
run command : git stash drop
Output : No stash entries found.
run command : git pull
Output: Already up to date.
run command:  flutter doctor
Output : Downloaded files and building flutter tools ....
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, v0.11.9, on Mac OS X 10.14 18A391, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
[!] iOS toolchain - develop for iOS devices (Xcode 10.0)
✗ libimobiledevice and ideviceinstaller are not installed. To install with
Brew, run:
brew update
brew install --HEAD usbmuxd
brew link usbmuxd
brew install --HEAD libimobiledevice
brew install ideviceinstaller
[✓] Android Studio (version 3.2)
[✓] VS Code (version 1.29.1)
[!] Connected device
! No devices available
! Doctor found issues in 2 categories.
After this I went to flutter app project folder
Run Command :  flutter clean
Run command:  flutter build iOS
Output: xcode build done.
open the Runner.xcworkspace file in Xcode 10,
Run it in iPhone 7 iOS 12 :
Output: build successful ,
Runner installed on iPhone successfully
While Running Runner on iPhone 7
Error in Xcode log : same
Runner[711:119293] [VERBOSE-3:dart_vm.cc(403)] Error while initializing the Dart VM: Wrong full snapshot version, expected '8343f188ada07642f47c56e518f1307c' found '46b2bfb57b5647c5f7527ff9aa56c69b'
(lldb)
@zoechi ** Please let me know if there is anything missed or ignored by me, I appreciate your help and concern, thanks in advance **

Thanks for checking. I don't know what else to try. I'll leave it for the specialists.

Is there a reason you run it from XCode instead of just flutter run?

Deleted flutter SDK folder from previous installed directory , installed flutter sdk in again in different location this time, gives same error, weird flutter,
Runner[1146:224406] [VERBOSE-3:dart_vm.cc(403)] Error while initializing the Dart VM: Wrong full snapshot version, expected '8343f188ada07642f47c56e518f1307c' found '46b2bfb57b5647c5f7527ff9aa56c69b'

I found the place where this snapcode is placed Runner.app/Frameworks/App.framework/App and found the Dart VM version 46b2bfb57b5647c5f7527ff9aa56c69b inside the Runner.app/Frameworks/App.framework/App but not sure how it get to be updated to 8343f188ada07642f47c56e518f1307c , any suggestion,

no direct solution found , now installed old backup of project again and build it, IT WORKS ,  all the new work done removed.

Sorry for not coming back to this earlier.
I assume this issue is stale. Please let us know if you're still seeing this problem.

On Mac follow this : https://github.com/flutter/flutter/issues/16103#issuecomment-476744947
It worked for me.

Deleting

flutter/bin/cache

folder, then rebuilding the app
worked for me.

Deleting

flutter/bin/cache

folder, then rebuilding the app
worked for me.

Thanks a lot. It worked for me.

Deleting

flutter/bin/cache

folder, then rebuilding the app
worked for me.

Thanks deeply. It saved me

Folks, I can't delete this folder 'cause the dart-sdk is there!
Are you removing ALL content in this folder or only the files?

Folks, I can't delete this folder 'cause the dart-sdk is there!
Are you removing ALL content in this folder or only the files?


AllEventPropertiesLayoutRenderer

A new layout renderer that outputs all of the event's properties. Format and separator can be manually configured.
It allows more structured logging, without knowing all the possible property names in advance.
Usage examples:

${all-event-properties}
${all-event-properties:Separator=|}
${all-event-properties:Separator= | :Format=[key] is [value]}

Looks nice! Can you fix the merge errors?


[WIP] Add implementation for glyph.autoContourOrder()

as #645
This morning @typemytype realized that sorting FuzzyNumbers along with other types does not work as expected. So the old roboFab implementation needed some adjustments. I mark this as WIP as it might need some extra testing!

I've fetched the updated defcon version on my repo and the tests run fine!

@roberto-arista Is there anyway to do this without Defcon? It would be ok if this went into fontShell, but the idea is to keep dependencies, as much as possible, out of the fontParts api

I mean, we could copy FuzzyNumber into fontParts if that is useful in other places. Sorry to be a purist about the API!

🎉


Use the atom-workspace tag instead of the workspace class.

In keymaps/notebook.cson: Use the atom-workspace tag instead of the workspace class.

Will be fixed in the upcoming release


Update README.md

This document now includes comprehensive details about the project's goals, dataset, setup, model architectures, and training processes, along with a clear comparison and conclusion about the models.

give me a sample how its look like, the current readme looks better.

give me a sample how its look like, the current readme looks better.

DROWSINESS DETECTION USING DEEP LEARNING
Goal
This project aims to implement a drowsiness detection system using deep learning techniques, comparing the performance of a convolutional neural network (CNN) with a Random Forest classifier for binary classification tasks.
DROWSINESS DETECTION USING DEEP LEARNING
Dataset
The dataset for this project can be accessed from the following link: https://figshare.com/articles/dataset/EEG_driver_drowsiness_dataset/14273687
Goal
-This project aims to implement a drowsiness detection system using deep learning techniques, comparing the performance of a convolutional neural network (CNN) with a Random Forest classifier for binary classification tasks.
Setup and Installation
Dataset
-The dataset for this project can be accessed from the following link: EEG Driver Drowsiness Dataset.

Python Environment: Ensure Python 3.x is installed on your system.

Libraries: Install the necessary libraries using pip:
Setup and Installation
-Python Environment: Ensure Python 3.x is installed on your system.
pip install tensorflow scikit-learn matplotlib

Libraries used

Numpy
Pandas
sklearn
Keras
Tensorflow
matplotlib

Model Implementation
Model - 1
Libraries: Install the necessary libraries using pip:
-pip install tensorflow scikit-learn matplotlib
Libraries used
1.Numpy
2.Pandas
3.sklearn
4.Keras
5.Tensorflow
6.matplotlib
Model Implementation
Model 1
Architecture Description:

Input Layer: Receives sequences of length 12 with one feature dimension.
Convolutional Blocks: Four blocks, each with two convolutional layers followed by element-wise addition (residual connection). Filters increase progressively (32, 64, 128, 256), ReLU activation.
Global Average Pooling Layer: GlobalAveragePooling1D layer computes the average of each feature map across all spatial locations.
Dense Layers: Four Dense layers (128, 90, 64, 32 neurons) with ReLU activation.
Output Layer: Single neuron with sigmoid activation for binary classification.

-Input Layer: Receives sequences of length 12 with one feature dimension.
-Convolutional Blocks: Four blocks, each with two convolutional layers followed by element-wise addition (residual connection). Filters increase progressively (32, 64, 128, 256), ReLU activation.
-Global Average Pooling Layer: GlobalAveragePooling1D layer computes the average of each feature map across all spatial locations.
-Dense Layers: Four Dense layers (128, 90, 64, 32 neurons) with ReLU activation.
-Output Layer: Single neuron with sigmoid activation for binary classification.
Training Description:

Optimizer: Stochastic Gradient Descent (SGD) with learning rate 0.001 and momentum 0.9.
Loss Function: Binary Crossentropy.
Regularization: No explicit regularization mentioned.
Normalization: No explicit normalization mentioned.

Model - 2
-Optimizer: Stochastic Gradient Descent (SGD) with learning rate 0.001 and momentum 0.9.
-Loss Function: Binary Crossentropy.
-Regularization: No explicit regularization mentioned.
-Normalization: No explicit normalization mentioned.
Model 2
Architecture Description:

Input Layer: Receives sequences of length 12 with one feature dimension.
Convolutional Blocks: Four blocks, each with two convolutional layers followed by element-wise addition (residual connection). Filters increase progressively (32, 64, 128, 256), ReLU activation.
Max Pooling Layer: After the final convolutional block, MaxPooling1D layer with pool size 2 and stride 1 reduces spatial dimensions.
Flatten Layer: Reshapes output of the last convolutional layer into a 1D vector.
Global Average Pooling Layer: GlobalAveragePooling1D layer computes the average of each feature map across all spatial locations.
Dense Layers: Four Dense layers (128, 90, 64, 32 neurons) with ReLU activation.
Output Layer: Single neuron with sigmoid activation for binary classification.
-Input Layer: Receives sequences of length 12 with one feature dimension.
-Convolutional Blocks: Four blocks, each with two convolutional layers followed by element-wise addition (residual connection). Filters increase progressively (32, 64, 128, 256), ReLU activation.
-Max Pooling Layer: After the final convolutional block, MaxPooling1D layer with pool size 2 and stride 1 reduces spatial dimensions.
-Flatten Layer: Reshapes output of the last convolutional layer into a 1D vector.
-Global Average Pooling Layer: GlobalAveragePooling1D layer computes the average of each feature map across all spatial locations.
-Dense Layers: Four Dense layers (128, 90, 64, 32 neurons) with ReLU activation.
-Output Layer: Single neuron with sigmoid activation for binary classification.

Training Description:

Optimizer: Stochastic Gradient Descent (SGD) with learning rate 0.001 and momentum 0.9.
Loss Function: Binary Crossentropy.
Regularization: Dropout used to prevent overfitting.
Normalization: Batch Normalization stabilizes and accelerates training.
-Optimizer: Stochastic Gradient Descent (SGD) with learning rate 0.001 and momentum 0.9.
-Loss Function: Binary Crossentropy.
-Regularization: Dropout used to prevent overfitting.
-Normalization: Batch Normalization stabilizes and accelerates training.

Training and Evaluation

Data Splitting: The dataset was split into training and testing sets using an 80:20 ratio.
Training: The CNN model was trained for 150 epochs with a batch size of 4.
Evaluation Metrics: Accuracy was used as the evaluation metric for both models.

Results
Training and Evaluation
-Data Splitting: The dataset was split into training and testing sets using an 80:20 ratio.
-Training: The CNN model was trained for 150 epochs with a batch size of 4.
-Evaluation Metrics: Accuracy was used as the evaluation metric for both models.
Results
To provide a conclusion based on the three models provided:

Model 1: This model consists of four convolutional blocks with residual connections, followed by global average pooling and dense layers. It employs convolutional layers to capture local patterns in the input sequences, while residual connections facilitate gradient flow and help in mitigating the vanishing gradient problem. The model architecture seems suitable for sequential data processing tasks, especially with its residual connections and global pooling layer.
Model 1: This model consists of four convolutional blocks with residual connections, followed by global average pooling and dense layers. It employs convolutional layers to capture local patterns in the input sequences, while residual connections facilitate gradient flow and help in mitigating the vanishing gradient problem. The model architecture seems suitable for sequential data processing tasks, especially with its residual connections and global pooling layer.

Model 2: Unlike the first model, Model 2 employs a simpler architecture with convolutional layers followed by pooling and dense layers. It lacks residual connections and global pooling, which may limit its ability to capture long-range dependencies in sequential data. However, it may still perform adequately for simpler tasks or datasets with less complex patterns.

Model 2: Unlike the first two models, Model 3 employs a simpler architecture with convolutional layers followed by pooling and dense layers. It lacks residual connections and global pooling, which may limit its ability to capture long-range dependencies in sequential data. However, it may still perform adequately for simpler tasks or datasets with less complex patterns.
Conclusion:

Conclusion:

Model 1 is the most comprehensive and robust among the three, due to use of residual connections and global pooling.
Model 2, while simpler, may struggle with capturing complex patterns in sequential data compared to the other two models.
Model 1 is the most comprehensive and robust among the two, due to the use of residual connections and global pooling.
Model 2, while simpler, may struggle with capturing complex patterns in sequential data compared to Model 1.
The choice of the best model depends on factors such as the complexity of the dataset, computational resources, and the specific requirements of the task at hand.

The choice of the best model depends on factors such as the complexity of the dataset, computational resources, and the specific requirements of the task at hand.

this look like chatgpt response to me.

I just added few lines to already existing data you can check inthe filess changed


BucketRegionError thrown when retreiving GetBucketPolicyDoc if account has buckets in two different regions

Most of our buckets live in Sydney, but we have one that lives in the US. When running iamy pull I get the following error:
Error fetching S3 data: Error listing buckets: Error while getting details for S3 bucket [redacted]: GetBucketPolicyDoc for [redacted]: BucketRegionError: incorrect region, the bucket is not in 'ap-southeast-2' region
It looks like the Go SDK can't handle multiple regions for S3 buckets.

Could a flag be added to skip S3 bucket policies? I had hoped to try this out but it looks like it just errors out on region so we can't even try using it in most of our accounts.

Yes, same issue with me too

HI @madpilot @sidewinder12s @MukeshSingh28 I can't reproduce this issue.
Can you perhaps try the master version of iamy (you should be able to install with go get -u github.com/99designs/iamy).
And for any bucket with this problem, can let me know the result of aws s3api get-bucket-location and aws s3api get-policy and echo $AWS_REGION

@madpilot Seems fixed for our env with iamy 2.1.1


Add Image(s)::save() and deprecate export()

What did you implement:
I renamed Image::export() to Image::save() and did the same for Images to make their naming inline with the Go API and the docker CLI.
I discovered an old issue #184 that mentions this and I tend to agree that it would be good to use consistent terminology.

Closes: #184
How did you verify your change:
Ran tests locally.
What (if anything) would need to be called out in the CHANGELOG for the next release:
Mention that Image(s)::export() has been deprecated in favor of Image(s)::save(). (Already done.)

Just realized that I made a typo in one of the return types. Should compile and pass all tests again.


how to order the candidates on ballot papers?

When selecting candidates for an election, currently the order on the printed ballot papers is: Last entered candidate is first on list, first candidate last. On a long list, a voter may be irritated where to find the candidate of preference.
Alternatives would be:

let the administrator decide on the order
order by first/ last name

Sorting of candidates is already done with #2782.


Fix: FFI API not available in WASM

Currently none of the FFI API is available in WASM. This small change exposes the FFI API.
How do I sync the change also to the 3di branch? This looks to be quite a bit of work.

Thanks! I will update the 3di branch.


Bj266-2 add unit test for methods  ParsePortBinding  and  ValidatePortBinding in portbindings.go

Ⅰ. Describe what this PR did
creating portbindings test cases
Ⅱ. Does this pull request fix one issue?

fixes #1905
Ⅲ. Describe how you did it
通过对入参和出参断言，进行单元测试
Ⅳ. Describe how to verify it
实际值和want值进行对比
Ⅴ. Special notes for reviews

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Is swap:evaluate() really necessary?

https://github.com/rtqichen/style-swap/blob/master/train-vgg-decoder.lua#L172
As swap has no BN or Dropout, I don't think it is necessary to add it.

IIRC, it doesn't store activations if it's in evaluate mode?

I am afraid it's not what you think. :evaluate() only sets self.train=false which only affects BN and Dropout modules. I don't find that module SpatialConvolution  or SpatialFullConvolution contains it.


Adding Google Lighthouse CI to improve overall development flow

I recently learned that Lighthouse CI could be launched on every PR or every commit.
I think it would help identify performance or SEO issues as early as possible.
https://github.com/GoogleChrome/lighthouse-ci
Would that be of any interest to that project? If yes, I could make the PR. lmk

Indeed that would be really nice to have it!
Thanks a lot for the suggestion 🎉
If you have time, the PR would be really appreciated. If not, I'll do it a little bit later when I have time.
Thanks again 🙏


Slim battery widget with cells

Hi,
I know there are many batter widgets here already. But I think this is the only one which has cells. :-)
I hope this could be merged.
It borrows some code from other batter widgets, but I guess that's fine since it's all in one repo?

Looks good - thanks!


fix(autoware_radar_fusion_to_detected_object): fix variableScope

Description
This is a fix based on cppcheck variableScope warnings
perception/autoware_radar_fusion_to_detected_object/src/radar_fusion_to_detected_object.cpp:274:10: style: The scope of the variable 'sum_target_value' can be reduced. [variableScope]
  double sum_target_value = 0.0;
         ^

Related links
Parent Issue:

Link

How was this PR tested?
Notes for reviewers
None.
Interface changes
None.

Effects on system behavior
None.

@Nagi70
Could you try merging the main branch of AutowareFoundation into your branch in order to pass the CI tests?

@miursh
Thanks for the advice, I have merged the main branch.


Exception when seeking before or immediately after playing a track

Basic Troubleshooting

[X] I have checked for similar issues (open AND closed), and my issue is not a duplicate. (MANDATORY)
[X] I have checked for pull requests that may already address my issue. (MANDATORY)
[X] I am using (and my issue is reproducible on) the latest version of youtube-source.
[X] My issue is reproducible with IPv6 rotation.

Version of youtube-source
1.11.3
The search query/queries, URL(s), playlist ID(s)/URL(s) or video ID(s)/URL(s) that triggered the issue
https://youtu.be/CczcMarUoVk
Code Example
AudioTrack track = ...
AudioPlayer player = ...
track.setPosition(60000);
player.playTrack(track);

Exception and Stacktrace
ERROR com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor - Error in playback of CczcMarUoVk
com.sedmelluq.discord.lavaplayer.tools.FriendlyException: Something broke when playing the track.
	at com.sedmelluq.discord.lavaplayer.tools.ExceptionTools.wrapUnfriendlyExceptions(ExceptionTools.java:45)
	at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:121)
	at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.lambda$executeTrack$2(DefaultAudioPlayerManager.java:339)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.RuntimeException: Not success status code: 403
	at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.validateStatusCode(PersistentHttpStream.java:88)
	at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.attemptConnect(PersistentHttpStream.java:124)
	at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.connect(PersistentHttpStream.java:106)
	at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.internalRead(PersistentHttpStream.java:158)
	at com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream.read(PersistentHttpStream.java:174)
	at java.base/java.io.DataInputStream.readByte(DataInputStream.java:271)
	at com.sedmelluq.discord.lavaplayer.container.matroska.format.MatroskaEbmlReader.readEbmlInteger(MatroskaEbmlReader.java:39)
	at com.sedmelluq.discord.lavaplayer.container.matroska.format.MatroskaFileReader.readNextElement(MatroskaFileReader.java:47)
	at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaStreamingFile.readFile(MatroskaStreamingFile.java:94)
	at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaAudioTrack.loadMatroskaFile(MatroskaAudioTrack.java:52)
	at com.sedmelluq.discord.lavaplayer.container.matroska.MatroskaAudioTrack.process(MatroskaAudioTrack.java:35)
	at com.sedmelluq.discord.lavaplayer.track.DelegatedAudioTrack.processDelegate(DelegatedAudioTrack.java:25)
	at dev.lavalink.youtube.track.YoutubeAudioTrack.processStatic(YoutubeAudioTrack.java:159)
	at dev.lavalink.youtube.track.YoutubeAudioTrack.processWithClient(YoutubeAudioTrack.java:138)
	at dev.lavalink.youtube.track.YoutubeAudioTrack.process(YoutubeAudioTrack.java:79)
	at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:109)
	... 4 more
	Suppressed: dev.lavalink.youtube.ClientInformation:
  yts.version: 1.11.3
  client.identifier: WEB
  client.options: ClientOptions{playback=true, playlistLoading=true, videoLoading=true, searching=true}

What is your client configuration?
The default ones: new Music(), new AndroidVr(), new Web(), new WebEmbedded()

It basically has to do with YouTube's new A/B testing. Googlevideo URLs are now being generated more aggressively. Googlevideo URLs generated without OAuth have stricter limits, especially regarding the IPs that access them. This happens on IPv6 as well, mostly for smaller blocks.
https://github.com/yt-dlp/yt-dlp/issues/11868 (same thing)

But I don't get why it only happens when I set the position of the track before playing or too quickly afterwards. If I don't set the position it works fine.

Just wait a second, as you mentioned—that worked. This was common in Android clients, which would often fail halfway with a 403 error. However, as I said before, A/B testing of new restrictions on Googlevideo URLs could possibly be one of the reasons.

Ok, thanks :+1:
I now implemented that the video will start paused, then after a second I change the position and resume the player, it takes an extra second but it's not so bad :shrug:


osm command for verifying mTLS connection between two services

Please describe the Improvement and/or Feature Request

osm command for verifying traffic encryption
Possible use cases

As a user, I want an easy way through the osm cli to verify that traffic between two services is indeed encrypted.

Similar is the following GitHub issue, which will determine whether traffic is allowed between 2 pods: https://github.com/openservicemesh/osm/issues/1945

I am a huge fan of this tool (yet to be designed).
Having this would answer the following questions:

do both pod A and pod B are belong to namespace(s) participating in the mesh
are there sidecars installed for both pods (no sidecar could point to old-pod/new-mesh; broken webhook; cert issue etc)
is there a policy to allow both pods to communicate
are there certs issued; are they current or expired
...

As a user, I want an easy way through the osm cli to verify that traffic between two services is indeed encrypted.

One needs to use packet capture tool and verify that the traffic between apps is encrypted. The implementation of this is outside the scope of the OSM project.
https://github.com/clarenceb/osm-mtls-check describes how this can be done.


NTR:leukotriene-C(4) hydrolase

Catalysis of the reaction Leukotriene C(4) + H(2)O= leukotriene D(4) + L-glutamate. EC <IP_ADDRESS>
is_a  GO:0070122 isopeptidase activity
according to ec
The mouse enzyme is specific for leukotriene C(4), while the human enzyme also has considerable activity toward glutathione and oxidized glutathione (cf. EC <IP_ADDRESS>).
In fact, a paper cloning the mouse form of this enzyme failed to measure activity towards glutathione (PMID:9774450)

done


Rate Limiter

BullMQ offers the ability to set a rate limiter on a worker. Eg:
const worker = new Worker(
  "getFromApiQueue",
  async job => processJob(job),
  {
    connection: redisOpts,
    // call no more than once a minute
    limiter: {
      max: 1,
      duration: 60000,
    },
  }
);

From the documentation here I'm not clear how to pass this configuration onto BullMQ. Is this possible at the moment?

Hey @jamesdoc! 👋🏻
You can define this configuration inside the config/queue.ts file.
defineConfig({
  worker: {
    limiter: {
      // ...
    },
  },
})

It is not doable at the moment, I may add the possibility to define queue worker directly in the configuration, allowing you to configure then from here.
I need to think about it.

Thanks Romain. I appreciate the thought and response.


Paris P2P #3 - 2019-11-06

Info

Official link: https://p2p.paris/en/event/monthly-3/
Meetup link: https://www.meetup.com/Paris-P2P/events/263191379/

Talks

available slot
available slot

Ok for me to add the https://github.com/francep2p/community/issues/32 talk to this event.

Updated! :)

Hello everyone,
Would we be up to add a 10-minute version of the https://github.com/francep2p/community/issues/47 talk to the schedule ?

yep, @louptheron's talk should last ~15 minutes, so no problem

Slides: https://docs.google.com/presentation/d/12oUY9rReLH0l9I71DL4xqoFAp8eA0bCx7qdsdENndS4/edit#slide=id.g6ad413d101_0_435


Added CMake support

I needed to use BLAKE3 as a CMake submodule and luckily someone had done the work for me.
This PR makes BLAKE3 usable as a CMake submodule and helps with rather easy compilation of the library across platforms too.

Hmm, is this some weird GitHub Actions limitation on CI changes? Lemme make a branch of my own and push this.

Ah no I see the problem. The build matrix for the new jobs doesn't have a target field, so you need to do this:
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index dec49e2..3ed564b 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -236,8 +236,8 @@ jobs:

   # CMake build test (Library only), current macOS/Linux only.
   cmake_build:
-      name: CMake ${{ matrix.target.os }}
-      runs-on: ${{ matrix.target.os }}
+      name: CMake ${{ matrix.os }}
+      runs-on: ${{ matrix.os }}
       strategy:
         fail-fast: false
         matrix:

Very frustrating that Actions handles this error by silently dropping the jobs...

made the changes, perhaps it should work now?

(I tried to resolve a merge conflict by clicking a button here on GitHub, and I'm really not sure I did it right...)

I would like to propose a few changes (less flag hardcoding, visibility macros, target_sources() instead of accumulating sources in a macro, windows/msvc compat) to the CMake buildsystem. But before I invest time I'd like to know, whether the blake3 team is generally interested in adding CMake build files.

I've rebased this branch and manually landed it on master. Still don't understand how reviews work but now I don't have to :) Thanks @SteveGremory!
@BurningEnlightenment I'd love more PRs to improve things. I'm not sure what the modern CMake idioms are. Also Windows compat sounds great if you have the interest.


CLI config provider defaults always override ENV

Due to a higher precedence of CLI provider, it's values come first. As far as we use default values, none of the config providers with lower precedence have a chance to beat it to it.

Initially, while working on the registry code, I made a wrong assumption: a provider that registered itself, can always serve this config key. This turns out to be a wrong idea: providers are registered at the start up time, but the runtime env is never known in advance at this stage, so, some providers might have no data to serve. Based on my assumption, I took a decision to use a bin heap as the primary data structure. It seems the most legitimate behavior in this context would be to use a per-config-key list of providers, prioritized based on their weight and the config resolved within O(N) steps until one of the providers returns lookup ok == true.
the lookup propagation would look like:
client fetches a value for a config key:
registry gets prioritized list of providers serving the key
registry1 returns _, false
registry2 returns _, false
...
registryN returns v, true
registry returns v, true


Dpinger is ignoring configured latency thresholds

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:
[*] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
[*] I have searched the existing issues and I'm convinced that mine is new.
Describe the bug
I'm using 19.7.5. I enhabled the advanced options of gateway monitoring and edited latency thresholds of my IPv6 TUNNEL GATEWAY. I read that default values are from 200 to 500, but as I'm having about 250 all the time, I changed the values to 300/600, so the status below 300 should be "Online".
When I accept these values, dpinger keeps showing "warning (latency)" with a RTT of 217.8 ms.
I think that dpinger is not using my values but the default ones.
Tip: to validate your setup was working with the previous version, use opnsense-revert (https://docs.opnsense.org/manual/opnsense_tools.html#opnsense-revert)
To Reproduce
Steps to reproduce the behavior:

Go to 'System > Gateway > Single'
Click on 'Edit gateway setting'
Scroll down to 'Advanced' and click it
Edit Latency Thresholds to other values than the defaults
Save the changes
On the gateway list check the status of the edited gateway.

Expected behavior
If the RTT value indicated by dpinger is lower than the low threshold value, the gateway status should be "Online".
I'm using a virtualized OPNSense with VMWare ESXi 6.
The virtual interfaces are Intel E1000.
OPNsense 19.7.5-amd64
FreeBSD 11.2-RELEASE-p14-HBSD
OpenSSL 1.0.2t 10 Sep 2019

I have the same problem with Packet Loss thresholds.

it looks like a bug, can you install https://github.com/opnsense/core/commit/c83daaa54b5e0873c28fbf4cae706f1b55f59538, https://github.com/opnsense/core/commit/bb7557d38f57f5ec3b10b30c68247db761848417 and https://github.com/opnsense/core/commit/d5bd3a6cb7c5d2f155e709be02e56c2c215f9391 and run pluginctl -r return_gateways_status for me?
opnsense-patch c83daaa bb7557d d5bd3a6
pluginctl -r return_gateways_status

It kind of looks like milliseconds and seconds are swapped somewhere.

{
    "dpinger": {
        "WAN_DHCP6": {
            "name": "WAN_DHCP6",
            "status": "none",
            "stddev": "~",
            "delay": "~",
            "loss": "~"
        },
        "WAN_PPPOE": {
            "delay": "39.7 ms",
            "stddev": "5.4 ms",
            "loss": "0.0 %",
            "status": "none",
            "details": {
                "gwname": "WAN_PPPOE",
                "latency_avg": 39.7,
                "latency_stddev": 5.4,
                "loss": "0",
                "status": "none",
                "alert_interval": "1",
                "interval": "1",
                "latencyhigh": "500",
                "latencylow": "200",
                "loss_interval": "2",
                "losshigh": "20",
                "losslow": "10",
                "time_period": "60"
            },
            "name": "WAN_PPPOE"
        },
        "FALLBACK_DHCP": {
            "delay": "76.4 ms",
            "stddev": "16.9 ms",
            "loss": "0.0 %",
            "status": "none",
            "details": {
                "gwname": "FALLBACK_DHCP",
                "latency_avg": 76.4,
                "latency_stddev": 16.9,
                "loss": "0",
                "status": "none",
                "alert_interval": "1",
                "interval": "1",
                "latencyhigh": "500",
                "latencylow": "200",
                "loss_interval": "2",
                "losshigh": "20",
                "losslow": "10",
                "time_period": "60"
            },
            "name": "FALLBACK_DHCP"
        }
    }
}

The last gateway configured to have 20/50 Packet Loss thresholds.

@definitio your status looks normal (reports none), nothing to debug here if you ask me.

@AdSchellevis FALLBACK_DHCP has "losslow": "10" and "losshigh": "20" but they should be 20 and 50. My settings are ignored.

got it, https://github.com/opnsense/core/commit/4f3781cfa9210b83608fac51ad1e99f80bf59103 fixes the missing values.
opnsense-patch 4f3781c

should do the trick

@AdSchellevis Thank you.

Ok... I tested the patch and it's working. Thank you.


[ModuleInterface] Fix implementation-only imported type leak in indirect conformance

Indirect conformances are printed when the middle protocol is internal and not present in the swiftinterface. This logic didn't previously check for implementation-only imports, likely because type-checking usually forbids it. Let's still protect this use case as we are considering relaxing this type-checking restriction in the future and it can currently be used with workarounds like this one.
rdar://78718838

@swift-ci Please smoke test


setConfig keeps adding elements

Hi.
Every time setConfig is run, a new ha-card is added to the shadowRoot, but it's never removed.
setConfig can be run several times during the lifetime of the card, e.g. if the user uses it with an entity-filter card.
An easy fix is to add the following somewhere before this.shadowRoot.appendchild(cardContainer) inside setConfig():
while(this.shadowRoot.lastChild)
  this.shadowRoot.removeChild(this.shadowRoot.lastChild);

See /thomasloven/lovelace-auto-entities#31

Thanks for reporting this. I had this in the script initially, but removed it at some point. Probably because I had no idea what I was doing... and still don't really ;)
Fixed in 1.6.2.

That makes two of us.


Slow when loading with UITableView

There is some performance issue (lagging) when trying to reload the tableview which contains a number of cells that was added with the waveform view. I have tried to concurrently load the waveform view with GCD but it is not very stable — keep crashing.

I'm hitting a similar issue, but with a 1 or 2 second delay when modally presenting a view controller with an SCWaveformView in it's hierarchy. I've had a look at the code, but as the wave is drawn using an array of layers, I presume that queuing this to run in the background is an impossible task?


Add return to escapeSwift

I'm using a godot module that has an enum with return. It failed to build since return wasn't being escaped. This fixes that.

Nice!


Get milliseconds

Hello, You make a good job !
Is it possible to get milliseconds from DS3231 ?
thanks

Thanks for contacting me.
The resolution of the DS3231 time registers is up to 1 second and does not support reading the time in milliseconds.
As workaround, you can configure the SQW (Square Wave Out) pin to generate a 1024Hz, 4096Hz or 8192Hz clock with function setSquareWave(SquareWaveXXXXHz). Then you can count the pulses by a microcontroller to measure times in milliseconds.

Thanks for reply !
I know it, but I wish that this function is included in the library.

Capturing the SQW pin by a microcontroller should be handled by the application, because the DS3213 library has no dependencies on the microcontroller type.
Are you using an AVR / ATMega328 microcontroller (Arduino UNO/Mini etc) for example? This controller supports a 16-bit Input Capture Register on timer 1 which can be used to count SQW pulses from the RTC. A new function can be implemented by the application to convert the number of pulses to milliseconds.


superTux: explicitly link X libraries

Description of changes
Fix GH-185076.  It does not make sense why SDL doesn't propagate these build inputs
or why they're also required on Wayland, but it works so :shrug:
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

[ ] 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/)
22.11 Release Notes (or backporting 22.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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

@vpfeiffer and @astrobeastie, could you take a look?
git remote add cnx https://github.com/McSinyx/nixpkgs # or clone it if you don't have a local checkout
git checkout cnx/supertux
NIX_PATH=/path/to/nixpkgs/.. nix-shell -p superTux --run supertux2

It works on river for me

Works for me. Thanks.

will this be in unstable soon?

It should already be https://nixpk.gs/pr-tracker.html?pr=188056


Bringing back button groups

This seems to look good in my personal tests.

Great work, thank you @rarog


No module named "google" after installing python google-cloud-storage

I'm following the guide here:
https://cloud.google.com/storage/docs/reference/libraries#
And installed the module like this:
sudo pip3 install google-cloud-storage
It was successful, but then:
$ python3
Python 3.4.2 (default, Jan 10 2015, 20:44:27)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from google.cloud import storage
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'google'
>>>

Everything else I do with the 'googleapiclient' module works fine.  I'm just trying to create a storage bucket.

@jorvis This is a fairly common issue. It means either

You're install failed in a hard-to-detect way
You have a package in the google namespace which isn't playing nice with others.

Check out #2366 and LMK if that helps?
I am going to pre-emptively close out since this isn't new / isn't an issue with google-cloud-python. However, I'm happy to keep helping as you troubleshoot your install.

Thanks for the help.  I went to my /usr/local/lib/python3.4/dist-packages directory and deleted protobuf and google*.  Then successfully ran "sudo pip3 install google-cloud"  I see that it created many directories, including 'google', but I still get the same error when I import.

You should do two things. First check where the google package actually comes from:
$ python3 -c 'import google; print(google.__file__)'

Second try to install in a virtualenv and see if the issue persists:
$ virtualenv venv
$ source venv/bin/activate
(venv) $ venv/bin/pip install google-cloud-storage
(venv) $ venv/bin/python -c 'import google.cloud.storage'
(venv) $ # cheer that it succeeded
(venv) $ # clean-up
(venv) $ deactivate
$ rm -fr venv/

OK, I got it.  The python3 which appears first in my PATH is /opt/Python-3.4.2/bin/python3 but for some reason the libraries got installed in /usr/local/lib/python3.4/dist-packages.  When I used the correct pip3 path they got placed in /opt/Python-3.4.2/lib/python3.4/site-packages instead and all was well.
Thanks again!

Good to hear


Simple documentation blurb would be helpful for coordinate system in NLDI

Hello,
This issue is based on an exchange over loading EPA NPDES data into NLDI from early Feb, 2018.  I'll just try to distill it down.
So data goes into NLDI (usually via a crawler) and data comes out of NLDI.  It would clarify this process to document more the expected coordinate system for both ends of the workflow.  From the issue that occurred and Dave's response, NLDI itself does not use any particular coordinate system but generally the expectation is that the data is geodetic in form.  So whether NAD83 or WGS84 or NAD27, its just not that relevant.  Technically I would assume there are no SRID constraints on the internal tables holding program data and no places where PostGIS spatial functions would fail on differing SRIDs.
Yet while nothing is enforced what is the best practice?  I think as the flowlines are stored in NAD83 and currently are returned unchanged as NAD83 that it might be best for NLDI data submitters to utilize a NAD83 cs when submitting data.
However, with the release of the GeoJSON 2.0 specification users may well expect the NLDI to be WGS84.  I do realize the differences are so small as to be a waste of time to discuss when the data represents water.
But perhaps then the documentation just says something along those lines whereby you can submit in any geodetic coordinate system but if in doubt or if the idea of this imprecision bothers you then use NAD83.  It would be swell if the crawlers then had a check install to make sure all ordinates lie between the 180s./90s.
Geodetic in and geodetic out.
Cheers,
Paul

Will add some detail about this here: https://github.com/usgs/waterdata_labs/blob/master/content/nldi.md
@kkehl-usgs, @jkreft-usgs could we put some informal documentation in the front matter of: https://labs.waterdata.usgs.gov/api/nldi/swagger-ui.html where would I check that in??

pull requests are always welcome- that seems like a good spot

I am working on building an API hub to add additional documentation to what is in swagger

You can probably put it in ConfigOpenApi.java, after this pull request gets checked in:  https://github.com/ACWI-SSWD/nldi-services/pull/145

#145 got merged but I don't see a ConfigOpenApi.java -- can you point me to where the text should get checked in?

https://github.com/ACWI-SSWD/nldi-services/tree/master/src/main/java/gov/usgs/owi/nldi/openapi/ConfigOpenApi.java
Let me run a quick test and see how the text should be formatted and I will give an example here in a little bit.

Okay, so in ConfigOpenApi.java there is a title and a description.   The text for both can be set to whatever, but they are simple Java strings, so there are no formatting options.    So whatever is put into description will work like a single paragraph.  It will wrap naturally with browser size, but you can't add any line breaks (or html tags).

Where will that show up? Looking here: https://labs.waterdata.usgs.gov/api/nldi/swagger-ui.html#/linked-data-controller/getFlowlinesUsingGET
I'd like to be able to add a description to each of these end points. Is that possible in this config?

Ah, no.  What I was describing was the overall summary at the top of the swagger page.
If you want descriptions for different endpoints, that is probably possible but it would involve adding annotations in the various controllers.  Let me see if I can do it and then I'll add an example here.

If this turns into more than a few minutes of work, I think we should punt on adding it in Swagger, but having a clear way to add a textual description to each controller would be nice.

Okay, so you have to go to each endpoint method you want to document and add something like this at the top of the method:
@Operation(summary = "getFeatures", description = "returns a list of features for a given data source")
So the only trick that is involved is figuring out which method in the java code corresponds to which endpoint in swagger.  Swagger gives you the class names, but not the method names, so you have to look at the unique URLs like
/linked-data/{featureSource}/{featureID}/navigate/{navigationMode}/{dataSource}
and look them up from there, but it's not too bad.

Use back ticks so the github user @operation doesn't get tagged. e.g. @Operation(summary = "getFeatures", description = "returns a list of features for a given data source")


Usage with TypeScript

Hi,
Thanks for this great package.
I'm trying to use it with TypeScript. Typings are installed and I'm importing it like this:
import * as chaiIterator from 'chai-iterator';

But it gives me the following error:
[ts] Module ''chai-iterator'' resolves to a non-module entity and cannot be imported using this construct.

Any ideas?
I cannot use require syntax.

Seems related to https://github.com/Microsoft/TypeScript/issues/5073

Submitted PR #13


Allow usage of custome Promise as return type of async functions

🔍 Search Terms
"The return type of an async function or method must be the global Promise type"
✅ Viability Checklist

[X] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[X] This wouldn't change the runtime behavior of existing JavaScript code
[X] This could be implemented without emitting different JS based on the types of the expressions
[X] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[X] This feature would agree with the rest of our Design Goals: https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals

⭐ Suggestion
Atm, specifying a different return type then Promise for async functions leads to the following error:

The return type of an async function or method must be the global Promise type

I tested some js code that does NOT return a global promise but a custom object and it worked fine:
const getPromise = async () => ({ then (cb) => cb(5) })
const result = await getPromise() // 5

await works with any object that has a certain "then" shape. Why enforce the global Promise as type?
Even extending the global promise will not get rid of that error:
class CustomPromise<T> extends Promise<T> {}

// this will yell at you
const getPromise = async (): CustomPromise<number> => new CustomPromise<number>(resolve => resolve(5))

📃 Motivating Example
there is a typescript package called "ts-results" that brings the rust Result-Type to typescript.
It has a limitation tho because it does not support async functions which makes unwrapping the result out of the promise and rewrapping it back tedious.
So this would be very nice:
class AsyncResult<T, E> extends Promise<Result<T, E>> {

  constructur(result: Promise<Result<T, E>> | Result<T, E>) {
    super(resolve => resolve(result))
  }

  map<U>(mapper: (value: T) => U | Promise<U>): AsyncResult<U, E> {
    const mappedResult = this.then(async (result) => {
      if (result.ok) {
        return Ok(await mapper(result.val));
      } else {
        return Err(result.val);
      }
    });

    return new AsyncResult(mappedResult);
  }

  // other stuff ...
}

Asnyc functions now could define their return type as Async Result and directly use the Result methods on it
const data = await getApiData().map(response => response.data) // Result<typeof response.data, any>

💻 Use Cases

What do you want to use this for? - See above
What shortcomings exist with current approaches? - You have to convert every promise that comes back
What workarounds are you using in the meantime? - converting every promise to an async result

ok that sucks. thx for the headsup

I don't even remember making that comment 😮


Doesn't work with MagicPython (weird)

Description
So I use MagicPython instead of language-python with Atom. (Many people do.) Beautify works fine with .py files (even though MagicPython shows in the bottom bar). The problem is when I create a new file and set MagicPython as its syntax. If I try to then beautify, I get the following warning:
Atom Beautify could not find a supported beautifier for this file
Atom Beautify could not determine a supported beautifier to handle this file with grammar "MagicPython" and extension "undefined". If you would like to request support for this file and its language, please create an issue for Atom Beautify at https://github.com/Glavin001/atom-beautify/issues
Steps to Reproduce

Create new file and set MagicPython as the syntax (need to have MagicPython installed)
Run command Atom Beautify: Beautify Editor
Warning appears

In short, can we have MagicPython behave exactly the same as Python?
Thanks! This is one of the most important plugins :)

Just to clarify, while it seems that if I save the new file as something.py that would make the trick, it's important to be able to beautify without saving the file. I use that on a daily basis - open atom, throw some python code in just to use beautify, and then i will send it out / use it elsewhere. It'd be great if I don't need to create a file everytime I do it.

Still an issue.

Let me look into it, it looks like a fairly simple change.

@danqing Can you confirm this is the Atom package you are using for MagicPython?  Want to make sure I test it out properly:  https://atom.io/packages/magicpython

Yes!

Published to v0.32.0


check polkadot for companion pull requests

This pr will enable the check_polkadot ci job to check for a companion pr string in the description.
polkadot companion: paritytech/polkadot#928

I will remove the companion pr tag (it's just a random pr in the polkadot repo) after approval.

@gabreal looks good :) I removed my test commit.


Add support for EFT 3.7.0.

Fixes #404

Thanks @leonardovac for the initial work !

Yep. Looks good here. Will test when I get home this afternoon.


Links Doesn't Work

Hi almost all links that are needed so you can find even the slight information about your SDKs and Plugins is broken. Here it is an example:
https://github.com/mapbox/mapbox-plugins-android/tree/master/plugins/app/src/main/java/com/mapbox/mapboxsdk/plugins/testapp

Thanks @nikiizvorski . We recently made a change to the structure of this app, so we're still hunting and squashing random broken links. Do you recall where you originally found the broken link(s) that motivated you to create this ticket?

No i am bumping into a broken links 99% of the time i try to find a solution for something and i really want to show you guys its not good...and when a massive change like that happen need to be documented and added on time.
Thanks

Thanks for your feedback @nikiizvorski .


Expose multiple ports via loadbalancer

Is it possible to expose multiple ports of an application via the loadbalancer?
For example, I have a service with the following ports exposed: 8080, 8081, 8082... However I can only set one port with the KONTENA_LB_INTERNAL_PORT environment variable. The service is very stateful. :new_moon_with_face:
Is there a way to map exposed ports from the service to the loadbalancer in a n:n fashion, e.g. connecting to 8081 in the lb, we'd be forwarded to 8081 in the service, 8082 to 8082 in the service and so on...
Thanks :smiley:

Currently it's not possible. We are going to refactor loadbalancer pretty soon to different codebase and that might bring us possibility to add support for multiple ports.

Are there any known workarounds for this issue? Is it possible to use a different lb in front of the application?

This might work (just an example):
lb:
  image: kontena/lb:latest
  ports:
    - "80:80"
    - "443:443"

app-admin-proxy:
  image: kontena/haproxy:latest
  environment:
    - VIRTUAL_HOSTS=%{project}-app=admin.domain.com
    - BACKENDS=%{project}-app:8080
    - KONTENA_LB_VIRTUAL_HOSTS=admin.domain.com
    - KONTENA_LB_INTERNAL_PORT=80
  links:
    - lb

app-www-proxy:
  image: kontena/haproxy:latest
  environment:
    - VIRTUAL_HOSTS=%{project}-app=www.domain.com
    - BACKENDS=%{project}-app:80
    - KONTENA_LB_VIRTUAL_HOSTS=www.domain.com
    - KONTENA_LB_INTERNAL_PORT=80
  links:
    - lb

app:
  image: my/legacy:latest
  stateful: true

Super, thanks. :sunglasses:

@jakolehm I notice in your solution you're not using the same load balancer image for the additional balancer. It seemed to me like I'd be able to pop another lb:latest, but it doesn't seem to work. What's the reasoning behind using a different image here?

Upon looking at it, my setup isn't really parallel to this example. I'm trying to load balance a rails app, and several minio instances... It feels like a similar problem but perhaps not related. I was trying to have the load balancer do both 443 -> rails and 9000 -> minio using a single instance of LB. But one configuration was simply overwriting the other when I was using the same hostname.
Is there a way to use have another internal (over vpn) DNS name pointed to the same lb instance and have that one instance handle both ports for different hostnames?

Currently it's not possible. We are going to refactor loadbalancer pretty soon to different codebase and that might bring us possibility to add support for multiple ports.

How far is that soon? ;)

@counterbeing I think it's possible to use one LB for multiple ports.. just remember that you need to include custom port (9000 in your case) in the KONTENA_LB_VIRTUAL_HOSTS env variable and you need to expose port 9000 from the LB (using ports).

I got it working in my case, in a way that I'm happy with. I think the piece I was missing may have been  defining both
- KONTENA_LB_INTERNAL_PORT=9000
- KONTENA_LB_EXTERNAL_PORT=9000

So, I think it was unrelated to this original ticket. But I'm not positive as I've been changing lots of things very rapidly.

My use case is a docker image which exposes two ports: 8090 for http and 8091 for tcp/websocket connections.
Using loadbalance should provide a way to expose both ports to the web. It could be done without the loadbalancer using a custom nginx proxy, but, I do like the loadbalance features, especially the letsencrypt integration

@morph027

How far is that soon? ;)

It's starting to happen: https://github.com/kontena/kontena-loadbalancer/pull/27

My use case for this is an FTP server that needs to expose a large range of ports for passive mode. I didn't realize this was going to be a problem so I'm definitely going to follow this issue.

Any news regarding multiple KONTENA_LB_INTERNAL_PORT?


Fix link OpenCV in case of Windows

Fixes #805
Description of the changes:

Change to link OpenCV that installed in the system even on Windows.
Update OpenCV for CI environment.

Before submitting a Pull Request:

[x] I reviewed CONTRIBUTING.md
[x] I built my changes locally
[x] I ran the unit tests
[x] I ran the functional tests with a device
[x] I ran the performance tests with a device

I tested changes on:

[x] Windows
[ ] Linux

/azp run

Looks good, I still need to manually test with a debug build as that was an issue before.

/azp run


unstructured: Add tests to get all unstructured modules above 90% coverage

Currently the email.py, pdf.py and email_elements.py files in https://github.com/Unstructured-IO/unstructured have below 90% coverage. The goal of this issue is to add additional tests for those modules to get the coverage above 90%.
Definition of Done
All modules in unstructured have >90% coverage.
References:

https://github.com/Unstructured-IO/unstructured/issues/141

Now following the convention that repo-specific issues are defined in their respective repos. Closing.


Migrate amfora to Homebrew core tap

Formula for amfora got accepted to Homebrew core tap.
Related: https://github.com/makeworld-the-better-one/amfora/pull/247

What about people who want to install Amfora from HEAD? Can that stay, but non-HEAD installs be redirected?

What about people who want to install Amfora from HEAD?

They can use simply use: brew install --head amfora

Can that stay, but non-HEAD installs be redirected?

AFAIK there is no way to partially migrate because there is no need to 🤷  With that being said you could keep the formula around but tap-migrations.json will redirect users to core tap.

Thank you for setting this up.

Thank you for building amfora!

What I'm asking is if people who installed Amfora from HEAD using this repo will still be able to receive HEAD updates. Do you know about that? Sorry if I'm misunderstanding.

Hmm, that's an interesting question. TBH I don't know the answer but I'll try to check it out.

Thanks. Let me know here if you find the answer.


Enable cluster auto-assembly through a seedlist

Overview
This introduces a new config setting which allows an administrator to configure an initial list of nodes that should be contacted when a node boots up:
[cluster]
seedlist = couchdb@node1.example.com,couchdb<EMAIL_ADDRESS>
If configured, CouchDB will add every node in the seedlist to the _nodes DB automatically, which will trigger a distributed Erlang connection and a replication of the internal system databases to the local node. This eliminates the need to explicitly add each node using the HTTP API.
We also modify the /_up endpoint to reflect the progress of the initial seeding of the node. If a seedlist is configured the endpoint will return 404 until the local node has updated its local replica of each of the system databases from one of the members of the seedlist. The body of the HTTP response now looks like
{
  "status": "seeding"
  "seeds": {
<EMAIL_ADDRESS>{
      "timestamp": "2018-10-16T19:58:03+00:00",
      "last_replication_status": "ok",
      "pending_updates": {"_nodes": 0, "_dbs": 101, "_users": 42}
    },
<EMAIL_ADDRESS>{ ...
}

Once the status flips to "ok" the endpoint will return 200 and it's safe to direct requests to the new node.
Testing recommendations

Configure the seedlist for a new 3 node cluster with the names of the 3 nodes and check /_membership to confirm that the nodes connect to each other automatically
On a cluster with lots of databases or users, add a node to the cluster and check that /_up returns 404 while the initial internal replication takes place.

You'll notice that the PR currently has no tests. I wanted to put it up for review while I familiarize myself with the latest bits of the test suite and see what I can contribute.
Checklist

[x] Code is written and works correctly;
[x] Changes are covered by tests;
[x] Documentation reflects the changes;

@kocolosk any progress on the test suite? Also, is there any need for #1337 to land for this to function?

Yes, 6f35073 added some tests. Could do more but I think I'd need to figure out how to mock internal replication.
No, #1337 is an independent though. Both can coexist. Of the two I would personally consider this one to be a higher priority for production automation and operations.

@kocolosk thanks. Do you think you could submit a documentation PR for this new feature?
Also, you must update default.ini and/or local.ini under etc/rel/overlay before this PR lands. ;)

I already took care of the documentation PR -- submitted and approved: https://github.com/apache/couchdb-documentation/pull/339
I will update the default config and address Nick's other comment, hopefully tomorrow.