pre-commit

I'd like to suggest using a pre-commit to mostly unify formatting/add ome simple checks.
For starters, I'd recommend the following:

black: for formatting (also would switch to 4 spaces instead of 2)
isort: to sort imports
the following hooks from https://github.com/pre-commit/pre-commit-hooks:

check-ast so that valid Python code is committed
check-merge-conflict to not commit files where a merge conflict is present
end of line/whitpace handlers: end-of-file-fixer, trailing-whitespace mixed-line-ending

Example file I like using is here, though there are other checks, such as for typing and documentation: https://github.com/theislab/squidpy/blob/master/.pre-commit-config.yaml
black/isort are configured here: https://github.com/theislab/squidpy/blob/master/pyproject.toml#L5-L58
For new contributors, the workflow would then be:
git clone https://github.com/ott-jax/ott && cd ott
pip install -e'.[dev]'  # extra `dev` requirements contains `pre-commit` package
pre-commit install

Hi Michal

black: for formatting (also would switch to 4 spaces instead of 2)

I think the 4 spaces makes life more difficult when sticking to the 80 characters / line rule. Since the entire codebase is written with 2 spaces, I think I'd rather stick to 2 :)

Example file I like using is here, though there are other checks, such as for typing and documentation: https://github.com/theislab/squidpy/blob/master/.pre-commit-config.yaml
black/isort are configured here: https://github.com/theislab/squidpy/blob/master/pyproject.toml#L5-L58

This sounds good! So we only need to add your .pre-commit-config.yaml to the repo, right? please go ahead with a PR, I am happy to validate it.

That sounds like a good idea! I am not sure it is customary to add the .gitignore in the github folder, but it does indeed make life a bit easier for people that fork and want to send a PR for the first time. If you think it's usual I am happy to add it too if you send a PR!


Remove [Windows Driver Kit]

Tool name
Windows Driver Kit
Tool license
Proprietary
Add or update?

[ ] Add
[ ] Update

Desired version
NA
Approximate size
No response
Brief description of tool
@neoadonis @prashantchahar @jakobl-msft
The recommended approach to utilizing the Windows Driver Kit (WDK) for building Windows drivers is now via NuGet. The driver samples repo integrates the latest version of SDK and WDK directly in the CI pipeline instead of leveraging the preinstalled kits in the Windows runner image.
It is our intention to move away from updating and maintaining the version of the Windows Driver Kit Visual Studio Extension (WDK vsix) and WDK itself in the runner images. As we move to releasing the WDK on a different cadence it is ideal that NuGet be the standard moving forward.
Please help us by removing the WDK and the WDK vsix installation as a build step and test when composing a new spin of Windows runner image.
Thank you kindly!
URL for tool's homepage
No response
Provide a basic test case to validate the tool's functionality.
No response
Platforms where you need the tool

[ ] Azure DevOps
[X] GitHub Actions

Runner images where you need the tool

[ ] Ubuntu 20.04
[ ] Ubuntu 22.04
[ ] Ubuntu 24.04
[ ] macOS 11
[ ] macOS 12
[ ] macOS 13
[ ] macOS 13 Arm64
[ ] macOS 14
[ ] macOS 14 Arm64
[ ] Windows Server 2019
[X] Windows Server 2022

Can this tool be installed during the build?
No response
Tool installation time in runtime
No response
Are you willing to submit a PR?
Yes

Hi @middlemose the requirement to remove WDK versions is not possible as it can effects other customers, Thank you.

Adding a few folks:
@JakobL-MSFT
@NeoAdonais
@prashantchahar

@hemanthmanga Thank you for your reply and concern about how it may or may not affect customers. That being said, our long-term goal is for projects to ingest the WDK through NuGet. To prevent version conflict and the maintenance of updating the WDK versions in the runner image we would like it removed. Is there a process we can go through to escalate this and come to an agreement on a possible long-term removal process?

@hemanthmanga Following up here to see if there is more progress we can make on a long-term removal process?


Integration | Component | sl pagination: Previous button click decrements the current page and calls the changePage action

not ok 218 PhantomJS 1.9 - Integration | Component | sl pagination: Previous button click decrements the current page and calls the changePage action
    ---
        actual: >
            null
        message: >
            Died on test #1     at test (http://localhost:7357/assets/test-support.js:3025)
                at testWrapper (http://localhost:7357/assets/test-support.js:6192)
                at test (http://localhost:7357/assets/test-support.js:6205)
                at http://localhost:7357/assets/tests.js:15449
                at http://localhost:7357/assets/vendor.js:152
                at tryFinally (http://localhost:7357/assets/vendor.js:33)
                at http://localhost:7357/assets/vendor.js:158
                at http://localhost:7357/assets/test-loader.js:60
                at http://localhost:7357/assets/test-loader.js:51
                at http://localhost:7357/assets/test-loader.js:82
                at http://localhost:7357/assets/test-support.js:6024: 'undefined' is not a function (evaluating 'pages.find(function (page) {
                            return page.active;
                        })')
        Log: |
    ...

Will likely be resolved by https://github.com/softlayer/sl-ember-components/issues/1503

Resolved by https://github.com/softlayer/sl-ember-components/issues/1503


Add digest auth feature

This is a decent start (it works) but there's a few problems to be solved:

Should this be a feature or a modification of HTTP::Client?
How do I access the HTTP client that was used to make the request? Right now I used HTTP but we need to reuse the original one, with user options, etc.

I don't think this modification belongs to HTTP gem on its own. This feature, should be a some sort of higher-level client on top of http client itself. For this reason I'm planning to remove (extract to sessions) redirects follower as well.

What can/should I do?
Almost all my equipments (HTTP cameras) use digest auth. I didn't find a clean way to write a reusable digest_auth wrapper method, because I need to know about the HTTP instance, the user, the pass, and the get/post/patch request and that looks ugly.

As I said, I don't see this particular feature to be part of the HTTP core client. In your case I believe you need to simply create client class for your needs:
class CameraClient
  def initialize(username:, password:, http: HTTP)
    @username = username
    @password = password
    @http = http
  end

  %i[get post head].each do |verb|
    define_method(verb) { |*args, **options| request(verb, *args, **options) }
  end

  def request(verb, uri, **options)
    # your custom logic of request/response and authentication here
  end
end

You can also register your own features, if you want to keep your implementation:
https://github.com/httprb/http/blob/master/lib/http/options.rb#L27
HTTP.register_feature(:digest, MyDigestAuth)

HTTP.use(digest: {username: "AzureDiamond", password: "hunter2"}).get("http://test.example/")

Thanks for the examples! :+1:


Frontend: Create Breadcrumb component

Describe the task
Create Breadcrumb component according to the design system.
Acceptance Criteria

[x] Breadcrumb component exists and is available to all pages except Manage Permissions page
[x] Breadcrumb component stylized as per the design system
[x] Breadcrumb links redirect to the correct pages

Additional context
Figma design: https://www.figma.com/file/5BnF5T2ncoZVpSbCbj30Mr/FAM-mockups?type=design&node-id=1773-108689&mode=design&t=YKuzKiz3MHGyGKLU-0Private Zenhub Image
Private Zenhub Image

The current backend API implementation only accepts one client ID per request, so there are two possible solutions for submitting multiple client IDs:

The backend API is adjusted to accept multiple IDs per request or a new separated API is created to allow this;
The frontend can loop through all the items in the client ID list and send one request per client ID through the current backend API;

After discussion, we have decided for now to proceed with the option 2. To accomplish that, the complexity of task has increased, because the frontend would have to handle the multiple API requests, including handling errors and it would also require adjustments on the notification component to display the IDs that were successfully added to one user and another one to display the IDs that were not added. As further discussed with the UX team, there would be also an warning notification for some special cases (trying to add an association that already exists, for instance), so this task should include this design below for the notification messages:
Private Zenhub Image

Looks good


Use "window" instead of "top" for AudioContext

I was testing from Codepen, and getting the following issue:
Uncaught DOMException: Blocked a frame with origin "https://cdpn.io" from accessing a cross-origin frame.

And this was solved using window instead, e.g: https://codepen.io/jdnichollsc/pen/KKMRPrr
Also ZzFX use window too: https://github.com/KilledByAPixel/ZzFX/blob/master/ZzFX.js#L306
Thanks!

@KilledByAPixel what do you think about this little change? :)

I'm getting the same issue, can you merge this change?

I'm getting the same issue, can you merge this change?

Thanks for this. Apologies for the delay!

Thanks for this. Apologies for the delay!

No problem mate, thanks for your help!

No problem mate, thanks for your help!


No such file or directory in the code 'cub_preprocess.py'

Hello,
I have downloaded the dataset from your recommended website. But when i use the preprocess code to generate '.h5' file for cub_200_2011 dataset, I cant find the file '/cub/CUB_200_2011/cachedir/cub/data/train_cub_cleaned.mat'.
Is it whether generated by yourself or not?
I will be very grateful to your response.

The file seems indeed not there. It has been a long time ago. I need to check with my colleagues where this file comes from.


Update for BiomeVolume change

See: https://github.com/SpongePowered/SpongeAPI/pull/1380

https://github.com/SpongePowered/SpongeCommon/commit/01ac78e40ca48cc41ccc0ff9fa32cd569096c389


Bug: Progress in Status Center is incorrect.

Description

But the one in task bar is correct

Steps To Reproduce
Just delete a folder with many small files in it.
Requirements

Fix the incorrect progress display.

Files Version
<IP_ADDRESS>
Windows Version
Windows 11 Pro 23H2
Log File
debug.log

Thank you for the report, we're currently tracking this issue in #13860. You can add a comment or subscribe to be notified when it's resolved.


Temporary remove azdev from tests

What this PR does / why we need it:
We have failing CI due to upstream issue: https://github.com/Azure/azure-cli/issues/18950
Test plan for issue:
See if CI is green
Is there any documentation that needs to be updated for this PR?
Need to create a new issue/work item to revert this once https://github.com/Azure/azure-cli/issues/18950 fixed

Python Unit Test is green.
/lgtm


Mcalus3/enable pending locations for repo importing

Enable adding locations for config files that does not yet exist by adding a flag to api request

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)

Just one smaller build error remaining

Thanks!


[FN] RPC - getblockchaininfo deployments

Adding the missing deployment parts for RPC
softforks and bip9_softforks
https://bitcoincore.org/en/doc/0.16.0/rpc/blockchain/getblockchaininfo/

@dangershony Any updates on the remaining review comments?

@fenix2222 all comments where addressed in the last commit, did I miss anything?

Ah yes, check above. Mainly about “test” matcgihing
On Fri, Sep 6, 2019 at 20:25 Dan Gershony<EMAIL_ADDRESS>wrote:

@fenix2222 https://github.com/fenix2222 all comments where addressed in
the last commit, did I miss anything?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/stratisproject/StratisBitcoinFullNode/pull/3925?email_source=notifications&email_token=ABSZF5AMMJVLVNL7B7W5W5TQIIV2XA5CNFSM4ITJOYEKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6CN7NI#issuecomment-528801717,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABSZF5GF4CP7JGWGUFR52C3QIIV2XANCNFSM4ITJOYEA
.

@fenix2222 your comment about the test consistency was fixed, this PR is ready to be pushed.

Am i missing something? But this comment still sits in pending and there is no code change or reply to it

Hmm that's very odd I don't see that comment.

@fassadlr this should be ready to commit now

@maciejzaleski Are you happy with this now?

If the tests are passing and the RPC call returns expected results then yes


Deprecate contribs: atom, jsrouting, limiter.

Via https://github.com/pallets/werkzeug/issues/4
Should we deprecate other modules:

iterio
lint
profiler

I know limiter already said it was deprecated, but since it didn't have a warning maybe it would be good to add that and keep its deprecation/removal synced with the rest.

Turns out there's a section in the docs calling out some of the deprecations too: http://werkzeug.pocoo.org/docs/0.14/transition/#stop-using-deprecated-things

jsrouting and testtools have been issuing deprecation warnings for years, I'm just going to completely remove them like limiter.

Also switching to just DeprecationWarning with warnings.filterwarnings("default", category=DeprecationWarning, module="werkzeug"). There's other things we want to deprecate in Werkzeug that aren't in contrib, and IDEs like PyCharm recognize DeprecationWarning.


Use Settings UI

A user has suggested it would be ideal if some of the settings could be controlled by the main VSC settings UI.
I think this will be too difficult for the advanced cases, but it might be possible for a simple list of keywords.

the defaultStyle could use some rework too, ex. toggling isWholeLine

@ctf0, thanks, but I don't understand what you're suggesting. Please expand.

i mean
https://github.com/jgclark/vscode-todo-highlight/blob/7ba3783825ddf16c1cc94d88ec4435dbfd4550ef/package.json#L156-L173
doesnt have all the allowed/avail options & u have to go through the rdme to figure what if something like isWholeLine could be added under todohighlight.defaultStyle or not.

The relevant documentation appears to be https://code.visualstudio.com/api/references/contribution-points.

The relevant documentation appears to be https://code.visualstudio.com/api/references/contribution-points.

@ctf0 I've added isWholeLine to defaultStyle but that's the only extra one I can see could be added. All the others seem to be objects or arrays.  Will release an update in a few days, unless you spot something else that can be supported by VSC in the UI Settings page.

@ctf0 I've added isWholeLine to defaultStyle but that's the only extra one I can see could be added. All the others seem to be objects or arrays.  Will release an update in a few days, unless you spot something else that can be supported by VSC in the UI Settings page.

Found a way to include the exclude and include settings in the UI Settings page, and am about to release as v2.0.1. That's the limits of what's possible, so now closing this issue.


No shared cipher

Added to Gemfile and ran bundle exec falcon serve:
λ bundle exec falcon serve
DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /Users/sobrinho/Developer/omitted/config/environment.rb:5)
DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /Users/sobrinho/Developer/omitted/config/environment.rb:5)
Expected string default value for '--helper'; got true (boolean)
I, [2018-08-09T09:50:06.321984 #141]  INFO -- : Falcon taking flight! Binding to #<Falcon::Endpoint https://localhost:9292/ {:reuse_port=>true}> [Async::Container::Forked with concurrency: 4]
I, [2018-08-09T09:50:06.326142 #157]  INFO -- : Send `kill -USR1 157` for detailed status :)
I, [2018-08-09T09:50:06.326692 #159]  INFO -- : Send `kill -USR1 159` for detailed status :)
I, [2018-08-09T09:50:06.326987 #160]  INFO -- : Send `kill -USR1 160` for detailed status :)
I, [2018-08-09T09:50:06.328072 #161]  INFO -- : Send `kill -USR1 161` for detailed status :)
E, [2018-08-09T09:50:08.961224 #161] ERROR -- #<Async::IO::SSLServer:0x00007fb20551c520>: SSL_accept returned=1 errno=0 state=error: no shared cipher (OpenSSL::SSL::SSLError)
/Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/async-io-1.15.2/lib/async/io/generic.rb:128:in `accept_nonblock'
/Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/async-io-1.15.2/lib/async/io/generic.rb:128:in `async_send'
/Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/async-io-1.15.2/lib/async/io/generic.rb:47:in `block in wrap_blocking_method'
/Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/async-io-1.15.2/lib/async/io/ssl_socket.rb:118:in `block in accept'
/Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/async-1.10.1/lib/async/task.rb:74:in `block in initialize'
E, [2018-08-09T09:50:08.997884 #157] ERROR -- #<Async::IO::SSLServer:0x00007fb20551c520>: SSL_accept returned=1 errno=0 state=error: no shared cipher (OpenSSL::SSL::SSLError)
/Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/async-io-1.15.2/lib/async/io/generic.rb:128:in `accept_nonblock'
/Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/async-io-1.15.2/lib/async/io/generic.rb:128:in `async_send'
/Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/async-io-1.15.2/lib/async/io/generic.rb:47:in `block in wrap_blocking_method'
/Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/async-io-1.15.2/lib/async/io/ssl_socket.rb:118:in `block in accept'
/Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/async-1.10.1/lib/async/task.rb:74:in `block in initialize'
E, [2018-08-09T09:50:09.001011 #157] ERROR -- #<Async::IO::SSLServer:0x00007fb20551c520>: SSL_accept returned=1 errno=0 state=error: inappropriate fallback (OpenSSL::SSL::SSLError)
/Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/async-io-1.15.2/lib/async/io/generic.rb:128:in `accept_nonblock'
/Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/async-io-1.15.2/lib/async/io/generic.rb:128:in `async_send'
/Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/async-io-1.15.2/lib/async/io/generic.rb:47:in `block in wrap_blocking_method'
/Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/async-io-1.15.2/lib/async/io/ssl_socket.rb:118:in `block in accept'
/Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/async-1.10.1/lib/async/task.rb:74:in `block in initialize'

Legacy project using ruby 2.3 and rails 3.2.
Maybe related?

Hmm, I will try it. What web browser were you using?

I think this should be fixed in the latest release of localhost. You shouldn't need to delete your existing certificates, but if it doesn't automatically regenerate them, try trashing ~/.localhost/*.{crt,key}

Same issue, not working neither in Chrome, Safari or cURL.
λ curl http://localhost:9292
curl: (56) Recv failure: Connection reset by peer

λ curl https://localhost:9292
curl: (35) error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

And I removed, generated and installed the ~/.localhost certificate again, does not seem to be related to that.
Maybe falcon, or its dependencies, isn't compatible with ruby 2.3.6?

Ruby 2.3 is definitely supported. However, there is another aspect to this which is underspecified - your OpenSSL version, and the version which was used to compile Ruby in the first instance.
Do you think you can clone the localhost and falcon repos and run the unit tests locally?
In the source root simply run bundle install && rspec. If there are failures it will help to narrow down the issue.

(I'm also assuming you did bundle update before retrying the tests?)

Yes, I did.
I'm going to try to spec both projects, just a sec.

Both passed all green.

Going to try with a fresh sinatra app, just a sec.

Same issue 😱

Hmm, odd. Let me try it here.

I'm going to try with different ruby versions, doesn't seem to be related with rails then.

Can you show me your Gemfile.lock?

That all looks good. And your ruby version is 2.3.6? or 2.3.7?

Aha!
2.3.6: bug
2.4.4: works
2.5.1: works

Let me try compiling 2.3.7

On 2.3.6, what is the result of OpenSSL::SSL::SSLContext.instance_methods(false).include? :alpn_protocols (require 'openssl' first)

pwd:falcon-example   ref:   ruby:2.3.6   node:v9.10.1   status:0
λ irb
(main) normal> require 'openssl'
=> true
(main) normal> OpenSSL::SSL::SSLContext.instance_methods(false).include? :alpn_protocols
=> true

Another interesting issue, in case you already didn't know, hitting the falcon port using http fails instead of redirecting to https.

falcon doesn't currently redirect from http to https since it expects SSL on the specific port you give it rather than port 80/443.

Can you tell me OpenSSL::OPENSSL_LIBRARY_VERSION from 2.3.6 too?

(main) normal> require 'openssl'
=> true
(main) normal> OpenSSL::OPENSSL_LIBRARY_VERSION
=> "OpenSSL 1.0.2o  27 Mar 2018"
(main) normal> RUBY_VERSION
=> "2.3.6"

Same for 2.4.4:
(main) normal> require 'openssl'
=> true
(main) normal> OpenSSL::OPENSSL_LIBRARY_VERSION
=> "OpenSSL 1.0.2o  27 Mar 2018"
(main) normal> RUBY_VERSION
=> "2.4.4"

2.3.7 fails in the same way.
I'm in macOS, btw.

Hmm, that's a really recent version. It shouldn't have any issues. Also, falcon tests passed. But those tests actually check the server is running, etc.

Do they perform a real request to see if it is responding?

Yes.

Using ruby 2.3.7 with the fresh rack application the Chrome message changed a bit:

Let me try it on my end and I'll see if I can reproduce.

No secret but just in case: https://github.com/sobrinho/falcon-issue-13

I'm just installing 2.3.6 now hold on...

I could repro... hold on let me see what is going on..
In the mean time, falcon serve --bind http://localhost:9292 works.

But in this way we lose the SSL, right?

Yep and HTTP/2 but it's something that does work in the mean time until I figure out what is wrong with the SSLContext.

np, thanks!

I think Ruby 2.3 is broken.
Even thought I specify TLS SSLContext, it still tries to negotiate SSLv3. And this causes the client a lot of confusion it seems:
Ruby 2.3.6:
> curl --verbose -k https://localhost:9292
* Rebuilt URL to: https://localhost:9292/
*   Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 9292 (#0)
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
*   CAfile: /opt/local/share/curl/curl-ca-bundle.crt
  CApath: none
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS header, Unknown (21):
* TLSv1.2 (IN), TLS alert, Server hello (2):
* error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
* Closing connection 0
curl: (35) error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

Ruby 2.5
> curl --verbose -k https://localhost:9292
* Rebuilt URL to: https://localhost:9292/
*   Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 9292 (#0)
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
*   CAfile: /opt/local/share/curl/curl-ca-bundle.crt
  CApath: none
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Request CERT (13):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Certificate (11):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS change cipher, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
* ALPN, server accepted to use http/1.1
* Server certificate:
*  subject: O=Development/CN=localhost
*  start date: Aug 10 00:31:43 2018 GMT
*  expire date: Aug  7 00:31:43 2028 GMT
*  issuer: O=Development/CN=localhost
*  SSL certificate verify result: self signed certificate (18), continuing anyway.
> GET / HTTP/1.1
> Host: localhost:9292
> User-Agent: curl/7.58.0
> Accept: */*
>
< HTTP/1.1 200
< content-type: text/html;charset=utf-8
< x-xss-protection: 1; mode=block
< x-content-type-options: nosniff
< x-frame-options: SAMEORIGIN
< server: falcon/0.18.5
< date: Fri, 10 Aug 2018 16:24:59 GMT
< content-length: 11
<
* Connection #0 to host localhost left intact
hello world

@tarcieri any thoughts?

I guess that means that I might be setting up the server SSL context incorrectly. I don't think I'm doing anything strange though: https://github.com/socketry/localhost/blob/de8964b6fe639e6638089095ec802ac26a8e7b14/lib/localhost/authority.rb#L105-L114
@tarcieri if you have any ideas it would be most appreciated/welcome.

So, I'm keen to get to the bottom of this. So, I've expanded testing.
I've added explicit testing using openssl s_client and curl to the localhost gem.
https://travis-ci.com/socketry/localhost/builds/81598559
Strangely enough, so far, tests seems to be passing. So, I wonder if there is some other issue. I wondered if it was something to do with ALPN. Further investigation is required.

Okay, I found the issue. Calling context.freeze causes the context to fail in Ruby v2.3.x. I don't know why this is, but removing it has fixed the issue. So, I'll bundle this with the next update.

Can you tell me OpenSSL::SSL::SSLContext::DEFAULT_PARAMS on your failing Ruby?

I wonder if you have a gem which is modifying those defaults...

Okay, so I was able to reproduce the issue you mentioned above. I will try to find out why it is happening. It worked okay for me on Safari, but on chrome it states:

So, the above was on Ruby 2.3.x, while this is what I get running on Ruby 2.5:

I think there is something wrong with Ruby 2.3 OpenSSL.

Okay, I found how to solve the problem with Ruby 2.3 - you need to manually specify EDCH key callback. After doing this, I could avoid the security issue. I tried to make sane defaults for Ruby 2.3 and Ruby 2.4+.
Can you try localhost v1.1.4?

Now it worked but I'm seeing a deadlock quite frequently.
E, [2018-08-20T08:46:51.315121 #92870] ERROR -- : ThreadError: deadlock; recursive locking
        /Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/rack-1.4.7/lib/rack/lock.rb:14:in `lock'
        /Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/rack-1.4.7/lib/rack/lock.rb:14:in `call'
        /Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/actionpack-<IP_ADDRESS>/lib/action_dispatch/middleware/static.rb:83:in `call'
        /Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/sentry-raven-2.6.3/lib/raven/integrations/rack.rb:50:in `call'
        /Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/rack-cors-1.0.1/lib/rack/cors.rb:93:in `call'
        /Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/railties-<IP_ADDRESS>/lib/rails/engine.rb:484:in `call'
        /Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/railties-<IP_ADDRESS>/lib/rails/application.rb:231:in `call'
        /Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/railties-<IP_ADDRESS>/lib/rails/railtie/configurable.rb:30:in `method_missing'
        /Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/falcon-0.18.5/lib/falcon/adapters/rack.rb:102:in `call'
        /Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/async-http-0.30.3/lib/async/http/middleware.rb:53:in `call'
        /Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/falcon-0.18.5/lib/falcon/adapters/rewindable.rb:59:in `call'
        /Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/async-http-0.30.3/lib/async/http/middleware.rb:53:in `call'
        /Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/async-http-0.30.3/lib/async/http/content_encoding.rb:44:in `call'
        /Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/async-http-0.30.3/lib/async/http/middleware.rb:53:in `call'
        /Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/async-http-0.30.3/lib/async/http/server.rb:54:in `block in accept'
        /Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/async-http-0.30.3/lib/async/http/protocol/http2/server.rb:56:in `receive_requests'
        /Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/async-http-0.30.3/lib/async/http/server.rb:49:in `accept'
        /Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/async-io-1.15.4/lib/async/io/socket.rb:62:in `block in accept_each'
        /Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/async-io-1.15.4/lib/async/io/ssl_socket.rb:124:in `block in accept'
        /Users/sobrinho/.rbenv/versions/2.3.6/lib/ruby/gems/2.3.0/gems/async-1.10.2/lib/async/task.rb:74:in `block in initialize'

Good, progress.
The lock issue I’ve seen before somewhere. It’s to do with unnecessary lock middleware trying to serialise access.

Well, this is a Rails 3.2 application, I do have the config.threadsafe! but only for the production environment.
I may have unexpected behavior enabling it for development mode, no?

It should be fine for development afaik, but perhaps try it and report back if you have issues.

For older apps it looks like you should manually specify it. It’s absolutely necessary for http/2 since it multiplexes connections by default.


 Use [WAIT_TIMEOUT] instead.
api_1     | [WARN  wait] Environment variable [WAIT_AFTER_HOSTS] is deprecated. Use [WAIT_AFTER] instead.
api_1     | [INFO  wait] --------------------------------------------------------
api_1     | [INFO  wait]  docker-compose-wait 2.9.0
api_1     | [INFO  wait] ---------------------------
api_1     | [DEBUG wait] Starting with configuration:
api_1     | [DEBUG wait]  - Hosts to be waiting for: [timedb:5432, cache:6379]
api_1     | [DEBUG wait]  - Paths to be waiting for: []
api_1     | [DEBUG wait]  - Timeout before failure: 60 seconds
api_1     | [DEBUG wait]  - TCP connection timeout before retry: 5 seconds
api_1     | [DEBUG wait]  - Sleeping time before checking for hosts/paths availability: 0 seconds
api_1     | [DEBUG wait]  - Sleeping time once all hosts/paths are available: 5 seconds
api_1     | [DEBUG wait]  - Sleeping time between retries: 1 seconds
api_1     | [DEBUG wait] --------------------------------------------------------
api_1     | [INFO  wait] Checking availability of host [timedb:5432]
beat_1    | [WARN  wait] Environment variable [WAIT_HOSTS_TIMEOUT] is deprecated. Use [WAIT_TIMEOUT] instead.
beat_1    | [WARN  wait] Environment variable [WAIT_AFTER_HOSTS] is deprecated. Use [WAIT_AFTER] instead.
beat_1    | [INFO  wait] --------------------------------------------------------
beat_1    | [INFO  wait]  docker-compose-wait 2.9.0
beat_1    | [INFO  wait] ---------------------------
beat_1    | [DEBUG wait] Starting with configuration:
beat_1    | [DEBUG wait]  - Hosts to be waiting for: [api:8000]
beat_1    | [DEBUG wait]  - Paths to be waiting for: []
beat_1    | [DEBUG wait]  - Timeout before failure: 60 seconds
beat_1    | [DEBUG wait]  - TCP connection timeout before retry: 5 seconds
beat_1    | [DEBUG wait]  - Sleeping time before checking for hosts/paths availability: 0 seconds
beat_1    | [DEBUG wait]  - Sleeping time once all hosts/paths are available: 5 seconds
beat_1    | [DEBUG wait]  - Sleeping time between retries: 1 seconds
beat_1    | [DEBUG wait] --------------------------------------------------------
beat_1    | [INFO  wait] Checking availability of host [api:8000]
beat_1    | [INFO  wait] Host [api:8000] not yet available...
cache_1   | 1:C 06 Sep 2021 13:15:29.428 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
cache_1   | 1:C 06 Sep 2021 13:15:29.428 # Redis version=6.2.5, bits=64, commit=00000000, modified=0, pid=1, just started
cache_1   | 1:C 06 Sep 2021 13:15:29.428 # Configuration loaded
cache_1   | 1:M 06 Sep 2021 13:15:29.429 * monotonic clock: POSIX clock_gettime
cache_1   | 1:M 06 Sep 2021 13:15:29.431 * Running mode=standalone, port=6379.
cache_1   | 1:M 06 Sep 2021 13:15:29.431 # Server initialized
cache_1   | 1:M 06 Sep 2021 13:15:29.432 * Ready to accept connections
timedb_1  | The files belonging to this database system will be owned by user "postgres".
timedb_1  | This user must also own the server process.
timedb_1  |
timedb_1  | The database cluster will be initialized with locale "en_US.utf8".
timedb_1  | The default database encoding has accordingly been set to "UTF8".
timedb_1  | The default text search configuration will be set to "english".
timedb_1  |
timedb_1  | Data page checksums are disabled.
timedb_1  |
timedb_1  | fixing permissions on existing directory /var/lib/postgresql/data ... ok
timedb_1  | creating subdirectories ... ok
timedb_1  | selecting dynamic shared memory implementation ... posix
timedb_1  | selecting default max_connections ... 20
timedb_1  | selecting default shared_buffers ... 400kB
timedb_1  | selecting default time zone ... UTC
timedb_1  | creating configuration files ... ok
timedb_1  | running bootstrap script ... 2021-09-06 13:15:30.121 UTC [53] FATAL:  data directory "/var/lib/postgresql/data" has invalid permissions
timedb_1  | 2021-09-06 13:15:30.121 UTC [53] DETAIL:  Permissions should be u=rwx (0700) or u=rwx,g=rx (0750).
timedb_1  | child process exited with exit code 1
timedb_1  | initdb: removing contents of data directory "/var/lib/postgresql/data"
web_1     | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
web_1     | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
web_1     | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
web_1     | 10-listen-on-ipv6-by-default.sh: info: IPv6 listen already enabled
web_1     | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
web_1     | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
web_1     | /docker-entrypoint.sh: Configuration complete; ready for start up
worker_1  | [WARN  wait] Environment variable [WAIT_HOSTS_TIMEOUT] is deprecated. Use [WAIT_TIMEOUT] instead.
worker_1  | [WARN  wait] Environment variable [WAIT_AFTER_HOSTS] is deprecated. Use [WAIT_AFTER] instead.
worker_1  | [INFO  wait] --------------------------------------------------------
worker_1  | [INFO  wait]  docker-compose-wait 2.9.0
worker_1  | [INFO  wait] ---------------------------
worker_1  | [DEBUG wait] Starting with configuration:
worker_1  | [DEBUG wait]  - Hosts to be waiting for: [api:8000]
worker_1  | [DEBUG wait]  - Paths to be waiting for: []
worker_1  | [DEBUG wait]  - Timeout before failure: 60 seconds
worker_1  | [DEBUG wait]  - TCP connection timeout before retry: 5 seconds
worker_1  | [DEBUG wait]  - Sleeping time before checking for hosts/paths availability: 0 seconds
worker_1  | [DEBUG wait]  - Sleeping time once all hosts/paths are available: 5 seconds
worker_1  | [DEBUG wait]  - Sleeping time between retries: 1 seconds
worker_1  | [DEBUG wait] --------------------------------------------------------
worker_1  | [INFO  wait] Checking availability of host [api:8000]
worker_1  | [INFO  wait] Host [api:8000] not yet available...
api_1     | [INFO  wait] Host [timedb:5432] not yet available...
beat_1    | [INFO  wait] Host [api:8000] not yet available...
folioman_timedb_1 exited with code 1
worker_1  | [INFO  wait] Host [api:8000] not yet available...
timedb_1  | The files belonging to this database system will be owned by user "postgres".
timedb_1  | This user must also own the server process.
timedb_1  |
timedb_1  | The database cluster will be initialized with locale "en_US.utf8".
timedb_1  | The default database encoding has accordingly been set to "UTF8".
timedb_1  | The default text search configuration will be set to "english".
timedb_1  |
timedb_1  | Data page checksums are disabled.
timedb_1  |
timedb_1  | fixing permissions on existing directory /var/lib/postgresql/data ... ok
timedb_1  | creating subdirectories ... ok
timedb_1  | selecting dynamic shared memory implementation ... posix
api_1     | [INFO  wait] Host [timedb:5432] not yet available...
timedb_1  | selecting default max_connections ... 20
beat_1    | [INFO  wait] Host [api:8000] not yet available...
worker_1  | [INFO  wait] Host [api:8000] not yet available...
timedb_1  | selecting default shared_buffers ... 400kB
timedb_1  | selecting default time zone ... UTC
timedb_1  | creating configuration files ... ok
timedb_1  | running bootstrap script ... 2021-09-06 13:15:33.959 UTC [52] FATAL:  data directory "/var/lib/postgresql/data" has invalid permissions
timedb_1  | 2021-09-06 13:15:33.959 UTC [52] DETAIL:  Permissions should be u=rwx (0700) or u=rwx,g=rx (0750).
timedb_1  | child process exited with exit code 1
timedb_1  | initdb: removing contents of data directory "/var/lib/postgresql/data"
beat_1    | [INFO  wait] Host [api:8000] not yet available...
worker_1  | [INFO  wait] Host [api:8000] not yet available...
timedb_1  | The files belonging to this database system will be owned by user "postgres".
timedb_1  | This user must also own the server process.
timedb_1  |
timedb_1  | The database cluster will be initialized with locale "en_US.utf8".
timedb_1  | The default database encoding has accordingly been set to "UTF8".
timedb_1  | The default text search configuration will be set to "english".
timedb_1  |
timedb_1  | Data page checksums are disabled.
timedb_1  |
timedb_1  | fixing permissions on existing directory /var/lib/postgresql/data ... ok
timedb_1  | creating subdirectories ... ok
timedb_1  | selecting dynamic shared memory implementation ... posix
timedb_1  | selecting default max_connections ... 20
timedb_1  | selecting default shared_buffers ... 400kB
timedb_1  | selecting default time zone ... UTC
timedb_1  | creating configuration files ... ok
timedb_1  | running bootstrap script ... 2021-09-06 13:15:35.468 UTC [54] FATAL:  data directory "/var/lib/postgresql/data" has invalid permissions
timedb_1  | 2021-09-06 13:15:35.468 UTC [54] DETAIL:  Permissions should be u=rwx (0700) or u=rwx,g=rx (0750).
timedb_1  | child process exited with exit code 1
timedb_1  | initdb: removing contents of data directory "/var/lib/postgresql/data"
beat_1    | [INFO  wait] Host [api:8000] not yet available...
worker_1  | [INFO  wait] Host [api:8000] not yet available...
folioman_timedb_1 exited with code 1
beat_1    | [INFO  wait] Host [api:8000] not yet available...
worker_1  | [INFO  wait] Host [api:8000] not yet available...
timedb_1  | The files belonging to this database system will be owned by user "postgres".
timedb_1  | This user must also own the server process.
timedb_1  |
timedb_1  | The database cluster will be initialized with locale "en_US.utf8".
timedb_1  | The default database encoding has accordingly been set to "UTF8".
timedb_1  | The default text search configuration will be set to "english".
timedb_1  |
timedb_1  | Data page checksums are disabled.
timedb_1  |
timedb_1  | fixing permissions on existing directory /var/lib/postgresql/data ... ok
timedb_1  | creating subdirectories ... ok
timedb_1  | selecting dynamic shared memory implementation ... posix
timedb_1  | selecting default max_connections ... 20
timedb_1  | selecting default shared_buffers ... 400kB
beat_1    | [INFO  wait] Host [api:8000] not yet available...
timedb_1  | selecting default time zone ... UTC
worker_1  | [INFO  wait] Host [api:8000] not yet available...
timedb_1  | creating configuration files ... ok
timedb_1  | running bootstrap script ... 2021-09-06 13:15:37.774 UTC [52] FATAL:  data directory "/var/lib/postgresql/data" has invalid permissions
timedb_1  | 2021-09-06 13:15:37.774 UTC [52] DETAIL:  Permissions should be u=rwx (0700) or u=rwx,g=rx (0750).
timedb_1  | child process exited with exit code 1
timedb_1  | initdb: removing contents of data directory "/var/lib/postgresql/data"
folioman_timedb_1 exited with code 1
beat_1    | [INFO  wait] Host [api:8000] not yet available...
worker_1  | [INFO  wait] Host [api:8000] not yet available...
beat_1    | [INFO  wait] Host [api:8000] not yet available...
worker_1  | [INFO  wait] Host [api:8000] not yet available...
timedb_1  | The files belonging to this database system will be owned by user "postgres".
timedb_1  | This user must also own the server process.
timedb_1  |
timedb_1  | The database cluster will be initialized with locale "en_US.utf8".
timedb_1  | The default database encoding has accordingly been set to "UTF8".
timedb_1  | The default text search configuration will be set to "english".
timedb_1  |
timedb_1  | Data page checksums are disabled.
timedb_1  |
timedb_1  | fixing permissions on existing directory /var/lib/postgresql/data ... ok
timedb_1  | creating subdirectories ... ok
timedb_1  | selecting dynamic shared memory implementation ... posix
timedb_1  | selecting default max_connections ... 20
timedb_1  | selecting default shared_buffers ... 400kB
timedb_1  | selecting default time zone ... UTC
timedb_1  | creating configuration files ... ok
timedb_1  | running bootstrap script ... 2021-09-06 13:15:40.438 UTC [52] FATAL:  data directory "/var/lib/postgresql/data" has invalid permissions
timedb_1  | 2021-09-06 13:15:40.438 UTC [52] DETAIL:  Permissions should be u=rwx (0700) or u=rwx,g=rx (0750).
timedb_1  | child process exited with exit code 1
timedb_1  | initdb: removing contents of data directory "/var/lib/postgresql/data"
beat_1    | [INFO  wait] Host [api:8000] not yet available...
folioman_timedb_1 exited with code 1
worker_1  | [INFO  wait] Host [api:8000] not yet available...
beat_1    | [INFO  wait] Host [api:8000] not yet available...
worker_1  | [INFO  wait] Host [api:8000] not yet available...
beat_1    | [INFO  wait] Host [api:8000] not yet available...
worker_1  | [INFO  wait] Host [api:8000] not yet available...
beat_1    | [INFO  wait] Host [api:8000] not yet available...
worker_1  | [INFO  wait] Host [api:8000] not yet available...
timedb_1  | The files belonging to this database system will be owned by user "postgres".
timedb_1  | This user must also own the server process.
timedb_1  |
timedb_1  | The database cluster will be initialized with locale "en_US.utf8".
timedb_1  | The default database encoding has accordingly been set to "UTF8".
timedb_1  | The default text search configuration will be set to "english".
timedb_1  |
timedb_1  | Data page checksums are disabled.
timedb_1  |
timedb_1  | fixing permissions on existing directory /var/lib/postgresql/data ... ok
api_1     | [INFO  wait] Host [timedb:5432] not yet available...
beat_1    | [INFO  wait] Host [api:8000] not yet available...
timedb_1  | creating subdirectories ... ok
timedb_1  | selecting dynamic shared memory implementation ... posix
worker_1  | [INFO  wait] Host [api:8000] not yet available...
timedb_1  | selecting default max_connections ... 20
timedb_1  | selecting default shared_buffers ... 400kB
timedb_1  | selecting default time zone ... UTC
Gracefully stopping... (press Ctrl+C again to force)

Keep saying 502 bad gateway

Is it stuck here? Can you please try waiting for a while?
timedb_1  | creating subdirectories ... ok
timedb_1  | selecting dynamic shared memory implementation ... posix
worker_1  | [INFO  wait] Host [api:8000] not yet available...
timedb_1  | selecting default max_connections ... 20
timedb_1  | selecting default shared_buffers ... 400kB
timedb_1  | selecting default time zone ... UTC
Gracefully stopping... (press Ctrl+C again to force)

shows that the db service hasn't fully started up.

Yeah i waited for 20 mins the error keeps repeating

data directory "/var/lib/postgresql/data" has invalid permissions

Looks like a permission issue with the folder docker/db/postgres . Is this happening on a fresh install?
I'll look into it in more detail this week.

Yes its a fresh install

Sorry, could not spend much time on this due to other commitments.
I'll upload a fix (with some other updates) by the first week of Feb.


Github repo
https://github.com/IceKhan13/purplecaffeine
Description
Project is aimed to create simple general interface to track quantum experiments, store and search them in an easy way.
Email
No response
Alternatives
No response
License
Apache License 2.0
Affiliations
QAMP
Tags
plugin, notebook
Website
https://icekhan13.github.io/purplecaffeine/index.html

Hello @IceKhan13 ! You joined the Qiskit Ecosystem a little while ago and I just wanted to check in and let you know of some follow up actions you can take to make the most of joining the program, if you're interested:
💬  Join other Qiskit ecosystem developers in the Slack channel #qiskit-ecosystem (if you are not in the Qiskit workspace yet, you can sign up here: https://qisk.it/join-slack)
🧠  Help us define the future of the Qiskit Ecosystem: we recently started an RFC on how the Ecosystem should be structured. It is very draft-y at the moment, but you can subscribe for notifications here Qiskit/RFCs#46 to participate in that discussion.
📣  Would you like to showcase your project to the Qiskit community? A couple of things you can do to raise awareness for your project:

write a blog for your project (reach out to Abby Mitchell via slack or email if you'd like to be featured on the Qiskit Medium)
Participate in Qiskit Demoday. (reach out to Luciano Bello via slack or email to request a slot to demo your project)

Great having you as a part of the ecosystem!


"copy" will slide with the sliding bar（Chinese page and English page）

https://github.com/Edgenesis/shifu.run/pull/203
and the place of "Copied successfully" is right after the pr


Azure SDK Review - [Introduction to IC3 ACS Chat]

New SDK Review meeting has been requested.
Service Name: IC3 ACS Chat
Review Created By: Nikitha Udaykumar Chettiar
Review Date: 05/25/2023 02:05 PM PT
Hero Scenarios Link: Not Provided
Architecture Diagram Link: Not Provided
Core Concepts Doc Link: Not Provided
APIView Links:
Description:
Detailed meeting information and documents provided can be accessed here

Meeting updated by Nikitha Udaykumar Chettiar
Service Name: IC3 ACS Chat
Review Created By: Nikitha Udaykumar Chettiar
Review Date: 05/25/2023 02:05 PM PT
Hero Scenarios Link: here
Architecture Diagram Link: Not Provided
Core Concepts Doc Link: Not Provided
APIView Links: .NET,
Description: ACS adds real time notification support to its .NET SDK to make it easier for developers to build real-time chat experiences. Developers have the ability to turn on/off real-time notification support using the SDK and can chose to subscribe to all or specific chat related events. With real-time notifications, ACS automatically delivers new incoming messages, typing indicators etc to the connected chat clients, enabling developers to update client state and UI in near real time.
Detailed meeting information and documents provided can be accessed here

Meeting updated by Nikitha Udaykumar Chettiar
Service Name: IC3 ACS Chat
Review Created By: Nikitha Udaykumar Chettiar
Review Date: 05/25/2023 02:05 PM PT
Hero Scenarios Link: Not Provided
Architecture Diagram Link: Not Provided
Core Concepts Doc Link: Not Provided
APIView Links: .NET,
Description: The ACS Chat .NET SDK contains models which require factory methods to enable mocking for the customers. Adding factory methods for existing models. This is a minor modification.
Detailed meeting information and documents provided can be accessed here

Cancelled by: Nikitha Udaykumar Chettiar


BUG: Inconsistent module path handling in ch

Slightly convoluted issue I discovered whilst fixing https://github.com/Microsoft/ChakraCore/issues/3902
Note I believe that this is an issue in ch not ChakraCore itself. BUT this issue was causing a CI test failure when I was fixing 3902; and could cause other test errors in the future.
Issue is slightly convoluted and is best illustrated by 5 test cases:
Case 1
//testStart.js
WScript.LoadScriptFile("folder/script.js");

//folder/script.js
import("../moduleOne.js");

//moduleOne.js
console.log("Completed");

Output:
Couldn't load file.
thrown at moduleOne.js:
^
URIError: [snip]/ChakraCore-master/out/Test/moduleOne.js

The path for the import() from the Script is expected to be relative to the CWD by ch and so this case fails.
Case 2
//testStart.js
WScript.LoadScriptFile("folder/script.js");

//folder/script.js
import("moduleOne.js");

//moduleOne.js
console.log("Completed");

Output:
Completed

The path for the import() from the Script is expected to be relative to the CWD by ch and so this case succeeds.
Case 3
//testStart.js
WScript.LoadScriptFile("folder/module.js","module");

//folder/module.js
import("../moduleOne.js");

//moduleOne.js
console.log("Completed");

Output:
Completed

The path for the import() from the Module is expected to be relative to the Module by ch and so this case succeeds.
Case 4
//testStart.js
WScript.LoadScriptFile("folder/module.js","module");
WScript.LoadScriptFile("folder/script.js");

//folder/module.js
import("../moduleOne.js");

//folder/script.js
import("../moduleOne.js");

//moduleOne.js
console.log("Completed");

Output:
Completed

Running both cases 1 and 3 (with 3 first) expect the failure from case 1 BUT ch substitutes the version of moduleOne.js loaded for module.js when moduleOne.js is requested by script.js and so this case succeeds - this behaviour is clearly inconsistent - either the path used in script.js is wrong or it isn't, its accuracy should not be determined by whether the module has already been imported
Case 5
//testStart.js
WScript.LoadScriptFile("folder/script.js");
WScript.LoadScriptFile("folder/module.js","module");

//folder/module.js
import("../moduleOne.js");

//folder/script.js
import("../moduleOne.js");

//moduleOne.js
console.log("Completed");

Output:
Couldn't load file.
thrown at moduleOne.js:
^
URIError: [snip]/ChakraCore-master/out/Test/moduleOne.js

Running both cases 1 and 3 again but this time with 1 first and the failure is restored
In the slightly more involved case of the CI test for bug_issue_3257 this behaviour was leading to a hard crash - I had to change the paths in the equivalent script file to suppress it; see also https://github.com/Microsoft/ChakraCore/pull/3934

I don't really know the source for ch but at a quick read it seems to me that the difference between cases 4 and 5 above is due to the order of checks in WScriptJSRT::LoadModuleFromString
https://github.com/Microsoft/ChakraCore/blob/master/bin/ch/WScriptJsrt.cpp#L360-L387
I think the only check for whether the file exists is in lines 363-364 BUT if a specifier for the filename exists then lines 360-383 are skipped.
Potentially specifiers should be based on fullpaths not just filenames to avoid this?

Assigning to @akroshg for triage.
/cc @boingoing


Request: SitePoint icon

Requesting the SitePoint icon.
Logo in vector format (EPS) can be downloaded from here: https://brandisty.com/sitepoint

Thanks!


Fix extension service wizard generation on optional profile

Overview
When using the extension service wizard creator, if the profile/inspector files (which are marked optional) are not selected and thus not created, then the new service class will throw an error. This is because the service template attempts to always create a private field of the profile instance.
However if no special profile object is created, then the service class does not need the field or the constructor.
Also updated the service template to call base.initialize() and base.update by default.
Changes

Fixes: #5654

Verification

As a reviewer, it is possible to check out this change locally by using the following
commands (substituting {PR_ID} with the ID of this pull request):
git fetch origin pull/{PR_ID}/head:name_of_local_branch
git checkout name_of_local_branch

/azp run

/azp run

/azp run mrtk_docs


Support for pi-buttons

Will install pi-buttons repository (standalone button interface service), depends on a commit to openaps-menu to support this new interface (https://github.com/openaps/openaps-menu/pull/22)

Any more testing needed, or are we ready to merge?

This works for me :+1:

Can confirm it works great, been using it for a few weeks myself


[T2A3][T15-A4]Niveetha Nair

Ready for review

@Niveetha good work. There seems to be an error in your indentation which has made your commit difficult to understand.


306 fix cannot read undefined layer

This does a couple things:

it makes sure CartoCSS comments are not taken into account further down the line
it does not attempt to apply turbocarto if there's no layer definition

Here's a branch testing the integration with Windshaft: https://github.com/CartoDB/Windshaft/pull/692
Note that that test is "more end-to-end" (static rendering of the torque image) and that it crashes without the updated torque dependency.


added max number of held fees allowed

Description
limit number of held fees allowed.
Limitations & risks
Are there any trade-off or new vulnarbility surface based on theses changes?
Check-list

[ ] Tests are covering the new feature
[ ] Code is natspec'd
[ ] Code is linted and formatted
[ ] I have run the test locally (and they pass)
[ ] I have rebased to the latest main commit (and tests still pass)

Interactions
These changes will impact the following contracts:

Directly:

Indirectly:

Personally don't like that it bypasses the holdFees flag and the limit seems arbitrary. I can estimate the gas used for a single iteration of _processFee if we want.

Personally don't like that it bypasses the holdFees flag and the limit seems arbitrary. I can estimate the gas used for a single iteration of _processFee if we want.

yes please! i dont prefer the arbitrary 100 either :] better ideas welcome

Personally don't like that it bypasses the holdFees flag and the limit seems arbitrary. I can estimate the gas used for a single iteration of _processFee if we want.

yes please! i dont prefer the arbitrary 100 either :] better ideas welcome

69381 gas for processing of one held fee, so maybe a reduction if we go this route.


Connecting between two fields

Hi Gonzalo,
Is there any function which connect between two or more fields? (generate a path between the last point of field "A" and first point of field "B")
Thanks

Hi @ingmeca2018,
No, unfortunately this is one of the issues why non-convex fields are not supported yet.

thank you @Gonzalo-Mier.
Yes, I've read the issues 11 and 82 and I was hoping to get some progress on this subject.
My application is not complicated, it 's based on the connection between simple fields (file attached) so I thought it could be easier
for this case.

I'll close the issue, hoping for good news soon.
Thanks

No, please, leave it open as it is not solved. According to the example you provided, how should it go from one point to the other? If it is the shortest path, you can concatenate all the F2CSwaths of all the fields in a common F2CSwaths, and plan a path with a path planner :) I hope this help

Thanks for your feedback.
Yes, I think it's a good idea for this example.
I'll try this and keep you posted.
Thank you @Gonzalo-Mier

I'll close this issue then :) Feel free to open it again


Remove duplicated scripts

Related ticket #322
PR to remove some duplicated scripts in /platform/ios/scripts that are also in /scripts . Most are byte for byte the same, some have minor differences. I did some checking, some of these might be referenced from somewhere under ios, but we will find out soon enough and a fix would be easy.

Upload my work, then I can use user-images.githubusercontent.com to add images into README.md

@typebrook , I don't understand what's being referred to - can you elaborate?

I don't understand what's being referred to

Oh, I mean here I upload images to this issue, then permalinks are available for images in newly add markdown file.
Because I see #939 also use github as image gallery in this way:
https://github.com/maplibre/maplibre-native/blob/72a1f7864711ab4fa3fa59818b29ac4cb3d4b293/docs/mdbook/src/android/getting-started-guide.md?plain=1#L111-L113


Debug: Run to cursor should start/ restart session as needed

After reading https://twitter.com/pervognsen/status/1098453808651202560 I tried "Debug: Run to cursor" but could not yet find an easy way to start/ restart the debugging session. For now the workflow seems to be that I have to start the session, then use "Debug: Run to Cursor".
Feature Request:
A setting which would advice the "Debug: Run to cursor" to start/ restart the session as needed would be beneficial. Additionally "Debug: Run to cursor" should then be available even if not debugging session is active.

Yes, this is a command for the debug session, and currently it only works within an active debug session. But this is not a bad suggestion and I think I would take a PR that implements it. Basically -

If there is an active debug session, same behavior
If not, then set the "temp breakpoint", do the same thing as the "Start Debugging" command, then run to that breakpoint

@roblourens I would like to work on this

Great, go for it

@Viijay-Kr thanks a lot for working on this, I just tested this in
Version: 1.76.0-insider
Commit: 92da9481c0904c6adfe372c12da3b7748d74bdcb
Date: 2023-02-28T11:50:50.947Z

with a basic python program and it worked perfectly, from my side this issue could be closed.
Maybe its still open because its not released on stable? (or maybe its also on stable, so it can really be closed? https://github.com/microsoft/vscode/pull/169819#issuecomment-1402222300)

@benmkw Actually I think its not closed because I did not say Closes in my plus this wasn't added to any milestone if I am not mistaken.
I guess this shall be closed

Apologies, closing it now


Fixed criterion aliases to properly serialize to sql

Coverage increased (+0.2%) to 98.429% when pulling 8c4869fb2dd88a7b07921f10689e2a6cd4d08a9f on criterion_alias2 into b767b4828856655d6c720207afc480c8cd3588d9 on master.


Matchers

This issue facilitates discussions about matchers design
Problem of having multiple ways to match the same thing
toEqual is quite a beast and thus many matchers can be implemented just by using it:
1)
expect(true).toEqual(true)
// instead of
expect(true).toBeTrue()

// same goes for other primitive values like (false/null/undefined)

2)
expect("abc").toEqual(any(String))
//instead of
expect("abc").toBeInstanceOf(String)

I had this problem on my mind for some time already and I initially thought that avoiding this duplication entirely is a good thing but I believe that having some level of consistency with chai can beneficial. For example, I think 1) is fine (it's clear and shorter 🤔)
Any thoughts on this one?
Essentials matchers to implement in the first batch

toBeTruthy
toBeFalsy
toThrow (match message and match error type as separate matches? to read: https://github.com/chaijs/chai/issues/655)

Asymmetric:

any (or anyInstanceOf? much longer, much more explicit... i need to admit that any was confusing for me when I first saw it)
anyString / anyStringMatching / anyStringContaining
anyNumber

Regarding multiple ways of doing the same thing.
I consider this an antipattern leading to unnecessary headaches. It forces the programmer to make more decisions that he actually needs. It also requires him to visit the documentation to see if maybe there is something actually different between the options. It also makes the library author have to pick a version for each example, leading to additional overhead and making documentation less straightforward.
Regarding essential matchers.
I am a big fan of appropriate and concise naming. Therefore I would prefer overloading some matchers to make it easier to reason.

.toThrow('message')
.toThrow(/message/)
.toThrow(ErrorClass)
.toThrow(ErrorClass, 'message')
.toThrow(ErrorClass, /message/)
.toBeA(MyClass) - uses instanceof
.toBeA('string') - uses typeof

Knowing this it is easier to resolve the assymetric ones. Just make it consistent with symmetric.

expect.anything()
expext.a(MyClass)
expect.a('string')

@sz-piotr thanks for your input!

I consider this an antipattern leading to unnecessary headaches.

Yeah, I see your point. Agreed, lets start without these additional matchers.
I like having a instead of bunch of more specific asymmetric matchers, one thing though, I wanted to make it support expect.a(String) or expect.a(Number) out of the box. This can be a simple "if" that smooths out rough edges of JS and makes it work as expected in the first place. This goes to .toBeA(String) matcher as well.
Another thing that I wanted to discuss is what about matchers for promises? These days I don't use toBeResolved (or similar) at all because it's cleaner to use await/async, so why dont just drop it an explain in docs what to use instead? This leaves us with only matchers needed for rejections.

Yeah, I also think that you only need matchers for promise rejections. Not sure about .a(String), since this violates the rule about one way to do things. The proper way should be .a('string'). Potentially if you pass String you could even log a warning with a link to MDN

@sz-piotr I wanted to drop .a('string') entirely. Doesnt it exist only because of instanceOf oddities in JS?

@krzkaczor do here is how I see it. There are two operators in JS. typeof and instanceOf. One is used for primitives like string or number and always returns 'object' for other values (sadly including null). The other is used for class instances like Error and returns false for strings and numbers.
What we want to do is combine those two operators under the name of a. I propose to use one if you pass a string the other if you pass a class. You want only to support only classes (and weird things like String which are almost classes).
If we go your route which is quite nice in its simplicity we run into the following problems.

how to check for null and undefined (maybe the solution is to never match them)
all primitives require custom code and introduction of new ones can be problematic (see BigInt), because you might not be able to match them
we loose the simple mental model of using typeof and instanceof

Despite those problems the more I think about it the more I am convinced it is the way to go. Also if it does not use typeof or instanceof directly it is ok to use stuff like Array.isArray() under the hood

how to check for null and undefined (maybe the solution is to never match them)

yeah i think the right way is to enforce it on type level and call it a day... (no need even for runtime exception then)

all primitives require custom code and introduction of new ones can be problematic (see BigInt), because you might not be able to match them

That's quite a rare situation and if your run up-to-date version of earl you should be fine 🤔

we loose the simple mental model of using typeof and instanceof

I never thought it's simple :D simple would be only having 1 way of doing things which works always properly (which we try to have here) 😆

Despite those problems the more I think about it the more I am convinced it is the way to go.

I am glad you like it! And yes Arrays also can be supported this way which is kinda neat...
I am working on it here: https://github.com/krzkaczor/earl/pull/10

I had this crazy realization yesterday: what if we push using asymmetric matchers to the limit basically turning this library in a pattern matching assertion library 🤔 Then we could drop expect(x).beEqual entirely and replace with something simpler.
For example:
// this almost already works already
match(x, {
	name: a(String),
	age: numberCloseTo(20, { delta: 2 }),
})

// match strict mock to fully verified mock
match(mock, aVerifiedMock())

// assert mocks basically by creating a pattern out of fresh mock
match(looseMock, mock().calledOnceWith(1, 2, 3).calledTwiceWith(1))

// for waffle
match(tx, aRevertedTx('revert reason'))

Am I crazy that I kinda like it? Also, it allows leveraging typescript assertion functions.
It also solves discussions about "should this be a regular matcher or asymmetric matcher".
@quezak @sz-piotr

Then we could drop expect(x).beEqual entirely and replace with something simpler.

I think "meh", this actually looks less intuitive than separate named checks for different occasions

I just merged https://github.com/krzkaczor/earl/pull/18 which introduces some similar concepts to previous @sz-piotr work.
Matchers became simply validators, asymmetric matchers are just matchers and there are modifiers like not.
This PR also implemented simply toThrow.

I am closing this one as initial implementation and API direction is done. Thanks everyone for your involvment!


The build.sh script hides compile errors

The build.sh script does something with redirection that makes compile errors disappear. I have to do the following to actually see why a compile fails:
diff --git a/build.sh b/build.sh
index 4199044..8839d1a 100755
--- a/build.sh
+++ b/build.sh
@@ -39,7 +39,7 @@ run() {

   set +o errexit
   local error
-  error=$(${cmd} 2>&1 >/dev/null)
+  error=$(${cmd})
   set -o errexit

   if [ -n "$error" ]; then

Is there a better way? Can I actually use Xcode to work on this framework? My current workflow is completely on the command line with emacs and ./build.sh. This works but it is not very convenient.

Can you try
DEBUG=1 ./build.sh
Usually our script supports this format.
As for me I test using the sources. We also have CI setup with Jenkins that
builds our framework when develop branch is updated.
On Wed, Sep 6, 2017 at 6:09 PM Stefan Arentz<EMAIL_ADDRESS>wrote:

The build.sh script does something with redirection that makes compile
errors disappear. I have to do the following to actually see why a compile
fails:
diff --git a/build.sh b/build.sh
index 4199044..8839d1a 100755
--- a/build.sh
+++ b/build.sh
@@ -39,7 +39,7 @@ run() {
set +o errexit
local error

error=$(${cmd} 2>&1 >/dev/null)

error=$(${cmd})
set -o errexit
if [ -n "$error" ]; then

Is there a better way? Can I actually use Xcode to work on this framework?
My current workflow is completely on the command line with emacs and
./build.sh. This works but it is not very convenient.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Leanplum/Leanplum-iOS-SDK/issues/72, or mute the
thread
https://github.com/notifications/unsubscribe-auth/ABKjcf2qsnrl6Hi1ogfcIJfZHq-79gLVks5sf0IxgaJpZM4PPKIw
.

--
Alexis Oyama

You can run pod install in Example/ directory and open Example/Leanplum-SDK.xcworkspace and work on the framework. Building the Example project app also builds the SDK. It will also show warnings/errors.
Note that SDK source code in Xcode is located in Pods/Development Pods/Leanplum-iOS-SDK

Thanks @milos1290. Will close this.


Builder sometimes loses compressed data

So this is weird bug that I'm not sure how to minimize any further, but I thought I'd report it anyways
Basically, under certain magical conditions, when building a .tar file, tar will sometimes lose data that is being compressed.
For example:
extern crate tar;
use std::io::Read;
fn main() {
    let mut output = Vec::new();
    let header: [u8; 512] = [115, 112, 97, 114, 115, 101, 95, 101, 110, 100, 46, 116, 120, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 54, 52, 52, 0, 48, 48, 48, 49, 55, 53, 48, 0, 48, 48, 48, 48, 49, 52, 52, 0, 48, 48, 48, 48, 48, 48, 48, 48, 54, 53, 49, 0, 49, 50, 55, 49, 48, 55, 51, 55, 51, 48, 53, 0, 48, 49, 53, 52, 54, 53, 0, 32, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 115, 116, 97, 114, 32, 32, 0, 112, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 115, 101, 114, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 49, 55, 48, 48, 48, 0, 48, 48, 48, 48, 48, 48, 48, 48, 54, 53, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 49, 55, 54, 53, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
    let mut data = [0; 8105].to_vec();
    data[8104] = 1;
    {
        let mut builder = tar::Builder::new(&mut output);
        let mut h = tar::Header::new_gnu();
        *h.as_mut_bytes() = header;

        builder.append(&h, data.as_slice()).unwrap();
        builder.finish().unwrap();
    }

    {
        let mut archive = tar::Archive::new(output.as_slice());
        let entries = archive.entries().unwrap().collect::<Vec<_>>();
        assert_eq!(entries.len(), 1);
        for entry in entries {
            let mut entry = entry.unwrap();
            assert_eq!(entry.header().as_bytes().to_vec(), header.to_vec());

            let mut buf = Vec::with_capacity(8105);
            entry.read_to_end(&mut buf).unwrap();

            assert_eq!(buf, data);  // This fails! buf is all 0s instead of having a 1 at the end.
        }
    }
}

Looks like a bug, thanks for the report! I think this is somewhere in dealing with sparse headers...

Ah wait I think I spoke too soon! It looks like this is a corrupt archive for two reasons:

The header specifies a sparse file, but the entire file is written to the archive (the data passed to append should be just the sparse chunk)
The entries().collect() followed by reading each entry is actually invalid, you'll want to read each Entry fully before going to the next.

Thanks regardless though for the report!


Verify stuff works for 2015/16 season

$ hockey-helper FuckNeulionV2.3.jar
Checking for Java...
Found Java!
? Pick a game: SAN JOSE SHARKS	vs.	VANCOUVER CANUCKS	09:03 1st
? Home or away feed? Away
Uh-oh! Looks like there was a problem...
Could not run FuckNeulionV2: Failed at Step 3

Thanks @chovy forgot it's almost that time of year :+1: I believe there's some pre-season on tonight, so I will check it out.

@chovy I am running FN fine tonight, I think the above issue might be a pathing thing. Can you try again w/ ./FuckNeulionV2.3.jar?

@chovy closing this, let me know if you have issues.

It did not work for me.

@chovy anything else to go on? I was using it last night w/ no problems? Did you get the latest FN?


Briefer titles on SCM views

This PR closes #230687

Graph moved to Explorer container:

Graph in its own container on Secondary Side Bar:

Adding @joaomoreno as FYI

We have discussed adjusting the names in the past. One fundamental issue that I see with this suggestions is that the "Repository" view may contain multiple repositories in case of a folder/workspace that contains multiple repositories.

Any further thoughts about this proposal?

Thanks for the ping. No, we have not discussed this further, sorry.


missing "threadId" column in "feedbacks" table from example script used in SQL alchemy data layer

Describe the bug
The current example SQL script in the documentation that creates all the tables for the SQL alchemy data layer it's missing the ""threadId" column in the "feedbacks" table
To Reproduce
Steps to reproduce the behavior:

follow the procedure described at https://docs.chainlit.io/data-persistence/custom
create a new chat
type a message
try to give a feedback
you will get this error and feedback won't be saved
2024-06-12 12:29:30 - An error occurred: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: la colonna "threadId" della relazione "feedbacks" non esiste [SQL:          INSERT INTO feedbacks ("forId", "threadId", "value", "id", "comment")          VALUES ($1, $2, $3, $4, $5)          ON CONFLICT (id) DO UPDATE          SET "forId" = $1, "threadId" = $2, "value" = $3, "comment" = $5;      ] [parameters: ('626fbced-fc21-43c0-82b9-baddbda06cb3', 'a0eb5eec-7c1c-4c5f-ab77-e48c448c5827', 0, '257ba504-0b12-4314-a15b-17bcbaf78f58', 'tdhdth')] (Background on this error at: https://sqlalche.me/e/20/f405)

Expected behavior
The feedback should be saved
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: Windows 11 Pro
Browser: Microsoft Edge

Additional context
I fixed the problem updating the SQL example script, that i'll post below

the current SQL example script that creates the tables looks like this for "feedbacks" table
CREATE TABLE IF NOT EXISTS feedbacks (
    "id" UUID PRIMARY KEY,
    "forId" UUID NOT NULL,
    "value" INT NOT NULL,
    "comment" TEXT
);

the updated SQL code that creates the "feedbacks" table with the required "threadId" column that will fix the error above
CREATE TABLE IF NOT EXISTS feedbacks (
    "id" UUID PRIMARY KEY,
    "forId" UUID NOT NULL,
    "threadId" UUID NOT NULL,
    "value" INT NOT NULL,
    "comment" TEXT
);


-w (watch) flag with ttypescript throws a TypeError

Experiencing this 0.4.1 (which does not appear to be an actual release?). I run the ttsc transpiler via ttsc -w, and any code changes cause the transpiler to throw TypeError: Cannot read property 'text' of undefined. I've tested the same codebase with vanilla TypeScript and with TTypescript with this plugin and both transpile without errors with the watch flag. Note that the code transpiles fine in the first run, it's the retranspilation that throws the error. Seems like this problem may have occurred in other similar plugins before (discussion in cevek/ttypescript#50 and zerkalica/zerollup#12). Complete output below:
> ttsc -w
[3:28:09 PM] Starting compilation in watch mode...

[3:28:17 PM] Found 0 errors. Watching for file changes.
[3:28:20 PM] File change detected. Starting incremental compilation...

<project_dir_path>/node_modules/typescript/lib/typescript.js:89079
                throw e;
                ^

TypeError: Cannot read property 'text' of undefined
    at getErrorSpanForNode (<project_dir_path>/node_modules/typescript/lib/typescript.js:9187:40)
    at createDiagnosticForNodeInSourceFile (<project_dir_path>/node_modules/typescript/lib/typescript.js:9108:20)
    at Object.createDiagnosticForNode (<project_dir_path>/node_modules/typescript/lib/typescript.js:9099:16)
    at error (<project_dir_path>/node_modules/typescript/lib/typescript.js:31814:22)
    at resolveExternalModule (<project_dir_path>/node_modules/typescript/lib/typescript.js:33288:25)
    at resolveExternalModuleNameWorker (<project_dir_path>/node_modules/typescript/lib/typescript.js:33210:19)
    at resolveExternalModuleName (<project_dir_path>/node_modules/typescript/lib/typescript.js:33205:20)
    at checkImportDeclaration (<project_dir_path>/node_modules/typescript/lib/typescript.js:57055:49)
    at checkSourceElementWorker (<project_dir_path>/node_modules/typescript/lib/typescript.js:57412:28)
    at checkSourceElement (<project_dir_path>/node_modules/typescript/lib/typescript.js:57256:17)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>build:ts:dev: `ttsc -w`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build:ts:dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     <user_dir_path>/.npm/_logs/2019-04-26T19_28_20_911Z-debug.log

I have an attempted fix up in #11 based on zerkalica's work and will have time to test it on the weekend

This should be fixed in 0.4.3 by #14. Please let me know if not


"Signatures" mode

show the selected signatures

https://github.com/lrgr/mutation-signature-explorer/commit/abf9d57a01b421c871c821468f670c3e9784ca49


Any Updates?

Hey, are you gonna make any more Updates or is this end of the Calculator. It's still useable but with the new System every Banner is considered as Permanent Wish banner.

Author stopped using GitHub regularly just from looking at their contribution graph, I hope they archive this repository one day


Newly added undocumented symbols

PR #9094 revealed that since 1.1.1 was released we have introduced 91 new public symbols that are undocumented. The complete list is:
# Found 4826 in util/libcrypto.num
crypto:CRYPTO_siv128_aad
crypto:CRYPTO_siv128_cleanup
crypto:CRYPTO_siv128_copy_ctx
crypto:CRYPTO_siv128_decrypt
crypto:CRYPTO_siv128_encrypt
crypto:CRYPTO_siv128_finish
crypto:CRYPTO_siv128_get_tag
crypto:CRYPTO_siv128_init
crypto:CRYPTO_siv128_new
crypto:CRYPTO_siv128_set_tag
crypto:CRYPTO_siv128_speed
crypto:ERR_load_CMP_strings
crypto:ERR_load_CRMF_strings
crypto:ERR_load_ESS_strings
crypto:ESS_SIGNING_CERT_V2_new_init
crypto:ESS_SIGNING_CERT_new_init
crypto:EVP_CIPHER_fetch
crypto:EVP_CIPHER_upref
crypto:EVP_MAC_do_all
crypto:EVP_MAC_do_all_sorted
crypto:EVP_aes_128_siv
crypto:EVP_aes_192_siv
crypto:EVP_aes_256_siv
crypto:EVP_hex2ctrl
crypto:EVP_str2ctrl
crypto:OPENSSL_LH_flush
crypto:OSSL_PARAM_construct_double
crypto:OSSL_PARAM_construct_int
crypto:OSSL_PARAM_construct_int32
crypto:OSSL_PARAM_construct_int64
crypto:OSSL_PARAM_construct_long
crypto:OSSL_PARAM_construct_size_t
crypto:OSSL_PARAM_construct_uint
crypto:OSSL_PARAM_construct_uint32
crypto:OSSL_PARAM_construct_uint64
crypto:OSSL_PARAM_construct_ulong
crypto:OSSL_PARAM_get_double
crypto:OSSL_PARAM_get_int
crypto:OSSL_PARAM_get_int32
crypto:OSSL_PARAM_get_int64
crypto:OSSL_PARAM_get_long
crypto:OSSL_PARAM_get_size_t
crypto:OSSL_PARAM_get_uint
crypto:OSSL_PARAM_get_uint32
crypto:OSSL_PARAM_get_uint64
crypto:OSSL_PARAM_get_ulong
crypto:OSSL_PARAM_set_double
crypto:OSSL_PARAM_set_int
crypto:OSSL_PARAM_set_int32
crypto:OSSL_PARAM_set_int64
crypto:OSSL_PARAM_set_long
crypto:OSSL_PARAM_set_size_t
crypto:OSSL_PARAM_set_uint
crypto:OSSL_PARAM_set_uint32
crypto:OSSL_PARAM_set_uint64
crypto:OSSL_PARAM_set_ulong
# Found 56 missing from util/libcrypto.num

# Found 506 in util/libssl.num
# Found 0 missing from util/libssl.num

# Checking macros (approximate)
include/openssl/core_numbers.h:OSSL_CORE_MAKE_FUNC
include/openssl/opensslv.h:OPENSSL_VERSION_PREREQ
include/openssl/opensslv.h:OPENSSL_MSTR_HELPER
include/openssl/opensslv.h:OPENSSL_MSTR
include/openssl/params.h:OSSL_PARAM_DEFN
include/openssl/params.h:OSSL_PARAM_int
include/openssl/params.h:OSSL_PARAM_uint
include/openssl/params.h:OSSL_PARAM_long
include/openssl/params.h:OSSL_PARAM_ulong
include/openssl/params.h:OSSL_PARAM_int32
include/openssl/params.h:OSSL_PARAM_uint32
include/openssl/params.h:OSSL_PARAM_int64
include/openssl/params.h:OSSL_PARAM_uint64
include/openssl/params.h:OSSL_PARAM_size_t
include/openssl/params.h:OSSL_PARAM_double
include/openssl/params.h:OSSL_PARAM_SIZED_int
include/openssl/params.h:OSSL_PARAM_SIZED_uint
include/openssl/params.h:OSSL_PARAM_SIZED_long
include/openssl/params.h:OSSL_PARAM_SIZED_ulong
include/openssl/params.h:OSSL_PARAM_SIZED_int32
include/openssl/params.h:OSSL_PARAM_SIZED_uint32
include/openssl/params.h:OSSL_PARAM_SIZED_int64
include/openssl/params.h:OSSL_PARAM_SIZED_uint64
include/openssl/params.h:OSSL_PARAM_SIZED_size_t
include/openssl/params.h:OSSL_PARAM_SIZED_double
include/openssl/trace.h:OSSL_TRACE_CANCEL
include/openssl/trace.h:OSSL_TRACE_ENABLED
include/openssl/trace.h:OSSL_TRACEV
include/openssl/trace.h:OSSL_TRACE
include/openssl/trace.h:OSSL_TRACE3
include/openssl/trace.h:OSSL_TRACE4
include/openssl/trace.h:OSSL_TRACE5
include/openssl/trace.h:OSSL_TRACE6
include/openssl/trace.h:OSSL_TRACE7
include/openssl/trace.h:OSSL_TRACE8
# Found 35 macros missing

The OSSL_PARAM macros and functions are documented.
They are done generically across types, I'm not sure how this can be indicated to the checking script.

X509_print_ex is not documented. I was about to create a separate issue for it but guess this a generic list for all such cases.

The OSSL_PARAM macros and functions are documented.
They are done generically across types, I'm not sure how this can be indicated to the checking script.

@paulidale That's is true, but it's not optimal yet: Currently, you need to ask for the "class name" in order to find the manual page
~/src/openssl$ man OSSL_PARAM

while a query for a method does not yield anything.
~/src/openssl$ man OSSL_PARAM_double
No manual entry for OSSL_PARAM_double

I think the method names should be added to the NAME section, too.

Adding them to the NAMES section results in more "missing from SYNOPSIS" errors instead :(

Adding them to the NAMES section results in more "missing from SYNOPSIS" errors instead :(

There must be an alternative. Take a look at D2I_X509(3), its NAME section is full of explicit function names, but the SYNOPSIS section only contains templates.
cc @levitte

And why not add a synopsis for all of them? Is the number of functions so large?

Yes look at the manpage @mspncp suggested; and you'll need a "for comment generic" comment IIRC.  Or, add them to the synopsis.  It's one line per function.  Do not try to skimp on documenting things. :)

When someone sees an OpenSSL function, they should be able to type "man that-function-name" and get the manpage.  That should be the main requirement of the documentation. There are not so many functions (compared to the d2i or exdata stuff, which are more about "classes" than number of funtions), that you cannot explicitly list and synopsize every single one of them.

Re d2i_X509.pod, the key line is this:
=for comment generic

Re d2i_X509.pod, the key line is this:
=for comment generic

Cool, thanks! (That's precisely why I cc'd you, because I hoped you could provide some insight.)

For the curious minded, that's how it works:
https://github.com/openssl/openssl/blob/37ca204b96b036f949b8bc8389c1f8e806e1cbec/util/find-doc-nits#L182-L184

Looking at the size of the PARAM API, using the 'generic' is the wrong approach.  Please see https://github.com/openssl/openssl/issues/9095#issuecomment-499874976

I agree with Rich. There are not so many function that one couldn't provide a complete synopsis. (But I'd like to remark that for making man that-function-name find the correct manpage, an entry in the NAME section is sufficient.)

I've noted all of the OSSL_PARAM_*_TYPE functions and macros specifically in the NAME and SYNOPSIS sections in PR #9114 which should clear up a lot of these.  The _TYPE versions are gone now.

Me, I find it overwhelming of every variant of essentially the same function is mentioned exactly in the SYNOPSIS.  NAME is sufficient (and is all that's needed for man OSSL_PARAM_size_t to work right)

Only mentioning them in the NAME section caused even more doc-nits errors.
I'm happy to switch to the =for comment generic approach but the ability to "man function" will be impaired.

I don't understand @paulidale. I thought the purpose of the =for comment generic was precisely to make it possible to name all functions in the NAME section, without having to repeate them in the SYNOPSIS section. And all functions which are listed in the NAME section should be found by man <functionname>.

# Found 4826 in util/libcrypto.num

...

crypto:ESS_SIGNING_CERT_V2_new_init
crypto:ESS_SIGNING_CERT_new_init

...

This two methods could be made private, as they are not used in app code.

Since #9114 went in we have an improved situation, but still 41 newly added undocumented public symbols:
# Found 4833 in util/libcrypto.num
crypto:CRYPTO_siv128_aad
crypto:CRYPTO_siv128_cleanup
crypto:CRYPTO_siv128_copy_ctx
crypto:CRYPTO_siv128_decrypt
crypto:CRYPTO_siv128_encrypt
crypto:CRYPTO_siv128_finish
crypto:CRYPTO_siv128_get_tag
crypto:CRYPTO_siv128_init
crypto:CRYPTO_siv128_new
crypto:CRYPTO_siv128_set_tag
crypto:CRYPTO_siv128_speed
crypto:ERR_load_CMP_strings
crypto:ERR_load_CRMF_strings
crypto:ERR_load_ESS_strings
crypto:ESS_SIGNING_CERT_V2_new_init
crypto:ESS_SIGNING_CERT_new_init
crypto:EVP_CIPHER_fetch
crypto:EVP_CIPHER_upref
crypto:EVP_MAC_do_all
crypto:EVP_MAC_do_all_sorted
crypto:EVP_aes_128_siv
crypto:EVP_aes_192_siv
crypto:EVP_aes_256_siv
crypto:EVP_hex2ctrl
crypto:EVP_str2ctrl
crypto:OPENSSL_LH_flush
# Found 26 missing from util/libcrypto.num

# Found 508 in util/libssl.num
# Found 0 missing from util/libssl.num

# Checking macros (approximate)
include/openssl/core_numbers.h:OSSL_CORE_MAKE_FUNC
include/openssl/opensslv.h:OPENSSL_VERSION_PREREQ
include/openssl/opensslv.h:OPENSSL_MSTR_HELPER
include/openssl/opensslv.h:OPENSSL_MSTR
include/openssl/params.h:OSSL_PARAM_DEFN
include/openssl/trace.h:OSSL_TRACE_CANCEL
include/openssl/trace.h:OSSL_TRACE_ENABLED
include/openssl/trace.h:OSSL_TRACEV
include/openssl/trace.h:OSSL_TRACE
include/openssl/trace.h:OSSL_TRACE3
include/openssl/trace.h:OSSL_TRACE4
include/openssl/trace.h:OSSL_TRACE5
include/openssl/trace.h:OSSL_TRACE6
include/openssl/trace.h:OSSL_TRACE7
include/openssl/trace.h:OSSL_TRACE8
# Found 15 macros missing

I can take care of the OSSL_TRACE functions after my vacation (next week).

I don't think the ERR_load_xxx_strings should be public.
Perhaps @tmshort can comment on all the SIV functions.

crypto:EVP_MAC_do_all
crypto:EVP_MAC_do_all_sorted

These are documented in #8877, I just need the time to figure out an intricate bug that's...  bugging me.

crypto:EVP_hex2ctrl
crypto:EVP_str2ctrl

These may actually go away when we move new APIs to be provider based.

@paulidale :

The OSSL_PARAM macros and functions are documented.
They are done generically across types, I'm not sure how this can be indicated to the checking script.

By mentioning everything from the NAME section in util/private.num rather than the generic name.

I don't think the ERR_load_xxx_strings should be public.

That's a deliberate choice, so applications can load the strings they like and leave everything else alone.
Not sure if too many are loading error strings on such a fine grained level any more, though...

Depends on whether or not other mode(s) functions are documented (they generally seem to not be documented):
crypto:CRYPTO_siv128_aad
crypto:CRYPTO_siv128_cleanup
crypto:CRYPTO_siv128_copy_ctx
crypto:CRYPTO_siv128_decrypt
crypto:CRYPTO_siv128_encrypt
crypto:CRYPTO_siv128_finish
crypto:CRYPTO_siv128_get_tag
crypto:CRYPTO_siv128_init
crypto:CRYPTO_siv128_new
crypto:CRYPTO_siv128_set_tag
crypto:CRYPTO_siv128_speed

These should be public, as they are the primary interface:
crypto:EVP_aes_128_siv
crypto:EVP_aes_192_siv
crypto:EVP_aes_256_siv

Depends on whether or not other mode(s) functions are documented (they generally seem to not be documented)

If we don't intend for end-user applications to use the functions then they should be declared internally only. If they are for end-user use then they should be documented. There shouldn't be public symbols that are documented. Historically we've been bad at documenting them - but we shouldn't be making the situation worse. So, just because other mode functions are not documented, is not a reason to not document newly added ones.

So, just because other mode functions are not documented, is not a reason to not document newly added ones.

I'm looking at it as a consistency thing. Should they even be available for public consumption, or should the older modes functions be documented as well?

Should they even be available for public consumption, or should the older modes functions be documented as well?

My instinct tells me that we wouldn't expect end user applications to use those functions directly, i.e. perhaps they should be internal.

Ideally we'd make the older mode functions internal as well...but that would be a breaking change.

Note that PR #9155 includes documentation for the COMP APIs and other compression code.

So to fix the warnings about the SIV functions, someone needs to make a PR that puts those functions into private.num
As for the err-load-strings functions, @levitte, my point was that none of the others are documented.

So to fix the warnings about the SIV functions, someone needs to make a PR that puts those functions into private.num

They should be taken out of the public header files, and moved into private header files.

They should be taken out of the public header files, and moved into private header files.

Which also implies that the function names should be changed to lowercase.

I can take care of the OSSL_TRACE functions after my vacation (next week).

See pull request #9224.

Updated list of new undocumented symbols:
# Found 4834 in util/libcrypto.num
crypto:CRYPTO_siv128_aad
crypto:CRYPTO_siv128_cleanup
crypto:CRYPTO_siv128_copy_ctx
crypto:CRYPTO_siv128_decrypt
crypto:CRYPTO_siv128_encrypt
crypto:CRYPTO_siv128_finish
crypto:CRYPTO_siv128_get_tag
crypto:CRYPTO_siv128_init
crypto:CRYPTO_siv128_new
crypto:CRYPTO_siv128_set_tag
crypto:CRYPTO_siv128_speed
crypto:ERR_load_CMP_strings
crypto:ERR_load_CRMF_strings
crypto:ERR_load_ESS_strings
crypto:ESS_SIGNING_CERT_V2_new_init
crypto:ESS_SIGNING_CERT_new_init
crypto:EVP_CIPHER_fetch
crypto:EVP_CIPHER_upref
crypto:EVP_MAC_do_all
crypto:EVP_MAC_do_all_sorted
crypto:EVP_aes_128_siv
crypto:EVP_aes_192_siv
crypto:EVP_aes_256_siv
crypto:EVP_hex2ctrl
crypto:EVP_str2ctrl
crypto:OPENSSL_LH_flush
# Found 26 missing from util/libcrypto.num

# Found 508 in util/libssl.num
# Found 0 missing from util/libssl.num

# Checking macros (approximate)
include/openssl/core_numbers.h:OSSL_CORE_MAKE_FUNC
include/openssl/opensslv.h:OPENSSL_VERSION_PREREQ
include/openssl/opensslv.h:OPENSSL_MSTR_HELPER
include/openssl/opensslv.h:OPENSSL_MSTR
include/openssl/params.h:OSSL_PARAM_DEFN
# Found 5 macros missing

Looks much better now :-).

#9232 addresses the missing CRYPTO_siv* functions by making them internal.

#9233 documents EVP_CIPHER_fetch and EVP_CIPHER_up_ref.

Remaining undocumented list is now:
# Found 4823 in util/libcrypto.num
crypto:ERR_load_CMP_strings
crypto:ERR_load_CRMF_strings
crypto:ERR_load_ESS_strings
crypto:ESS_SIGNING_CERT_V2_new_init
crypto:ESS_SIGNING_CERT_new_init
crypto:EVP_CIPHER_fetch
crypto:EVP_CIPHER_upref
crypto:EVP_MAC_do_all
crypto:EVP_MAC_do_all_sorted
crypto:EVP_aes_128_siv
crypto:EVP_aes_192_siv
crypto:EVP_aes_256_siv
crypto:EVP_hex2ctrl
crypto:EVP_str2ctrl
crypto:OPENSSL_LH_flush
# Found 15 missing from util/libcrypto.num

# Found 508 in util/libssl.num
# Found 0 missing from util/libssl.num

# Checking macros (approximate)
include/openssl/core_numbers.h:OSSL_CORE_MAKE_FUNC
include/openssl/opensslv.h:OPENSSL_VERSION_PREREQ
include/openssl/opensslv.h:OPENSSL_MSTR_HELPER
include/openssl/opensslv.h:OPENSSL_MSTR
include/openssl/params.h:OSSL_PARAM_DEFN
# Found 5 macros missing

We do not document any of the ERR_load_XXX_strings  -- there are 34 functions in missingcrypto.txt  So perhaps a quick PR to add those is the thing to do.

Should new ERR_load_XXX_strings functions be public?

And if not, should the old functions be declared as deprecated in 3.0 so they are removed in 4.0?

Remaining undocumented list is now :
$ perl util/find-doc-nits -e -o
# Found 4688 in util/libcrypto.num
crypto:ERR_load_CMP_strings
crypto:ERR_load_CRMF_strings
crypto:ERR_load_ESS_strings
crypto:EVP_MAC_do_all
crypto:EVP_MAC_do_all_sorted
crypto:EVP_aes_128_siv
crypto:EVP_aes_192_siv
crypto:EVP_aes_256_siv
crypto:EVP_hex2ctrl
crypto:EVP_str2ctrl
crypto:OPENSSL_LH_flush
# Found 11 missing from util/libcrypto.num

# Found 508 in util/libssl.num
# Found 0 missing from util/libssl.num

# Checking macros (approximate)
include/openssl/core_numbers.h:OSSL_CORE_MAKE_FUNC
include/openssl/opensslv.h:OPENSSL_VERSION_PREREQ
include/openssl/opensslv.h:OPENSSL_MSTR_HELPER
include/openssl/opensslv.h:OPENSSL_MSTR
include/openssl/params.h:OSSL_PARAM_DEFN
# Found 5 macros missing

Closing this in favour of #13192


Update jenkins file to use updated docker image

Description
We recently upgraded the python version in the build repo. Due to this any code using build repo code fails if right python version is not used. Signing artifacts uses the build repo code hence updating the image to most recent one.
Issues Resolved
https://github.com/opensearch-project/opensearch-build/issues/3712
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Please, add a changelog entry.

Please, add a changelog entry.

Done


Cannot delete account

Hello,
I have nothing against JabbR and think it's a great project; however, I haven't used it whatsoever. I'd like to delete my jabbr.net account, but cannot find a way to do so.

/cc @davidfowl

/cc @cmaish
Would really like to delete my account from the jabbr.net server.

Hi @andschwa, I wish that I could help you, though I'm (well, was historically) involved in the JabbR product (running on-premise installs), while JabbR.net is a hosted instance managed by a couple of the others who worked on the codebase.
Over at jabbr.net, I'm just a user (though I do know that davidfowl was one of the admins).  You might be able to get in contact with someone responsible for running the server either in the meta room on jabbr.net, or by reaching out directly via eg twitter.
I'll leave this open as it's a valid issue with the product, and having an open issue should give more chance that the jabbr.net admins will see your message.

Thanks for the timely response @cmaish (apparently I'm two years late thanking you though 😄 ).


Resolve no notification on Android 4.0. It's a regression

caused by upstream dropping support for ICS.

lgtm
in the future, please use the standard commit message format for DEPS.xwalk rolls, where you list the commits that are being pulled in.

I just saw you did not mention the JIRA ticket though. please remember to do that in the future


Quick open: Icon vertical alignment is broken

Before:

Now:

I tried to bisect and found the culprit... but I failed miserably. This got broken somewhere between 86405ea23e3937316009fc27c9361deee66ffbf5 and 43deb16c6926224ddafd3cb4f6fb6dae4abafe39
cc @chrmarti

Fixed:

Also fixed configure icons on the right:


Remove version: taers232c.GAMADV-XTD3 version 6.72.11

This version is older than what has been set in max-versions-to-keep by the publisher.
Microsoft Reviewers: Open in CodeFlow

URL: https://github.com/taers232c/GAMADV-XTD3/releases/download/v6.72.11/gamadv-xtd3-6.72.11-windows-x86_64.msi
OK
(Automated message - build 910)


Sometime not able to select a checkbox under ng-repeat

I have ng-repeat in container and under ng-repeat I have checkbox under div.
But sometime I am not able to select a checkbox, dragular only fire the event for mousedown and drag.
Any idea?
Thanks

I think that problem would be similar to this one. So it will be solved after merging dragula changes into dragular. Maybe this weekend.

I was just looking at the PR fixing that issue in dragula and it is pretty simple. You could try it in your enviroment, if it successfuly solve your problem then you can PR here.

Hi,
It's working.
I used e.target.type=='checkbox'.
Thanks
Vishal Rathod
On Wed, Oct 21, 2015 at 11:32 PM, Ctibor Laky<EMAIL_ADDRESS>wrote:

I was just looking at the PR fixing that issue
https://github.com/bevacqua/dragula/pull/235/files in dragula and it is
pretty simple. You could try it in your enviroment, if it successfuly solve
your problem then you can PR here.
—
Reply to this email directly or view it on GitHub
https://github.com/luckylooke/dragular/issues/44#issuecomment-149979051.

Ok you can PR then.. or I will in couple of days..
On Oct 22, 2015 9:04 AM, "Vishal"<EMAIL_ADDRESS>wrote:

Hi,
It's working.
I used e.target.type=='checkbox'.
Thanks
Vishal Rathod
On Wed, Oct 21, 2015 at 11:32 PM, Ctibor Laky<EMAIL_ADDRESS>wrote:

I was just looking at the PR fixing that issue
https://github.com/bevacqua/dragula/pull/235/files in dragula and it
is
pretty simple. You could try it in your enviroment, if it successfuly
solve
your problem then you can PR here.
—
Reply to this email directly or view it on GitHub
<https://github.com/luckylooke/dragular/issues/44#issuecomment-149979051
.

—
Reply to this email directly or view it on GitHub
https://github.com/luckylooke/dragular/issues/44#issuecomment-150126691.

Should be solved by new release ;)

Hi,
I haven't try new version.
Definitely I would like to try it.
Thank very much for update. :)
Thanks
Vishal Rathod
On Tue, Oct 27, 2015 at 1:01 AM, Ctibor Laky<EMAIL_ADDRESS>wrote:

Should be solved by new release ;)
—
Reply to this email directly or view it on GitHub
https://github.com/luckylooke/dragular/issues/44#issuecomment-151258601.