🐞 - Issue with date parsing from datetime string

Which package(s) are the source of the bug?
@maskito/kit
Playground Link
https://stackblitz.com/edit/mb1gju?file=index.ts
Description
maskitoTransform(
    '2024-08-27T16:04:20.871',
    maskitoDateTimeOptionsGenerator({
      dateMode: 'dd/mm/yyyy',
      timeMode: 'HH:MM',
      dateSeparator: '.',
      dateTimeSeparator: ' ',
    })
  )

Expeced output:
27.08.2024 16:04
Actual output:
20.02.0827 16:04
Same issue happens with just date options:
maskitoTransform(
   '2024-08-27T16:04:20.871',
   maskitoDateOptionsGenerator
   ({mode: 'dd/mm/yyyy', separator: '.'}))

Expeced output:
27.08.2024
Actual output:
20.02.0827
Maskito version
3.0.1
Which browsers have you used?

[X] Chrome
[ ] Firefox
[ ] Safari
[ ] Edge

Which operating systems have you used?

[ ] macOS
[X] Windows
[ ] Linux
[ ] iOS
[ ] Android

@movedoa Hello!
maskitoTransform utility is not about parsing of any value (we don't have plans to reinvent date-fns library inside Maskito). It is about formatting of value (and calibrating with fixed characters) with already known format.
Use Intl.DateTimeFormat (or any other existing libraries for parsing date string) to parse value before passing it inside maskitoTransform:
const dateFormatOptions: Intl.DateTimeFormatOptions = {
  year: 'numeric',
  month: 'numeric',
  day: 'numeric',
  hour: 'numeric',
  minute: 'numeric',
};
const date = new Date('2024-08-27T16:04:20.871');
const dateString = new Intl.DateTimeFormat('en-GB', dateFormatOptions).format(date);

const maskitoOptions = maskitoDateTimeOptionsGenerator({
  dateMode: 'dd/mm/yyyy',
  timeMode: 'HH:MM',
  dateSeparator: '.',
  dateTimeSeparator: ' ',
});

maskitoTransform(dateString, maskitoOptions); // 27.08.2024 16:04

Learn more:
https://stackblitz.com/edit/maskito-intl-date-time-format

It's not about inventing new date-fns. The problem is not the transfer itself. The problem is the integration of that transfer into this library. Unfortunately, the processors do not solve this problem as I originally assumed. They solve something that I don't really need. The fact that such a complex library does not support events for the transformation of the iso value to the user value and vice versa is the reason why not to use this library. The example in stackblitz is nice, but in the real application there are dozens of those date inputs.


Sharing a Supabase Auth Session - Incompatibility Between Supabase Flutter and Swift SDKs: Session JSON Structure Mismatch

Bug report
Description:
I'm developing an application where I need to share a Supabase session between my main app, built using FlutterFlow (which uses the Supabase Flutter SDK), and an iOS extension target (a credential provider) where auth is built using the Supabase Swift SDK. I've encountered an issue where the session JSON structure used by the Supabase Flutter SDK is incompatible with what is expected by the Supabase Swift SDK.
So it makes the JSON stored by the flutter SDK not parseable by the swift SDK.
JSON Structures:

Supabase Swift SDK
{ "session": {  "expires_in": 3290.1477999687195,  "expires_at":<PHONE_NUMBER>,  "refresh_token": "6hgVKxl.......",  "access_token": "eyJhbGciOiJIUzI1NiIsImtpZCI6ImwzY0JFV1dJZjBMQjZYTk0iLCJ0eXAiOiJKV1QifQ...",  "user": {    "email"<EMAIL_ADDRESS>   "user_metadata": {      "sub": "7e852d69-XXXX-XXXX-XXXX-42b02d8edc85",      "phone_verified": false,      "email"<EMAIL_ADDRESS>     "email_verified": false    },    ...  },  "token_type": "bearer" }, "expiration_date": "2024-08-20T16:08:15.000Z" }

Supabase Flutter SDK

{   "currentSession": {     "access_token": "eyJhbGciOiJIUzI1NiIsImtpZCI6ImwzY0JFV1dJZjBMQjZYTk0iLCJ0eXAiOiJKV1QifQ...",     "expires_in": 3600,     "refresh_token": "6hgVKxl_Bkt537lJDCQkrw",     "token_type": "bearer",     "user": {       "id": "7e852d69-e353-4852-8891-42b02d8edc85",       "app_metadata": {         "provider": "email",         "providers": ["email"]       },       ...     }   },   "expiresAt":<PHONE_NUMBER> }
To Reproduce
Steps to reproduce the behavior, please provide code snippets or a repository:

Download the following test project from my GitHub ->[Supabase-Auth-test-project-Flutter-Swift](https://github.com/baptiste-veyrard/Supabase-Auth-test-project-Flutter-Swift) , where I already took a demo project and modify it, adding a keychain group and sharedGroup, leveraging FlutterSecureStorage to store supabase auth info...
Open Xcode
Add a developer team
Add the Supabase swift SDK
Add a supabase project URL and key -> in the main.dart file for flutter, in SupabaseAuthManager for swift
Run "flutter pub get" and cd-> ios "pod install" in the terminal (I am using cocoapods)
Build the "runner" target and login a user
Build the "autofill-extension" target with Safari, go on a credential form (ex: signin facebook) and click on "password" the quicktype bar

Expected behavior
The Supabase SDKs for both Flutter and Swift should use a compatible JSON structure for session management, allowing seamless sharing of sessions between different platforms.
Due to the print in the CredentialProviderViewController (in viewDidLoad) it should return a valid session.
Actual Behavior:
The session JSON structure used by the Supabase Flutter SDK is incompatible with the structure expected by the Supabase Swift SDK, leading to decoding errors and the inability to share sessions across these platforms.
The function init() in SupabaseAuthManager.swift return the following error:
Failed to load session: keyNotFound(CodingKeys(stringValue: "session", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"session\", intValue: nil) (\"session\").", underlyingError: nil))
System information

OS: MacOS Sonoma 14.5
Xcode version: 15.4
Supabase swift package: 2.16.1
Flutter swift pub: 9.2.2
Flutter version: 3.22.2

More info:
I cloned a swift package in order to add some prints in the package code to identify where the issue happened.
It seems to happen in the "SessionStorage" file, at the line of code:
return try storedData.flatMap {           try AuthClient.Configuration.jsonDecoder.decode(StoredSession.self, from: $0).session         }
As well, I tried to set my own JSONDecoder as it seems to be possible through the auth option of the supabase client.
It was well initialized, but the SDK still uses the "original" JSONDecoder to perform the decoding tasks.

Just leaving some info from the Flutter side here:
The supabase-flutter SDK stores the session in the following format.
  {
    "access_token": accessToken,
    "expires_in": expiresIn,
    "expires_at": expiresAt,
    "refresh_token": refreshToken,
    "token_type": tokenType,
    "provider_token": providerToken,
    "provider_refresh_token": providerRefreshToken,
    "user": {<user json>},
  }

supabase-flutter does allow developers to store the token in any location they want by defining a custom local storage, so as long as the shape of the session json match, sharing session between the Flutter and Swift SDK should be possible, but does the shape of the JSON structure match @grdsdev ?

Thanks for your answer.
Indeed, I use a custom local storage, in the keychain via flutter_secure_storage.
I well retrieve the data stored in it from my swift code, but it cannot be retrieved as a supabase session given the differences of the JSON stores.
The JSON structures I provided in my post are the actual structures I retrieve when I print a session created in Swift and Flutter.
The format you provided is the session itself, in JSON, but when stored, it uses the following piece of code in session.dart (file of the supabase flutter package).
  String get persistSessionString {     final data = {'currentSession': toJson(), 'expiresAt': expiresAt};     return json.encode(data);   }
And the Supabase Swift package is looking for the keyword "currentSession" and not "session".
I succeed to make them matching in modifying the flutter sdk just for testing purpose, but modifying it is not a proper way to handle it for a long term perspective for a production app.
That is why then I tried to make my own JSON Decoder, but while well initialized, the supabase swift package does not use to decode the retrieve session in the keychain unfortunatelly.
One workaround would be to modify the "data" value in a function before storing it, so without changing the package, but I thought it was a better idea to talk about it with the Supabase team first.

Hi @dshukertjr
Session JSON structure is compatible with Flutter, as it uses the same structure, the issue I see is that Flutter stores it in a currentSession key, along with a expiresAt. Swift uses the same approach, but stores in under a session key, and expirationDate, that is where the incompatibility happens.
If we match only those 2 keys, all should work as expected, without the need of custom decoding on Swift.
@baptiste-veyrard the reason for this not using your own JSON Decoder for decoding the session, is because I didn't want to expose the decoding/encoding of the internal stored session, and let you customize the storing/retrieving of raw Data through the custom local storage only.
Action items

Rename keys to match on both Swift and Flutter; or
Remove the wrapping keys, and store session directly.

@dshukertjr which one you prefer? (I prefer 2, as there is not need for the wrapping keys anymore)

@baptiste-veyrard

The format you provided is the session itself, in JSON, but when stored, it uses the following piece of code in session.dart (file of the supabase flutter package).

That was the behavior of the v1 package, and it is no longer the behavior in the latest versions. Please use the latest versions to verify the most up-to-date behavior.


Errno::ECONNRESET:  Connection reset by peer on Ubuntu 13.04

capybara-webkit 1.0.0
capybara 2.0.1
All my capybara-webkit specs are failing with the above error. In addition, I'm getting
Errno::EPIPE: Broken pipe
  occurred at path_to_gemset/gems/capybara-webkit-1.0.0/lib/capybara/webkit/connection.rb:28:in `write'

Sadly, this is all the output I got, even with webkit_debug.
This originally happened with the default 4.8.4 Qt installed with Ubuntu.
I got the same result when building the gem against Qt 5.0.2 installed from http://qt-project.org/download
I suspect this may be related to https://github.com/thoughtbot/capybara-webkit/issues/435 and/or https://github.com/thoughtbot/capybara-webkit/issues/535

@smeyfroi I have tried setting up a Vagrant VM with 8GB of memory, but I'm still running into the same issue on Ubuntu 14.04.
$ cat /proc/meminfo
MemTotal:        8176852 kB
I did find an interesting entry in the system logs:
[ 2687.245928] traps: webkit_server[3261] general protection ip:7f83a190f787 sp:7fff8c16bfe0 error:0 in libQtWebKit.so.4.10.2[7f83a0430000+1fc9000]
Has anyone seen the same message?

So, I just went back and tried parallel_tests after some time and many updates to libraries.  Unfortunately, the dreaded random (Errno::EPIPE) is still there.
I'm on:
Ubuntu 14.04.1 LTS
libqt5webkit5-dev 5.1.1-1ubuntu8
qtdeclarative5-dev 5.2.1-3ubuntu15.1

Gemfile.lock - related gems:
    capybara (2.4.4)
    capybara-webkit (1.4.1)

Here's a gist of my configuration.  Perhaps the relevant parts of potential misconfiguration could be:
# try to get a unique port, important for parallels tests
# if ENV['TEST_ENV_NUMBER']
test_env_number = ENV['TEST_ENV_NUMBER']
test_env_number ||= 1
test_port = 9887 + test_env_number.to_i
#test_port += 1 while is_port_open?(@port) and not is_running_on_port?(@port)

puts "Capybara::Server.port: #{test_port} for test process: #{test_env_number}"
Capybara.server_port = test_port
# end

if $headless_server.nil?

  # Unnecessary on mac, see https://github.com/leonid-shevtsov/headless/issues/31#issuecomment-8933108
  if !OS.mac?
    require 'headless'
    # allow display autopick (by default)
    # allow each headless to destroy_at_exit (by default)
    # allow each process to have their own headless by setting reuse: false
    # $headless_server = Headless.new(reuse: false)
    $headless_server = Headless.new(reuse: true, destroy_at_exit: false)
    $headless_server.start

    puts "Process[#{Process.pid}] started headless server display: #{$headless_server.display}"
  end
end

at_exit do
  unless $headless_server.nil?
    puts "Process[#{Process.pid}] destroying headless server on display: #{$headless_server.display}"
    $headless_server.destroy
  end
end

Here's a full stack trace from a broken test that works in synchronous mode:
Message:

    Broken pipe (Errno::EPIPE)
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/capybara-webkit-1.4.1/lib/capybara/webkit/connection.rb:30:in `write'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/capybara-webkit-1.4.1/lib/capybara/webkit/connection.rb:30:in `puts'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/capybara-webkit-1.4.1/lib/capybara/webkit/connection.rb:30:in `puts'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/capybara-webkit-1.4.1/lib/capybara/webkit/browser.rb:204:in `command'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/capybara-webkit-1.4.1/lib/capybara/webkit/browser.rb:38:in `reset!'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/capybara-webkit-1.4.1/lib/capybara/webkit/driver.rb:251:in `reset!'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/capybara-2.4.4/lib/capybara/session.rb:103:in `reset!'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/capybara-2.4.4/lib/capybara.rb:257:in `block in reset_sessions!'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/capybara-2.4.4/lib/capybara.rb:257:in `each'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/capybara-2.4.4/lib/capybara.rb:257:in `reset_sessions!'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/capybara-2.4.4/lib/capybara/cucumber.rb:8:in `After'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/core_ext/instance_exec.rb:36:in `cucumber_instance_exec'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/rb_support/rb_hook.rb:14:in `invoke'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/language_support/language_methods.rb:114:in `invoke'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/language_support/language_methods.rb:108:in `block in execute_after'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/language_support/language_methods.rb:107:in `reverse_each'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/language_support/language_methods.rb:107:in `execute_after'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/language_support/language_methods.rb:19:in `after'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/runtime/support_code.rb:112:in `block in fire_hook'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/runtime/support_code.rb:111:in `each'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/runtime/support_code.rb:111:in `fire_hook'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/runtime.rb:113:in `after'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/runtime.rb:100:in `before_and_after'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/runtime.rb:82:in `block in with_hooks'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/runtime/support_code.rb:120:in `call'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/runtime/support_code.rb:120:in `block (3 levels) in around'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/language_support/language_methods.rb:9:in `block in around'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/language_support/language_methods.rb:94:in `call'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/language_support/language_methods.rb:94:in `block (3 levels) in execute_around'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/database_cleaner-1.4.0/lib/database_cleaner/generic/base.rb:15:in `cleaning'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/database_cleaner-1.4.0/lib/database_cleaner/base.rb:92:in `cleaning'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/database_cleaner-1.4.0/lib/database_cleaner/configuration.rb:86:in `block (2 levels) in cleaning'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/database_cleaner-1.4.0/lib/database_cleaner/configuration.rb:87:in `call'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/database_cleaner-1.4.0/lib/database_cleaner/configuration.rb:87:in `cleaning'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/database_cleaner-1.4.0/lib/database_cleaner/cucumber.rb:2:in `block in <top (required)>'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/core_ext/instance_exec.rb:48:in `instance_exec'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/core_ext/instance_exec.rb:48:in `block in cucumber_instance_exec'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/core_ext/instance_exec.rb:69:in `cucumber_run_with_backtrace_filtering'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/core_ext/instance_exec.rb:36:in `cucumber_instance_exec'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/rb_support/rb_hook.rb:14:in `invoke'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/language_support/language_methods.rb:114:in `invoke'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/language_support/language_methods.rb:93:in `block (2 levels) in execute_around'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/language_support/language_methods.rb:97:in `call'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/language_support/language_methods.rb:97:in `execute_around'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/language_support/language_methods.rb:8:in `around'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/runtime/support_code.rb:119:in `block (2 levels) in around'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/runtime/support_code.rb:123:in `call'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/runtime/support_code.rb:123:in `around'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/runtime.rb:94:in `around'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/runtime.rb:81:in `with_hooks'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/outline_table.rb:117:in `accept_plain'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/outline_table.rb:107:in `accept'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/tree_walker.rb:138:in `block in visit_table_row'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/tree_walker.rb:170:in `broadcast'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/tree_walker.rb:137:in `visit_table_row'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/outline_table.rb:27:in `block in accept'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/outline_table.rb:23:in `each'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/outline_table.rb:23:in `each_with_index'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/outline_table.rb:23:in `accept'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/tree_walker.rb:90:in `block in visit_outline_table'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/tree_walker.rb:170:in `broadcast'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/tree_walker.rb:89:in `visit_outline_table'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/examples.rb:25:in `accept'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/tree_walker.rb:80:in `block in visit_examples'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/tree_walker.rb:170:in `broadcast'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/tree_walker.rb:79:in `visit_examples'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/scenario_outline.rb:19:in `block in accept'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/scenario_outline.rb:18:in `each'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/scenario_outline.rb:18:in `accept'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/tree_walker.rb:74:in `block in visit_examples_array'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/tree_walker.rb:170:in `broadcast'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/tree_walker.rb:73:in `visit_examples_array'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/scenario_outline.rb:45:in `accept'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/tree_walker.rb:58:in `block in visit_feature_element'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/tree_walker.rb:170:in `broadcast'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/tree_walker.rb:57:in `visit_feature_element'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/feature.rb:38:in `block in accept'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/feature.rb:37:in `each'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/feature.rb:37:in `accept'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/tree_walker.rb:27:in `block in visit_feature'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/tree_walker.rb:170:in `broadcast'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/tree_walker.rb:26:in `visit_feature'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/features.rb:28:in `block in accept'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/features.rb:17:in `each'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/features.rb:17:in `each'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/features.rb:27:in `accept'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/tree_walker.rb:21:in `block in visit_features'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/tree_walker.rb:170:in `broadcast'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/ast/tree_walker.rb:20:in `visit_features'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/runtime.rb:49:in `run!'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/lib/cucumber/cli/main.rb:47:in `execute!'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/gems/cucumber-1.3.18/bin/cucumber:13:in `<top (required)>'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/bin/cucumber:23:in `load'
/home/apps/.rvm/gems/ruby-2.2.0@af_core/bin/cucumber:23:in `<main>'

This is killing me; single-process runs are up to 45 minutes, while multi-process is under 10 minutes.
How can I help?  Any thoughts on a workaround or reset?

Related issues could be #68.  Running with :webkit_debug now to see if anything interesting turns up.

Hey @rosskevin, it's certainly possible that the Headless gem is mismanaging the Xvfb server that the webkit_server process is running in. This would cause the webkit_server process to crash. I'd recommend wrapping your parallel executor in xvfb-run, as documented in the 'README'.

@mhoran -
As feedback from :webkit_debug, it was mentioned somewhere, and now I can confirm that when running with :webkit_debug, I have no (Errno::EPIPE) failures.  Perhaps that is something we can work with?
I'll try xvfb-run without headless now.

@mhoran - while I have other errors, I do not have (Errno::EPIPE) with xvfb-run.  I'll try to go down this path and see if I can make it work.

Hello, we have been experiencing this Broken Pipe error for a long time. We also use paralellism (through CircleCI). I tried running with :webkit_debug, but still received the failures.
The nature of the problem appears to be a race condition, we can never find a way to effectively reproduce it, save from just re-running our tests until it randomly happens again. (Which appears to be about 1 in 5.)
Once the error happens, all following tests fail, but it's not necessarily the first test that fails. Sometimes 341 tests fail, then 376, then 381. However I do notice that the failure happens towards the start, rather than toward the end of the tests.
Here's some of the debug output from the most recent test running through :webkit-debug:
Wrote response true "http://<IP_ADDRESS>:54428/en/classes/54eb0dcc4447582a54001df7"
Received "Reset()"
Started "Reset()"
Finished "Reset()" with response "Success()"
Wrote response true ""
Received "FindXpath(/html/body/*)"
Started "FindXpath(/html/body/*)"
Finished "FindXpath(/html/body/*)" with response "Success()"
Wrote response true ""
.Received "AllowUrl(connect.facebook.net)"
Started "AllowUrl(connect.facebook.net)"
Finished "AllowUrl(connect.facebook.net)" with response "Success()"
Wrote response true ""
Received "AllowUrl(cdn.mxpnl.com)"
Started "AllowUrl(cdn.mxpnl.com)"
Finished "AllowUrl(cdn.mxpnl.com)" with response "Success()"
Wrote response true ""
Received "AllowUrl(fonts.googleapis.com)"
Started "AllowUrl(fonts.googleapis.com)"
Finished "AllowUrl(fonts.googleapis.com)" with response "Success()"
Wrote response true ""
Received "AllowUrl(assets.zendesk.com)"
Started "AllowUrl(assets.zendesk.com)"
Finished "AllowUrl(assets.zendesk.com)" with response "Success()"
Wrote response true ""
Received "BlockUrl(browser-update.org)"
Started "BlockUrl(browser-update.org)"
Finished "BlockUrl(browser-update.org)" with response "Success()"
Wrote response true ""
Received "SetCookie(quipper_auth_token=PPWVvJc9hhzTNeZOD99afs1TKxQyOOJZFXm2Rkjfhu7wPHAIfCE3ww8wygHs9K4NwBlFDYztRyaJZtDcfa5miQ%3D%3D; path=/; domain=<IP_ADDRESS>;)"
Started "SetCookie(quipper_auth_token=PPWVvJc9hhzTNeZOD99afs1TKxQyOOJZFXm2Rkjfhu7wPHAIfCE3ww8wygHs9K4NwBlFDYztRyaJZtDcfa5miQ%3D%3D; path=/; domain=<IP_ADDRESS>;)"
Finished "SetCookie(quipper_auth_token=PPWVvJc9hhzTNeZOD99afs1TKxQyOOJZFXm2Rkjfhu7wPHAIfCE3ww8wygHs9K4NwBlFDYztRyaJZtDcfa5miQ%3D%3D; path=/; domain=<IP_ADDRESS>;)" with response "Success()"
Wrote response true ""
Received "SetCookie(quipper_auth_token=8CVnnF7jb3GuFNmg4wCCeeQw8LaFBbY7xiDULbUrLLao2H%2BOXft8x8LTSDPYPeVv48JKAnoJ7lLVU5I1n5itEQ%3D%3D; path=/; domain=<IP_ADDRESS>;)"
Started "SetCookie(quipper_auth_token=8CVnnF7jb3GuFNmg4wCCeeQw8LaFBbY7xiDULbUrLLao2H%2BOXft8x8LTSDPYPeVv48JKAnoJ7lLVU5I1n5itEQ%3D%3D; path=/; domain=<IP_ADDRESS>;)"
Finished "SetCookie(quipper_auth_token=8CVnnF7jb3GuFNmg4wCCeeQw8LaFBbY7xiDULbUrLLao2H%2BOXft8x8LTSDPYPeVv48JKAnoJ7lLVU5I1n5itEQ%3D%3D; path=/; domain=<IP_ADDRESS>;)" with response "Success()"
Wrote response true ""
Received "Visit(http://<IP_ADDRESS>:54428/en/classes/54eb0dcd4447582a54001e20)"
Started "Visit(http://<IP_ADDRESS>:54428/en/classes/54eb0dcd4447582a54001e20)"
Load started
"Visit(http://<IP_ADDRESS>:54428/en/classes/54eb0dcd4447582a54001e20)" started page load
Started request to "http://<IP_ADDRESS>:54428/en/classes/54eb0dcd4447582a54001e20"
Finished "Visit(http://<IP_ADDRESS>:54428/en/classes/54eb0dcd4447582a54001e20)" with response "Success()"
Started request to "http://<IP_ADDRESS>:54428/assets/qstrap.css"
Started request to "http://<IP_ADDRESS>:54428/assets/application.css"
Started request to "http://<IP_ADDRESS>:54428/assets/application.js"
Received 200 from "http://<IP_ADDRESS>:54428/en/classes/54eb0dcd4447582a54001e20"
Received 304 from "http://<IP_ADDRESS>:54428/assets/application.css"
Received 304 from "http://<IP_ADDRESS>:54428/assets/application.js"
Received 304 from "http://<IP_ADDRESS>:54428/assets/qstrap.css"

  An error occurred in an after hook
    Errno::EPIPE: Broken pipe
    occurred at /home/ubuntu/qlink/vendor/bundle/ruby/2.2.0/gems/capybara-webkit-1.4.1/lib/capybara/webkit/connection.rb:30:in `write'

  An error occurred in an after hook
    Errno::EPIPE: Broken pipe
    occurred at /home/ubuntu/qlink/vendor/bundle/ruby/2.2.0/gems/capybara-webkit-1.4.1/lib/capybara/webkit/connection.rb:30:in `write'

(After which we got about 300 repetitions of "An error occurred in an after hook...")

Cheers @mhoran!
We've occasionally seen this issue on CircleCI, the other day it started happening repeatedly.
Wrapping our runner in xvfb-run (as mentioned in the readme) fixed the repeated failures, we haven't seen a sporadic broken pipe since then.
There's an example of our circle.yml in our related blog http://engineering.interexchange.org/blog/2015/02/24/circleci-capybara-xvfb.html#returning-to-capybara-webkit

Hi, team.
It's been a while since the last update in the PR, but recently I hit this issue and cannot fix, so I want to have some advise for how to debug. Here is my environment.
Ubuntu 12.04
Qt 5.3
Ruby 2.2.2p95
capybara-webkit 1.5.1
capybara 2.4.4
rspec 3.2.0

I randomly get the Errno::EPIPE: Broken pipe error just like others. I've turned on webkit_debug and this is what I got.
Wrote response true "input"
Received "Node.attribute"
Started "Node.attribute"
Finished "Node.attribute" with response "Success(true)"
Wrote response true "true"
Received "Reset()"
Started "Reset()"

  An error occurred in an after hook
    Errno::EPIPE: Broken pipe
    occurred at /home/ubuntu/*******/vendor/bundle/ruby/2.2.0/gems/capybara-webkit-1.5.1/lib/capybara/webkit/connection.rb:30:in `write'

and all subsequent tests fail with the same error, so I think webkit-server is crashed with Reset().
I tried to wrap my rspec command with xvfb-run but no luck.
Any idea to debug further?
I think there used to be a way to get stacktrace of webkit-server with breakpad branch but does that still work?
Thank you for you help.

Hey @kimh, thanks for reporting this!
Could this be a duplicate of #777?
Could you try using the jf-reset-crash branch to see if that resolves the issue for you?

@calebthompson
I don't think this is the duplicate of #777. We started having a issue about a month ago while #777 was introduced only recently. I believe this is still part of #540.
I'm from CircleCI and my customer had the issue, but I can't reproduce this on my side. I'll ask them to try jf-reset-crash branch when the customer had the issue next time.

I think you meant @calleerlandsson

Ah, you are right @calebthompson. Sorry about that!!

In #777, the offending commit seems to be f8f2048 which is also in the 1.5.1 release in the form of 0fde455, so I'm not sure it can be ruled out.

I am seeing this issue as well, quite reproducibly I am afraid.  I am working on getting our build running in Jenkins (currently we are using Solano, which only occasionally sees this error) and the failure occurs 100% of the time, usually after any single test completes.  I am happy to dig into this if I can get some support, this is a high priority issue for me and seems many others would also benefit from finally resolving this.
CI Environment (failing):
ubuntu 14.04
Qt 5.2.1
capybara 2.4.4
gem 'capybara-webkit', git: 'git@github.com:thoughtbot/capybara-webkit.git', branch: 'jf-reset-crash'

Local Environment (tests work):
OS X 10.10.3
Qt 5.4.2
capybara 2.4.4
gem 'capybara-webkit', git: 'git@github.com:thoughtbot/capybara-webkit.git', branch: 'jf-reset-crash'

So, I added some additional logging around sending of requests:
module Capybara
  module Webkit
    module ExtendedDebug
      def puts(string)
        @output_target << "putting: #{string}\n"
        super
      end

      def print(string)
        @output_target << "printing: #{string}\n"
        super
      end
    end

    class Connection
      prepend ExtendedDebug
    end
  end
end

Initially, at the end of any given test, here is what I see when running this code on my mac (passing):
putting: Reset
putting: 0
Received "Reset()"
Started "Reset()"
Aborting request ...

Here we can see that Capybara::Webkit::Browser#command is working normally.  It sends the command, followed by the argument count (0), and then we get debug messages back from the webkit server when using the :webkit_debug driver.
Now, when I run this same code on Jenkins, I see:
Received 200 from "http://<IP_ADDRESS>:33795/assets/v3/application.js"
putting: Reset
  An error occurred in an after hook
    Errno::EPIPE: Broken pipe
    occurred at /var/lib/jenkins/.rvm/gems/ruby-2.1.5/bundler/gems/capybara-webkit-d287acfef3ec/lib/capybara/webkit/connection.rb:36:in `write'

Like @sethjeffery, the last command prior to Reset was Visit.  Whether or not that is relevant I am not sure but it seems highly suspect that the issue only occurs sometimes for most people, and I have even seen some reports where adding a wait after their tests resolves the issue.  I suspect there is some asynchronous javascript or something else happening in the background that is causing the failure to occur.
That being said, it is interesting that only the command is sent and not the arguments, which indicates either a) the webkit-server has already died and/or otherwise fails to serve the request when the reset command message is sent or b) it dies while processing the argument.

After further investigation, there is definitely a failure occurring prior to the Broken pipe exception, but it is not reported (by rspec) until the end of the tests.  I've seen a couple different error:
     EOFError:
       end of file reached
     # /var/lib/jenkins/.rvm/gems/ruby-2.1.5/bundler/gems/capybara-webkit-d287acfef3ec/lib/capybara/webkit/connection.rb:55:in `read_nonblock'
     # /var/lib/jenkins/.rvm/gems/ruby-2.1.5/bundler/gems/capybara-webkit-d287acfef3ec/lib/capybara/webkit/connection.rb:55:in `read'

     Errno::ECONNRESET:
       Connection reset by peer
     # /var/lib/jenkins/.rvm/gems/ruby-2.1.5/bundler/gems/capybara-webkit-d287acfef3ec/lib/capybara/webkit/connection.rb:55:in `read_nonblock'
     # /var/lib/jenkins/.rvm/gems/ruby-2.1.5/bundler/gems/capybara-webkit-d287acfef3ec/lib/capybara/webkit/connection.rb:55:in `read'
     # /var/lib/jenkins/.rvm/gems/ruby-2.1.5/bundler/gems/capybara-webkit-d287acfef3ec/lib/capybara/webkit/connection.rb:46:in `gets'
     # /var/lib/jenkins/.rvm/gems/ruby-2.1.5/bundler/gems/capybara-webkit-d287acfef3ec/lib/capybara/webkit/browser.rb:287:in `check'
     # /var/lib/jenkins/.rvm/gems/ruby-2.1.5/bundler/gems/capybara-webkit-d287acfef3ec/lib/capybara/webkit/browser.rb:210:in `command'
     # /var/lib/jenkins/.rvm/gems/ruby-2.1.5/bundler/gems/capybara-webkit-d287acfef3ec/lib/capybara/webkit/browser.rb:34:in `find_css'
     # /var/lib/jenkins/.rvm/gems/ruby-2.1.5/bundler/gems/capybara-webkit-d287acfef3ec/lib/capybara/webkit/driver.rb:55:in `find_css'
     # /var/lib/jenkins/.rvm/gems/ruby-2.1.5/gems/capybara-2.4.4/lib/capybara/node/base.rb:102:in `find_css'

Let me know if I should log this as a new issue, it's unclear whether or not it is the same as the original issue as started this thread.

@tmertens I just released 1.5.2 with some crash fixes. Can you give that a shot?

Thanks @jferris I tried it to no effect:
Started request to "http://<IP_ADDRESS>:52700/assets/v3/home2/blue-banner-bg.jpg"
Started request to<EMAIL_ADDRESS>Started request to "http://<IP_ADDRESS>:52700/assets/v3/tv2/green-arrow-left.png"
Started request to "http://<IP_ADDRESS>:52700/assets/v3/home2/icons/ico-clock.png"
Started request to "http://<IP_ADDRESS>:52700/assets/v3/home2/icons/ico-bank.png"
Started request to "http://<IP_ADDRESS>:52700/assets/v3/home2/icons/ico-chart.png"
Started request to "http://<IP_ADDRESS>:52700/assets/v3/home2/logo-icon-dark.png"
Started request to "http://<IP_ADDRESS>:52700/assets/v3/home2/steps.png"
Started request to "http://<IP_ADDRESS>:52700/assets/v3/home2/press-logos.png"
Started request to<EMAIL_ADDRESS>Started request to "http://<IP_ADDRESS>:52700/assets/v3/home2/icons/ico-chart2.png"
Started request to "http://<IP_ADDRESS>:52700/assets/v3/home2/icons/ico-lock.png"
Started request to "http://<IP_ADDRESS>:52700/assets/v3/home2/icons/ico-support.png"
Started request to<EMAIL_ADDRESS>Started request to "http://<IP_ADDRESS>:52700/assets/v3/application.js"
Received 200 from "http://<IP_ADDRESS>:52700/assets/v3/application.js"
Received 200 from "http://<IP_ADDRESS>:52700/assets/v3/apply-slider.js"
Received 200 from "http://<IP_ADDRESS>:52700/assets/v3/homepage.js"
Received 200 from "http://<IP_ADDRESS>:52700/assets/v3/home2/blue-banner-bg.jpg"
Received 200 from<EMAIL_ADDRESS>Received 200 from "http://<IP_ADDRESS>:52700/assets/v3/tv2/green-arrow-left.png"
Received 200 from "http://<IP_ADDRESS>:52700/assets/v3/home2/icons/ico-clock.png"
Received 200 from<EMAIL_ADDRESS>Received 200 from "http://<IP_ADDRESS>:52700/assets/v3/home2/icons/ico-chart.png"
Received 200 from "http://<IP_ADDRESS>:52700/assets/v3/home2/icons/ico-bank.png"
Received 200 from "http://<IP_ADDRESS>:52700/assets/v3/home2/steps.png"
Received 200 from "http://<IP_ADDRESS>:52700/assets/v3/home2/logo-icon-dark.png"
Received 200 from "http://<IP_ADDRESS>:52700/assets/v3/home2/press-logos.png"
Received 200 from "http://<IP_ADDRESS>:52700/assets/v3/application.js"
Received 200 from "http://<IP_ADDRESS>:52700/assets/v3/home2/icons/ico-chart2.png"
Received 200 from "http://<IP_ADDRESS>:52700/assets/v3/home2/icons/ico-lock.png"
Received 200 from<EMAIL_ADDRESS>Received 200 from "http://<IP_ADDRESS>:52700/assets/v3/home2/icons/ico-support.png"
putting: Reset

  An error occurred in an after hook
    Errno::EPIPE: Broken pipe
    occurred at /var/lib/jenkins/.rvm/gems/ruby-2.1.5/gems/capybara-webkit-1.5.2/lib/capybara/webkit/connection.rb:30:in `write'

and rspec results show:
Failures:

  1) Content pages redirect /index to /
     Failure/Error: page.load
     EOFError:
       end of file reached
     # /var/lib/jenkins/.rvm/gems/ruby-2.1.5/gems/capybara-webkit-1.5.2/lib/capybara/webkit/connection.rb:49:in `read_nonblock'
     # /var/lib/jenkins/.rvm/gems/ruby-2.1.5/gems/capybara-webkit-1.5.2/lib/capybara/webkit/connection.rb:49:in `read'
     # /var/lib/jenkins/.rvm/gems/ruby-2.1.5/gems/capybara-webkit-1.5.2/lib/capybara/webkit/connection.rb:40:in `gets'
     # /var/lib/jenkins/.rvm/gems/ruby-2.1.5/gems/capybara-webkit-1.5.2/lib/capybara/webkit/browser.rb:283:in `check'
     # /var/lib/jenkins/.rvm/gems/ruby-2.1.5/gems/capybara-webkit-1.5.2/lib/capybara/webkit/browser.rb:210:in `command'
     # /var/lib/jenkins/.rvm/gems/ruby-2.1.5/gems/capybara-webkit-1.5.2/lib/capybara/webkit/browser.rb:18:in `visit'
     # /var/lib/jenkins/.rvm/gems/ruby-2.1.5/gems/capybara-webkit-1.5.2/lib/capybara/webkit/driver.rb:41:in `visit'
     # /var/lib/jenkins/.rvm/gems/ruby-2.1.5/gems/capybara-2.4.4/lib/capybara/session.rb:227:in `visit'
     # /var/lib/jenkins/.rvm/gems/ruby-2.1.5/gems/capybara-2.4.4/lib/capybara/dsl.rb:51:in `block (2 levels) in <module:DSL>'
     # /var/lib/jenkins/.rvm/gems/ruby-2.1.5/gems/site_prism-2.6/lib/site_prism/page.rb:10:in `load'
     # ./spec/acceptance/en-US/content_page_spec.rb:13:in `block (3 levels) in <top (required)>'
     # ./spec/acceptance/en-US/content_page_spec.rb:12:in `tap'
     # ./spec/acceptance/en-US/content_page_spec.rb:12:in `block (2 levels) in <top (required)>'
     # ./spec/rails_helper.rb:139:in `block (2 levels) in <top (required)>'

@jferris It seems that this is related in some way to the loading of application.js.  The crash always occurs after the reply is destroyed.  Given the debug code:
void WebPageManager::replyDestroyed(QObject *reply) {
  logger() << "handling reply destroyed for" << ((QNetworkReply *) reply)->url().toString();
  m_pendingReplies.removeAll((QNetworkReply *) reply);
  logger() << "Pending Reply: " << m_pendingReplies.size();
  foreach(QNetworkReply *reply, m_pendingReplies) {
    logger() << "Pending Reply: " << reply->url().toString();
  }
}

The 'pending reply' list varies, but the reply being destroyed is always application.js:
handling reply destroyed for "http://<IP_ADDRESS>:33245/assets/v3/application.js"
Pending Reply:  1
Pending Reply<EMAIL_ADDRESS>

@jferris I'm not sure where to go from here.  If you can provide direction on what to look at, I would be happy to debug further.  Thanks!

@tmertens could you link the full :webkit_debug log?

@jferris I don't see much of use here, but here:
putting: EnableLogging
putting: 0
Finished "EnableLogging()" with response "Success()"
Wrote response true ""
putting: SetUnknownUrlMode
putting: 1
putting: 5
printing: block
Received "SetUnknownUrlMode(block)"
Started "SetUnknownUrlMode(block)"
Finished "SetUnknownUrlMode(block)" with response "Success()"
Wrote response true ""
putting: Visit
putting: 1
putting: 52
printing: http://<IP_ADDRESS>:58264/comparison/credit_cards
Received "Visit(http://<IP_ADDRESS>:58264/comparison/credit_cards)"
Started "Visit(http://<IP_ADDRESS>:58264/comparison/credit_cards)"
Load started
"Visit(http://<IP_ADDRESS>:58264/comparison/credit_cards)" started page load
Started request to "http://<IP_ADDRESS>:58264/comparison/credit_cards"
Finished "Visit(http://<IP_ADDRESS>:58264/comparison/credit_cards)" with response "Success()"
Started request to "http://<IP_ADDRESS>:58264/assets/v3/application.css"
Started request to "http://<IP_ADDRESS>:58264/assets/v3/application.js"
Started request to "http://<IP_ADDRESS>:58264/assets/v3/apply-slider.js"
[Report Only] Refused to load the script 'http://tags.extole.com/28268/core.js' because it violates the following Content Security Policy directive: "script-src https://* 'self' 'unsafe-inline' 'unsafe-eval' http://fast.fonts.com http://assets.zendesk.com".

handling reply finished
Received "http://<IP_ADDRESS>:58264/comparison/credit_cards"
Received 200 from "http://<IP_ADDRESS>:58264/comparison/credit_cards"
reply finished "http://<IP_ADDRESS>:58264/comparison/credit_cards"
reply finished "https://fonts.googleapis.com/css?family=Open+Sans:400italic,400,300,600,700%7CGloria+Hallelujah"
reply finished "http://tags.extole.com/28268/core.js"
handling reply destroyed for "http://<IP_ADDRESS>:58264/comparison/credit_cards"
Pending Reply:  3
Pending Reply:  "http://<IP_ADDRESS>:58264/assets/v3/application.css"
Pending Reply:  "http://<IP_ADDRESS>:58264/assets/v3/application.js"
Pending Reply:  "http://<IP_ADDRESS>:58264/assets/v3/apply-slider.js"
handling reply finished
Received "http://<IP_ADDRESS>:58264/assets/v3/application.css"
Received 200 from "http://<IP_ADDRESS>:58264/assets/v3/application.css"
reply finished "http://<IP_ADDRESS>:58264/assets/v3/application.css"
http://<IP_ADDRESS>:58264/comparison/credit_cards|50|Consider using 'dppx' units instead of 'dpi', as in CSS 'dpi' means dots-per-CSS-inch, not dots-per-physical-inch, so does not correspond to the actual 'dpi' of a screen. In media query expression: (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 138dpi), (min-resolution: 1.5dppx)
http://<IP_ADDRESS>:58264/comparison/credit_cards|50|Consider using 'dppx' units instead of 'dpi', as in CSS 'dpi' means dots-per-CSS-inch, not dots-per-physical-inch, so does not correspond to the actual 'dpi' of a screen. In media query expression: (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 138dpi), (min-resolution: 1.5dppx)
http://<IP_ADDRESS>:58264/comparison/credit_cards|50|Consider using 'dppx' units instead of 'dpi', as in CSS 'dpi' means dots-per-CSS-inch, not dots-per-physical-inch, so does not correspond to the actual 'dpi' of a screen. In media query expression: (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 138dpi), (min-resolution: 1.5dppx)
http://<IP_ADDRESS>:58264/comparison/credit_cards|50|Consider using 'dppx' units instead of 'dpi', as in CSS 'dpi' means dots-per-CSS-inch, not dots-per-physical-inch, so does not correspond to the actual 'dpi' of a screen. In media query expression: (-webkit-min-device-pixel-ratio: 1.5), not all, not all, not all, (min-resolution: 138dpi), (min-resolution: 1.5dppx)
http://<IP_ADDRESS>:58264/comparison/credit_cards|50|Consider using 'dppx' units instead of 'dpi', as in CSS 'dpi' means dots-per-CSS-inch, not dots-per-physical-inch, so does not correspond to the actual 'dpi' of a screen. In media query expression: (-webkit-min-device-pixel-ratio: 1.5), not all, not all, not all, (min-resolution: 138dpi), (min-resolution: 1.5dppx)
[Report Only] Refused to load the image<EMAIL_ADDRESS>because it violates the following Content Security Policy directive: "img-src https://* data:".

[Report Only] Refused to load the image 'http://<IP_ADDRESS>:58264/assets/v3/fico-notices/fico-credit-notice.png' because it violates the following Content Security Policy directive: "img-src https://* data:".

[Report Only] Refused to load the image<EMAIL_ADDRESS>because it violates the following Content Security Policy directive: "img-src https://* data:".

Started request to<EMAIL_ADDRESS>Started request to "http://<IP_ADDRESS>:58264/assets/v3/fico-notices/fico-credit-notice.png"
Started request to<EMAIL_ADDRESS>handling reply destroyed for "http://<IP_ADDRESS>:58264/assets/v3/application.css"
Pending Reply:  5
Pending Reply:  "http://<IP_ADDRESS>:58264/assets/v3/application.js"
Pending Reply:  "http://<IP_ADDRESS>:58264/assets/v3/apply-slider.js"
Pending Reply<EMAIL_ADDRESS>Pending Reply:  "http://<IP_ADDRESS>:58264/assets/v3/fico-notices/fico-credit-notice.png"
Pending Reply<EMAIL_ADDRESS>handling reply finished
Received "http://<IP_ADDRESS>:58264/assets/v3/application.js"
Received 200 from "http://<IP_ADDRESS>:58264/assets/v3/application.js"
reply finished "http://<IP_ADDRESS>:58264/assets/v3/application.js"
handling reply finished
Received "http://<IP_ADDRESS>:58264/assets/v3/apply-slider.js"
Received 200 from "http://<IP_ADDRESS>:58264/assets/v3/apply-slider.js"
reply finished "http://<IP_ADDRESS>:58264/assets/v3/apply-slider.js"
handling reply finished
Received "http://<IP_ADDRESS>:58264/assets/v3/fico-notices/fico-credit-notice.png"
Received 200 from "http://<IP_ADDRESS>:58264/assets/v3/fico-notices/fico-credit-notice.png"
reply finished "http://<IP_ADDRESS>:58264/assets/v3/fico-notices/fico-credit-notice.png"
handling reply finished
Received<EMAIL_ADDRESS>Received 200 from<EMAIL_ADDRESS>reply finished<EMAIL_ADDRESS>handling reply finished
Received<EMAIL_ADDRESS>Received 200 from<EMAIL_ADDRESS>reply finished<EMAIL_ADDRESS>handling reply destroyed for "http://<IP_ADDRESS>:58264/assets/v3/application.js"
Pending Reply:  0
putting: Reset

  An error occurred in an after hook
    Errno::EPIPE: Broken pipe
    occurred at /var/lib/jenkins/.rvm/gems/ruby-2.1.5/bundler/gems/capybara-webkit-ecdc77d4736c/lib/capybara/webkit/connection.rb:36:in `write'

@jferris Any suggestions/recommendations on how to proceed?

I want to mention that we haven't seen this error again since switching to xvfb-run on Ubuntu.  We were receiving it consistently on every build prior to the switch.

@rosskevin Would you mind posting more information about your environment? e.g. versions of Ubuntu, Qt, and capybara-webkit?

@tmertens
Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-53-generic x86_64)
capybara-webkit (1.5.2)
capybara (2.4.4)
QMake version 3.0
Using Qt version 5.2.1 in /usr/lib/x86_64-linux-gnu

I run into the same issue. I am trying to setup circleci and I am using capybara webkit. I tried to setup the xvfb as some of you mentioned, with no luck:
This is my circleci.yml file:
machine:
  timezone:
    America/Los_Angeles
  ruby:
    version: 2.3.0
  services:
    - elasticsearch

test:
  override:
    - xvfb-run -a bundle exec rspec

Any ideas?

Closing this due to age.  If this is still an issue with latest releases please create a new issue with a way to replicate.


[Web][CanvasKit] SelectableText.rich selection highlighting is mis-positioned

Hello, I am developing an app with a list of SelectableText.rich and when it's executed I can't select the text and when I try to copy the text it only copies the first TextSpan
Steps to Reproduce

I did upload an example to make it easy to recreate.
Run this GitHub project: Project
Expected results: Can select and copy text
Actual results: Text is not selected and if you try to copy it it only takes first TextSpan

Logs
Flutter analyze
Analyzing untitled...
No issues found! (ran in 5.4s)

Flutter doctor -v

[√] Flutter (Channel beta, 1.25.0-8.3.pre, on Microsoft Windows [VersiÃ³n 10.0.19041.746], locale es-ES)
    • Flutter version 1.25.0-8.3.pre at C:\flutter
    • Framework revision 5d36f2e7f5 (11 days ago), 2021-01-14 15:57:49 -0800
    • Engine revision 7a8f8ca02c
    • Dart version 2.12.0 (build 2.12.0-133.7.beta)

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\pol98\AppData\Local\Android\sdk
    • Platform android-30, build-tools 30.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Android Studio (version 4.1.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] IntelliJ IDEA Ultimate Edition (version 2020.3)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA 2020.3
    • Flutter plugin version 52.2.5
    • Dart plugin version 203.6912

[√] VS Code (version 1.52.1)
    • VS Code at C:\Users\pol98\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension can be installed from:
       https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[√] Connected device (2 available)
    • Chrome (web) • chrome • web-javascript • Google Chrome 87.0.4280.141
    • Edge (web)   • edge   • web-javascript • Microsoft Edge 88.0.705.50

• No issues found!

/cc @mdebbar

/cc @mdebbar

@Fito989 the fix has landed in master and you are on the beta channel. Could you try on master to see if it's still an issue?

@Fito989 the fix has landed in master and you are on the beta channel. Could you try on master to see if it's still an issue?

I switched to master and when i execute it, selection was below the word

I switched to master and when i execute it, selection was below the word

@Fito989 Could you share a minimal code sample that reproduces the issue?

@Fito989 Could you share a minimal code sample that reproduces the issue?

@mdebbar I already shared the code sample, just switch to channel master and test it, you will obtain the result I shared before.

@mdebbar I already shared the code sample, just switch to channel master and test it, you will obtain the result I shared before.

This happens on both CanvasKit and HTML renderers (cc @yjbanov @hterkelsen)
Sharing what I found in the HTML renderer in case it's the same cause for the issue on canvaskit:
On the HTML renderer, the problem is that we set a giant font size (48px) on the paragraph element, but all the spans have a small font size (14px). This causes the <p> element to be unnecessarily tall and that throws off measurements and rendering.

This should be fixed now for the HTML renderer in master.

This is working in CanvasKit now


Register: Suppress and understand warnings from HuberRegressor Function

Reason for refactoring:

Register performance is okay but could be better.
During the register section a lot of warnings are always thrown to the terminal. This is messy and could be indicating wrong usage of a package or a failure for some subvolumes to converge, reducing performance.

Computing shifts for round 3:  75%|█████████████████████████████████████████████████████████████████████████████████▊                           | 3/4 [00:17<00:05,  5.90s/it]/home/paul/miniconda3/envs/mybranch/lib/python3.10/site-packages/numpy/lib/function_base.py:520: RuntimeWarning: Mean of empty slice.
  avg = a.mean(axis, **keepdims_kw)
/home/paul/miniconda3/envs/mybranch/lib/python3.10/site-packages/numpy/core/_methods.py:121: RuntimeWarning: invalid value encountered in divide
  ret = um.true_divide(
/home/paul/miniconda3/envs/mybranch/lib/python3.10/site-packages/numpy/lib/function_base.py:2889: RuntimeWarning: Degrees of freedom <= 0 for slice
  c = cov(x, y, rowvar, dtype=dtype)
/home/paul/miniconda3/envs/mybranch/lib/python3.10/site-packages/numpy/lib/function_base.py:2748: RuntimeWarning: divide by zero encountered in divide
  c *= np.true_divide(1, fact)
/home/paul/miniconda3/envs/mybranch/lib/python3.10/site-packages/numpy/lib/function_base.py:2748: RuntimeWarning: invalid value encountered in multiply
  c *= np.true_divide(1, fact)```

These warnings did not come from the Huber Regressor but rather from np.corrcoef when one of the arrays was all zeroes. I removed the calculation in this case.


refactor: Migrate react-select to Antd Select in Metrics and Filters popovers

SUMMARY
As a first part of https://github.com/apache/incubator-superset/issues/11916, I migrated react-select components in Filters and Metrics popovers to Antd. Next step will be refactoring MetricsControl and AdhocFiltersControl according to designs.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
As you can see on the before/after screenshot, there is 1 difference - in the bottom select input we no longer display placeholder that says how many options are left when there's at least 1 option selected. Antd doesn't support displaying such label.
Before:

After:

TEST PLAN

ADDITIONAL INFORMATION

[ ] Has associated issue:
[x] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

CC: @junlincc @villebro @adam-stasiak

Codecov Report

Merging #12042 (52690b7) into master (1afe915) will decrease coverage by 3.78%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #12042      +/-   ##
==========================================
- Coverage   67.71%   63.93%   -3.79%
==========================================
  Files         952      471     -481
  Lines       46686    29013   -17673
  Branches     4577        0    -4577
==========================================
- Hits        31615    18550   -13065
+ Misses      14958    10463    -4495
+ Partials      113        0     -113

Flag
Coverage Δ

cypress
?

javascript
?

python
63.93% <ø> (-0.66%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

superset/db_engines/hive.py
0.00% <0.00%> (-85.72%)
:arrow_down:

superset/sql_validators/postgres.py
50.00% <0.00%> (-50.00%)
:arrow_down:

superset/db_engine_specs/hive.py
54.61% <0.00%> (-29.62%)
:arrow_down:

superset/db_engine_specs/presto.py
69.95% <0.00%> (-12.45%)
:arrow_down:

superset/db_engine_specs/sqlite.py
65.62% <0.00%> (-9.38%)
:arrow_down:

superset/utils/celery.py
96.42% <0.00%> (-3.58%)
:arrow_down:

superset/examples/world_bank.py
97.10% <0.00%> (-2.90%)
:arrow_down:

superset/db_engine_specs/postgres.py
97.56% <0.00%> (-2.44%)
:arrow_down:

superset/examples/birth_names.py
96.51% <0.00%> (-2.33%)
:arrow_down:

superset/views/database/mixins.py
80.70% <0.00%> (-1.76%)
:arrow_down:

... and 488 more

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 1afe915...52690b7. Read the comment docs.

We only added that placeholder pretty recently. I would hate to have to see it go.
cc @eschutho

We only added that placeholder pretty recently. I would hate to have to see it go.
cc @eschutho

Hmm I see. I'll try to look for a workaround

@kgabryje please progress to the next refactoring/restyling task in Explore first. we can revisit and bring the place holder back after the 18th.
I understand how valuable this new placeholder is to some users, I promise we will bring it back soon.

@kgabryje I think I found a way to use Emotion and the :after pseudo element to handle the placeholder feature. Check it out:
https://codesandbox.io/s/multiple-selection-antd493-forked-pc9h7?file=/index.js

Thanks @rusackas, works like a charm!


Greek Translations of Base R and RStudio IDE cheatsheets

Kleanthis Koupidis and Charalampos Bratsas of School of Mathematics, AuTH and Open Knowledge Greece have provided Greek translations of the RStudio IDE and Base R cheatsheets.

Thank you @kleanthisk10, do you and the other authors have twitter accounts that I can thank when I publicize these translations on twitter? I like to thank the authors in the announcement.

Yes @garrettgman
Kleanthis Koupidis: @Kleanthis_k10
Charalampos Bratsas: @Bratsas
of
Open Knowledge Greece: @okfngr
Aristotle University of Thessaloniki: @Aristoteleio

Thank you very much @kleanthisk10. I've linked the cheatsheets at https://www.rstudio.com/resources/cheatsheets/ and wrote a tweet.


$ is not a function

command line docma -c docma.config.json  there is a error:
$ is not a function

That's not related to CLI.
Do you get this error in browser? It seems jQuery is not found.

in win sys cmd command line .

Pls provide the info below:

Docma version, (global or local?)
Build configuration

env:

win7
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

step1

npm i docma -g

step2

docma -v // Error: Source path(s) is not defined or invalid.

-v options is for verbose logs. If you don't define any source, it throws.
Use --version or -V for Docma version.
I cannot reproduce this error you get.
Pls also provide your Docma build configuration (docma.config.json)
or a sample project if you can, which is better.

closing this. re-open if necessary.

Hi there,
just tried using docma.
Installed it with npm but creating documentation throws the same error:

$ is not a function
docma -V    // 1.5.1

I am working on win10

Pls provide your build config and sample code if possible.
Otherwise I cannot reproduce this problem.

I'm about to release v2.0.0.
Tested the issue you've reported with both current (v1.5.1) and v2.0.0 thoroughly on Win10. Still cannot reproduce this. Both programmatic API and CLI work as expected.
@gongph, @cpetry If you can provide your complete docma.config.json and some (sample) code to document; I'll give it one more try and fix if necessary, before this release. Let me know.

Sorry but I already switched to pure JSDOC.
Works great for me.

I am having the same error, on Windows 10 too, that's with docma 1.5.1.
Full log:
docma -c ./docma.json

Building documentation...

Using Template: Docma Default Template (version: 1.7.0)

Expanding source files...
Expanding: ./js/**/*.js into "API"
Parsing 49 Javascript file(s)...
Copying template files/directories...
Compiling SPA styles...
Compiling SPA scripts...
Writing SPA main file...
$ is not a function

It'as crashing here:
docma.template.js:
                    .edit(function (window) {
                        $this.$debug.info(window.$, window);
                        var $ = window.$,
                            head = $('head'),

window.$ is not defined.

jQuery's path seem to be fine:

C:\Users\Nicolas\AppData\Roaming\npm\node_modules\docma\lib\web\components\jquery.min.js

But for some reason, jsdom fails to load it.
I tried replacing it with some hardcoded url in html-parser.js and it fixes the problem.

@onury I submited a pull_request that adresses this bug.


CFE-694: CSV changes for olm release channel, version, annotations

CSV changes:

[x] Annotations:

[x] alm-examples
[x] operatorframework.io/initialization-resource
[x] operatorframework.io/suggested-namespace
[x] operators.openshift.io/infrastructure-features
[x] operators.openshift.io/valid-subscription
[x] operators.operatorframework.io/internal-objects

[x] Channels

[x] stable-v1, stable-v1.10

[x] Bundle Version: 1.10.2
[x] More annotations:

[x] installMode
[x] createdAt
[x] containerImage

Signed-off-by: Swarup Ghosh<EMAIL_ADDRESS>

Referring to the doc on OpenShift specific annotations (https://docs.openshift.com/container-platform/4.12/operators/operator_sdk/osdk-generating-csvs.html#osdk-csv-manual-annotations_osdk-generating-csvs) on the operator CSV, missing out on the following currently:

operatorframework.io/initialization-resource: not needed as of now, can add in future if needed to add a specific resource to the cluster upon operator installation.
operators.openshift.io/infrastructure-features: have added ['disconnected', 'fips'] for now, can verify if proxy-aware is supported and append that if required.
operators.operatorframework.io/internal-objects: not needed as of now, all CRDs installed by this operator are ought to be shown in OpenShift console.

As per our last discussion, we'll not be using operators.openshift.io/infrastructure-features or operators.operatorframework.io/internal-objects as of now.

The entry specifying the skipRange will be presented as a direct (one hop) update to any version from that package within that range. The versions in this range do not need to be in the catalog in order for bundle addition to be successful. We recommend avoiding using unbound ranges such as <1.0.3.

ref: https://olm.operatorframework.io/docs/concepts/olm-architecture/operator-catalog/creating-an-update-graph/#skiprange

When searching catalogs for updates, if the head of a channel has a skipRange annotation and the currently installed Operator has a version field that falls in the range, OLM updates to the latest entry in the channel.

ref: https://access.redhat.com/documentation/en-us/openshift_container_platform/4.2/html/operators/understanding-the-operator-lifecycle-manager-olm > <IP_ADDRESS>. Replacing multiple Operators
Hence, not using skipRange for the first release as we don't want to upgrade this GA release from any existing TechPreview releases, the operator is ought to be installed newly onto a cluster. However, we should ensure to add a suitable value to olm.skipRange when releasing this operator next time after first release.

/cc @bergerhoffer for docs-approved label
/cc @davemulford for px-approved label
/cc @xingxingxia for qe-approved label
/cc @thejasn for reviews/approval
Thanks!

/lgtm

/label qe-approved

/label px-approved

/test all

/test e2e-operator

/test all

/label docs-approved


Consider using conan for packaging/distributing api to clients

Looking at the PSMoveSteamVRBridge project it looks like the current build practice for clients of this service is to manually download a zipped release of PSMoveService and copy the PSMoveClient_CAPI.dll and any other file of interest.
Would you consider making a Windows x86/64 client package for bintray including only the necessary header and library files required for a client to get started?
Stemming on from the use of conan, it would be great to also look into using Jenkins and Conan for CI of this project:
https://jenkins.io/blog/2017/07/07/jenkins-conan/
It would make creating releases a lot easier and you could integrate continuous builds on commits.

That's a good idea but I just don't have time to do it. Also, I'm not interested in putting in the effort if it's for Windows only. It has to work for Mac and Linux builds too. While in theory these things can be setup in under an hour, they're never that easy.

Conan supports multi-target/platform package submission. I'll see how my experiments go to demo.

 I'm happy to see you working on this.
We know that the current build system isn't perfect, so please don't feel the need to contort your build system to suit our methods when the better solution would be to modify our methods.
Keep up the good work and let me know when you're ready to make a pull request, and also let me know what services I need to sign up for :)

Thanks, haven't got it building just yet. The time it takes to build the deps exceeds the allowable limit of 50mins using Travis CI. Looking at a way to separate this and cache the artifacts and hopefully reduce the overall build time of PSMoveService.
Once I have it working I'll see if the same can be done with AppVeyor for the windows side and send a PR your way. I think after the project has a stable CI build method in place we can look at an easy release build script/job to make updating Conan a one click affair.

By the way, I don't think I ever finished optimizing the OpenCV build. There are probably some components being built unnecessarily here, and in my experience disabling unneeded OpenCV components can make huge differences in build time. But, before you go optimizing OpenCV 3.1 build times, you should probably bump to the latest OpenCV because it has some performance optimizations and I think it has shifted or reduced some of its dependencies.
The same is true for Boost here and  here. It can be bumped to a newer version and the number of required components can be reduced, probably.

Great! Just what I was looking for.
I think for now, getting the source to build auto-magically is my first step. I've gone ahead and updated the build process to use only the existing components as listed in the CMake files you referenced and all are using the latest respective stable release versions.
The build time for each job has come down significantly:

Boost libraries v1.66 (~5mins)
OpenCV 3.4.1 (14mins down from 35)
Protocol Buffers 3.5.1 (21mins)

Still need to sort the build out for PSMoveService. I suspect the installation of each dep is occurring on a separate VM prior to building PSMoveService which is not very useful.


Add VerticalCardSwiper

Project URL

https://github.com/JoniVR/VerticalCardSwiper
Category

Cards
Description

Added VerticalCardSwiper to the list.
The goal of this project is to recreate the Discover UI in Shazam (which I think is a great, fun way to display content) in combination with a Tinder style of swiping cards to the left/right. The idea behind this is that in some cases, you don't want to swipe away cards, but keep them available for later on. This implementation allows for that. And it's a fun way to interact with content.
It's built with a UICollectionView and a custom flowLayout.
Why it should be included to awesome-ios (optional)
Because it's free and it's something I needed in a project but couldn't find on here.
Checklist

[x] Only one project/change is in this pull request
[x] Has unit tests, integration tests or UI tests
[x] Addition in chronological order (bottom of category)
[x] Supports iOS 9 / tvOS 10 or later
[x] Supports Swift 4 or later
[x] Has a commit from less than 2 years ago
[x] Has a clear README in English

          1 Warning

:warning:
Found 4 link issues, a project collaborator will take care of these, thanks :)

Link issues by awesome_bot

Line
Status
Link

204
404
https://www.pluralsight.com/courses/exploring-google-maps-for-ios

1068
301
https://github.com/MailOnline/ImageViewer redirects tohttps://github.com/Krisiacik/ImageViewer

2818
301
https://github.com/xcode-project-manager/xcproj redirects tohttps://github.com/xcode-project-manager/xcodeproj

3061
404
https://www.pluralsight.com/courses/try-objective-c

  Generated by :no_entry_sign: Danger


Add support for co-routine libraries

I'd like to use pyodbc (and its pooling) with the gevent co-routine library.
psycopg2 takes the approach of exposing a callback [1] which is invoked while waiting [2]. This can then be used be used to yield until the connection is read [3].
psycopg2 takes advantage of Postgres's non-blocking PQsendQuery call [4]. It looks like pyodbc is currently using SQLExecDirect synchronously. However, I think it should be possible to convert it to be asynchronous instead [6] to use the same polling/callback pattern as psycopg2.
Does this sound like a reasonable approach, or am I barking up the wrong tree?
[1] http://initd.org/psycopg/docs/extensions.html#coroutines-support-functions
[2] https://github.com/psycopg/psycopg2/blob/master/psycopg/green.c#L175
[3] https://bitbucket.org/dvarrazzo/psycogreen/src/115d0627da1ac9ff48c0cb9287257cd35868cdf9/psycogreen/gevent.py?at=master&fileviewer=file-view-default#gevent.py-26]
[4] https://www.postgresql.org/docs/current/static/libpq-async.html
[5] https://github.com/mkleehammer/pyodbc/blob/master/src/cursor.cpp#L759
[6] https://docs.microsoft.com/en-us/sql/odbc/reference/develop-app/asynchronous-execution-polling-method

Note that ODBC async mode is not supported by all drivers, and modifying pyODBC to allow using those that do would be nontrivial.
In addition, unixODBC DM  < 2.3.5 contains various bugs related to async mode.
If you want to use pyODBC asynchronously, then the easiest way would probably be to run it in a separate thread and synchronise on that.

For async PostgreSQL work I use pglib (which I also wrote).  It is PostgreSQL-specific and the interface does not match the DB API, but maybe what you need.


Empty negotiated response with accept header of application/xml or text/xml throws serialization exception

Given a simple model which simply returns a 200 response:
 public class DemoModule : NancyModule
    {
        public DemoModule() : base("/demo")
        {
            Get["ok", "/"] =
                _ => Negotiate.WithStatusCode(HttpStatusCode.OK);
        }
    }

Making a GET request to this endpoint with an accept header of "application/json" returns an empty response with a status code of 200, as expected.
Making a GET request to this endpoint with an accept header of "text/xml" or "application/xml" returns a 500 internal server error with the following exception:
The type arguments for method 'Nancy.ISerializer.Serialize<TModel>(string, TModel, System.IO.Stream)' cannot be inferred from the usage. Try specifying the type arguments explicitly.

Closed by #2133

Version 1.4.3 was just pushed to NuGet.


WIP: add ability for UI to be standalone

Motivaton
This change will allow us to address some technical debt and architecture limitations.
Most important ones:

Add ability to try out queries and schemas without publishing them to the server
Add ability to Query schema when the server is protected
Separate UI from Server (server will be production environment and UI will be development environment)
Add support for additional use cases (user provided sync server can use our execution later)
Improve and fix schema reload for sync
Unify models that are being used in UI and Server (so they will be extended in one single place)
Support schema seeding (memeo and other schemas - this is currently happening on Server - we need that ability on UI)

TL;DR - This is a crucial change that fixes some problems with the Sync architecture and it will give us tons of benefits with very little investment.
Side effects of this change

UI and Server will reuse the same module
Development time will require using github version of new module (or releases to npm)
When we will get more and more modules we can consider moving towards mono repositories etc. but currently this impact is marginal

Motivaton
This change will allow us to address some technical debt and architecture limitations.
Most important ones:

Add ability to try out queries and schemas without publishing them to serevr
Add ability to Query schema when server is protected
Closely separate UI from Server (server will be production environment and UI will be development environment)
Add support for additional use case (user provided sync server can use our execution later)
Improve and fix schema reload for sync
Unify models that are being used in UI and Server (so they will be extended in one single place)
Support schema seeding (memeo and other schemas - this is currently happening on Server - we need that ability on UI)

TL;DR - This is the crucial change that fixes some problems with Sync architecture and it will give us tons of benefits with very little investments.
Side effects of this change

UI and Server will reuse the same module
Development time will require using github version of new module (or releases to npm)
When we will get more and more modules we can consider moving towards mono repositories etc. but currently this impact is marginal

@wtrocki and @darahayes thanks for the feedback. Will be making these changes - thanks.

@darahayes @wtrocki mind taking another look? all changes addressed and the core module updated to have sync history. thanks.

Newbie question: Should we remove models from: https://github.com/aerogear/data-sync-ui/tree/master/server/models

@wtrocki I think this is ready to do a final verification on now.

@darahayes mind taking another look? I have added a query to fetch a (hardcoded) endpoint for now. I also changed the name of the playground folder and its function based on your comments - they make much more sense now.

Verified. I was able to make queries without a running data sync server. Amazing work @StephenCoady!


Failed to send sentry event does not provide enough detail

I was trying sentry out in my project and got this in my logs:
13:24:48.123 module=Sentry.Client [error] Failed to send sentry event.
# ...

Problem is, it does not tell me why it failed or give me any clue about it.  I initially assumed it was a problem with my dsn, but that was correct.  Eventually, I edited the code in Sentry.Client.request/4 to have it capture the unmatched values (instead of ignoring them with _) and print them with IO.inspect.  The result was included this line:
{"X-Sentry-Error", "Creation of this event was denied due to rate limiting"},

...which clearly showed me the problem.  Another one of our projects was reporting a lot of errors in a short period, triggering rate limiting.
It would be really nice if users did not have to edit the code of this library to figure this out.  Can log_api_error be updated to include some detail about what the failure was?

good catch, thank you for the report.  this shouldn't be too bad to fix, and I should be able to get to it shortly.


Issue-17: Add GHA to copy docs to /docs/fdo

@johnwalicki It looks like the secrets are defined at the ORG level, so we shouldn't have to configure anything there for this GHA.  I'm not sure how to test this other than to merge and run.  I changed the GHA for the destination path, and the src branch from "master" to "main" since that's what this repo uses.  There shouldn't need to be any other changes.

Great - Let's merge and check if it works.  There already is a FDO doc in the OH Docs tree.

https://open-horizon.github.io/docs/installing/fdo/
We will need to compare the content of these two files.

To actually test it, we need to merge a commit in the FDO-support/docs directory.

Looks like it worked, @johnwalicki
https://open-horizon.github.io/docs/fdo/README-FDO1.1/


remove npx

Npm and related modules were removed in this pull request.
Npx is a broken symlink. Npx is not used anywhere in the agent. We need to remove it as well.
Tested that applied changes work as expected: Linux agent was built, configured, and launched fine.
Risks analysis checklist:

[x] There are no risky dependency updates
[x] Changes have been tested
[x] Enough test coverage for changes and current test coverage for the agent doesn't look poor
[x] We understand how the agent is working, how changes affect agent behavior
[x] There are no breaking changes
[x] There are no other concerns
[x] I have not discovered any new uncovered test/use cases

This is incorrect. We need the NPX and Node_Modules as they are used for ADO Agent installation on Linux, at least for the current processes we're using.
Has the process for installing the agent on Linux changed?

This is incorrect. We need the NPX and Node_Modules as they are used for ADO Agent installation on Linux, at least for the current processes we're using.
Has the process for installing the agent on Linux changed?

@duyork could you please clarify how exactly you are using NPX and Node_Modules to install the pipeline agent?

The find . -xtype l command did not detect broken symlinks in the agent build.

Tested, working fine


Incorrect processing of C/C++ escape-sequence in character constant

The C/C++ escape-sequence in the character constant  '\' is incorrectly processed, leading to the characters up to any following single-quote being treated as a single token
a == '\\' && b == '|'
(a, TokenType.IDENTIFIER, (1, 1))
(==, TokenType.OPERATOR, (1, 3))
(', TokenType.SPECIAL_SYMBOL, (1, 6))
(\\' && b == , TokenType.CONSTANT, (1, 7))
(', TokenType.SPECIAL_SYMBOL, (1, 19))
(|, TokenType.OPERATOR, (1, 20))
(', TokenType.SPECIAL_SYMBOL, (1, 21))

Thanks for informing us this bug, Derek.
Unfortunately, we no longer maintain this repository. But we do welcome contributions, so you might make a PR to fix this error. Cheers!

I looked at the source, and it looks like a fix would involve lots of reorganizing.  So not keen to attempt a fix.


u-he plugins not receiving MIDI controller data

Tested on M1 Sonoma in Bitwig 5.1.2 and Reaper 7.
Can be tested with the current Hive public beta revision 15319, found on KVR:
https://www.kvraudio.com/forum/viewtopic.php?t=603439
Using CLAP or the real VST3 version, everything works.
Using a CLAP wrapped VST3, I can play notes, and velocity and aftertouch are working.
But the plugin doesn't receive any MIDI controller data, no Mod Wheel, no Expression or any other controller number. It's not even receiving pitch bend data.
The plugins have a MIDI LED that blinks when it receives MIDI data. It's not lighting up when MIDI CC data is being sent to the plugin.
Not sure when this broke, it definitely already worked at some point, see my last comment in https://github.com/free-audio/clap-wrapper/issues/32

oh there's an opt in for midi ccs. i wonder if we made it default to nothing as opposed to everything. @defiantnerd - you remember that?

Actually, the IMIDIMapping interfaces gets activated, if one of the CLAP MIDI input busses declares CLAP_NOTE_DIALECT_MIDI in the supported dialects.
Activation of the IMIDIMapping interface:
https://github.com/free-audio/clap-wrapper/blob/ae1841a9fea32630662d2b79b0554e33895e5e08/src/wrapasvst3.h#L172-L180
The check for support is here:
https://github.com/free-audio/clap-wrapper/blob/ae1841a9fea32630662d2b79b0554e33895e5e08/src/wrapasvst3.cpp#L52-L55
and here:
https://github.com/free-audio/clap-wrapper/blob/ae1841a9fea32630662d2b79b0554e33895e5e08/src/wrapasvst3.cpp#L499-L519

Because _plugin->initialize() always returns true and kResultOk is 0, _useIMidiMapping will never be true.
https://github.com/free-audio/clap-wrapper/blob/ae1841a9fea32630662d2b79b0554e33895e5e08/src/wrapasvst3.cpp#L51-L55
But even if line 52 is changed to if (result == kResultOk),  _useIMidiMapping is already required to be set when calling ClapAsVst3::setupParameters in _plugin->initialize(), therefore it still doesn't work. Setting _useIMidiMapping in void ClapAsVst3::setupMIDIBusses does fix it, at least for me.

You are completely correct - I'll fix that.

fixed in 0.7.1

Checked with wrapper version 0.8.0. All MIDI CCs are working again in u-he plugins. Yay, thanks.


KAFKA-5173: Close txn coordinator threads during broker shutdown

Shutdown delayed delete purgatory thread, transaction marker purgatory thread and send thread in TransactionMarkerChannelManager  during broker shutdown. Made InterBrokerSendThread interruptible so that it is shutdown.

Thanks for the PR, LGTM. @guozhangwang, does this look fine to you too?

Oops, wrong JIRA, will close and reopen with the correct JIRA


Added CI

I'm trying to add CI to this project, with some limited success.

Looks like there's some randomized testing infrastructure that requires disabling surefire tests? I am not familiar with this, but couldn't figure out how to properly enable tests without changing skipTests, or run them with the current configuration.
In GHA tests run successfully but there's a failure on cleanup (?), see https://github.com/dblock/opensearch-analysis-vietnamese/runs/6179138320?check_suite_focus=true. I wasn't able to fix this.

Could use a bit of help!
Signed-off-by: dblock<EMAIL_ADDRESS>

@dblock It looks like the surefire plugin requires read/write permission for java.util.PropertyPermission.
Let me investigate and fix that.

@dblock I tested with maven-surefire-plugin version 2.20 and it works. Can you try to use surefire plugin v2.20 instead of 2.22.0?

@dblock I fixed the issue and upgraded the plugin to OpenSearch version 1.3.2, you can sync the code and test it again.

With JDK 11 and 17: https://github.com/dblock/opensearch-analysis-vietnamese/actions/runs/2379406773


Everyone should comb through the resources on slack to find 2 api that we can potentially use for our project.

GitHub - public-apis/public-apis: A collective list of free APIs

May i can help you guy ?


SQLite or SQLServer

Which do you recommend using on Linux. SQLite, or SQLServer (Mono SQL Client)?
I am wondering if the full SQLServer will be natively supported within say 6-12 months and its worth me using that for now, or whether SQLite is the better option for linux?
I expect the database to be fairly sized, nothing mad - likely 20-30 tables, 100,000 to 1,000,000 entries on average. However I would like the best scalable option and if the full SQLServer will be supported fully down the road, I'll start with that.

The Npgsql provider for PostgreSQL is another great option to consider on Linux.

As far as a know, that doesnt have an Entity Framework provider. Also both of the others are cross-platform between Linux/Windows. I'm not sure if PostgreSQL is and I've had no experience with that at all so wouldnt really want to change from SQL Server if possible.

@angelsix yes, the EF7 provider for PostgresSQL is being worked on. That is what @bricelam is pointing to.
To your original question, we plan to fully support using SQL Server from EF7 on a Linux box, but we are focusing more on CoreCLR based implementation of SqlClient than on Mono.

Closing since I believe we have answered your question, but feel free to reopen if we haven't.


Register package

@JuliaRegistrator register()

Registration pull request created: JuliaRegistries/General/73311
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.1.0 -m "<description of version>" 1a43c7cf54ce9785a89f0f5d6ebaf886ff175025
git push origin v0.1.0

@JuliaRegistrator register()

Registration pull request updated: JuliaRegistries/General/73311
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.1.0 -m "<description of version>" 61b5534b15fd0e665d1d43e23c4a30d136f064cb
git push origin v0.1.0


Package for jupyter 3

Hi, first of all thank you for this theme. It looks pretty neat and is consistent across cell block and completion! :+1:
It should be possible to install this theme via pip, conda, mamba etc without requiring jupyterlab to rebuild in Jupyterlab > 3.x.
See an example: https://github.com/telamonian/theme-darcula
Thanks!

Hi! Couldn't agree more, I did have a look at this when Jupyter Lab 3 was released, but couldn't follow the docs I regret to admit.
Avidly accepting PRs on this!


Permission for money

Add permission for money so we can make a paycheck script?
Sent from my Samsung SM-G920V using FastHub

Please don't open issues when I already answered here and on the forum the same things over and over. There are no jobs in vRP, only tools to make them, so there are no paychecks. You can easily make a vrp extension handling generic paychecks, lot of people will find it useful, but I will not do it myself, because I don't believe in the value of paychecks in a RP game.

Just needs a permission added to money.
On Jun 7, 2017 8:33 AM, "Imagic"<EMAIL_ADDRESS>wrote:

Please don't open issues when I already answered here and on the forum the
same things over and over. There are no jobs in vRP, only tools to make
them, so there are no paychecks. You can easily make a vrp extension
handling generic paychecks, lot of people will find it useful, but I will
not do it myself, because I don't believe in the value of paychecks in a RP
game.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ImagicTheCat/vRP/issues/172#issuecomment-306780560,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Ab4RuuNsDLQfimX3jvbDu07zCuMgybCTks5sBpiAgaJpZM4NyoWB
.

What are you talking about ?

Like vRP.givemoney (userid,blah, permission="police.paycheck")
On Jun 7, 2017 8:36 AM, "Imagic"<EMAIL_ADDRESS>wrote:

What are you talking about ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ImagicTheCat/vRP/issues/172#issuecomment-306781404,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Ab4Rupmdf8NG7RJ9AV1OhYmTXZc-NMgIks5sBplmgaJpZM4NyoWB
.

Just use vRP.hasPermission ?


python312Packages.nuitka: remove ccache dependency

Description of changes
Ccache is just extra overhead when building in the Nix sandbox.
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] 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
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.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.

Add a :+1: reaction to pull requests you find important.

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

4 packages built:

python311Packages.nuitka
python311Packages.nuitka.dist
python312Packages.nuitka
python312Packages.nuitka.dist


add column "val_date_offset" to the property table

During the CityGML import, the time attrbitue value e.g. 2022-02-01T00:00:00+05:00 will be automatically translated to the time of the database system. For example, if the database system uses UTC timezone, then the time will be stored in the val_date column as 2022-01-31T19:00:00+00:00. During the CityGML export, the exporter doesn't know, which time offset should be used for rebuilding the original time attribute value. Hence, we need an additional column val_date_offset to store the time offset information.

To provide more background for this request: this wouldn't be an issue if my machine and the database server run in different timezones but I consistently run imports and exports from my machine? It would make a difference though if I import from my machine but do an export on the database server?


Revert dts: Add led nodes to nxp boards, refactor mcux gpio driver to use dts

Reverts #7129. Fixes #7172

Codecov Report

Merging #7181 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #7181      +/-   ##
==========================================
+ Coverage   58.54%   58.54%   +<.01%
==========================================
  Files         464      464
  Lines       47400    47400
  Branches     8783     8783
==========================================
+ Hits        27748    27749       +1
+ Misses      15821    15820       -1
  Partials     3831     3831

Impacted Files
Coverage Δ

lib/posix/pthread.c
69.84% <0%> (+0.5%)
:arrow_up:

Continue to review full report at Codecov.

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

Do we really need to revert all the changes? It seems like the change for "dts: Add gpio labels to all kinetis socs" and "boards: Move led and button definitions to dts for kinetis bo…" would be ok to keep.

I almost kept those, but thought it would be confusing to others if I reverted only part of the offending PR.

How about we hold on this PR, and see if we can fixup FXOS8700, MCR20A, and FXAS21002_GPIO_NAME

Opened PR #7188 an alternate to this PR.

I updated to revert only the offending commits, not the entire PR.

This should be fixed cleanly now with merger of #7355


Line-line intersection edge cases

Literally edge cases, this deals with intersections on coincident lines.

There's still an issue with coincident lines which don't share a start or end point.


Android: Title of the "weekly update" is misleading for low-risk status

Avoid duplicates

[x] Bug is not mentioned in the FAQ
[x] Bug is specific for Android only, for general issues / questions that apply to iOS and Android please raise them in the documentation repository
[x] Bug is not already reported in another issue

Describe the bug
After a week of operating the CWA on Android, the app produced a notification in the middle of the night, titled "Benachrichtigungen zu möglicher Bege..." with a red font color.  This produced a mild shock in the user, because the wording and the style was received as a positive hit, implying an increased infection risk.
However, the rest of the notification read "Wöchentliches Update - Dein Smartphone hat keine mögliche Begegnung mit infizierten Personen gefunden" and the app itself still shows the green "low risk" badge, so the risk has clearly not increased upon further inspection, i.e. a negative hit.
Expected behaviour
The notifications title and style should directly reflect a non-hit for the negative case.

Should use a green font style akin to the green badge for "low risk"
Wording of notification title should directly hint at "no hit", e.g. "Keine Begegnung mit infizierten Personen gefunden"

Steps to reproduce the issue

Technical details

App version: 1.0.4
Mobile device: Samsung Galaxy S10e
Android version: 10 (Kernel 4.14.113-18731944), OneUI 2.1

Possible Fix

Additional context

App version: 1.0.4
Mobile device: Lenovo Tab E10 (Lenovo TB-X104F)
Android Version: 8.1.0 (Kernel 3.18.71)
Google Play-Dienste Version 20.18.17<PHONE_NUMBER>16286)

This looks like a message generated by the google play service. Clicking on the notification open the google play Dienst, not the corona-warn-app.

When I got that notification, I am quite sure that it said something very similar to "Wöchentliches Updates // Sie haben ein erhöhtes Risiko, weil sich Ihr Smartphone in der Nähe..." So i tapped it without paying attention to anything else. To my surprise, the Corona Warn App did not open, but I ended up on my home screen. As expected, the notification is gone.
When I opened CWA manually, It showed green with a low risk assessment.
So, now I am wondering, If i misread  that message (I guess that is by far the most likely explanation) or whether the OS did see something, but the App considered it too short or too far away.
Ending up on the home screen and not being able to find the message with a grep through this repository, seem to support the thesis, that this message is generated by the operating system/play services.

This notification seems to be coming directly from the Exposure Notification Framework / the OS. We‘ll add that to the FAQ

We are currently investigating whether we can avoid this notification by using the intent data of the broadcast receiver as a means to avoid creating the notification by calling getExposureInformation(). We will update here once we have more information.

@MikeJayDee We are in contact with Google regarding these notifications as well and will update accordingly if we have any news regarding any possible behaviour change.

for cross reference here the lnik to FAQ entry incl. pull request where the entry was added:
https://www.coronawarn.app/de/faq/#notif_weekly_update
https://github.com/corona-warn-app/cwa-website/pull/135
https://github.com/corona-warn-app/cwa-website/blob/00aa0b8e0662ff50be2be60e6a85ff081c9d76fd/src/data/faq.json#L142-L147
https://github.com/corona-warn-app/cwa-website/blob/00aa0b8e0662ff50be2be60e6a85ff081c9d76fd/src/data/faq_de.json#L142-L147

I did not get the message today. Perhaps Google already removed it?

The notification has been removed from Google Play Services. In coming weeks, a different, more generic notification will appear with words to the effect that exposure notifications are enabled for a specific app.
The purpose of the new notification is to reassure users that the system is working, while avoiding any specifics regarding risk assessment or matches.

The "weekly update" notification's wording seems to have changed by now.
Still, it was quite scary for me to see the red virus icon in my notification bar for the first time (even though the message provided instantaneous relief). Furthermore, a lot of the warning effect is lost on me now because the next time I'll see the icon, I'll probably assume that it will just be another "everything's okay" message and not actively look at what the text is saying.
Would it be possible for you to ask Google to change the virus icon's color to green, or something neutral, or change the icon altogether?
I believe this would be a considerable UX improvement.
Thanks in advance for your time :smiley:


Data: project addition by prachisingh1008

Add a new project to the list
THIS WEBSITE IS A ONESTOP DESTINATION FOR LATEST TRENDS

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSoC'23 contributor
[X] I want to work on this issue

assigned to you

Thankyou for assigning me