BLE peripheral connection lost when configured with long interval

Describe the bug
Hi, bumped into an issue trying to setup a BLE peripheral with long connection intervals on main using the Zephyr BLE controller. It seems like the connection gets dropped by device shortly after the connection parameters updated event that brings up the intervals. The connection fails with the error Disconnected (reason 0x08) (BT_HCI_ERR_CONN_TIMEOUT).
I'm testing with a nRF52840DK v1.1.0 and an nRF52DK v1.1.1, as well as with a custom board. On the central side I used nRF Connect on a Pixel 6, as well as bluez on a Linux laptop (bluetoothctl: 5.66).
This has been discussed on discord and it seems like the issue was not there with the legacy LLCP stack in v3.3. These are the cases I've tested:
$ git describe
zephyr-v3.3.0-1669-g8bd0e13fc7
$ west build -p -b nrf52840dk_nrf52840 samples/bluetooth/peripheral_dis

Default settings, connection goes up to 50ms interval, works fine.
$ git describe
zephyr-v3.3.0-1669-g8bd0e13fc7
$ west build -p -b nrf52840dk_nrf52840 samples/bluetooth/peripheral_dis -DCONFIG_BT_PERIPHERAL_PREF_MIN_INT=700 -DCONFIG_BT_PERIPHERAL_PREF_MAX_INT=800 -DCONFIG_BT_PERIPHERAL_PREF_TIMEOUT=1000

Updates to 1s intervals, drops with 0x08.
$ git checkout v3.3.0
$ west update
$ west build -p -b nrf52840dk_nrf52840 samples/bluetooth/peripheral_dis -DCONFIG_BT_PERIPHERAL_PREF_MIN_INT=700 -DCONFIG_BT_PERIPHERAL_PREF_MAX_INT=800 -DCONFIG_BT_PERIPHERAL_PREF_TIMEOUT=1000

Same, 1s interval, connection drops.
$ git describe
zephyr-v3.3.0
$ west build -p -b nrf52840dk_nrf52840 samples/bluetooth/peripheral_dis -DCONFIG_BT_PERIPHERAL_PREF_MIN_INT=700 -DCONFIG_BT_PERIPHERAL_PREF_MAX_INT=800 -DCONFIG_BT_PERIPHERAL_PREF_TIMEOUT=1000 -DCONFIG_BT_LL_SW_LLCP_LEGACY=y

Stable.
The same board also works reliably using the NCS softdevice controller.
Can you folks reproduce the problem as well? Let me know if you need more info, happy to take a trace with the ble sniffer, need to put a bit of time into setting it up though.
To Reproduce
See the steps above.
Expected behavior
Stable connection.
Impact
Probably showstopper if the issue is confirmed, I imagine this may impact stack compliancy, and it's obviously a blocker for super low power sensors.
Logs and console output
Console output:
*** Booting Zephyr OS build zephyr-v3.3.0 ***
Bluetooth initialized
Advertising successfully started
Connected
Disconnected (reason 0x08)
Connected
Disconnected (reason 0x08)

Environment (please complete the following information):

OS: Linux
Toolchain: Zephyr SDK 0.15.2
Commit SHA or Version used: 8bd0e13fc7 and v3.3.0

cc @carlescufi @cvinayak

BLE sniffer trace, looks like once the central switches to 1s interval the peripheral never responds:

nrf-long-adv.pcapng.gz

Hi, just wanted to add that I have had this exact same issue for a while, I assumed it was an issue in my config or something and didn't do any debugging (not critical for my app yet).
So if you are not able to reproduce I can also support with radio trace and provide more information (tested with my two different One Plus phones).

Hey ran few more tests with this over the weekend: the fail against bluez seems flaky, seems like sometimes bluez does not update the connection parameters  at all and then it's stable, not sure what's going on there. Also tried against the nrfconnect desktop tool and that works just fine, so maybe it's a bug in the phone stack? Though it also fails when connected to my Garmin watch (that's the target application I was looking into when I stumbled into this), not too sure what's running in there but AFAIK it's some Cypress device (It's a Forerunner 955).
Anyway, let me know if you have troubles reproducing it, I have a working setup for taking traces now so happy to use it.

@jakkra and @fabiobaltieri This is most likely a regression in the new LLCP implementation for nRF SoCs. Timing in Controller for nRF SoC use a coarse tick and a remainder fraction, the new LLCP is missing implementation to use the remainder fraction for achieve microsecond resolution in timing calculation when performing Connection Parameter Updates, this will be fixed soon.
Thank you both for reporting and help confirm the regression.

it is unfortunate that the regression exists since in the switch of default to refactored LLCP in e1c2c36f56

@fabiobaltieri @jakkra regret the delay. I have verified a fix for a simple error, by using a peripheral_ht sample that prefers 1 second connection interval with iphone 13 pro (uses CI 0x320) , old iphone 6s (uses CI 0x32a!) and nexus 5 phone (uses CI 0x006, 0x0027 and refuses to switch to 1s on 3 more retries). Could you verify that #56839 fixes the issue with your phones?

Could you verify that #56839 fixes the issue with your phones?

Yes! Tested this with the peripheral_dis example against a Pixel 6, and also with my custom application against both a Pixel 6 and a Garmin Forerunner 955. Connection switches to 1s intervals and seems stable in both cases. Thanks!!

@fabiobaltieri  Thank you for reporting and verifying the fix.

@cvinayak can confirm it solved the issue in my application too! Thanks!

@jakkra Thank you too!


Issue at application compile time

After following the build instructions on the website, I built my first server, and when I went to compile. It fell on its face saying the namespace "Net " is not defined.  I'm attempting build with the following:
g++ -lpistache main.cpp

I am running into the same issue. Have you tried with -lnet instead?

Somewhere in one of the recent releases the namespace changed.  It looks like the readme is out of date now.  You want to use the Pistache namespace instead of the Net namespace now.

I think we're really close... Using Pistache instead of net worked like a charm but the assemble step failed stating it was unable to find the pthread_create library. directly linking to -pthread seemed to fix it. Thank you all for your help :)

yeah you always need to link to pthreads when using C++ threading.

Oops forgot to close the issue, my apologies :)


Hashtag for Hourly BlurHash

Add an additional hashtag for the Hourly BlurHash toot so it can be filtered/muted/subscribed.

thanks, will deploy later...


AS-600709

Add support for Kerberos authentication to PXF-Hive plugin.
authenticate() in HiveUtilities provides an interface to handle authentication. It also prevents repeated authentication attempts (MetadataFetcher is not the only place that requires authentication; it is also required by HiveDataFragmenter).


Rocket League no longer running on NVIDIA

Please describe your issue as accurately as possible. If you run into a problem with a binary release, make sure to test with latest master as well.
Software information
Rocket League just refuses to work now. Black screen. It gives an almost fullscreen-window and then just stops from there.

 It definitely worked fine previously.

The log you pasted has super old DXVK
info:  DXVK: v1.4.6-1-g1ae7d4b30

Shouldn't do, it says later in the log:

info:  DXVK: v1.8.1

Okay this is a Heroic bug, it's not setting DXVK correctly.
Did a manual install, works fine.


Wrappers folder missing in the tree view

In GitLab by @molid on Dec 19, 2022, 16:52
Hi @jberlin and @cgutierr, We have an experiment with wrappers but the "wrapper" folder doesn't appear in the tree view. Wrappers are correctly configured because the pdf created with monitor command is correct. the expid is a5d9. could you check it, please? thanks!
FI: @fmacchia @gmontane @agarci3

In GitLab by @gmontane on Dec 20, 2022, 11:22
This seems to happen only with version 3.14. For example, experiment t07d was created with 3.13 and the wrapper folder was shown, but after upgrading it to 3.14 it disappeared from the tree view. t07c has been also created with 3.13 and the wrapper folder is there.


Better documentation for BigNum

It isn't currently specified anywhere what BigNum actually is: a 64-bit integer. We should document this information (and by extension, why this forces some conversions to be partial).

https://github.com/mlabs-haskell/purescript-cardano-types/blob/715d4b2dcf8b29cb45001209ee562f758a513261/src/Cardano/Types/BigNum.purs#L68


GPU Direct Storage

Tell us more about this new feature.
Is there possibility with current CRT/boto3 for GPU Direct to S3, wondering if it is possible to skip the S3 -> CPU -> GPU with torch.load, or if there is already functionality that supports this.

Hello @ryxli,
Thank you for your interest to s3-connector-for-pytorch.
Currently, with the existing mountpoint-s3-client library, that we are using for communication with S3, it is not possible to directly load data from S3 into GPU memory, skipping the CPU step. The torch.load function, as per the documentation, deserializes the data on the CPU before loading it into tensors.
However, you can use the map_location parameter in torch.load to load the deserialized data directly onto the GPU after the CPU step. For example:
MODEL_PATH = 's3://bucket_name/checkpoint.chk'
MAP_LOCATION = torch.device('cuda:device_id')
model.load_state_dict(torch.load(MODEL_PATH, map_location=MAP_LOCATION))

This approach still involves the CPU step but allows you to load the data onto the GPU immediately after deserialization.
Please let us know if this answers your question and if there is anything else we can do to help.

thanks, I know about the torch.load / torch.save api. In 99% of cases today, checkpointing is composed of D2H -> Serialization (cpu) -> dump to storage (filesystem or s3), and similar inverse for loading
From your answer, it's currently not supported, but was asking if your team / Mountpoint team has any items on the roadmap to look into https://docs.nvidia.com/gpudirect-storage/overview-guide/index.html for direct memory transfer from device to storage (or s3 in this case), hence the skipping of the cpu step.

At the moment, there are no immediate plans to investigate GPU Direct Storage integration for the s3-connector-for-pytorch project. However, I appreciate you raising this idea, as it could potentially benefit certain use cases.
I'm curious to understand the rationale behind your suggestion better. My understanding is that torch.load and torch.save require CPU processing for serialization/deserialization. If that's the case, would the intention be to turn off object compression to skip the CPU step? While this could potentially reduce CPU overhead, it may also result in larger object sizes and longer download times from S3.
Alternatively, if the goal is to bypass torch.load and torch.save altogether when transferring data directly to the GPU, could you please elaborate on the tools or approaches you have in mind? Understanding the specific use case and requirements would help evaluate the feasibility and potential impact of exploring this feature.
Regarding GPU Direct Storage, my understanding is that it enables direct data transfer between GPU memory and storage devices by leveraging specialized storage drivers that support GPU-accelerated file operations (cuFile* primitives) at the kernel level. Could you please confirm if this high-level understanding is correct?


Any new release ?

Is a new version planned?
 So much has happened on the repo since 2013. Why not create a 1.0.0-beta1 and let people try it out.

Because nothing is finished at all. Take a look at the milestones.

We could make a few alphas though, good point.

alphas would be great ;)

Maybe the milstones need to be readjusted in order to get a new release out ;)

+1 for alpha builds


[polsatgo] subtitles, client choosing (fixes geo restrictions outside PL), user sessions, categories/series

IMPORTANT: PRs without the template will be CLOSED
Description of your pull request and other information

adds support for subtitles and choosing client through extractor args, though it doesn't switch between them seamlessly (web_pg is default). new (default) client allows playback without DRM outside PL if the video is not geo-blocked.
Fixes #5331
Template

Before submitting a pull request make sure you have:

[x] At least skimmed through contributing guidelines including yt-dlp coding conventions
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8 and ran relevant tests

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[x] Fix or improvement to an extractor (Make sure to add/update tests)
[ ] New extractor (Piracy websites will not be accepted)
[ ] Core bug fix/improvement
[ ] New feature (It is strongly recommended to open an issue first)

Can you explain to me under what situation a User would want to use android?

ugh, I was trying to do some comparison on the clients, and it looks like nothing is playable using either client. prePlayData returns just Materiał z ograniczonym dostępem (Material with limited access), with this thumbnail https://ipla-e2-19.pluscdn.pl/p/vm2images/q6/q69b9qwwgscz65eytqn89wua2dsd8xx4.jpg (The content chosen by you is not available on this platform and/or location). getPseudoLicense returns Media not found.
I checked from a machine in PL and it doesn't work there neither, whether on this PR or on master branch, even though the video is playable for me in browser from NL (after getting logged in). we might have to implement login now.

resurrecting this.

extraction is fixed (whether logged in or not)
log in is supported (with browser cookies only for now)
multiple clients are supported for extraction
subtitles don't require an additional request (I'm sure API wasn't returning them in prePlayData, but now it does)

Pls merge with master. And, https://github.com/yt-dlp/yt-dlp/pull/5349#issuecomment-1304859829

@pukkandan back to the question: at first I thought web was implementing auth requirement properly. as you can see, it does not. or that login by password might be easier because there might be recaptcha. not true either.
some pages suggest that materials should not be available on web pg like these: https://polsatgo.pl/wideo/wydarzenia/5024980/autoplay

Dostępny wkrótce. Obejrzyj już teraz w Polsat Box Go na www.polsatboxgo.pl lub w aplikacji

"Available soon. Watch now on Polsat Box Go on www.polsatboxgo.pl or in the app." (btw if someone at polsat is reading this, I got confused at first about which app is this about)
important here: DRM is required when watching in web pbg. however, both android pg and web pg gets these formats unencrypted anyway.

Pls don't add --extractor-args unless they are actually usefull

I think force_use_pg=video is useful, as we're extracting videos with pbg if there is a pbg session/login, but not checking whether the user has a subscription that allows to watch (which is the single correctly enforced thing on pbg)
player_client is to be updated with more clients (ios, tv, stb, android for pbg)


feat: add file option to context menu

This PR...
Changes

Add create file option to context menu
Add create resource option to context menu
Save resource instantly

Fixes

How to test it

Screenshots

Checklist

[x] tested locally
[ ] added new dependencies
[ ] updated the docs
[ ] added a test

thanks @erdkse - i'm not sure why we would have this since Monokle only handles manifest files - wouldn't it be better to have a "New Resource" menu item which starts the new-resource wizard with the selected folder preselected? (after we merge Eduards ongoing PR)


chore: completion test command sequence

description
Add a completion test for command sequences with different triggers.
Clean up global scope pollution in Zsh:

cmd_word doesn't need to be global since the zle __fzf_extract_command call doesn't actually
create a new scope.
The completion widget is deleted after its usage; its sole purpose is to provide access to the words array.

Draft reason:

Unable to test semicolon (;) and backtick (`)

Using them in the test_go.rb file always ends in failure.

--- a/test/test_go.rb
+++ b/test/test_go.rb
@@ -3744,5 +3744,5 @@ module CompletionTest
     triggers = ['**', '~~', '++', 'ff', '/']
     # TODO: Find a way to test semicolon (';') and backtick ('`')
-    triggers.concat(['&', '[']) if instance_of?(TestZsh)
+    triggers.concat([';', '`', '&', '[']) if instance_of?(TestZsh)

     triggers.each do |trigger|

Unable to test semicolon (;) and backtick (`)

tmux seems to treat a trailing semicolon differently.
$ tmux send-keys 'ha;ha'; echo
ha;ha
$ tmux send-keys 'ha;ha;'; echo
ha;ha
$ tmux send-keys 'ha;ha\;'; echo
ha;ha;

Which means we would have to escape it to \; or ;;.
diff --git a/test/test_go.rb b/test/test_go.rb
index 98c2f25..11dc7a0 100755
--- a/test/test_go.rb
+++ b/test/test_go.rb
@@ -164,6 +164,7 @@ class Tmux
   private

   def go(args)
+    args = args.map { |a| a.sub(/;$/, '\;') }
     IO.popen(%w[tmux] + args) { |io| io.readlines(chomp: true) }
   end
 end

Not sure about backticks yet.


[documentation] add the network configuration method of the service

The default network access method of the service is None, Should add the opening method:

NodePort
LoadBalancer

Rename the 项目 to NameSpace in deploy_radondb-mysql_on_kubernetes.


test if key.gif and old-key.gif can be deleted

Yes.
On Mon, Dec 12, 2022, 2:45 PM jonchou3, @.***> wrote:

—
Reply to this email directly, view it on GitHub
https://github.com/hkeshani/shahnama-storyscroll/issues/5, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AE2Y4D742PDRAF32JVQF5WDWM6TH7ANCNFSM6AAAAAAS4P3AMQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


More unit tests

Is your feature request related to a problem? Please describe.
We still need better unit test coverage. Basic unit tests to verify broad behavior is a good start, and deeper/complex tests can be added as time goes on. For now, just having tests to verify basic calendar structure and operation should suffice.

I'm basically pausing feature development until we get decent coverage across the entire codebase.


Foreman / Passenger - address is already in use

I've followed the tutorial and added this to config/development.rb:
require 'byebug'
Byebug.wait_connection = true
Byebug.start_server('localhost', 4000)

When starting foreman, I get the error below. I've tried many different ports, the error message is always the same =(.
foreman start
11:05:01 web.1    | started with pid 1313
11:05:01 worker.1 | started with pid 1314
11:05:01 clock.1  | started with pid 1315
11:05:03 web.1    | =============== Phusion Passenger Standalone web server started ===============
11:05:03 web.1    | PID file: /Users/michaelimstepf/Dev/web-app/tmp/pids/passenger.5000.pid
11:05:03 web.1    | Log file: /Users/michaelimstepf/Dev/web-app/log/passenger.5000.log
11:05:03 web.1    | Environment: development
11:05:03 web.1    | Accessible via: http://<IP_ADDRESS>:5000/
11:05:03 web.1    |
11:05:03 web.1    | You can stop Phusion Passenger Standalone by pressing Ctrl-C.
11:05:03 web.1    | Problems? Check https://www.phusionpassenger.com/documentation/Users%20guide%20Standalone.html#troubleshooting
11:05:03 web.1    | ===============================================================================
11:05:06 web.1    | App 1348 stdout:
11:05:11 web.1    | App 1348 stdout:
11:05:11 web.1    | [ 2015-05-01 11:05:11.4894 1329/0x109438000 App/Implementation.cpp:287 ]: Could not spawn process for application /Users/michaelimstepf/Dev/web-app: An error occured while starting up the preloader.
11:05:11 web.1    |   Error ID: fb5bc44c
11:05:11 web.1    |   Error details saved to: /var/folders/dy/rqh4m_713fx624wgtlvcwy840000gn/T//passenger-error-bgFXQJ.html
11:05:11 web.1    |   Message from application: Address already in use - bind(2) for "localhost" port 5051 (Errno::EADDRINUSE)
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/byebug-4.0.5/lib/byebug/remote.rb:52:in `initialize'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/byebug-4.0.5/lib/byebug/remote.rb:52:in `new'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/byebug-4.0.5/lib/byebug/remote.rb:52:in `start_control'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/byebug-4.0.5/lib/byebug/remote.rb:31:in `start_server'
11:05:11 web.1    |   /Users/michaelimstepf/Dev/web-app/config/environments/development.rb:6:in `block in <top (required)>'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/railtie.rb:210:in `instance_eval'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/railtie.rb:210:in `configure'
11:05:11 web.1    |   /Users/michaelimstepf/Dev/web-app/config/environments/development.rb:4:in `<top (required)>'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in `require'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in `block in require'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:240:in `load_dependency'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in `require'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/engine.rb:598:in `block (2 levels) in <class:Engine>'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/engine.rb:597:in `each'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/engine.rb:597:in `block in <class:Engine>'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/initializable.rb:30:in `instance_exec'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/initializable.rb:30:in `run'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/initializable.rb:55:in `block in run_initializers'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/2.2.0/tsort.rb:226:in `block in tsort_each'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/2.2.0/tsort.rb:348:in `block (2 levels) in each_strongly_connected_component'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/2.2.0/tsort.rb:420:in `block (2 levels) in each_strongly_connected_component_from'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/2.2.0/tsort.rb:429:in `each_strongly_connected_component_from'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/2.2.0/tsort.rb:419:in `block in each_strongly_connected_component_from'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/initializable.rb:44:in `each'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/initializable.rb:44:in `tsort_each_child'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/2.2.0/tsort.rb:413:in `call'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/2.2.0/tsort.rb:413:in `each_strongly_connected_component_from'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/2.2.0/tsort.rb:347:in `block in each_strongly_connected_component'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/2.2.0/tsort.rb:345:in `each'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/2.2.0/tsort.rb:345:in `call'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/2.2.0/tsort.rb:345:in `each_strongly_connected_component'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/2.2.0/tsort.rb:224:in `tsort_each'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/2.2.0/tsort.rb:203:in `tsort_each'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/initializable.rb:54:in `run_initializers'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/application.rb:352:in `initialize!'
11:05:11 web.1    |   /Users/michaelimstepf/Dev/web-app/config/environment.rb:5:in `<top (required)>'
11:05:11 web.1    |   config.ru:3:in `require'
11:05:11 web.1    |   config.ru:3:in `block in <main>'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rack-1.6.0/lib/rack/builder.rb:55:in `instance_eval'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rack-1.6.0/lib/rack/builder.rb:55:in `initialize'
11:05:11 web.1    |   config.ru:1:in `new'
11:05:11 web.1    |   config.ru:1:in `<main>'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/passenger-5.0.6/helper-scripts/rack-preloader.rb:111:in `eval'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/passenger-5.0.6/helper-scripts/rack-preloader.rb:111:in `preload_app'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/passenger-5.0.6/helper-scripts/rack-preloader.rb:157:in `<module:App>'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/passenger-5.0.6/helper-scripts/rack-preloader.rb:29:in `<module:PhusionPassenger>'
11:05:11 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/passenger-5.0.6/helper-scripts/rack-preloader.rb:28:in `<main>'
11:05:11 web.1    |
11:05:11 web.1    |
11:05:11 web.1    | [ 2015-05-01 11:05:11.4980 1329/0x109122000 age/Hel/Req/CheckoutSession.cpp:252 ]: [Client 1-1] Cannot checkout session because a spawning error occurred. The identifier of the error is fb5bc44c. Please see earlier logs for details about the error.

@michaelimstepf Sorry for taking this long to reply. If I ever use foreman again, I'll have a look at it.

Thanks. I think the problem is with Passenger, not foreman.

Ok, changing the title to reflect that.

@michaelimstepf Are you still getting this issue with latest byebug? Could you some steps I can run to reproduce it?
Thanks!

@deivid-rodriguez Thx, would be great if you could look into since we waste so much time stopping foreman and booting the super slow Webrick server every time we need to debug locally.
gem install foreman

# Gemfile.lock
byebug (6.0.2)
passenger (5.0.16)

# config/development.rb
require 'byebug'
Byebug.wait_connection = true
Byebug.start_server('localhost', 4000)  # see also http://stackoverflow.com/questions/22794176/how-to-use-byebug-with-a-remote-process-e-g-pow

Michaels-MacBook-Pro:web-app michaelimstepf$ foreman start
14:18:51 web.1    | started with pid 44933
14:18:51 worker.1 | started with pid 44934
14:18:51 clock.1  | started with pid 44935
14:18:52 web.1    | =============== Phusion Passenger Standalone web server started ===============
14:18:52 web.1    | PID file: /Users/michaelimstepf/Dev/web-app/tmp/pids/passenger.5000.pid
14:18:52 web.1    | Log file: /Users/michaelimstepf/Dev/web-app/log/passenger.5000.log
14:18:52 web.1    | Environment: development
14:18:52 web.1    | Accessible via: http://<IP_ADDRESS>:5000/
14:18:52 web.1    |
14:18:52 web.1    | You can stop Phusion Passenger Standalone by pressing Ctrl-C.
14:18:52 web.1    | Problems? Check https://www.phusionpassenger.com/library/admin/standalone/troubleshooting/
14:18:52 web.1    | ===============================================================================
14:18:54 web.1    | App 44961 stdout:
14:19:00 web.1    | App 44961 stdout:
14:19:01 web.1    | [ 2015-08-31 14:19:01.0510 44945/0x10b535000 App/Implementation.cpp:303 ]: Could not spawn process for application /Users/michaelimstepf/Dev/web-app: An error occured while starting up the preloader.
14:19:01 web.1    |   Error ID: e8d09aaa
14:19:01 web.1    |   Error details saved to: /var/folders/dy/rqh4m_713fx624wgtlvcwy840000gn/T//passenger-error-fph0bM.html
14:19:01 web.1    |   Message from application: Address already in use - bind(2) for "localhost" port 4001 (Errno::EADDRINUSE)
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/byebug-6.0.2/lib/byebug/remote.rb:58:in `initialize'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/byebug-6.0.2/lib/byebug/remote.rb:58:in `new'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/byebug-6.0.2/lib/byebug/remote.rb:58:in `start_control'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/byebug-6.0.2/lib/byebug/remote.rb:36:in `start_server'
14:19:01 web.1    |   /Users/michaelimstepf/Dev/web-app/config/environments/development.rb:61:in `block in <top (required)>'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.4/lib/rails/railtie.rb:210:in `instance_eval'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.4/lib/rails/railtie.rb:210:in `configure'
14:19:01 web.1    |   /Users/michaelimstepf/Dev/web-app/config/environments/development.rb:3:in `<top (required)>'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:274:in `require'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:274:in `block in require'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:240:in `load_dependency'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:274:in `require'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.4/lib/rails/engine.rb:598:in `block (2 levels) in <class:Engine>'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.4/lib/rails/engine.rb:597:in `each'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.4/lib/rails/engine.rb:597:in `block in <class:Engine>'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.4/lib/rails/initializable.rb:30:in `instance_exec'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.4/lib/rails/initializable.rb:30:in `run'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.4/lib/rails/initializable.rb:55:in `block in run_initializers'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/2.2.0/tsort.rb:226:in `block in tsort_each'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/2.2.0/tsort.rb:348:in `block (2 levels) in each_strongly_connected_component'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/2.2.0/tsort.rb:420:in `block (2 levels) in each_strongly_connected_component_from'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/2.2.0/tsort.rb:429:in `each_strongly_connected_component_from'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/2.2.0/tsort.rb:419:in `block in each_strongly_connected_component_from'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.4/lib/rails/initializable.rb:44:in `each'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.4/lib/rails/initializable.rb:44:in `tsort_each_child'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/2.2.0/tsort.rb:413:in `call'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/2.2.0/tsort.rb:413:in `each_strongly_connected_component_from'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/2.2.0/tsort.rb:347:in `block in each_strongly_connected_component'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/2.2.0/tsort.rb:345:in `each'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/2.2.0/tsort.rb:345:in `call'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/2.2.0/tsort.rb:345:in `each_strongly_connected_component'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/2.2.0/tsort.rb:224:in `tsort_each'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/2.2.0/tsort.rb:203:in `tsort_each'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.4/lib/rails/initializable.rb:54:in `run_initializers'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/railties-4.2.4/lib/rails/application.rb:352:in `initialize!'
14:19:01 web.1    |   /Users/michaelimstepf/Dev/web-app/config/environment.rb:5:in `<top (required)>'
14:19:01 web.1    |   /Users/michaelimstepf/Dev/web-app/config.ru:3:in `require'
14:19:01 web.1    |   /Users/michaelimstepf/Dev/web-app/config.ru:3:in `block in <main>'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rack-1.6.4/lib/rack/builder.rb:55:in `instance_eval'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rack-1.6.4/lib/rack/builder.rb:55:in `initialize'
14:19:01 web.1    |   /Users/michaelimstepf/Dev/web-app/config.ru:1:in `new'
14:19:01 web.1    |   /Users/michaelimstepf/Dev/web-app/config.ru:1:in `<main>'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/passenger-5.0.16/helper-scripts/rack-preloader.rb:107:in `eval'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/passenger-5.0.16/helper-scripts/rack-preloader.rb:107:in `preload_app'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/passenger-5.0.16/helper-scripts/rack-preloader.rb:153:in `<module:App>'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/passenger-5.0.16/helper-scripts/rack-preloader.rb:29:in `<module:PhusionPassenger>'
14:19:01 web.1    |   /Users/michaelimstepf/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/passenger-5.0.16/helper-scripts/rack-preloader.rb:28:in `<main>'
14:19:01 web.1    |
14:19:01 web.1    |
14:19:01 web.1    | [ 2015-08-31 14:19:01.0606 44945/0x10afd4000 age/Cor/Req/CheckoutSession.cpp:252 ]: [Client 1-1] Cannot checkout session because a spawning error occurred. The identifier of the error is e8d09aaa. Please see earlier logs for details about the error.

Thanks, but it's not enough. I'm in front of my terminal, which commands do I run to trigger the error?
Also, did you make sure that the port is not already in use?

Thx for looking into this.
Just run 'foreman start' to boot the server. I tried lots of different
ports, none of them worked.
On Mon, 31 Aug 2015 21:59 David Rodríguez<EMAIL_ADDRESS>wrote:

Thanks, but it's not enough. I'm in front of my terminal, which commands
do I run to trigger the error?
Also, did you make sure that the port is not already in use?
—
Reply to this email directly or view it on GitHub
https://github.com/deivid-rodriguez/byebug/issues/141#issuecomment-136350717
.

$ foreman start
foreman: command not found

Remember that I'm in front of my computer, not in front of yours.

Sure. Please follow the code outlined in my post earlier including gem install foreman and the contents of the Procfile.
Thx for your help.
It's almost midnight here, I can quickly connect on Skype if you like, otherwise I can reply tmr. Thx

As noted in the Gemfile.lock above, gem passenger needs to be in the Gemfile as well.

Of course, I'm just trying emphasize that the code outlined is not enough for me. I want you to do all the setup job for me and create a sample application that reproduces the error. You are currently the only person getting the error so it's very likely that I'll take the time to set all this up for myself and still won't be able to reproduce it.

Got it.
You're going to hate me but I created a sample app and couldn't reproduce the issue. Strangely enough, I have the problem and both my personal laptop and my work laptop and my colleague has the same issue. I'll dig into it tomorrow, it might have to do with some temp file that Passenger is writing that we can delete to free ports, not sure yet.
Anyways, sorry for wasting your time, I would not have posted it if it didn't occur on 3 laptops.
Thanks for your help.

Don't worry about it! Please reopen if you figure out a way I can see the issue for myself.

I've tried a few things on two different laptops but still can't figure it out. Here's the sample app: https://github.com/michaelimstepf/byebug, would be awesome if you could have a look at it.
I can get it work if I either
a) take out the worker in the Procfile or
b) take out all debugger statements and the Byebug reference in config/development.rb
But in our dev setup we need to be able to debug (non background tasks) while having background tasks running.
Steps to reproduce:

Clone repo: https://github.com/michaelimstepf/byebug
run bundle
gem install foreman
Install redis brew install redis
Start redis redis-server /usr/local/etc/redis.conf
Start server foreman start
Start byebug byebug -R localhost:8888 (or foreman run byebug -R localhost:8888?)
Open localhost:5000/high_scores
It never gets to the debugger statement in ApplicationController

I have had the same issue.
The problem is that you have (like me) multiple rails processes starting in your Procfile. As every one of them runs the initializer, at least the second process crashes, as the port is (legitimately) already in use . So what I did as a workaround is something like this, to prevent following processes to crash:
Byebug.start_server('localhost', 9999) rescue nil
Don't forget that the process you want to debug has to be obviously the first one in your Procfile. However - if your first  process is too lazy you can still get into some other race condition... ;)
Andreas

Thanks for your reply. I've added the rescue nil statement to the test repo https://github.com/michaelimstepf/byebug. It no longer crashes when booting up the server with foreman start but the byebug calls don't appear on when starting with byebug -R localhost:8888. Any hints?

I think the byebug/remote function is not suitable for larger rails apps, as you can hardly control in which process it will be initialized (and will therefore be functional).
I also tried the following:
redis: redis-server --bind <IP_ADDRESS>
web: MAIN_THREAD=true bundle exec rails s -e development -p 3000 -b <IP_ADDRESS>
websockets: bundle exec puma -p 1443 -b tcp://<IP_ADDRESS> cable/config.ru
sidekiq: bundle exec sidekiq

and then in initializer/byebug.rb:
if Rails.env.development? && ENV['MAIN_THREAD'] == 'true'
  Byebug.wait_connection = true
  Byebug.start_server('localhost', 9999)
end

... but in the end without success. Rails is still trying to load the initializer (at least) twice (both Puma or Webrick). However - lacking more time I switched back to console debugging.
Wishing you more luck,
Andreas

Thanks @mollat. @deivid-rodriguez What are your thoughts on this, is byebug definitely not suitable for debugging apps that have background workers, cron jobs, etc?

I think it is suitable, it just needs some love.

JFYI: for RubyMine we are starting "dispatcher": server which receives requests from newly created processes and give them port they can use to connect to debugger.

@os97673 Thanks for that information, that might help future contributors! :smile:

Thanks guys, is there any workaround or hack we can use in the meantime?

Not that I know of.

I am getting the exact same issues.. whenever I start the rails console, spring will also try to start an instance of byebug server.

I was able to connect to the byebug server if i make sure the pid listening on the post if in fact the rails server and not spring..
If I killed the byebug remote client process during a debugging session, I will receive a Broken pipe error from the front end for further hits on the 'byebug' command. Digging into netstat, there seems to be a stuck close_wait port that does not release until the front end is restarted.. (such as touch tmp/restart in passenger)
tcp        0      0 <IP_ADDRESS>:1048          <IP_ADDRESS>:*               LISTEN
tcp        1      0 <IP_ADDRESS>:1048          <IP_ADDRESS>:34196         CLOSE_WAIT
Why is it stuck waiting? Is it because its still "debugging"?

I ran into this today. It was due to Spring starting the Byebug server in the background. What I ended up doing is using the remote_byebug method instead of starting the server ahead of time.


Implement snap ownership transfer notice

Allow current users to acknowledge the ownership change and a chance to opt out.
It should not break existing workflow that uses this snap.

Implemented:
Snap ownership transfer notice
==============================

Hello!  This is 林博仁(Buo-ren Lin), the current publisher/maintainer of the Tesseract snap.

I would like to inform you that the publisher/maintainer of this snap has been transferred
to me, refer the following Snapcraft forum topic for more info regarding this change:

    Ownership takeover request for the Tesseract OCR snap - store-requests - snapcraft.io
    https://forum.snapcraft.io/t/ownership-takeover-request-for-the-tesseract-ocr-snap/40930

If you do not wish to continue using this snap, press Ctrl+C in the next 60 seconds to
terminate the snap's execution, and, run the following commands to remove the snap:

    # Move Tesseract data out of the snap's user data directory
    mkdir -p ~/tesseract-snap-data-backup
    mv ~/snap/tesseract/common/* ~/tesseract-snap-data-backup

    # Remove the snap from the system
    sudo snap remove tesseract

If you need any help feel free to file an issue on the snap's own issue tracker:

    Issues · brlin-tw/tesseract-snap
    https://github.com/brlin-tw/tesseract-snap/issues

Thank you!

This message should only display once, to permanently disable this message run the following
command in a text terminal:

    touch /home/brlin/snap/tesseract/common/.snap-ownership-transfer-notice-shown.marker

This notice is only displayed once with a 60-second delay so that one that uses it non-interactively(e.g. CI jobs) will find the notice via unusually high runtime.  We also implemented a marker file so that one can inhibit the delay in always-clean environments.


[ENHANCEMENT] rancher-agent image is not packed into Harvester ISO

Is your enhancement related to a problem? Please describe.

When setting cluster-registration-url, a new POD from image rancher/rancher-agent is created to fulfill the related task. From the observation when debugging https://github.com/harvester/harvester/issues/4756, the rancher/rancher-agent image is not packed into Harvester ISO.
For air-gapped environment, or slow internet environment, the setting may pend for a long time or fail.
Describe the solution you'd like

Pack the related rancher/rancher-agent image into Harvester ISO.
Describe alternatives you've considered

Update the document cluster-registration-url, give user a clear note that, the Cluster should have a way to get the rancher/rancher-agent image from docker image hub or private image registry.
Additional context

Bump rancher image version in Harvester
https://github.com/harvester/harvester/issues/4782

Users should set a system registry in rancher settings: https://ranchermanager.docs.rancher.com/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/global-default-private-registry

Once this is done, the registration url is generated with image referencing the private registry

@ibrokethecloud That's great. I will update the Harvester document to note this.

Harvester Document has been updated.


Add request driver

Request client can be found here.

Closing as request library is only for server side.


Rendering multilevel ordered nested list

Do you want to request a feature or report a bug?
feature
What is the current behavior?
The index of a nested numeric list has only the current index.
What is the desired behavior?
I did an override of the css to have the nested item index composed with the parent item.
It would be nice to have a property to switch with this type of list rendering.
Here is what I have done to make it work this way (4 levels deep):
.public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-depth1:before {
  counter-increment: ol1;
  content: counter(ol0)"."counter(ol1)". ";
}
.public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-depth2:before {
  counter-increment: ol2;
  content: counter(ol0)"."counter(ol1)"."counter(ol2)". ";
}
.public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-depth3:before {
  counter-increment: ol3;
  content: counter(ol0)"."counter(ol1)"."counter(ol2)"."counter(ol3)". ";
}
.public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-depth4:before {
  counter-increment: ol4;
  content: counter(ol0)"."counter(ol1)"."counter(ol2)"."counter(ol3)"."counter(ol4)". ";
}

.public-DraftStyleDefault-orderedListItem.public-DraftStyleDefault-listLTR:before {
  width: 76px;
  left: -80px;
}

@gpietro I think it is by design that the default list styles of Draft.js are quite simple. It's easy to override them for a specific need like you did here, and for most use cases the default styles (which mimick what eg. Google Docs or Word do) are probably enough.

how do i override these to get custom counter styling?


refer to db field value when query or update

I want to execute sql like this
select a,b from demo where a = b + 1
or
update demo set a = a + 1

I took a quick look at the documentation，but not find how to implement it.

Hey @Ackerr,
You can use the Add<F>() setters, in order to increment/decrement number fields. For example:
client.T.Update().AddPrice(1).Exec(ctx)

And for the first example, you can use the Select option to select specific fields, and custom predicates for writing such filters. For example:
client..User.Query().
	Where(func(s *sql.Selector) {
		s.Where(sql.ExprP("a = b + ?", 1)) // or, use sql.P with custom builder.
	}).
	Select(user.FieldA, user.FieldB).
	All(ctx)

Closing, but please feel free to reopen if you have more questions. Thanks 🙏

Thanks. Now i need to implement a feature, sql like
update demo set code=CONCAT('9',  LPAD(type, 2, 0), LPAD(id, 12, 0)) where key='key'

Does ent can use mysql buildin func like CONCAT，LAPD?
Is there any way to directly execute raw sql like sql.DB().Exec('sql')


use correct channel priorities in solver

This should use the new API that we want in mamba: https://github.com/mamba-org/mamba/issues/545

done now!


FreeBSD warning with slapd_sockets shellvar

Hello,
I've tried the new FreeBSD support brought by PR by @smortex (https://github.com/camptocamp/puppet-openldap/pull/267/files) but we have a warning when we start slapd.
/usr/local/etc/rc.d/slapd: WARNING: slapd: Can't find socket /

This line was added by puppet in /etc/rc.conf but is wrong :
slapd_sockets="/"

The default value in FreeBSD for this variable is /var/run/openldap/ldapi which is fine for us.
I don't understand the puppet code for the value :
        value    => join($::openldap::server::ldapi_ifs, ' '),

How are we supposed to deal with that new part?
Shouldn't it be optionnal with a socket_path variable?

Hi!
Do you have a custom value for this parameter?  I always override the defaults when I use this module, maybe it makes sense to adjust it?
Here is what I have in my ldap server profile, as you can see I use custom values for all *_ifs parameters:
class profile::blogreen::openldap_server {
  include profile::blogreen::openldap_client

  $hostname = $profile::blogreen::openldap_client::hostname
  $base_dn = $profile::blogreen::openldap_client::base_dn

  // [...]

  class { 'openldap::server':
    ldap_ifs  => [
      '<IP_ADDRESS>',
      '[::1]',
      '<IP_ADDRESS>',
      '[2a01:4f9:c010:e1dd::]',
    ],
    ldaps_ifs => [],
    ldapi_ifs => [
      '/var/run/openldap/ldapi',
    ],
    ssl_cert  => "/usr/local/etc/openldap/${hostname}.crt",
    ssl_key   => "/usr/local/etc/openldap/${hostname}.key",
  }

  // [...]
}

I think ldapi_ifs should be undef by default in the module and, with a condition in config.pp, not setting the shellvar if let undef.
Would you be ok for a PR in that way?

Certainly no objection from me, feel free to ping me in when you have a PR ready for testing and review!

@smortex here is my PR : https://github.com/camptocamp/puppet-openldap/pull/276/files

Waiting for 2 PR but we can close this issue.


Removed bazel depencency

Removed bazel dependency resulting in a smaller image and added some basic pre-processing.

LGTM


Switched to .NET 9.0 System.Threading.Lock

thanks for the PR but...
you're bringing in a third party dependency Backport.System.Threading.Lock to add support for pre .net 9 sdks yes?
we definitely don't wanna do that for something that doesn't offer much of a benefit.
if you want, you can just do conditional compilation blocks to support the new Lock type on .net 9 onwards.

thanks for the PR but... you're bringing in a third party dependency Backport.System.Threading.Lock to add support for pre .net 9 sdks yes? we definitely don't wanna do that for something that doesn't offer much of a benefit. if you want, you can just do conditional compilation blocks to support the new Lock type on .net 9 onwards.

Yes, that's what the micro dependency basically does, but also allows you to use the full functionality of the Lock class.

@dj-nitehawk a new version of Backport.System.Threading.Lock has come out that acts as a source generator and basically dropping the DLL as a dependency. If this new development makes you reconsider, I will amend accordingly.

will check what the source generator creates and get back to you on that.

Handled via #824


[SPARK-21033][SQL] fix the potential OOM in UnsafeExternalSorter

What changes were proposed in this pull request?
In UnsafeInMemorySorter, one record may take 32 bytes: 1 long for pointer, 1 long for key-prefix, and another 2 longs as the temporary buffer for radix sort.
In UnsafeExternalSorter, we set the DEFAULT_NUM_ELEMENTS_FOR_SPILL_THRESHOLD to be 1024 * 1024 * 1024 / 2, and hoping the max size of point array to be 8 GB. However this is wrong, 1024 * 1024 * 1024 / 2 * 32 is actually 16 GB, and if we grow the point array before reach this limitation, we may hit the max-page-size error.
This PR fixes this by making DEFAULT_NUM_ELEMENTS_FOR_SPILL_THRESHOLD 2 times smaller, and adding a safe check in UnsafeExternalSorter.growPointerArrayIfNecessary to avoid allocating a page larger than max page size.
How was this patch tested?
TODO

cc @davies @sameeragarwal

Test build #77841 has started for PR 18251 at commit 93550f4.

Test build #77841 has finished for PR 18251 at commit 93550f4.

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

Merged build finished. Test PASSed.

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

also cc @JoshRosen

LGTM

Making DEFAULT_NUM_ELEMENTS_FOR_SPILL_THRESHOLD 2 times smaller may be not very well, this will increase the spill.
Adding a safe check in  UnsafeExternalSorter.growPointerArrayIfNecessary is necessary
1.if the initial size of point array is 4K, the point array will  grow like this:4k,8k,16k......256M,512M.
if the 'numRecords' is between 256M and 512M, the pointer array will not grow, so it will not hit the max-page-size error.
2.if the initial size of point array is other value, and the 'numRecords' is  256M and 512M, maybe the pointer array will grow, but we have added a safe check in UnsafeExternalSorter.growPointerArrayIfNecessary,so it is safe.

ping @cloud-fan

@vanzin @cloud-fan if this actually does resolve the stack trace now mentioned in https://issues.apache.org/jira/browse/SPARK-21033 then I can at least vouch for this one being a problem I've hit repeatedly. If this is a clean improvement, I'd favor getting it merged.

Sorry for the delay, pretty busy these days...
I'll update this PR this week and try to merge it ASAP.

Test build #83180 has started for PR 18251 at commit d4e3021.

Test build #83180 has finished for PR 18251 at commit d4e3021.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds the following public classes (experimental):
public class TooLargePageException extends RuntimeException

Merged build finished. Test FAILed.

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

Test build #83187 has started for PR 18251 at commit f58173c.

Test build #83187 has finished for PR 18251 at commit f58173c.

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

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

Merged build finished. Test PASSed.

Test build #83215 has started for PR 18251 at commit 13cdaba.

lgtm

Test build #83215 has finished for PR 18251 at commit 13cdaba.

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

Merged build finished. Test PASSed.

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

thanks for the review, merging to master!


Unable to load and featurize the pdbbind data  (Chapter05/pdbbind_rf.py)

Hi,
I have been trying to run the revised code from the tutorial (Chapter05/pdbbind_rf.py).  However, I could not load and featurize the pdbbind data from Molnet for some reason.
Please, refer to the line of code (from the tutorial) and the subsequent error message shown in the snapshot.
tasks, datasets,transformers = dc.molnet.load_pdbbind(featurizer=grid, splitter="random", subset="core")

Thank you in advance.
Woo-Jae

I got same problems. and I guess this error caused by deepchem library itself.


corrected regex for the last pull request fd4ee51

Coverage decreased (-0.3%) to 65.188% when pulling 7e1d3f72482fd2b5f9ac418f53ef416a44d931ae on surajrao:patch-1 into 383c006351ab30fb333986e8c7863cb77ef48846 on Charcoal-SE:master.

The dash should not be backslashed, could you please correct that? The backslash is harmless as such but we don't want to perpetrate this hypercorrect antipattern.

@tripleee done

Coverage remained the same at 65.466% when pulling f3ca806e546c0dbd8768314591c325996922eae8 on surajrao:patch-1 into 383c006351ab30fb333986e8c7863cb77ef48846 on Charcoal-SE:master.

Coverage increased (+0.3%) to 65.466% when pulling 2fc90dad7e3b72c172ea14f2ddd6deb1f2926051 on surajrao:patch-1 into a90a080fb77c7c2b8f1f75f9be4127aeeb34b35c on Charcoal-SE:master.


Update lightning-talks-5BHIF.md

16.01.
Developing in the GitHub Flow

Topic is fine, but date was already taken. Moved you to Jan. 30th. Ok for you?


composer.json

Would you be up for adding a composer.json to allow the plugin to be included via composer? #3

Merged it in, thanks. I'll check to see if this is up on packagist.org as well.


commentary will make transition  not work

Vue version
3.x
Link to minimal reproduction
Ignore
Steps to reproduce

when I add commentary in componentA, like it

It will not work
What is expected?
It works
What is actually happening?
not working
System Info
System:
    OS: macOS 12.3
    CPU: (8) x64 Apple M1
    Memory: 46.70 MB / 16.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 16.13.1 - ~/.nvm/versions/node/v16.13.1/bin/node
    npm: 6.14.10 - /usr/local/bin/npm
  Browsers:
    Chrome: 108.0.5359.98
    Chrome Canary: 110.0.5474.0
    Safari: 15.4

Any additional comments?
No response

please provide a runnable reproduction. you already created a playground, why would you not link it here?

please provide a runnable reproduction. you already created a playground, why would you not link it here?
please, the link is
https://sfc.vuejs.org/#eNqtk8uO2zAMRX+F1SYtENuz6cZ1AyT9hS610cRMq4EtCRLtJgjy76Ue8eQx6KqAYYvS5aEsXp3F1rl6nlC0ogt7rx1tpNGjs57ghx3dFg7ejrCqmxRF6epOsLsT7IpAGjwmSY8HNQ0EZ2kA9qywBg2FFs4Zvy6QyzoKekXq85csBvBIkzfXCEDtSc8Y9QnSwiohuFxcvcQPv/jpmuVXOCAc3aAIY0TdoF5x4GFM6bRxEwGdHH6XwqteWylgrkbb48AzDwXjmhqmqE2FpdjANpK65p36HwvsYoHdU4GfXpmgSVsDRo1RfFA9cm6kcmQnqrTh3LKH5dSh1eGjopuuWTS5RPNegye65vYITRfoNMRhHetWnIS+ylBuYp4cUM1YJnMDaSG2YJ3aazrBS/01AKqA31Lb7onRVg88splV8lt4yYnc77QlsRbZmdWoXP0WrGFbpwxZFoIUbL18MFKwV2MsxW8iF9qmCYd9NPBbqK3/1fCo9pMhPWKNYaxevf0T0DNYimTXwmh4cuYdezQ9evT/Yj5In7hXE/OvLBcu3s2bDnB/PlXV8Xisqhz1ei69Xpp69WVeumlg4aZ7+sz9iFQM+Ey6/AW4C3H0

Thanks

duplicate of #6080


Redis driver improvements

This PR improves the overall vanilla YCSB redis implementation on:
writes:

pipelining the HMSET and ZADD

deletes:

pipelining the DEL and ZREM

reads:

using HGETALL using HGETALL when fields length is equal to the total amount of fields or fields equal to nil

scan:

pipelining the second burst of requests after the first zrangebyscore

For a bit of context on how we're modeling the YCSB default workloads on Redis ( which we didn't changed in this PR see the following sections ).
For a way of reproducing the improvements on the workloads see the latest section of this PR

A bit of context on default workloads dataset representation

All six workloads have a data set that is similar, composed for N distinct records.

Each record is identified by a primary key, which is a string like “user234123”.

Within each record, by default, we have 10 fields, named field0, field1, and so on. The values of each field are a random string of ASCII characters of length L.

By default, we construct 1,000-byte records by using F = 10 fields, each of L = 100 bytes.

Specifically, within Redis, we model each record as a HASH, as showcased below.
<IP_ADDRESS>:6379> hgetall user3081588361181406186
 1) "field1"
 2) "69~?[w)+051z)\"6=4.9;&=+$5H50'$,H;! ($Is+U36_s\"Tu#[g:X\x7f&]38D3(/p\"\\c'?p*(65.`+K=0<>=5p1,l:J1+\">).</Z79"
 3) "field4"
 4) "0D)=Rg,=l2\"\" A}'A7+44<&<<=|;<r Yy>C1!Ey; ,?)f6&(4&z>362W{&U1:Wo/\"p=T%<4\":V14Vw%$\"1>0)I{?,`.@e3J1(Gi?"
 5) "field3"
 6) "4'8! ,<,p:;d2;d+Uu!^7 5d,1$ 6\"2Ay')*:Z{6H##T#5E-*X\x7f3>.&-*9\" .7:9^m43|'-j-_-,Ga ]w'*0$L#8Bm1E3(4*.2d/"
 7) "field7"
 8) "?M'1Bw+N/$C=&N)4%20=n&Q'0S+10,;X10Kc9Ea7\\e%,j/:(9_)9/t7Ui#28\"0b3$l']-54<!8t6\"04Fq?)\"?Uu7/*!,,!Ue04*%"
 9) "field8"
10) "+E\x7f?3*3;($0j,.|\"*b<Pq+Zu58t*7.=4h7&z%Ky?640K'9V7,!,068:Fg:W\x7f70d&Yy>D;1(f$',1#v*:0)[w3:n3>4+Zi/)p63f&"
11) "field0"
12) "%,p70h> t7B54&d+-f-Fu3Y=%Tw7+|>50)#h?Vy6Qo:,.-]}7:n*B13]}*_c(=\"8@%?Ae*2*$'b+Ls97`/B}$#|.Tq#9:%+l1%.0"
13) "field2"
14) "=H-(9&)# -H\x7f5G!=]e.H+,P}%(|2)r<Yu\"Wg6#z*/4%Fe;(p6 z#:x1P3%T+\">h;%:\"Na.Og1^k:K!*!&9\" :Y?=Vi89t*&z.&v:"
15) "field6"
16) "-N)1Ni,$$=\"n,,~#0.#1x&%v=@385><\"t.;b9@+0!$+6l6G57D%)Xy?\"x.Va9S? Dg  h?/h=;0<Gy3&j'+.?+v/K3.=|+8~'Sm/"
17) "field9"
18) "$R}6P'!5v2R-*Am2\"*&@1$Ke:!4)6r%Tk/!(#1(1,.:De?.t*U/)@/;^3,[-)\",<N#?%,!&p*24-V%:=>$.\">U9$\\c5>$,8\"..h7"
19) "field5"
20) "+$\",(t(J\x7f6.|-Ey2I)?:,(#,2<6$Rq$^%4F\x7f74 !#x38~>#t3Ym;4\",Z1-9,/%\" 7f'X9=N+)*t#^e7#<  4&Y9(&:2_1=?21Y-<"

Scanning based on sorted sets…
As you will see below, there is the need to model a scan operation within different records, in which we scan records in order, starting at a randomly chosen record key. The number of records to scan is randomly chosen. To model this within Vanilla Redis, we use a sorted set named “_indices“ in which the element is the primary key, and the score of the element is given by computing a hash of the key name.
Therefore, the cardinality of the “_indices“ sorted set is the same as the number of simulated records. When we want to simulate the scan operation for a given primary key, we calculate the keys we wish to scan by doing a ZRANGEBYSCORE starting at the given key score and setting as limit +Inf with a count equal to the scan size. We then retrieve each independent key like a normal read.

A bit of content on running the workloads
All six workloads have a data set that is similar. Workloads D and E insert records during the test run. Thus, to keep the database size consistent, we recommend the following sequence:

Load the database, using workload A’s parameter file (workloads/workloada) and the “-load” switch to the client.

Run workload A (using workloads/workloada and “-t”) for a variety of throughputs.

Run workload B (using workloads/workloadb and “-t”) for a variety of throughputs.

Run workload C (using workloads/workloadc and “-t”) for a variety of throughputs.

Run workload F (using workloads/workloadf and “-t”) for a variety of throughputs.

Run workload D (using workloads/workloadd and “-t”) for a variety of throughputs. This workload inserts records, increasing the size of the database.

Delete the data in the database.

Reload the database, using workload E’s parameter file (workloads/workloade) and the "-load switch to the client.

Run workload E (using workloads/workloade and “-t”) for a variety of throughputs. This workload inserts records, increasing the size of the database.

Running a local sequence without preloading the RDB:
# build it

git clone http://github.com/RediSearch/YCSB.git
cd YCSB
mvn -pl site.ycsb:redis-binding -am clean package

# load, run A, B, C, F, D, (flushdb), load, E
./bin/ycsb load redis -s -P workloads/workloada -p "redis.host=<IP_ADDRESS>" -p "redis.port=6379" -p "threadcount=8" > outputLoad.txt

./bin/ycsb run redis -s -P workloads/workloada -p "redis.host=<IP_ADDRESS>" -p "redis.port=6379" -p "threadcount=8" > outputRunA.txt
./bin/ycsb run redis -s -P workloads/workloadb -p "redis.host=<IP_ADDRESS>" -p "redis.port=6379" -p "threadcount=8" > outputRunB.txt
./bin/ycsb run redis -s -P workloads/workloadc -p "redis.host=<IP_ADDRESS>" -p "redis.port=6379" -p "threadcount=8" > outputRunC.txt
./bin/ycsb run redis -s -P workloads/workloadf -p "redis.host=<IP_ADDRESS>" -p "redis.port=6379" -p "threadcount=8" > outputRunF.txt
./bin/ycsb run redis -s -P workloads/workloadd -p "redis.host=<IP_ADDRESS>" -p "redis.port=6379" -p "threadcount=8" > outputRunD.txt

redis-cli flushall

./bin/ycsb load redis -s -P workloads/workloade -p "redis.host=<IP_ADDRESS>" -p "redis.port=6379" -p "threadcount=8" > outputLoad.txt
./bin/ycsb run redis -s -P workloads/workloade -p "redis.host=<IP_ADDRESS>" -p "redis.port=6379" -p "threadcount=8" > outputRunE.txt

Can we add support for Redis 6.2 with this PR? Lot of our customers are on Redis 6.x and would love to get some benchmarking done

Getting the following error when running YCSB against Redis 6.2
Loading workload...
Starting test.
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
2022-03-22 19:32:53:473 0 sec: 0 operations; est completion in 0 second
DBWrapper: report latency for each error is false and specific error codes to track for latency are: []
Error inserting, not retrying any more. number of attempts: 1Insertion Retry Limit: 0
Error inserting, not retrying any more. number of attempts: 1Insertion Retry Limit: 0
Error inserting, not retrying any more. number of attempts: 1Insertion Retry Limit: 0
Error inserting, not retrying any more. number of attempts: 1Insertion Retry Limit: 0
Error inserting, not retrying any more. number of attempts: 1Insertion Retry Limit: 0
Error inserting, not retrying any more. number of attempts: 1Insertion Retry Limit: 0
Error inserting, not retrying any more. number of attempts: 1Insertion Retry Limit: 0
Error inserting, not retrying any more. number of attempts: 1Insertion Retry Limit: 0
2022-03-22 19:32:53:621 0 sec: 0 operations; est completion in<PHONE_NUMBER>67300 days 15 hours [CLEANUP: Count=8, Max=2117, Min=1629, Avg=1836.25, 90=2061, 99=2117, 99.9=2117, 99.99=2117] [INSERT: Count=0, Max=0, Min=9223372036854775807, Avg=NaN, 90=0, 99=0, 99.9=0, 99.99=0] [INSERT-FAILED: Count=8, Max=44383, Min=43424, Avg=43660, 90=43647, 99=44383, 99.9=44383, 99.99=44383]


CI/CD: latest release and snapshot tags in docker images

We would like to  distinguish between lastest built docker images from SNAPSHOT and latest docker images from release versions  that should be stable. We can not guarantee stability of snapshot versions.
Config editor ui unstable versions should contain suffix 'dev' and java snapshots have suffix 'SNAPSHOT'. Latest docker images for these version should include the tag  'latest'. Latest docker images for release versions should include the tag 'stable'.

After letting this sit with me for a bit, I wonder whether we might not instead use latest for release versions (like today) and snapshot or dev for the non-release versions.
In the Docker world, latest is what you get when you don't specify a tag, and it's usually assumed it will be the latest stable version. Changing that to mean the literal latest could be confusing.
What are your thoughts, @mariannovotny?

I am OK with 'latest' (release version) and 'snapshot' for non release versions. Thanks for improving specs.

hellou @mariannovotny @jgiannuzzi, as an example I would like to suggest the following change (my local PR just for the demo I did it for config-editor-ui) - https://github.com/ljubon/siembol/pull/1/files
In order to avoid confusion please note that we don't want to change the current maven/java versioning X.Y.Z-SNAPSHOT for snapshot/dev/nightly build and X.Y.Z for the official release 🙏
So I would like to focus here only on how we do TAG-ing of your docker images
As you already confirmed you want LATEST for the release version and SNAPSHOT for non-release versions for your docker images.
I did example that example in my PR above
p.s I did commands on my local machine just to get current status and to see how to adopt it, so feel free to write me some inputs if I did some bad formating 💪

Hi @ljubon Thanks for your suggestions.
Can I ask you why do you suggest to replace 'dev' by 'SNAPSHOT' in config-editor-ui? We can use directly SNAPSHOT but let me note that versioning ui dev/snapshot releases is not synced with java versioning of snapshots - only version of releases are synced. This way we are using 'dev' instead of 'SNAPSHOT' if it makes sense?

hi @mariannovotny, I did for config-editor-ui just as example so we are all on the same page with changes
I understood that we want to implement following:

when a 'stable' release is done, tag as latest
when an 'unstable' release is done, tag as snapshot

and this is only for releasing docker images, we don't want to change release process for regular maven/java versioning?

Hi, @ljubon Yes we do not want to change maven/java versioning just docker image tags. We would like to implement in docker images:

when a 'stable' release is done, tag as latest + tag with version from pom (java) or appVersion frombuild-info.json for UI
when an 'unstable' release is done, tag as snapshot  + tag with version from pom (java) or appVersion frombuild-info.json for UI

Hi, @ljubon Yes we do not want to change maven/java versioning just docker image tags. We would like to implement in docker images:

when a 'stable' release is done, tag as latest + tag with version from pom (java) or appVersion frombuild-info.json for UI
when an 'unstable' release is done, tag as snapshot  + tag with version from pom (java) or appVersion frombuild-info.json for UI

hellou @mariannovotny , thanks for putting additional info here! 🙏
let me formulate my questions differently, what makes a build 'stable'? which conditions need to be met?
from ci.yaml i can say it simple as this:
    if: github.event_name == 'push' && !github.event.repository.fork && ( github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/heads/hotfix/') )
please comment/confirm this
in addition, I would suggest using unique versioning (from java) but that is a big change I we need to think about compatibility?with current setup (not affecting current setup)

Hi @ljubon . The build is stable if it is release from master or hotfix branch (the condition form your comment) and if java version in pom file does not contain 'SNAPSHOT' and angular app does not contain 'dev' in version.
Using unique version is something that can simplify something on the other hand it will complicate developing ui as in java you need to change all submodules version - look https://github.com/G-Research/siembol/pull/63/files and we do nto have automated this process yet.
This way we pragmatically decide to have unique version for releases (stable versions) and snapshots/dev minors can diverge because it is developed in separated PRs. Therefore we are using 'dev' instead of SNAPSHOT to avoid confusion.

It sounds like the implementation should essentially be:

add a step to each build-docker-* job that 'computes' whether this is a latest or a snapshot
change the meta step of each of those jobs to add an extra raw tag with the computed value
disable the latest flavor on those meta steps (to be validated whether docker/metadata-action can cope with that)

@jgiannuzzi if I may ask, why should we disable the 'latest' flavor on those 'meta' steps (to be validated whether docker/metadata-action can cope with that)?
If we publish the release version we want to publish X.Y.Z (default) + LATEST (new) tags? I understand that we don't want to discard current versioning just to provide improvements in a way of adding new tags latest or snapshot
I did a new push/implementation, feel free to give feedback  ⚡
https://github.com/ljubon/siembol/pull/1/files @mariannovotny you too 🙏

FYI I opened draft PR, feel free to put comments ⚡  https://github.com/G-Research/siembol/pull/226

Implemented in #226

I think we forgot to update documentation https://github.com/G-Research/siembol/blob/master/docs/deployment/deployment.md - I will do it before next release.


perf(cardano-services): Cardano-services optimizations based on processed profiled data

Context
Based on the "Loading SPIKE: Wallet with large # of txs uses a lot of CPU in cardano-services"  and the profiled processed data, we could apply some optimizations in cardano-services backend in order to reduce/resolve the high CPU errors during the performing of intensive E2E tests which are opening/closing a  “heavy” wallet multiple times in a short period of time.
Proposed Solution

remove the usage of core types with validation in mappings/utils when data comes from the database as we trust the format of the stored addresses.
each validation is hosted to the test scope

This is not only about Cardano.Address() validation but also other validations such as TransactionId(), BlockId(), RewardAccount(), and more. The ones which don't perform a type validation should be used in mappers as it is,
for instance Cardano.Slot()
Important Changes Introduced

uses type casting instead of type validation when mapping DB data
removes type validations in all Fixture Builders (used casting instead)
keeps the type validations in the test scope and enhances integration tests with assertions for data coming from DB correctness

List of Cardano core types that contain a validation (with refs to usage in tests):

Cardano.TransactionId ( test scope )
Cardano.AssetFingerprint ( test scope )
Cardano.PolicyId ( test scope )
Cardano.AssetName ( test scope )
Cardano.Address ( test scope )
Cardano.util.Hash32ByteBase16 ( test scope )
Cardano.RewardAccount ( test scope )
Cardano.util.HexBlob ( test scope )
Cardano.PoolId ( test scope )
Cardano.BlockId ( test scope )
Cardano.VrfVkBech32 ( test scope )
Cardano.PoolIdHex ( test scope )
Cardano.VrfVkHex ( test scope )

The integration tests are enhanced with assertions for data coming from DB correctness. The PR list changes are updated, alongside the links to each item's test scope from the list (_List of Cardano core types that contain a validation)
Note: The newly added integration test assertions could be more than one per type but the List of core type validations has only one test scope link per type as an example. @rhyslbw

LGTM

Commits are squashed


Connection state transition leaves Bugsplat unable to post exceptions

If a Unity client (Verified on iOS, IL2CPP, 2021.3 LTS) is subject to a network change; such as moving from WiFi to Cell, or Cell to WiFi, where the original connection is terminated; Bugsplat will be unable to post exceptions until the original network connection is restored.
This bug appears to be caused within BugSplatDotNetStandard.dll which is not distributed in an uncompiled form.
Attached is a sample exception which'll happen when the original network connection is out (however there is still a valid connection, on another network adapter).
SampleBugsplat.txt

Thanks for reporting this @AdamFrisby! We'll get this fixed asap. If you get curious, the source for bugsplat-dot-net-standard is available here.


Initialization for bbox_embed bias

Hello, thank you for your great work!  I find lots of weight initialization are carefully designed and most of them are inspiring for me. However, I'm curious about how you decide on the initialization of biases (corresponding to w,h prediction) of bbox_embed  to be -2.0? I guess it's related to the range of w,h (between 0 and 1). What's the principle or intuition behind such choice?

I have the same question? May I know if you have figure it out?

I have this question too. Do you know why?


Failure 403 configmaps "prometheus-k8s-rules" is forbidden: User "system:serviceaccount:monitoring:prometheus-k8s" cannot get configmaps in the namespace "monitoring"

What did you do?
  git clone -b master https://github.com/coreos/prometheus-operator.git kube-prometheus-temp;
  cd kube-prometheus-temp/contrib/kube-prometheus
  ./hack/cluster-monitoring/deploy
  kubectl -n kube-system create -f manifests/k8s/self-hosted/

What did you expect to see?
Rules
What did you see instead? Under which circumstances?
It worked for 5 mintues, and then I saw "No alerting rules defined"
--- kubernetes/kube-prometheus ‹master› » ku -n monitoring logs -f prometheus-k8s-0 prometheus-config-reloader
ts=2018-02-28T17:08:01Z caller=main.go:231 component=volume-watcher msg=Starting...
ts=2018-02-28T17:08:01Z caller=main.go:204 component=volume-watcher msg="Updating rule files..."
ts=2018-02-28T17:08:01Z caller=main.go:207 component=volume-watcher msg="Updating rule files failed." err="kubernetes api: Failure 403 configmaps \"prometheus-k8s-rules\" is forbidden: User \"system:serviceaccount:monitoring:prometheus-k8s\" cannot get configmaps in the namespace \"monitoring\""
ts=2018-02-28T17:08:01Z caller=main.go:212 component=volume-watcher msg="Reloading Prometheus..."
ts=2018-02-28T17:08:02Z caller=main.go:219 component=volume-watcher msg="Prometheus successfully reloaded."

Environment
k8s 1.8.8 upgraded from 1.7.9 with kops 1.8.1 on AWS

Kubernetes version information:

--- kubernetes/kube-prometheus ‹master› » kubectl version
Client Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.8", GitCommit:"2f73858c9e6ede659d6828fe5a1862a48034a0fd", GitTreeState:"clean", BuildDate:"2018-02-09T21:30:57Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.8", GitCommit:"2f73858c9e6ede659d6828fe5a1862a48034a0fd", GitTreeState:"clean", BuildDate:"2018-02-09T21:23:25Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}

Kubernetes cluster kind:

kops

Manifests:

Prometheus Operator Logs:

--- kubernetes/kube-prometheus ‹master› » ku -n monitoring logs -f prometheus-k8s-0 prometheus-config-reloader
ts=2018-02-28T17:08:01Z caller=main.go:231 component=volume-watcher msg=Starting...
ts=2018-02-28T17:08:01Z caller=main.go:204 component=volume-watcher msg="Updating rule files..."
ts=2018-02-28T17:08:01Z caller=main.go:207 component=volume-watcher msg="Updating rule files failed." err="kubernetes api: Failure 403 configmaps \"prometheus-k8s-rules\" is forbidden: User \"system:serviceaccount:monitoring:prometheus-k8s\" cannot get configmaps in the namespace \"monitoring\""
ts=2018-02-28T17:08:01Z caller=main.go:212 component=volume-watcher msg="Reloading Prometheus..."
ts=2018-02-28T17:08:02Z caller=main.go:219 component=volume-watcher msg="Prometheus successfully reloaded."

Alert are now appearing again. Not sure what caused them to all disappear for a while...
prometheus-config-reloader is still throwing that error

Gone again... not sure how this could be intermittently failing. The prometheus-k8s role seems to have access to get configmaps.

pod prometheus-k8s-1 is working, pod prometheus-k8s-0 is not working - permissions errors in both config-reloader and prometheus containers...
level=error ts=2018-02-28T17:08:02.307627093Z caller=main.go:216 component=k8s_client_runtime err="github.com/prometheus/prometheus/discovery/kubernetes/kubernetes.go:268: Failed to list *v1.Endpoints: endpoints is forbidden: User \"system:serviceaccount:monitoring:prometheus-k8s\" cannot list endpoints in the namespace \"monitoring\""

restarted prometheus-k8s-0 and no errors on restart. Looks like permissions were created after the pod initially started...

So this is resolved? In any case this is quite curious. (but we're actually already improving error handling on the config reloader side https://github.com/coreos/prometheus-operator/pull/1003, so I expect behavior like this to go away once we merge that PR)

There's a workaround - to delete the pod. Not sure if there's a fix that would involve making sure the role is created before creating the pod.

I have seen this with HA apiserver clusters before, I'd say this is not a Prometheus Operator issue. If you agree I'd say we close this here.


ConanFile for C++ deployments

What version of gRPC and what language are you using?
C++
What operating system (Linux, Windows, …) and version?
All
What runtime / compiler are you using (e.g. python version or version of gcc)
All
Hi Guys,
What is the support for creating a conanfile.py for the grpc project? Would it be something that would be considered for inclusion into the repo? Conan is a C++ package manager and I would like to test the waters for an official grpc conanfile.
Thanks,
Matt

We've been thinking of adding support for Conan in the past (as our C++ installation story is not ideal) but never actually go to it - help would be really welcome here.
A few questions:

would this support all of linux, windows and mac out of the box? (I think that's a requirement)
do conan packages exist for all our dependencies? (if not, what would we do about this?)
is there already some "unofficial" conan package for grpc we could test?

@jtattermusch I am currently trying to create a conanfile for grpc (so far only for internal use) , I found most dependencies are available:
zlib/1.2.11@conan/stable OpenSSL/1.0.2o@conan/stable protobuf/3.5.1@bincrafters/stable c-ares/1.14.0@conan/stable gflags/2.2.1@bincrafters/stable
For a full build with all dependencies coming in as provider=package only google benchmark is missing. So I managed to get this working on windows and only the linux build is giving me trouble when creating a debug build. In this case libprotobuf.a is not found because it is created as libprotobufd.a

This is exactly what I was hoping for! Thankyou @Ozaq !

We have our own gRPC Conan packag for a while now, but upstream support would be obviously the best https://github.com/inexorgame/conan-grpc/

For the purpose of creating a good gRPC Conan recipe I have also opened #15949.

@Croydon  thanks for sharing the conan recipe.

Todo
Hard blockers:

[ ] Include Protobuf into conan-center https://github.com/bincrafters/community/issues/381

Protobuf is a requirement of gRPC

[ ] Official Google Benchmark Conan support https://github.com/google/benchmark/issues/635 & https://github.com/google/benchmark/pull/647

Benchmark is a requirement of gRPC
Please note: Once Conan support is merged, the submodule in gRPC should be updated, to a Benchmark version including Conan support

Soft blockers, not neccessary required, but would be very, very helpful:

[ ] Implement CMake options for building/not building every plugin #15949

this makes the build customizable, without unreliable patching of the CMakeLists.txt file

Nice to have:

[ ] Use GFlags and Benchmark only when tests enabled #11068

brings down build time

I will keep this list up-to-date till this is done.

Is there a reason we don't use:
    self.cpp_info.libs = tools.collect_libs(self)

instead of manually hard-coding the list of libraries?
When I use that against v1.15.1 it finds:

address_sorting gpr grpc++ grpc++_cronet grpc++_error_details grpc++_reflection grpc++_unsecure grpc grpcpp_channelz grpc_cronet grpc_plugin_support grpc_unsecure

which looks equivalent and seems far less brittle

tools.collect_libs(self) is only useful when the order of the linking doesn't matter. When someone could help me with that then I will happily complete this https://github.com/inexorgame/conan-grpc/blob/88908f9d7c99e074233f3c5b6f74e12dc3c450da/conanfile.py#L127

I'm also very interested in a Conan package for GRPC, need this for my current project.

@EkremH  looks like you should be able to use the community-provided  conan package here:
https://github.com/inexorgame/conan-grpc/blob/testing/1.17.2/conanfile.py
I haven't tried the package myself but it seems like others have been using it.
@Croydon  is there any way to see the usage statistics for the conan package you created? If it is used successfully by users and it works for them, we'd be happy to provide some visibility and invite the community to contribute. Would you be interested in writing a blogpost for the grpc.io website?

Still work in progress.
I'm still maintaining the (unstable) grpc recipe and will eventually push it in the Conan Center Index

Hi everyone, is there any date foreseen when a stable grpc package could be available in conan-center ?

CC @zackgalbreath  @KyleFromKitware

The progress of getting packages into Conan Center has changed in the meantime
There is now the Conan Center Index.
Even packages who are in Conan Center via the old linking should be re-added and there are new criteria packages need to fulfill.
Future work on grpc is stalled until Protobuf and Protoc are added to the Conan Center Index.
Until grpc is ready for the Conan Center index, the recipe is getting maintained at https://github.com/inexorgame/conan-grpc/

Thanks, I didn't know conan linking changed in conan-center.
Le mer. 11 déc. 2019 à 15:42, Croydon<EMAIL_ADDRESS>a écrit :

The progress of getting packages into Conan Center has changed in the
meantime
There is now the Conan Center Index
https://github.com/conan-io/conan-center-index.
Even packages who are in Conan Center via the old linking should be
re-added and there are new criteria packages need to fulfill.
Future work on grpc is stalled until Protobuf and Protoc are added to the
Conan Center Index.
Until grpc is ready for the Conan Center index, the recipe is getting
maintained at https://github.com/inexorgame/conan-grpc/
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/grpc/grpc/issues/15363?email_source=notifications&email_token=AC5Z2FE67GYPRNQSKQZ3Z7TQYD34RA5CNFSM4E7Y6D72YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGTL3KQ#issuecomment-564575658,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AC5Z2FG3WOFZMALED5VCCLLQYD34RANCNFSM4E7Y6D7Q
.

@Croydon I just tried out your gRPC Conan recipe with mixed success. It successfully built but I got the following error when the test ran:
grpc/1.25.0@inexorgame/stable (test package): Running test()
14: failed to connect to all addresses
Greeter received: RPC failed

@KyleFromKitware While I agree that this result is super confusing and should be improved, this is actually the expected result for now. Conan test_packages don't need to test the functionality of the library, only if the library was build successfully. The current test_package covers this by running grpc

@KyleFromKitware While I agree that this result is super confusing and should be improved, this is actually the expected result for now. Conan test_packages don't need to test the functionality of the library, only if the library was build successfully. The current test_package covers this by running grpc

May I ask how can a test failure be expected result? Is the current "test" basically a placeholder for some actual tests? If so, can we just use a placeholder test that passes (it should be easy to come up with a simple program that uses grpc but actually passes).

@jtattermusch @Croydon I've opened inexorgame/conan-grpc#24 to run the server along with the client. The package test now successfully completes on my machine.

We acknowledge this to be a valid feature request but since no one has come forward to implement this, we are going to close it for now while maintaining the label/Help wanted to indicate that this can be picked up as future work

I'm still on it as previously mentioned (I did not joke about it 😉)
It is just really, really hard and still a work-in-progress, but we close to land protoc in the Conan Center Index and Conan has landed new features that we need to continue working on it.
Closing this issue might still be okay as a Conan recipe will go now to the Conan Center Index.
For people who might want to get notificated on availability can track https://github.com/conan-io/wishlist/issues/55
In the meantime, there is always the current state available at https://github.com/inexorgame/conan-grpc. The last more-or-less stable version is 1.25.0 currently. Somethings are broken, but it might still be useful to some people.

@Croydon
Hi.
I hope it will be helpful
https://github.com/blockspacer/conan_grpc/blob/master/conanfile.py
https://github.com/blockspacer/conan_protobuf
https://github.com/blockspacer/conan-flatc_installer

Dockerfile-s

I still don't see this recipe in https://github.com/conan-io/conan-center-index -- in the end did it ever make it?

I still don't see this recipe in https://github.com/conan-io/conan-center-index -- in the end did it ever make it?

Apparently not. Would also love to see this in ConanCenter, ideally kept up to date by the maintainers. Until then https://github.com/inexorgame/conan-grpc looks to be a great alternative.


avoid the stdio to be closed

if the stdio is closed, the output from runv itself is lost
and the 'term.RestoreTerminal(inFd, oldState)' fails.
so we use pipes to prevent the stdio from closing.
Signed-off-by: Lai Jiangshan<EMAIL_ADDRESS>

LGTM


json to yml

Changed syntax of linter config file, from json to yml, for compatibility reasons with text editors.
Config remains exactly the same.

Thanks, @jvnni! Just to understand, what are the compatibility reasons behind this change?
Also, would be awesome if we could normalize the indentation in the file to be all 4 spaces —I could do it if you prefer that. 😁

The standard syntax for the linter really is in yml, not json.
In json format it doesn't work when used in text editors for example, as they expect yml format.


fix: xonsh hook

It was raising a TypeError:
xonsh: For full traceback set: $XONSH_SHOW_TRACEBACK = True
TypeError: 'method' object is not subscriptable
Exception raised in event handler; ignored.

I was able to build, but running the tests failed with fatal runtime error: failed to initiate panic, error 5. I have been using the debug build and it solves the problems.

thanks!

Thank you!


Multi-project integration testing

This is a caricature of my internal projects that use this plugin.

You'll note it exercises many features:

Simple java Project dependencies
Duplicate dependencies (i.e. X depends on C directly but also on C transitively through Y)
Build-closure translation of an external source jar
Migrating JNI code to pure objective c
Combining hand-written objective c code with j2objc translated objective c code

What else should we be testing for a 'complex' project?

@advayDev1 could you please post some more details of the build.gradle files. That would at least help me with the sample branch I am pushing.

Generated code, e.g. Dagger2 and AutoValue, not sure if we should just ignore Dagger1
The incremental build after files are deleted or added in various different ways

@advayDev1 - I've taken to modifying your original comment

@brunobowden - please let's not edit comments from other authors in the future.  i know both of us /can/ but it is really confusing since there is no edit history AFAICT.  nor indication that someone else touched the comment.  scary for github really :P
I unedited the comment (as close as i could).

@brunobowden , this is I think what I removed.  Also those aren't already in the current test project, but are things we'd like to also have:

Generated code, e.g. Dagger2 and AutoValue, not sure if we should just ignore Dagger1
The incremental build after files are deleted or added in various different ways
Cycle Finder task, this involves creating two intentional memory cycles, marking one invalid and checking the other is counted

@brunobowden We should not support Dagger1. As far as I remember you cannot translate it because it uses reflection which is not available in objective-c. So forget about Dagger1.

@advayDev1 I do not understand you drawings. The legend shows symbols which occurs in every box. Does not help. Better to tell where the j2objc plugin is located.

@advayDev1 - apologies Advay, I'll refrain in the future from modifying comments

@confile - every dashed box is a distinct application of the j2objc plugin.

@brunobowden or @confile - can someone explain to me what it means to 'support dagger1' or any other system that generates code?  what is specific about these systems that our plugin needs to know anything about them or interact with them in anyway?

Dagger is a dependency injection framework from Square. It is supported by
J2ObjC but uses reflection and runtime reflection. Google reworked this to
make Dagger 2... which uses compile time code generation and dependency
graph evaluation... then does nothing at runtime. Both will likely be a
common use cases, particularly dagger 2.
Here's a thread on this:
https://groups.google.com/forum/#!topic/j2objc-discuss/RpDOjyJQD_o
On Thu, Jun 25, 2015 at 11:52 AM Advay Mengle<EMAIL_ADDRESS>wrote:

@brunobowden https://github.com/brunobowden or @confile
https://github.com/confile - can someone explain to me what it means to
'support dagger1' or any other system that generates code? what is specific
about these systems that our plugin needs to know anything about them or
interact with them in anyway?
—
Reply to this email directly or view it on GitHub
https://github.com/j2objc-contrib/j2objc-gradle/issues/230#issuecomment-115361004
.

@brunobowden - Sorry for not being clear.  I know and understand dagger.  I don't understand why our plugin needs to be aware of dagger at all.

It shouldn't do... but they're good common test cases.
On Thu, Jun 25, 2015 at 12:03 PM Advay Mengle<EMAIL_ADDRESS>wrote:

@brunobowden https://github.com/brunobowden - Sorry for not being
clear. I know and understand dagger. I don't understand why our plugin
needs to be aware of dagger at all.
—
Reply to this email directly or view it on GitHub
https://github.com/j2objc-contrib/j2objc-gradle/issues/230#issuecomment-115363416
.

got it

I agree with @advayDev1 Our plugin does not needs to be aware of Dagger. This has nothing to do with the plugin.

This is just something for the tests, not the plugin itself.
On Fri, Jun 26, 2015 at 6:08 AM Michael Gorski<EMAIL_ADDRESS>wrote:

I agree with @advayDev1 https://github.com/advayDev1 Our plugin does
not needs to be aware of Dagger. This has nothing to do with the plugin.
—
Reply to this email directly or view it on GitHub
https://github.com/j2objc-contrib/j2objc-gradle/issues/230#issuecomment-115674610
.

So multi-project integration tests have been in the build for a while now.
What we've described above is an exhaustive system test, which I think requires #370 and can be tracked separately.


Add coverage support for specs2 with junit runner

Description
Right now, bazel coverage <..> does not produce coverage files for specs2 targets. This change adds necessary configuration to enable it.
Motivation
Because it's good to have coverage support not for ScalaTest only but for Specs2 (with JUnit runner)  as well :)

This exact simple test case works in IntelliJ. However more complicated
cases fail due to various reasons.
On Fri, Mar 19, 2021 at 7:09 AM Ittai Zeidman @.***>
wrote:

@.**** approved this pull request.
Wow!!! So exciting...
Has anyone tried this through IntelliJ btw?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/bazelbuild/rules_scala/pull/1250#pullrequestreview-616065427,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAQEZB65V5PAR6EWS3ETGADTELMATANCNFSM4ZK6NUTA
.

--
Jaunius Belickas
Software developer
Cell: +370 612 55050
Rūdninkų g. 2, Vilnius, Lithuania

I see.
Are you planning on tackling this today? If we could have an issue with the various that could help the next person trying to tackle it.
In any case well done!


$cordovaSocialSharing - posting pre-written messages to facebook notworking

Hi
i know about the facebook issue described here https://developers.facebook.com/x/bugs/332619626816423/
but the developer of the plugin has published a walk around using a method called shareViaFacebookWithPasteMessageHint
when doing it using the ng-cordova i get in the logs message saying 'TypeError: Object # has no method 'shareViaFacebookWithPasteMessageHint''
Looks like the library was not updated

Fixed in a5df9db264a72fa7ef10848d93925ab15490cf75

Tested and working ,thanks


Client makes a local guess to speed up movements.

Remove the selections (make no sense since we moved to a "pick up the block" approach)
Make a local guess and mange ext inv movements and mouse block.

Maybe squash the commits, "foo" doesn't look so nice in a commit history... ;)

@petterarvidsson updated to only "guess" when we pick up a block, and only if the hand is empty.

@nsg This a clear improvement, even though maybe more work may be needed later on. :+1:


Don't check senentence length less than MINMEA_MAX_SENTENCE_LENGTH in minmea_check

since the whole code base can support any length without problem

Good one, thanks! I updated the tests to reflect this change.


Disabling rescheduling adds inestability

Rescheduling is used so that if cuckoo is killed or shut down in the middle of an analysis it can recover the task and restart it on restart.
The thing is, if you disable it, the tasks will be in "running" state forever.
That's kind of the expected result, but either way:

Doc is not clear enough on that
It's probably to be changed.

I think the correct way is to start using FAILED_ANALYSIS status, that is currently used on process.py only, and it's not being correctly applied to the database (it's not on the states enum), and
if not cfg.reschedule:
db.set_status(task.id,  FAILED_ANALYSIS)
I can do a patch for this, if it's decided to go this way.
There probably are better solutions to this.

Thanks a lot for reporting it.

Was implemented, on startup without reschedule the task status gets set to FAILED_ANALYSIS.


isMember is returning possible false positive results

Deployment: Ganache
I am getting some strange results from DaoRegistry.isMember(address) where any address seems to return true.  I also checked if the burn address was MemberFlag.EXISTS and it is 1.

This problem is caused by the '0x0' address passed as argument in the dao creation phase. The dao uses the 0x0 to indicate its creator address, hence we can use that to set up the adapters and extensions while the dao is in CREATION mode.
Then when you call the .isMember passing an address that is not a member, it will try to resolve it is delegated key, but it won't find so it returns 0x0, and then the membership flag is enabled for the 0x0 address, that's why it returns true.
I'll be working on that, might have a solution for that early next week.

same thing replicated here:  https://github.com/openlawteam/tribute-contracts/commit/61b1cae44893b16cafef5e7fea0ef1a8310f9e8a a couple tests I wrote.  For eg. starting from line 283 to 298 in test/extensions/erc20.test.js the isMember(recipient) passes false as it should (line 283), but then then the transfer on line 292 goes through, when the expected behavior is for it revert, due to  require(dao.isMember(recipient), "receipient is not a member"); in line 222 of ERC20TokenExtension.sol


[Redesign] Packages page is not mobile friendly.

The new NuGet.org looks great - big improvement!
The site seems to be mostly mobile friendly, with the exception of the package index page (/packages) which looks like this. I assume this is just an oversight.

I've tried this in both Chrome and Safari on iOS 10.

Resolved and deployed to https://preview.nuget.org/.

Great - thanks!


Ap 2274/handle binding to multiple databases

hmm tbh, I don't even want to make them editable, atleast not the bound ones... Can we undo this once we push to production? This will clear out the "influxdb" datasource which sits in the mysql db.