build: remove mediator from this repository

Overview

build: remove the mediator from this repository
The mediator is being developed in a separate repository
Clean up this repository from the old mediator code.
For https://input-output.atlassian.net/browse/ATL-4867
Checklist
My PR contains...

[ ] No code changes (changes to documentation, CI, metadata, etc.)
[ ] Bug fixes (non-breaking change which fixes an issue)
[ ] Improvements (misc. changes to existing features)
[ ] Features (non-breaking change which adds functionality)

My changes...

[x] are breaking changes
[ ] are not breaking changes
[ ] If yes to above: I have updated the documentation accordingly

Documentation

[x] My changes do not require a change to the project documentation
[ ] My changes require a change to the project documentation
[ ] If yes to above: I have updated the documentation accordingly

Tests

[x] My changes can not or do not need to be tested
[ ] My changes can and should be tested by unit and/or integration tests
[ ] If yes to above: I have added tests to cover my changes
[ ] If yes to above: I have taken care to cover edge cases in my tests

@mineme0110 @davidpoltorak-io do we need to cleanup anything else?


Support apache arrow

It's on the roadmap but I wanted to create an issue for it so I can see when it may be supported. I'm very interested in adopting this package but need arrow support (I just need access to the binary ipc).

Whether & when I work on Arrow support will depend on the fate of this currently-deprecated part of the C API.
Based on this PR, it looks like they will remain deprecated. I'm not sure what the long-term plan is.

It seems the Arrow support of the C API has a "DEPRECATION NOTICE", which is distinct from "DEPRECATED". Apparently this means the functions are likely to change, but the functionality itself will likely be preserved. So it seems possible I could expose Arrow support using the current functions with some confidence I can preserve that support when the C API is changed.

I reviewed the Arrow support in the C API, and, while I believe I can expose it, I'm unsure whether it provides the desired functionality. In particular, I'm unsure it provides access to the binary IPC format.
For folks interested in Arrow support: What functionality is useful? What parts of the Arrow C API would you use, and what would you like that's missing from that API?

I mostly need IPC which I could then read with flechette or arrow js. In most cases I'll send the arrow straight over the wire somewhere else.
Arrow seems like the ideal format for streaming data from a server to a client. I'm not sure what alternative there is so this seems like an essential functionality almost.

While it's admittedly more awkward than direct API support, have you tried using the to_arrow_ipc function of the DuckDB Arrow extension? This can generate Arrow IPC for an arbitrary query as BLOBs, which you can then read using the existing result consumption APIs.
It's not very well documented, but the tests are informative.


progress-indicator: Level 2 list item support

Adds support for level 2 list items in ProgressIndicator, e.g.:
├── Organistaions
│  └── Change organisation name   <-- level 2 item
├── Review and submit

Some points to note in this PR:

Level 2 support doesn't extend to buttons, though we could conceivably add an array option type for the activePath prop that would make this work. I've chosen not to do this because we spoke about better accessibility with link usage.
activePath was chosen for indicating the active step because it lends itself well to level 2 items and is consistent across our other navigation list components.
Some work has been done towards standardising a deprecation pathway for component APIs. You will notice **LEGACY HANDLER** mentioned in some places. More work will be done on this area in an upcoming ticket.

View preview
Checklist
Preflight

[x] Prefix the PR title with the slug of the package or component - e.g. accordion: Updated padding or docs: Updated header links
[x] Describe the changes clearly in the PR description
[x] Read and check your code before tagging someone for review
[x] Create a changeset file by running yarn changeset. Learn more about change management.

Testing

[x] Manually test component in various modern browsers at various sizes (use Browserstack)
[x] Manually test component in various devices (phone, tablet, desktop)
[x] Manually test component using a keyboard
[x] Manually test component using a screen reader
[x] Manually tested in dark mode
[x] Component meets Web Content Accessibility Guidelines (WCAG) 2.1 standards
[x] Add any necessary unit tests (HTML validation, snapshots etc)
[x] Run yarn test to ensure tests are passing. If required, run yarn test -u to update any generated snapshots.

Documentation

[ ] Create or update documentation on the website
[x] Create or update stories for Storybook
[x] Create or update stories for Playroom snippets

I would like to see the hover state have more grey on top so it looks balanced. I believe this was previously discussed

We shouldn't have 2 links at the root like this, because it feels really weird. (Screen reader) Users expect one navigation item per list item. It's a little bit weird, but I think a nested ul with one li that contains the sub step's link is better. The parent can then also be given aria-current="true"  then as well

We shouldn't have 2 links at the root like this, because it feels really weird. (Screen reader) Users expect one navigation item per list item. It's also a little bit weird, but I think a nested ul with one li that contains the sub step's link is better. The parent can then also be given aria-current="true" then as well

Yeah, nice, I like that.

[ ] Sub item should be within its own ul


Missed BenchmarkDotNet.Diagnostics shouldn't throw an exception

It is a normal situation (e.g. uses installed the library from NuGet), we shouldn't throw an exception.
Repro: just try to install the v0.8.0 from NuGet and run any benchmark.

sigh!
Thanks for spotting that, (what's the actual error BTW?)

Error loading BenchmarkDotNet.Diagnostics.dll: Could not load file or assembly 'file:///D:\...\bin\Release\BenchmarkDotNet.Diagnostics.dll' or one of its dependencies.


PARQUET-1521: [C++] Use pure virtual interfaces for parquet::TypedColumnWriter, remove use of 'extern template class'

This follows corresponding work in TypedColumnReader. The public API is unchanged as can be verified by lack of changes to the unit tests

@majetideepak since this doesn't touch any public APIs I don't think this should impact you, can you confirm?


Recipe/8 text to shell

Issue #8 Recipe: Text to Shell.
In a Jupyter Notebook:

Provide prerequisites for local model usage with Ollama
Show example bash codegen with One-Shot and 20b
Show example bash codegen with Few-Shot and 8b
Show usage of system prompt

I put the notebook in its own directory, removed the extra files, and squashed the commits. Putting up for review.


hfs mounted macintosh hd on device root_device

When attempting to boot with vagrant up it stalls on attempting to connect over ssh. I flipped the switch in the Vagrant file for the GUI and the issue seems to be that it stalls on booting with:
hfs mounted macintosh hd on device root_device

Working for me as well, thanks.

thank you!


Implement MOTA metric

for evaluation about multiple object tracking

reference: https://github.com/Videmo/pymot

Done with 9095322


Find a replacement CI system

Travis is a wonderful go-to solution for CI, but Mitogen has testing needs greater than Travis can accommodate:

We really want to test every combination of Ansible (2.4, 2.5, 2.6, 2.7) against every combination of Python 2.6, 2.7, 3.4, 3.5, 3.6, 3.7 host and target at least once per week, and preferably much more often than that.
Same as above but for DebOps and Mitogen's own tests. So that's 48*3 = approaching 144 configurations in total.
There must be a set of comprehensive fast-feedback tests, probably covering the configurations in the existing Travis config (old+newest Python, oldest+newest Ansible) that complete in under 15 minutes and preferably as close to 5 minutes as possible.
There needs to be support for testing against FreeBSD, NetBSD, OpenBSD and Windows Subsystem for Linux at least once per week
Code coverage and timing reports (e.g. the output of the integration tests running under ARA) should be collected and kept as assets
Ideally some kind of benchmarking facility that runs weekly could exist, but this may be a huge time sink.
A major goal would be to have CI 100% green before merges to master are possible. Travis is simply too slow for that

Ideally all the tests could run in parallel e.g. as EC2 spot instances that are garbage collected after each run, or persist for 3-5 minutes post-run in case of a new job appearing.
I've found some systems that might suit this kind of setup:

Azure Devops (comes with self-hosted agent support)
Buildkite (self-hosted agent)

The principle metrics for picking a CI provider are probably:

job latency. 5 minute waits for a job to even be scheduled is a huge no-no. Buildkite's jobs start almost instantaneously with the self-hosted agent.
Cost. Especially if I'm picking up the infrastructure fees, some high monthly subscription would be unreasonable
The UI must not suck. Preferably it'd support JUnit XML file rendering to display test results, IIRC even ARA supports outputting those.

Preferably no login required for anyone to view CI state (Buildkite doesn't have this IIRC)
No 5MB Angular.js UI, the simpler and lighter the better
Doesn't burn CPU while idle like Travis

For BSD and Windows, a self-hosted solution is probably the most practical option. Azure's free offering might support WSL, but that's not clear yet.
Huge list of CI systems: https://github.com/ligurio/awesome-ci
The final solution might involve a combobulation of multiple systems, that is fine too. We just need comprehensive tests /and/ fast feedback tests.

I've had my eye on Buildkite for a while as the concept of "bring your own compute" appeals to me. But I haven't tried it yet.
On another note, if you create a non-profit organisation as an umbrella for Mitogen you can get 5000$ worth of yearly Azure credits. I've done this in Switzerland for conference organisation and it was quite easy.

What about CircleCI?

What if I am building open-source?
We offer a total of four free linux containers ($2400 annual value) for open-source projects. Simply keeping your project public will enable this for you!
We also offer the Seed plan free (at 1x concurrency) for OS X open source projects. Contact us at<EMAIL_ADDRESS>for access. If you are building a bigger open-source project and need more resources, let us know how we can help you!

@kzap speed is the main problem! 4 jobs isn't enough, it's less than Travis.
Playing more with 'hypothetical nonexistent spot instances CI' system idea, assuming m1.small spot fleet and no contention, a single run of 144 jobs taking 5 minutes each comes out at $0.0528, or around 180 runs for $10. Google is about twice as expensive for preemptable instances, but they boot much faster
With a custom thing, it would be possible to bake in e.g. the test dependencies into the images, alongside a cache of the Docker images and suchlike, further reducing the runtime.
I really want to go this route, but haven't seen a system that would support it, and have no resource to write something, although it might be an awesome meta application for Mitogen, or perhaps an excellent addition to the examples/ directory.

https://github.com/dw/mitogen/issues/410 needs CentOS + SELinux config

Why not use a gitlab + Gitlab CI ?

The hybrid Azure+Travis setup that exists now is working pretty great. Going to close this for the time being


[communication/send-(templated-)email] Confusion around Mailchimp × Mandrill

Currently both of our transactional profiles provide map for the mailchimp provider, which is confusing for users unfamiliar with Mailchimp's offering.
I just got from a support call with user who tried to use the Mailchimp map with Mailchimp's API key and was getting Invalid key error. The solution was to navigate to Transactional Email in Mailchimp's Dashboard and enter Mandrillapp dashboard.
Apparently the original intent behind the mailchimp provider was to respect that it's a single company and product. However, this seems to be confusing and could even turn problematic with other, Mailchimp-specific map.
My suggestion here is to introduce a new mandrillapp provider and change existing maps for Mailchimp to use that provider instead.
Before we do that, make sure that Mailchimp's APIs require a different API key for sure.

For the record, Mailchimp's and Mandrill's APIs require different keys.


Datasources provisionning

Hello, your roles are very cool but I can't configure it for datsources creation... I don't touch the sample values :
# Datasources to configure
grafana_datasources: []
 - name: "Prometheus"
   type: "prometheus"
   access: "proxy"
   url: "http://prometheus.mydomain"
   basicAuth: true
   basicAuthUser: "admin"
   basicAuthPassword: "password"
   isDefault: true
   jsonData: '{"tlsAuth":false,"tlsAuthWithCACert":false,"tlsSkipVerify":true}'

And got this error :
ERROR! Syntax Error while loading YAML.
  did not find expected key

The error appears to have been in '/home/.../Ansible/monitoring/roles/grafana/defaults/main.yml': line 153, column 2, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

grafana_datasources: []
 - name: "Prometheus"
 ^ here

I don't understand what I fail...  Since you define empty list with grafana_datasources: [] but later you try to add elements to this list.
So instead of
grafana_datasources: []
 - name: "Prometheus"
   type: "prometheus"
   access: "proxy"
   url: "http://prometheus.mydomain"
   basicAuth: true
   basicAuthUser: "admin"
   basicAuthPassword: "password"
   isDefault: true
   jsonData: '{"tlsAuth":false,"tlsAuthWithCACert":false,"tlsSkipVerify":true}'

you should have:
# Datasources to configure
grafana_datasources:
 - name: "Prometheus"
   type: "prometheus"
   access: "proxy"
   url: "http://prometheus.mydomain"
   basicAuth: true
   basicAuthUser: "admin"
   basicAuthPassword: "password"
   isDefault: true
   jsonData: '{"tlsAuth":false,"tlsAuthWithCACert":false,"tlsSkipVerify":true}'

Notice [] brackets after grafana_datasource:

Oh, yes thanks you, but now, I do this :
grafana_datasources:
  # - name: "comeon"
  #   type: "influxdb"
  #   access: "direct"
  #   url: "http://{{ influx_host }}:8086"
  #   database: 'lizard00'
  #   basicAuth: false
  #   url_username: "{{ influx_user }}"
  #   url_password: "{{ influx_pass }}"
  #   isDefault: true
  #   jsonData: '{"tlsAuth":false,"tlsAuthWithCACert":false,"tlsSkipVerify":true}'
  - name: "datasource-influxdb"
    grafana_url: "http://{{ grafana_host }}:3000"
    grafana_user: "{{ grafana_admin_uname }}"
    grafana_password: "{{ grafana_admin_pass }}"
    org_id: "1"
    ds_type: "influxdb"
    url: "http://{{ influx_host }}:8086"
    database: "telegraf"
    time_interval: ">10s"

And there is an error that I don't understand: I get an 401 error with "Invalid username or password" but I know that my creds are good because I can use them to log in the web interface...

Are you sure you entered them correctly and that variable names are correct?
From what I see you should have your admin user set as grafana_admin_uname and grafana_admin_pass
I don't know why you use additional variables for this, since those two are also set in grafana_security and can be accesses like this:
{{ grafana_security.admin_user }}
{{ grafana_security.admin_password }}

You can search the database to see if they are correctly entered :
sqlite3 /var/lib/grafana/grafana.db "select * from data_source;"


Fix for Issue #27 VHD file contains more than one partition

Added an extra non-mandatory parameter to allow users to specify partition number.
Added localization.
Re-formatted the code (OCD kicked-in)

This change is

Hi @TheBlackMini, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;

Unreleased

Need to add information about new change in unreleased notes.

Refers to: README.md:80 in 3b5f7fa. [](commit_id = 3b5f7faa434c0643c96c3e29aa21ca8baaf9a6f4, deletion_comment = False)

Updated code

Review status: 0 of 5 files reviewed at latest revision, 8 unresolved discussions.

DSCResources/MSFT_xVhdFileDirectory/MSFT_xVhdFileDirectory.psm1, line 6 at r1 (raw file):
Previously, FayzaSultan wrote…
> >numbe [](start = 114, length = 5)
>
>
>
> Spelling. Number

Fixed spelling

Comments from Reviewable

Review status: 0 of 5 files reviewed at latest revision, 8 unresolved discussions.

DSCResources/MSFT_xVhdFileDirectory/MSFT_xVhdFileDirectory.psm1, line 6 at r1 (raw file):
Previously, TheBlackMini (Adam) wrote…
> Fixed spelling

Done.

DSCResources/MSFT_xVhdFileDirectory/MSFT_xVhdFileDirectory.psm1, line 85 at r2 (raw file):
Previously, TheBlackMini (Adam) wrote…
> New function which handles this now.

Done.

DSCResources/MSFT_xVhdFileDirectory/MSFT_xVhdFileDirectory.psm1, line 152 at r2 (raw file):
Previously, TheBlackMini (Adam) wrote…
> New function which handles this now.

Done.

DSCResources/MSFT_xVhdFileDirectory/MSFT_xVhdFileDirectory.psm1, line 160 at r2 (raw file):
Previously, TheBlackMini (Adam) wrote…
> New function which handles this now.

Done.

DSCResources/MSFT_xVhdFileDirectory/MSFT_xVhdFileDirectory.psm1, line 251 at r2 (raw file):
Previously, TheBlackMini (Adam) wrote…
> New function which handles this now.

Done.

DSCResources/MSFT_xVhdFileDirectory/MSFT_xVhdFileDirectory.psm1, line 509 at r2 (raw file):
Previously, TheBlackMini (Adam) wrote…
> These aren't error logs, just states that it worked if it goes past the Set-ItemProperty

Done.

DSCResources/MSFT_xVhdFileDirectory/MSFT_xVhdFileDirectory.schema.mof, line 5 at r1 (raw file):
Previously, TheBlackMini (Adam) wrote…
> Created a new example file.

Done.

DSCResources/MSFT_xVhdFileDirectory/MSFT_xVhdFileDirectory.schema.mof, line 6 at r1 (raw file):
Previously, TheBlackMini (Adam) wrote…
> The Uint32 is the validation for the parameter.

Done.

Comments from Reviewable

@TheBlackMini Looks like your tests are failing because there is a tab indentation somewhere instead of spaces. Can you please fix it so that the tests pass in AppVeyor?

@TheBlackMini Since this PR has been stalled for some time now, I'm assigning the abandoned label. Please let me know if you still want to work on this or not.


Port the CI of HsOpenSSL to GitHub Actions

I'll take a look at this.

Please assign me.

Ping @L-as : Any progress yet?

Nope I forgot about this due to a lot of other stuff, looking at it again. I was thinking of using Nix but Nix doesn't work well with GitHub Actions without Cachix AFAICT.

I think having CI for the major OSs and stack and cabal would be great since it would be a live documentation of the prerequisites needed on the different OSs.
I just fought the Stack on Windows battle, needing HsOpenSSL-<IP_ADDRESS> (as it seems) and:
        stack exec -- pacman --noconfirm -Sy msys2-keyring
        stack exec -- pacman --noconfirm -S mingw-w64-x86_64-pkg-config
        stack exec -- pacman --noconfirm -S mingw-w64-x86_64-openssl

@L-as I don't think nix will be reliable on macOS & Windows unfortunately

@vshabanov Maybe you should take matters in your own hands.
No CI, with a project binding external libraries, constant upstream changes... I don't know how you sleep soundly at night...


deploy expo ongoing

:tada: This PR is included in version 1.14.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


new module to read gee app code

What is the name of your repository ?
https://github.com/12rambau/gee_source
The name of your dashboard app
earthengine app reader
A short description of the app
Extract source code from any GEE app URL
Is your module requiring a GEE account ?
yes
Any comment you want to add
I'm using it more and more, maybe that could help other devs (at least now it's using code hilglighter)
maintainer checklist

[x] Name is set
[x] Description set
[x] Comprehensive README
[x] 3 languages documentation files (can be empty)
[x] The requirements.txt file have been updated
[x] Existence of a release branch
[x] check behaviour within a fresh venv

Done.


Build method for Topological Sorting of Matrices

@nimitbhardwaj pointed me to this post on the method. It is the first step in solving Tarjan's, which is part this Chingon ticket: https://github.com/buddha314/chingon/issues/9

I can help here, what I am supposed to do.

Hey do we need to find the strongly connected components in a directed graph, because Tarjan's algo is used for it, I know it too, also a simple algo.

Well, that would be wonderful!   I'm not sure if the method should live here, where I'm putting all the matrix stuff, or over in Chingon, where I'm going the graph stuff.  I would enjoy feedback on that topic.
I think we'll need a method that

Accepts a Matrix and assumes it's an adjacency matrix.
Checks whether it is a DAG
Returns all the cycles perhaps as arrays of [(row, col),..] pairs?  What do you think?

Yes, it can be done, today, I will work on it, so I fork Chingon, and make PR there it can be done, just I need to understand how to make adjacency list graphs in chapel, because in C++ during competitive programming I simply do vector<list<int> > G(n); then I get a graph of n nodes. I can do it

Chingon has a method that takes a matrix and turns it into a "graph" object.  Under the GraphBLAS paradigm, any graph is seen as a matrix.  I will find an example for you.

I'm hoping this is useful: https://github.com/buddha314/chingon/blob/master/test/chingon-base-test.chpl#L16-L33   I will be on https://gitter.im/chapel-lang/chapel today if you I can help at all.

OK, I understand, matrix form of graph, this is good implementation for dense graphs, but for sparse graphs, having huge number of nodes, this create some memory problems, here I explain, for Matrix form, the memory needed is O(VV), so for huge V, its problem, so its genuine for dense graphs, and for adjency list, memory needed is O(VE) so its nice for sparse graphs, having less number of edges, but vertices can be more.

OK, I am implementing now, I saw the code, using subdomain, so I think that, it don't allocate a whole matrix, but only those nodes what are needed, am I right?

Yes, I believe so.  And it should be easy to find ones with degree == 1 and just put those last in a sparse matrix.

OK, I got the whole module, now I understood the concepts used in module, now I can implement the algo, so I have to do for directed graphs, yes, because listing cycles in undirected graph is NP-Complete  problem, so for digraphs, my work is on.

Excellent! I'm looking forward to it!

One more note, many of the graphs I work with have nodes with degree(v) = 0, so eliminating those degree(v) <= 1 would also be an improvement.
At one point, I experimented with removing the high degree nodes, so I created an ECDF function to find the upper centiles and eliminate those.  I don't know if that helps.  Certainly the ECDF docs in NumSuch could be better.  Apologies.

Hey, I have a question, if I need to find the cycles, then there is Johnson's Algorithm which can also be used, which is faster, so what to do here?

The cycles are the focus.  If Johnson's works well in a matrix context, we should use it instead of Tarjan's.

OK, I see it, what to do, I read its article first

Another thing (sorry for the interruptions) we have that might be useful is the indexSort routine.  I have used it to order vertices by their degree, for instance: https://github.com/buddha314/numsuch/blob/master/test/numsuch-test.chpl#L9-L11

Cool this is, also I want to say that, the algorithm used is a little bit length, so I have to make it in steps, like Johnson's algorithm use Tarjan's algorithm and which use some of articulation point and bridge in graph and also use topological sorting for boost in time complexity, so I have to work modularly, means I first its algorithms which it use.
Will it be OK, may take some time.

I am very grateful for the help! Take the time you need and please ask me any questions.

OK, sure I first make procedure for topological sort, then tarjan's algo and other johnson's algo then.

i made topological sort, just need some testing on it, i do it tomorrow, tomorrow is my class, and its night here, i will complete it


Attempting to add support for PHP

Hello, I am trying to add support for php with php -l. I've added a directory called php to ale_linters and added a file called php.vim.
Here's my code so far:
if exists('g:loaded_ale_linters_php_php')
    finish
endif

let g:loaded_ale_linters_php_php = 1

function! ale_linters#php#php#Handle(buffer, lines)
    " Matches patterns like the following:
    "
    " Parse error: parse error in - on line 7
    let pattern = 'Parse error: \(.\+\) on line \(\d\+\)'
    let output = []

    for line in a:lines
        let l:match = matchlist(line, pattern)

        if len(l:match) == 0
            continue
        endif

        " vcol is Needed to indicate that the column is a character.
        call add(output, {
        \   'bufnr': a:buffer,
        \   'lnum': l:match[1] + 0,
        \   'vcol': 0,
        \   'col': 0,
        \   'text': l:match[0],
        \   'type': 'E',
        \   'nr': -1,
        \})
    endfor

    return output
endfunction

call ALEAddLinter('php', {
\   'name': 'php',
\   'executable': 'php',
\   'output_stream': 'stderr',
\   'command': 'php -l -',
\   'callback': 'ale_linters#php#php#Handle',
\})

When I run cat myfile.php | php -l I get sytnax errors. But in the buffer nothing shows up.

Hmm, the problem here isn't obvious to me yet. I might have a go at adding this to the repo myself and credit you as the author. It looks okay, so it's probably some minor bug.

Okay, let me know if there's something that needs to be changed. I would like to keep contributing. Great plugin.

I have pushed your code now with some minor changes. php needed -- instead of - to read from stdin, which is a bit odd, but it works. The second error was that the regex matches start at index 1, and not 0. That's a common mistake, which I didn't notice until I started playing around with it.

Thanks for explaining those changes. I have the latest code, but I'm still
not seeing any linting feedback in my buffer.
Here's the code I'm using:
<?php
echo "Hello!" // this needs a semi-colon

On Mon, Oct 3, 2016 at 5:19 PM w0rp<EMAIL_ADDRESS>wrote:

I have pushed your code now with some minor changes. php needed --
instead of - to read from stdin, which is a bit odd, but it works. The
second error was that the regex matches start at index 1, and not 0.
That's a common mistake, which I didn't notice until I started playing
around with it.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/w0rp/ale/issues/37#issuecomment-251254635, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AItA-uQz2tUR1g2lsaqevcls4XOqXFraks5qwY10gaJpZM4KNHXm
.

Ah, there is one bug left to be fixed which I can fix tomorrow. Some errors go one line beyond the last line in the file, so they don't appear at all. This is such an error. I'm thinking I might make that automatic for any linter which is added.

@scwood If you pull again, you should see a warning for the missing semicolon now. I fixed errors which have line numbers beyond the end of the file for any linter now.

I'm not sure what I'm doing wrong. I'm updated to the latest code. On the left with the C file Ale is working great, but on the php file nothing happens:

Hmm, could you paste the output of :!php -l -- < test.php and your php version? Maybe there is something wrong there.
I'll reopen the issue while you're having issues.

Sure, here's the ouput of :!php -l -- < test.php:
Parse error: parse error, expecting `','' or `';'' in - on line 4
Errors parsing -

shell returned 255

Press ENTER or type command to continue

And php:
$ php --version
PHP 5.5.36 (cli) (built: May 29 2016 01:07:06)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies

Hi, for me Ale works fine with php files:
https://asciinema.org/a/2h6zlyi99ialjdeia9gmiwteo
php -v

PHP 7.0.11 (cli) (built: Sep 16 2016 18:52:44) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

Hmmm, I tried with Vim and NVim, no dice. Also tried with a minimal vimrc.

I'm not quite certain where the problem lies at the moment. I might try installing that version of PHP tomorrow and see if there are any problems there. The PHP linting works for me at the moment. Have you checked the linters for other languages? I wonder if the problem is specific to the PHP linter.

Yeah no issues using the other linters... I updated my plugin this morning. Still digging

I have no idea what's going on with this. I've installed ale on my work computer and php works without any issues, I don't know why it's broken on my laptop. I've reinstalled vim, made sure I'm not running my forked version, etc. etc. I'm just going to close for now.

@scwood I think I finally figured out what was going on. I tried the PHP linter on a friend's machine, and it was outputting the errors to stdout, whereas my machine outputs them to stderr. I added support to the plugin for reading from both streams, so it will just pick up all lines of output and parse them. This might be one of those things you can change in php.ini. Let me know if it works for you now.

That did it, thanks so much.

Nice! You're welcome.


Python 3 message creation fix.

Using Python 3.x an error is thrown when Message of body type is string.
cfr _common_serialization.py _get_request_body_bytes_only().

Hello,
Thank you for you message, you are right that documentation is not enough accurate there. I didn't take your commit "as-is" but I re-wrote it in:
https://github.com/Azure/azure-sdk-for-python/pull/505
Thank you!

Thanks @lmazuel :)


Fix SyntheticEvent issue for form submit event

Fixes the issue with the "Warning: This synthetic event is reused for performance reasons. If you're seeing this, you're adding a new property in the synthetic event object. The property is never released. See https://fb.me/react-event-pooling for more information." warning message.
Fixes #71

@typerandom I was able to hack in the example code provided in #71 and reproduce the mentioned warning.  I can confirm that this branch resolves the warning (it does not appear).  Please confirm that this is the expected steps for reviewing this issue.

Yes, this is correct. I'm going to merge this and close the issue.


Analyzer to enforce justification for #pragma warning disable

SA1404 enforces that the justification be given for SuppressMessage attributes. My proposal is about having a similar analyzer for #pragma warning disable as well.
As a general rule, at our company we require developers to provide justification for every analyzer suppression: Turning off an analyzer is an exception to the rule, so others looking at the code should be able to quickly understand the reason for it.
SA1404 does that perfectly but we'd like to require this for #pragma warning disable too, in a form like below (require the comment in the first line):
    // The extension method should follow the naming of the original class.
#pragma warning disable S101 // Types should be named in PascalCase
    public static class RNGCryptoServiceProviderExtensions
#pragma warning restore S101 // Types should be named in PascalCase
    {
        public static int Next(this RNGCryptoServiceProvider rng, int minValue, int maxValue)
        {
            // ...
        }
    }

I'd argue that this is as important as for SuppressMessage attributes. Another general rule we use is to suppress analyzers only for the smallest scope possible, frequently for single lines (e.g. in the above the suppression is needed only for the class name), thus SuppressMessage attributes are not always suitable because they suppress for a whole member. Thus using #pragma warning disable suppressions too is necessary.

💭 I'm not a fan of placing the rationale on a separate line, because it doesn't appear in the search results. It may be difficult to design a general rule for this since there is no official standard for the placement of rationale for these directives.

I guess we have to come up with a quasi-standard then :).
In our experience, having the suppressed analyzer's name/description visible (as opposed to just its code) is necessary to understand the suppression. Thus keeping "Types should be named in PascalCase" in the above example is needed. At that point, if you continue that comment, then the line will quickly become too long (and thus cause that kind of analyzer violation). If you put the comment on the preceding line then your comment can be as long as you need it to be.


[AutoPR reservations/resource-manager] [Hub Generated] Review request for Microsoft.Capacity to add version preview/2019-04-01

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/5654

(message created by the CI based on PR content)

This PR has been merged into https://github.com/Azure/azure-sdk-for-python/pull/4792


Game crashes when attempting to type the load script command

when you type /script set the game instantly crashes, you are unable to type in the desired script to run.
it is possible to load a script if you type in /script et <script file> then add the s before et.
seems to be an issue with the autofill

Fixed in most recent release. Game would crash when script directory was empty.


azure-cli-ml extension is failing to install

Extension name (the extension in question)
azure-cli-ml
Description of issue (in as much detail as possible)
Executing "az extension add -n azure-cli-ml" returns following error:

An error occurred. Pip failed with status code 1. Use --debug for more information.

Last few lines of the debug:

cli.azure.cli.core.util: Traceback (most recent call last):
File "/opt/az/lib/python3.6/site-packages/knack/cli.py", line 233, in invoke
cmd_result = self.invocation.execute(args)
File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/init.py", line 664, in execute
raise ex
File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/init.py", line 727, in _run_jobs_serially
results.append(self._run_job(expanded_arg, cmd_copy))
File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/init.py", line 720, in _run_job
six.reraise(*sys.exc_info())
File "/opt/az/lib/python3.6/site-packages/six.py", line 703, in reraise
raise value
File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/init.py", line 698, in _run_job
result = cmd_copy(params)
File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/init.py", line 331, in call
return self.handler(*args, **kwargs)
File "/opt/az/lib/python3.6/site-packages/azure/cli/core/init.py", line 816, in default_command_handler
return op(**command_args)
File "/opt/az/lib/python3.6/site-packages/azure/cli/command_modules/extension/custom.py", line 18, in add_extension_cmd
version=version, upgrade=upgrade)
File "/opt/az/lib/python3.6/site-packages/azure/cli/core/extension/operations.py", line 318, in add_extension
pip_extra_index_urls=pip_extra_index_urls, pip_proxy=pip_proxy, system=system)
File "/opt/az/lib/python3.6/site-packages/azure/cli/core/extension/operations.py", line 163, in _add_whl_ext
'Use --debug for more information.'.format(pip_status_code))
knack.util.CLIError: An error occurred. Pip failed with status code 1. Use --debug for more information.
cli.azure.cli.core.azclierror: An error occurred. Pip failed with status code 1. Use --debug for more information.
cli.azure.cli.core.azclierror: An error occurred. Pip failed with status code 1. Use --debug for more information.
cli.knack.cli: Event: Cli.PostExecute [<function AzCliLogging.deinit_cmd_metadata_logging at 0x7f98cc999840>]
az_command_data_logger: exit code: 1
cli.main: Command ran in 12.452 seconds (init: 0.119, invoke: 12.333)
telemetry.save: Save telemetry record of length 3134 in cache
telemetry.check: Returns Positive.
telemetry.main: Begin creating telemetry upload process.
telemetry.process: Creating upload process: "/opt/az/bin/python3 /opt/az/lib/python3.6/site-packages/azure/cli/telemetry/init.py /home/poc/.azure"
telemetry.process: Return from creating process
telemetry.main: Finish creating telemetry upload process.

azure-cli-ml

Seems to be resolved now


Sync dumpItem/dumpInfo

Why rename?

To match the naming convention X3<camel_case>

No, the other functions vary in name length a bit too and dump is fine the way it is. I would argue that cpy should be copy, but best not to rename that either.

I've added a backwards compatibility alias so should be all good. Whoever wants to use dump is welcome to use it.

I guess you are right

I don't think dump should be changed to dmp


support shared temp directory in distributed system

Related to #1397
workers will attempt to kill pids belonging to jobs other workers if the same directory onthe same file system is used as TMPDIR across multiple nodes. This can be circumvented by adding a machine-id check to the process.

The fix for this is to add a method to toil.common that can generate a UUID specific to a machine. then in toil.fileStore.AbstractFileSTore.__init__  you add self.machineID = getUniqueMachineID(). This value needs to be added to the job state in both fileStores and then ensure findAndHandleDeadJobs only looks and jobs that have jobState.machineID == self.machineID.
A simple google search returns uuid.getnode() but I'm not convinced of its reliability. If someone can research this and convince me that it is reliable, I can implement this feature or guide them in the process.

I think the jobState (and all other local files) needs to be written to a machine unique location so that workers are not overwriting it.

Logically, the jobState is a description of the job and it makes sense to keep it within the job's local directory. This also keeps the interface near-similar to that of the cachingFileStore. And honestly, implementing a machine-unique location is tantamount to generating a machine-unique ID that is checked so I would go with the one i suggested.

The problem occurs because there is no job local directory. All worker are writing into the same directory - the jobState file is being overwritten.

not really. There is a workflow directory that is being shared by all workers. Each worker creates a directory for its current job and
CachingFileStore: puts the jobstate info into the _cacheState file. This file can only be read by one process at a time because of the locking mechanism.
NonCachingFileStore: puts the jobstate there. This file is only written by the current job.
Currently each job on startup will look at all pids in the _cacheState file or the pids in the individual jobState files and then attempt to cleanup jobs that are dead (pid doesn't exist). When this feature is implemented, jobs will only cleanup behind other jobs spawned by the same node.

Fair enough. The worker walks the entire workDir looking for jobState files even those that don't belong to it. So yes, I think your fix should work. It will fix a big problem for me.

WE only need to figure out a reliable unique ID generator

MAC address?

Refer my above comment about uuid.getnode().

This is problematic. Also, we want to do this with the minimal use of external libraries and i think a system call (the other option according to stack overflow) is overkill.

@arkal uuid.uuid4 generates a random uuid. This is the solution I will go for unless you suggest something different.

Proposed solution:
Each node will have a uuid stored in ~/.toil_node_id.
Each time worker.py runs it will check if this file exists. If it does, then the node will use it as the uuid. If it does not exist then it will generate a uuid and store it in the file in a race-safe way.
The rest is described above by @arkal.

I’m not clear on this. Are storing the UUID for each node in this file, i.e. multiple entries or is the UUID part of the filename or are you expecting ~/ to be unique on each node?
Evan.
Evan Thomas
Research Computing Scientist
Computational Biology
The Walter and Eliza Hall Institute of Medical Research
Mobile: +61423000246 | Skype: evanathomas | Email: thomas.e<EMAIL_ADDRESS>On 10 Feb 2017, at 6:36 am, jessebrennan <notifications<EMAIL_ADDRESS>wrote:
Proposed solution:
Each node will have a uuid stored in ~/.toil_node_id.
Each time worker.py runs it will check if this file exists. If it does, then the node will use it as the uuid. If it does not exist then it will generate a uuid and store it in the file in a race-safe way.
The rest is described above by @arkalhttps://github.com/arkal.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/BD2KGenomics/toil/issues/1462#issuecomment-278748590, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AVADDYaZFrQko6UU0p77FlhYrHh3qFn-ks5ra2q_gaJpZM4LyBV5.

Each node will look for a file called ~/.toil/nodeID. If the file exists, it will read the uuid stored within that file and use that to describe itself. If it doesn't exist, it will create the file and store a uuid within it. This uuid will be used by every other worker that spawns on that node. The file should only be created ONCE on a machine if the user never deletes it. Toil will NEVER delete that file. Now unless all nodes on a cluster share the same home directory (Not the same path, but physically the same directory on the same disk), this should work.

Following up on @arkal's explanation, that uuid will be included in the .jobstate file along side the pid. _pidExists will check the file uuid against the uuid in .toil_node_id to insure the pid in the file refers to the pid on the correct node.
While we're at it, we might want to include the pid start time to insure the pid hasn't been reused, as @evan-wehi brought up in #1397.

All our nodes share the same file system, including the head node.
Evan Thomas
Research Computing Scientist
Computational Biology
The Walter and Eliza Hall Institute of Medical Research
Mobile: +61423000246 | Skype: evanathomas | Email: thomas.e<EMAIL_ADDRESS>On 10 Feb 2017, at 9:59 am, Arjun Arkal Rao <notifications<EMAIL_ADDRESS>wrote:
Each node will look for a file called ~/.toil/nodeID. If the file exists, it will read the uuid stored within that file and use that to describe itself. If it doesn't exist, it will create the file and store a uuid within it. This uuid will be used by every other worker that spawns on that node. The file should only be created ONCE on a machine if the user never deletes it. Toil will NEVER delete that file. Now unless all nodes on a cluster share the same home directory (Not the same path, but physically the same directory on the same disk), this should work.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/BD2KGenomics/toil/issues/1462#issuecomment-278802855, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AVADDYuKWFX_8hbLMlMpkz7CFPxblaLGks5ra5pdgaJpZM4LyBV5.

@evan-wehi their entire file system is shared (except the small local tmpdir)?

Correct. Each node is a VM spun for the purpose and has a 50GB filesystem for the OS. Everything else is the same shared filesystems.
--
Evan Thomas
Research Computing Scientist
Computational Biology
The Walter and Eliza Hall Institute of Medical Research
Mobile: +61423000246 | Skype: evanathomas | Email: thomas.e<EMAIL_ADDRESS>On 10 Feb 2017, at 10:14 am, Christopher Ketchum <notifications<EMAIL_ADDRESS>wrote:
@evan-wehihttps://github.com/evan-wehi their entire file system is shared (except the small local tmpdir)?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/BD2KGenomics/toil/issues/1462#issuecomment-278805959, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AVADDTanetbXO-TINtcdTpmKHR6_M5o0ks5ra527gaJpZM4LyBV5.

@evan-wehi does ~/ map to the same place on all machines?

Yes - all filesystems are shared - every node sees the same thing at the same location, so ~ is also the same for all nodes.
--
Evan Thomas
Research Computing Scientist
Computational Biology
The Walter and Eliza Hall Institute of Medical Research
Mobile: +61423000246 | Skype: evanathomas | Email: thomas.e<EMAIL_ADDRESS>On 10 Feb 2017, at 10:38 am, Arjun Arkal Rao <notifications<EMAIL_ADDRESS>wrote:
@evan-wehihttps://github.com/evan-wehi does ~/ map to the same place on all machines?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/BD2KGenomics/toil/issues/1462#issuecomment-278811498, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AVADDZt0HQis8JVC9sAm8dvPR7OSMKmBks5ra6NjgaJpZM4LyBV5.

Can you use the ssh host key?
--
Evan Thomas
Research Computing Scientist
Computational Biology
The Walter and Eliza Hall Institute of Medical Research
Mobile: +61423000246 | Skype: evanathomas | Email: thomas.e<EMAIL_ADDRESS>On 10 Feb 2017, at 10:44 am, Evan Thomas <thomas.e<EMAIL_ADDRESS>wrote:
Yes - all filesystems are shared - every node sees the same thing at the same location, so ~ is also the same for all nodes.
--
Evan Thomas
Research Computing Scientist
Computational Biology
The Walter and Eliza Hall Institute of Medical Research
Mobile: +61423000246 | Skype: evanathomas | Email: thomas.e<EMAIL_ADDRESS>On 10 Feb 2017, at 10:38 am, Arjun Arkal Rao <notifications<EMAIL_ADDRESS>wrote:
@evan-wehihttps://github.com/evan-wehi does ~/ map to the same place on all machines?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/BD2KGenomics/toil/issues/1462#issuecomment-278811498, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AVADDZt0HQis8JVC9sAm8dvPR7OSMKmBks5ra6NjgaJpZM4LyBV5.

forgive me if this is naive... where are you storing per-node ssh host keys if not in ~/.ssh ?

The host keys identifies the host, it is not related to the user’s keys. They are stored somewhere in the /etc (depending on your ssh implementation). You can get host the fingerprint, which derives from the key, with standard APIs. But it turns out all our host keys are the same :(. (We could probably change that though).
Why is hostname no good?
Evan.
Evan Thomas
Research Computing Scientist
Computational Biology
The Walter and Eliza Hall Institute of Medical Research
Mobile: +61423000246 | Skype: evanathomas | Email: thomas.e<EMAIL_ADDRESS>On 10 Feb 2017, at 11:26 am, Arjun Arkal Rao <notifications<EMAIL_ADDRESS>wrote:
forgive me if this is naive... where are you storing per-node ssh host keys if not in ~/.ssh ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/BD2KGenomics/toil/issues/1462#issuecomment-278821006, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AVADDUo7M_fTq0Cv27xGHE5ZFozlqG2Vks5ra66jgaJpZM4LyBV5.

hostname is an option if you have a static ip and/or you have clearly defined your hostname. This might make sense for large clusters but is not universally true. Most people don't setup a hostname on their laptops and the hostname can change with a change in the public IP.

Here's my suggestion.
Before we check a pid on a worker, we need to ensure the job belonged to that worker. This is done using a uuid that the worker receives in one of 3 ways in decreasing order of preference:

The user specifies a file path (that must exist on all nodes at the same place) that contains this value (think of this as a toilrc).
If the user does not specify a path, Toil will look for TOIL_NODE_ID in the environment variables for the node
If 1 and 2 don't pan out, toil will use python's uuid.getnode() that uses the mac address. This has kinks but it is the fallback. We expect this to give you the same value every time but if it doesn't, it just means that failed jobs won't be cleaned up. We will document this issue clearly so users know about it.

You may need to offer a variety of strategies which the user can choose from. For example hostname will work for usAs I understand it, this is required to clean up failed jobs. Is it needed for anything else? If the user cannot provide a mechanism then they may need to do the cleanup themselves. It seems that the cleanup is not guaranteed to run anyway, for example if a node fails and work is never rescheduled on it.
--
Evan Thomas
Research Computing Scientist
Computational Biology
The Walter and Eliza Hall Institute of Medical Research
Mobile: +61423000246 | Skype: evanathomas | Email: thomas.e<EMAIL_ADDRESS>On 10 Feb 2017, at 11:53 am, Arjun Arkal Rao <notifications<EMAIL_ADDRESS>wrote:
hostname is an option if you have a static ip and/or you have clearly defined your hostname. This might make sense for large clusters but is not universally true. Most people don't setup a hostname on their laptops and the hostname can change with a change in the public IP.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/BD2KGenomics/toil/issues/1462#issuecomment-278825563, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AVADDWtxzBu8fLhwDLdY9eQgr_DMx0Djks5ra7UngaJpZM4LyBV5.

Option 2.5 mutually exclusive group [--hostNameFile |--hostNameIDCommand] and you can provide a command that will be run with subprocess.get_output.

Presumably same path different filesystem?
How is this being set? /etc/profile?
Although I suggested earlier using the MAC address we may end up have at least one interface with the same address in each node (to get around the opposite problem. i.e. make all nodes look the same to deal with refractory licensed software).

I like option 2.5!!
Evan.
Evan Thomas
Research Computing Scientist
Computational Biology
The Walter and Eliza Hall Institute of Medical Research
Mobile: +61423000246 | Skype: evanathomas | Email: thomas.e<EMAIL_ADDRESS>On 10 Feb 2017, at 11:58 am, Arjun Arkal Rao <notifications<EMAIL_ADDRESS>wrote:
Here's my suggestion.
Before we check a pid on a worker, we need to ensure the job belonged to that worker. This is done using a uuid that the worker receives in one of 3 ways in decreasing order of preference:

The user specifies a file path (that must exist on all nodes at the same place) that contains this value (think of this as a toilrc).
If the user does not specify a path, Toil will look for TOIL_NODE_ID in the environment variables for the node
If 1 and 2 don't pan out, toil will use python's uuid.getnode() that uses the mac address. This has kinks but it is the fallback. We expect this to give you the same value every time but if it doesn't, it just means that failed jobs won't be cleaned up. We will document this issue clearly so users know about it.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/BD2KGenomics/toil/issues/1462#issuecomment-278826319, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AVADDXFAv3RFyiqxa7CYB2opKMP-AmIOks5ra7Y1gaJpZM4LyBV5.

Ok We're looking into it! Thanks for the input!

Hi, any update on the topic? I see a similar issue with Cactus:
https://github.com/ComparativeGenomicsToolkit/cactus/issues/118

I believe that we are still using the node ID to keep separate Toil temp directories between different machines sharing the same /tmp or TMPDIR. This issue should stay closed, I think. It is already fixed.
I think that https://github.com/ComparativeGenomicsToolkit/cactus/issues/118 is a completely different problem form this issue.


propagate callbacks to ConversationalRetrievalChain

Allow callbacks to monitor ConversationalRetrievalChain

I ran into an issue where load_qa_chain was not passing the callbacks down to the child LLM chains, and so made sure that callbacks are propagated. There are probably more improvements to do here but this seemed like a good place to stop.
Note that I saw a lot of references to callbacks_manager, which seems to be deprecated. I left that code alone for now.
Before submitting

Who can review?
Community members can review the PR once tests pass. Tag maintainers/contributors who might be interested:
@agola11

you can pass in a CallbackManager at runtime (see L90 for example) that propagates (inheritable) callbacks to child chains. would that work, or is there a need to pass them in when initializing child chains?

thanks @dev2049 !

you can pass in a CallbackManager at runtime (see L90 for example) that propagates (inheritable) callbacks to child chains. would that work, or is there a need to pass them in when initializing child chains?

Yes, I suppose that would work, though not what I would expect to be the accepted pattern.
I'm not 100% familiar with the langchain conventions, and my intention is to use callbacks for monitoring/etc. To me I would expect that when you "set up" a chain (i.e. create one with ConversationalRetrievalChain.from_llm, etc) that callbacks are a sort of background thing that just works whenever you run the chain... and that once the chain exists, you don't have to think about monitoring any more. And from that perspective, it seems like it would be the responsibility of langchain to "wire up" the callbacks that are passed in.
WDYT?

WDYT?

i think i agree!
you technically can pass in CallbackManagers (with inheritable callbacks) when initializing an object, but i'm pretty sure we ignore inheritable callbacks unless they're passed in at runtime. @agola11 thoughts on changing this behavior?

Either passing through the callbacks to constructors or initializing an object with a callback manager (specifying inheritable callbacks) will work. This seems fine to me

Can you some one post just bare bones python code that exemplifies calling the openai api and using this method and print the chat history + answers.
I'm confused why this is so confusing. This is my current code
condense_prompt = PromptTemplate.from_template()
combine_docs_custom_prompt_og = PromptTemplate.from_template()
memory = ConversationBufferMemory(memory_key="chat_history", return_messages=True)
chain = ConversationalRetrievalChain.from_llm(
ChatOpenAI(temperature=0.3),
vectordb.as_retriever(),  # see below for vectorstore definition
memory=memory,
condense_question_prompt=condense_prompt,
combine_docs_chain_kwargs=dict(prompt=combine_docs_custom_prompt),
how do you return the chat history?


Transport endpoint is not connected

Cannot access kbfs, "Transport endpoint is not connected"
my log id: 56fefc8c2fa1504ae7cd5e1c
I reboot regularly. KBFS is inaccessible to me.
Running Debian testing, kept up-to-date daily.

Sorry about the bad experience. It looks like KBFS is continuously crashing when loading the history of updates for a certain team (I'll DM you the team name on Keybase).  I think this is due to an old bug that we've fixed -- it's been happening to you since June.  Clearly it needs another fix to avoid the crashing, so I'll work on that.
But in the meantime, until we get a new release out, you might (?) be able to fix it by going into this team's folder on a mobile device and uploading like 10-20 files to it (just any files, as long as you give them all different names).  But I'm not 100% sure that mobile won't crash too.  If it does, I can make a special Linux build for you with the fix.

So I uploaded 12 files via mobile.
Desktop spun for a while.
And then it crashed again.
Mobile does not seem to be crashing.

I just updated keybase via apt, and I am unable to use kbfs.
Doing stat or df on /keybase emits the error "Transport endpoint is not connected".
I have not tried rebooting my computer yet.
Tried running run_keybase to restart keybase, twice.
c857a0a0bfc0f36bd256251c

Rebooting my Ubuntu resolved the issue. Nevertheless it is still strange that merely restarting keybase didn't work.

Well, i updated keybase for many times till now, kubuntu bionic beaver 18.04, i have months of uptime with no crash but i still get this

Transport endpoint is not connected

error from time to time ... Last time i see that i can reproduce consistently this error when i logout/login from console, look like after login if kbfs service was already active is not succesfully restarted/refreshed/reconected to keybase servers and the /keybase mount point is now a strange singularity in /
But on my case run_keybase command or the simple systemctl --user restart kbfs.service command can solve this problem no need till now for a real machine restart

If running run_keybase again doesn't solve it and after
systemctl --user restart kbfs.service

still no luck then do run_keybase -k to kill Keybase and then issuing the
sudo fusermount -u /keybase

command should solve it, see https://github.com/keybase/client/issues/20331


adjust aqua and blue in the light variant

Aqua and blue are not distinguishable enough in the light variant, I'm tring to make them more distinguishable.

Hmmm, I think it can be a little bit difficult to distinguish them in the light variant, but I think the original is decent enough as is. The new version seems a little bit harder to distinguish and I think the contrast looks good enough already. So, my vote is to stick to the original.

Sorry for bothering, but I need other people's help.

And don't worry, I don't mind helping out. It's not a bother at all! 😄

Thanks for your help!
I decided to use the original color palette instead, but slightly increased the contrast of black(used in the Normal highlight group). I'm personally satisfied with this. What do you think?

Sure, I think this looks good! I'll go ahead and merge.


Week 2 ticket

Python List Dictionaries Iteration
HTML Fragments ( changing theme )
Weekly work
Tags
Dark Mode

Well Done Organized Tags, Theme successfully changed, Dark mode is active, Table looks fine, well done! 2.7+

I gave this a 2.7+, it has met all standards as well as going above and beyond with the quiz we made together using lists and dictionaries.

Good job, organized files, the theme was changed from white to black, very clean and nice, I would give this a 2.7!


Implementation of evaluation metrics (lesion assignment & patient-level scoring)

Dear organizers,
I am trying to understand how the evaluation metrics provided with the python code works (many thanks for implementing and sharing the code). I set it in relation to what is described in the illustrative document [1].

Concerning the evaluation of the lesion detection maps:

The evaluation metric (i.e. the Average Precision (AP) and the corresponding Precision-Recall (PR) curve) seems to depend on both: i) the confidence level/scores provided in the detection map (dependent in an explicit manner when constructing the PR curve); ii) the size of the detected lesion blobs (dependent in a more implicit manner by disregarding detected blobs with a too low overlap (in terms of IoU) against ground truth). In the function evaluate_case() (in eval.py) a single threshold (default: 0.1) is used to define a "hit criterion". On p.21 of [1] it is suggested to average an evaluation over multiple different thresholds on IuO.
Does it make sense to extend the evaluation scripts to sweep over a set of thresholds? Or should the AI system get constructed in a way to generate blob sizes in the detection map that are very specifically tailored to the "hit criterion" with a fixed threshold of 0.1 (as this appears useful from a clinical perspective)?
In the case of having multiple matching detected blobs and/or multiple ground truth lesions an assignment is done to remove ambiguities between detected and ground truth blobs. On p.22 of [1] it is suggested to either use the "Greedy by Score strategy" or to optimize a cost function (e.g. "Hungarian Matching") to find an optimal assignment. In contrast to that, in the provided code (evaluate_case() in eval.py) the assignment in the case of multiple ground truth lesions looks like: rank the ground truth blobs according to spatial location and make assignments in that order. That can lead to the situation that by flipping or rotation by 180degr. of the ground truth and of the detection map a different assignment is generated compared to the original pose. Is such an assignment suitable in a sense of the evaluation metric.

Concerning the evaluation on the patient-level:

Do I understand correctly that the participating teams should/may provide an implementation of the function that generates a patient-level scoring (from the detection map) which must be compatible with the interfaces of the evaluation scripts? In that sense, the patient level scores are generated during performing the evaluation?
If no function to generate patient-level scores is provided, the evaluation script will pick the maximum confidence value contained anywhere in the detection map as patient score? It does not matter at which spatial location that confidence value occurs (even if it does not match with a ground truth lesion)?

many thanks,
Christoph
Refs:
[1] Reinke, et al., "Common Limitations of Image Processing Metrics: A Picture Story"

Hi @ChristophNeukirchenAtPhilipsCom,
Thanks for your query, those are very good questions!

The evaluation metric (i.e. the Average Precision (AP) and the corresponding Precision-Recall (PR) curve) seems to depend on both: i) the confidence level/scores provided in the detection map (dependent in an explicit manner when constructing the PR curve); ii) the size of the detected lesion blobs (dependent in a more implicit manner by disregarding detected blobs with a too low overlap (in terms of IoU) against ground truth). In the function evaluate_case() (in eval.py) a single threshold (default: 0.1) is used to define a "hit criterion". On p.21 of [1] it is suggested to average an evaluation over multiple different thresholds on IuO.
Does it make sense to extend the evaluation scripts to sweep over a set of thresholds? Or should the AI system get constructed in a way to generate blob sizes in the detection map that are very specifically tailored to the "hit criterion" with a fixed threshold of 0.1 (as this appears useful from a clinical perspective)?

This is a tricky one. We aim to make the evaluation as clinically relevant as possible. Studies on prostate cancer detection in MRI have employed several thresholds, based on several overlap metrics. Recent literature on prostate cancer detection in MRI seems to favour a threshold of 10% (Duran et al. 2022, Baumgartner et al., 2021, Saha et al., 2021, Hosseinzadeh et al., 2021). Please note that the overlap metric varied between studies, so the different thresholds are not exactly the same. Due to the ambiguity in prostate cancer lesion extent and multifocality of lesions, we believe that 10% IoU is a clinically relevant threshold. We aren't aware of a different clinically motivated threshold (such as the 0.05 and 0.5 typical object detection evaluation pipelines use). This is why we chose one threshold, instead of averaging over multiple. If you know a study that motivates a different threshold for clinically significant prostate cancer detection in MRI, please let us know.

In the case of having multiple matching detected blobs and/or multiple ground truth lesions an assignment is done to remove ambiguities between detected and ground truth blobs. On p.22 of [1] it is suggested to either use the "Greedy by Score strategy" or to optimize a cost function (e.g. "Hungarian Matching") to find an optimal assignment. In contrast to that, in the provided code (evaluate_case() in eval.py) the assignment in the case of multiple ground truth lesions looks like: rank the ground truth blobs according to spatial location and make assignments in that order. That can lead to the situation that by flipping or rotation by 180degr. of the ground truth and of the detection map a different assignment is generated compared to the original pose. Is such an assignment suitable in a sense of the evaluation metric.

You are completely correct. We did consider the "Greedy by Score" strategy. This strategy matches the highest confidence candidate to the ground truth lesion and discards the other candidate(s). This biases the evaluation to higher scores. Because we also compare AI against radiologists in the reader study, who do not benefit from this bias, we discarded this strategy and chose to keep the lesion candidate with the highest overlap instead.
Unfortunately, this is implemented in a way where the order of the ground truth lesions can influence the score, which is not the intended behaviour.
The Hungarian Matching method seems to be an appropriate generalisation of the overlap-based matching we want to apply. I would like to investigate that, do you by any chance have a recommendation for an implementation based on 3D volumes?

Do I understand correctly that the participating teams should/may provide an implementation of the function that generates a patient-level scoring (from the detection map) which must be compatible with the interfaces of the evaluation scripts? In that sense, the patient level scores are generated during performing the evaluation?

Yes, this is correct! You can define a function with the detection map as input (numpy array of size DxHxW), and the case-level prediction as output (float between 0 and 1).
During local evaluation this can be achieved by passing your function as ‘case_confidence_func’ (to either ‘evaluate’ or ‘evaluate_folder’).
During evaluation on grand-challenge.org, we cannot let users define arbitrary functions for us to evaluate. During deployment, the output of your function must be written to ‘/output/cspca-case-level-likelihood.json’. More documentation on this will follow.

If no function to generate patient-level scores is provided, the evaluation script will pick the maximum confidence value contained anywhere in the detection map as patient score? It does not matter at which spatial location that confidence value occurs (even if it does not match with a ground truth lesion)?

Correct. The case-level confidence must be computable on unseen cases, so it should not depend on the annotation (and thus matching with a ground truth lesion is not taken into account).


Share link points to the wrong message and URL

If you share the app via text on iOS, the text that is generated references COVID Green and points to the Irish app. Can we kindly make it this:
Help keep your fellow NYers safe from COVID-19 by flattening the curve. Get the COVID Smart NY app: https://CovidSmartNY.health.ny.gov/.
iOS 13.6, iPhone X, build 12

@floridemai sorry, we changed the URL on you since we filed this ticket. Would you mind redirecting the URL to https://CovidAlertNY.health.ny.gov/ instead of CovidSmart? Thank you.
After fixing please assign to NYS folks to validate. I am not going to be able to test for the next few days. Tks.

I retested this and it looks good from my end.


Random Forest tutorial v0.1

[ ] Break script into one R script than pulls data, fits model and saves object, and one Rmd that where the Sobol work occurs.
[ ] Write out text explaining what the different steps in the steps after line ~275.

more to come...

Still need to:

[ ] Validation analysis
[ ] Write tutorial txt
[ ] Clean up


Correctness check for single op

Cover opset in oneDNN graph.
Use numpy or pytorch as reference.
Implement similar data filing as oneDNN.
Set same numerical tolerance as oneDNN.

@ZhennanQin
This issue depends on python binding. Please help add #57 into the llama2 milestone too.

no for CI. capture more bugs from this issue


SPIKE: Evaluate The possibility of using Mock Backend

Description
To speed up our testing would be great to use mocks instead of real k8s api server. Investigate what tools can be used to facilitate this
Minimum target is to mock first pace ( cluster overview ) so we can run Lighthouse tests on this in a predictable way.
Possible tools to investigate

https://mswjs.io/

Target timing
2 MD

Once configured it's fairly easy to mock backend. MSWJS has the advantage of mocking the backend at the network level, so we can use same mocks in cypress, playwright AND ON DEV during development.
Mocking means copying the API responses and including them in the code base. This PR mocks the Cluster Overview page.  The mocks are not included in the production code built with npm run build if (process.env.NODE_ENV === 'development') is used as a wrapper.

The team decided not to proceed with the backend mock due to the need of storing the mocks or creating new mocks for each PR.


adjusted to core changes

closes #6

BTW, have you seen this? https://github.com/membraneframework/membrane-element-file/compare/feature/release_v0.2. You can cherry-pick travis fix


NEVER EVER HAD A LEDGER ACCOUNT INDEX IN TRINITY

nd tokens.

I have been so flustered by this ongoing Iota saga.  Yes, after I left this message, I realized I could l use my Seed.  What got kept me from thinking about it was the VIDEO inside the Migration process.  It kept saying Ledger Index.  Anyway, thanks so much and I wish You and Yours Gods Blessings.


Cookie “_auth” does not have a proper “SameSite” attribute value.

Describe the bug
Authentication saved as "authType: cookie" does not set SameSite value.
This gives a warning:
Cookie “_auth” does not have a proper “SameSite” attribute value. Soon, cookies without the “SameSite” attribute or with an invalid value will be treated as “Lax”. This means that the cookie will no longer be sent in third-party contexts. If your application depends on this cookie being available in such contexts, please add the “SameSite=None“ attribute to it. To know more about the “SameSite“ attribute, read https://developer.mozilla.org/docs/Web/HTTP/Headers/Set-Cookie/SameSite

To Reproduce
Steps to reproduce the behavior:
Import and create a store:
const store = createStore({
  authName:'_auth',
  authType:'cookie',
  cookieDomain: window.location.hostname,
  cookieSecure: window.location.protocol === 'https:',
});

This sets the cookie and now FireFox console is outputting the warning:
Cookie “_auth” does not have a proper “SameSite” attribute value. Soon, cookies without the “SameSite” attribute or with an invalid value will be treated as “Lax”. This means that the cookie will no longer be sent in third-party contexts. If your application depends on this cookie being available in such contexts, please add the “SameSite=None“ attribute to it. To know more about the “SameSite“ attribute, read https://developer.mozilla.org/docs/Web/HTTP/Headers/Set-Cookie/SameSite

Expected behavior
Can there be an additional prop i can set, like:
const store = createStore({
  authName:'_auth',
  authType:'cookie',
  cookieDomain: window.location.hostname,
  cookieSecure: window.location.protocol === 'https:',
  sameSite: "strict"
});

Desktop (please complete the following information):

OS: Ubuntu 22
FireFox
126.0 (64-bit)

@Yachara Thanks for showing me this. Will fix this on V4

Does the react-auth-kit library have a direct option to configure SameSite?


Custom Skin from custom resource pack won't appear in the skin selection menu

I have made a resource pack with everything according to the wiki
My skin works in the game when i click it but When i am in the menu hovering i don't see my skin and only see it's description and name
And weirdly the game gets laggy when i am in the pack with the model/skin in it

I have tried to use models from other resource packs made for the mod with them rending like the pig model
Is there something i am doing wrong in the Exporting process in CPM Or should i do something extra????

did you enable anything like UUID lock?

did you enable anything like UUID lock?

Okay so i managed to fix this for anyone wondering
I ended up using Blockbench instead of the mod's editor and that seemed to have fixed the problem!


"Post button was tapped repeatedly"

Hi,
I'm running version 4.8.6 on my phone right now. At some point between this release and the last version I was using before updating (unsure which, but I have to imagine the previous stable release since I get the app through Google Play), this error/warning was added to the app. It seems that there's some kind of weird rate limit-style message going on where I can't make a new post within a certain amount of time after the last post. I'm rather confused by it since this was never a problem in the previous versions, so why is it showing up now? It's become a thorn in the side of both me and my friends who also use the app.

please check 4.8.7

Initial tests seem to indicate it being fixed in 4.8.7. I'll comment again if the issue happens again. Thank you!


translation-sync fails

Expected behavior:
The execution of the following script runs errorless:
npm run translation-sync
Actual behavior:
Script execution almost immediately hangs with error.
Steps to reproduce:
0. Install Node.js (complete of npm)

Clone hospitalrun-fronted git repo.
Switch to project's basedir
run npm install -g ember-cli@latest
run npm install -g babel-cli eslint-cli
run npm install -g bower
run npm install
run npm run translation-sync

Screenshots (if applicable):
Content of npm-debug.log (personal info snipped and replaced by [...]):
0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'run',
1 verbose cli   'translation-sync' ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose run-script [ 'pretranslation-sync',
4 verbose run-script   'translation-sync',
4 verbose run-script   'posttranslation-sync' ]
5 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>6 silly lifecycle<EMAIL_ADDRESS>no script for pretranslation-sync, continuing
7 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>8 verbose lifecycle<EMAIL_ADDRESS>unsafe-perm in lifecycle true
9 verbose lifecycle<EMAIL_ADDRESS>PATH: C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin;C:\Users\[...]\hospitalrun-frontend\node_modules\.bin;C:\Program Files\nodejs;C:\Users\[...]\appdata\Roaming\npm;[...]
10 verbose lifecycle<EMAIL_ADDRESS>CWD: C:\Users\[...]\hospitalrun-frontend
11 silly lifecycle<EMAIL_ADDRESS>Args: [ '/d /s /c',
11 silly lifecycle   'babel-node script/translation/sync.js  --presets es2015,stage-2; eslint --fix app/locales' ]
12 silly lifecycle<EMAIL_ADDRESS>Returned: code: 1  signal: null
13 info lifecycle<EMAIL_ADDRESS>Failed to exec translation-sync script
14 verbose stack Error<EMAIL_ADDRESS>translation-sync: `babel-node script/translation/sync.js  --presets es2015,stage-2; eslint --fix app/locales`
14 verbose stack Exit status 1
14 verbose stack     at EventEmitter.<anonymous> (C:\Program Files\nodejs\node_modules\npm\lib\utils\lifecycle.js:255:16)
14 verbose stack     at emitTwo (events.js:106:13)
14 verbose stack     at EventEmitter.emit (events.js:191:7)
14 verbose stack     at ChildProcess.<anonymous> (C:\Program Files\nodejs\node_modules\npm\lib\utils\spawn.js:40:14)
14 verbose stack     at emitTwo (events.js:106:13)
14 verbose stack     at ChildProcess.emit (events.js:191:7)
14 verbose stack     at maybeClose (internal/child_process.js:886:16)
14 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)
15 verbose pkgid<EMAIL_ADDRESS>16 verbose cwd C:\Users\[...]\hospitalrun-frontend
17 error Windows_NT 10.0.14393
18 error argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "translation-sync"
19 error node v6.10.2
20 error npm  v3.10.10
21 error code ELIFECYCLE
22 error<EMAIL_ADDRESS>translation-sync: `babel-node script/translation/sync.js  --presets es2015,stage-2; eslint --fix app/locales`
22 error Exit status 1
23 error Failed at the<EMAIL_ADDRESS>translation-sync script 'babel-node script/translation/sync.js  --presets es2015,stage-2; eslint --fix app/locales'.
23 error Make sure you have the latest version of node.js and npm installed.
23 error If you do, this is most likely a problem with the hospitalrun package,
23 error not with npm itself.
23 error Tell the author that this fails on your system:
23 error     babel-node script/translation/sync.js  --presets es2015,stage-2; eslint --fix app/locales
23 error You can get information on how to open an issue for this project with:
23 error     npm bugs hospitalrun
23 error Or if that isn't available, you can get their info via:
23 error     npm owner ls hospitalrun
23 error There is likely additional logging output above.
24 verbose exit [ 1, true ]

OS and Browser:
Windows 10 Pro x64
I've been trying to solve this for a few hours without succeeding - but this is my very first experience with Node.js world.
Please note that I've tried with both npm package babel-preset-stage-2 versions v.6.18.0 and v.6.24.1, both resulting in the same error.
Thank you in advice for helping.

Hi,
I am the author of the script, I will investigate this. I don't have Windows 10 laptop so I'll have to borrow from someone.

So apparent Windows has issue with ;. On MacOS the ; symbol is understood as separation of 2 commands while Windows thinks it's 1 command all along. The solution is to change ; into &&. I will create a PR to make some changes to fix the instruction as well as the script. Please test it out when you have the chance.

@TBuc Please follow the new instruction and see if you can run it. I have tested it on a borrowed Windows 10 laptop and it worked.

@mqchau perfect, now works fine!
Please just note that I needed to install npm package babel-preset-es2015 locally in order to make it work (while babel-cli eslint-cli worked fine being installed globally).


Can't download youporn video

Hello,
After update to the latest version, I can't download the youporn video.
Anyone have this problem?
➜  youtube-dl --verbose http://www.youporn.com/watch/561726/big-tits-awesome-brunette-on-amazing-webcam-show/\?from\=related3\&al\=2\&from_id\=561726\&pos\=4
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'--verbose', u'http://www.youporn.com/watch/561726/big-tits-awesome-brunette-on-amazing-webcam-show/?from=related3&al=2&from_id=561726&pos=4']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2015.10.12
[debug] Python version 2.7.10 - Darwin-15.0.0-x86_64-i386-64bit
[debug] exe versions: none
[debug] Proxy map: {}
[YouPorn] 561726: Downloading webpage
ERROR: Unable to extract JSON parameters; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 660, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 290, in extract
    return self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/youporn.py", line 52, in _real_extract
    webpage, 'JSON parameters')
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 584, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract JSON parameters; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Duplicate of #6888.


GetTable()

There doesn't seem to be a GetTable() Method. May I suggest this be added?

Is there any way to get table now?


Built a tool for converting Web CSS styles into React Native object styles for Stylesheets

Please use https://discuss.reactjs.org/ to propose changes or discuss feature requests.
If you feel strongly about starting a discussion as a GitHub Issue instead of using the discussion forum, you may follow this template.
We kindly ask that issues of this type are kept to a minimum to ensure bug reports and regressions are given the priority they require.
Maintainers may flag an issue for Stack Overflow or kindly ask you to move the discussion to https://discuss.reactjs.org at their own discretion.

For Discussion
I built a CLI for converting web CSS styles into React Native styles. It takes a CSS file, converts it into a JSON object then filters out the JSON object that first gets camel cased then checks all the rules for React Native styles. I'd love to see if this is something that could be helpful for this tool that keeps web styles and mobile styles some what in sync. There is a conversion tool to convert back up to CSS in web styles as well however I'd like to see more structure in React Native styles. The web styles are compatible back and forth between web and mobile but are limiting to the web for no DOM elements. I took the entire bootstrap 4 library as an example that is importable into your Stylesheet creator.
This tool is versatile to be used once for a base object in your styles or however you'd choose.
It deletes keys that only work for the web only. By taking in only keys that are associated to one classname or id and then filters the attributes.
I'd love to know how I could make it better.
I was thinking of how to structure React Native styles into a structured format like most SASS frameworks in the past for web have used.
Bourbon IO: https://www.bourbon.io/
Or something like Foundation, Bootstrap, etc.
They are not the same but could be the structure to use in this tool. It would import one object through a circular import that takes in all files in the parent directories that are not helper or mixin directories then import all child objects which returns one object to import into your Stylesheet creator.
I was curious how to create the best structured styles for people to follow.
I think the convertor is a great start but I'd like to setup some structured styling where there is none and setup a boilerplate for automatic path name updates. I was curious what your team's thoughts were
NPM Package: https://www.npmjs.com/package/@lfaler/retro-react-native
GitHub: https://github.com/laynef/Retro-CLI

I could at least recommend one thing for your tool.
Styled components has a good parser that transforms CSS to React Native style objects. It supports many shorthand properties and fixes compatibility for many CSS properties:
https://github.com/styled-components/css-to-react-native
If you would use it, then your Web to React Native CSS conversion would give better results.

Could you please liberate on what better results would look like. I'll handle transforms tomorrow however I have more ideas coming with how styles should be structured. I'm currently working on a lot of different projects at once. I've worked with many popular CSS/SASS/LESS frameworks. Bourbon IO being my favorite for the file structure I'd like to implement. This may require the CLI that I built to be used as a scaffolding tool. I'd love some input on how you would handle this. What structures for the file system would you use. If I was to contribute to the compiler, I'd perform this in a file system built in Node. I haven't taken a look if that's open source. Since these are all objects and I'll be using circular imports. I'll be adding mixins and helpers like most popular SASS frameworks. These will be all structured so people have the freedom to style the way they choose. This will also require unique keys for styling. I could provide naming conventions based on the filenames however that's not enough freedom for the user for an external add-on.

I ended up building an example of the structured styles. It has space for mixins, validators, and other helper functions to wrap your styles in. I'm currently using it in my own projects for functions like 'darken' or 'lighten' like in SASS. There is a 'keyword-sort' option to break large files into smaller ones. I'd love to know what your thoughts are. My goal is not just to convert CSS to JSON but to bring structured styling to React Native with the same freedom as SASS frameworks


Appbundle size increase of 90mb with flutter 3.7.0 without any change

Same app, same files, same configuration. Only change is the upgrade flutter version from 3.3.10 to 3.7.0.
Build with 3.7.0:
✓ Built build/app/outputs/bundle/release/app-release.aab (351.1MB).
Build with 3.3.10
✓  Built build/app/outputs/bundle/release/app-release.aab (260.7MB).
With 3.7.0 is impossible to upload appbundle on play store due to 150mb size limit reached, with 3.3.10 upload complete successfully.

Triage report
I can reproduce this issue. Here's what I found:

app-release.aab is 16.5 MB on 3.3.10
app-release.aab is 16.8 MB on 3.7.0, on a newly generate project as well as on the project generated with 3.3.10

I haven't tested it on a large project like OP has but this ~300 KB increase could scale up to a large amount with larger applications.
flutter doctor -v (Master)
[!] Flutter (Channel master, 3.7.0-29.0.pre.26, on macOS 13.1 22C65 darwin-arm64, locale en-US)
    • Flutter version 3.7.0-29.0.pre.26 on channel master at /Users/nabeelparkar/fvm/versions/master
    ! Warning: `dart` on your path resolves to /opt/homebrew/Cellar/dart/2.18.6/libexec/bin/dart, which is not inside your current Flutter SDK checkout at /Users/nabeelparkar/fvm/versions/master. Consider adding /Users/nabeelparkar/fvm/versions/master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 15cd00f1ed (3 hours ago), 2023-01-29 21:58:05 -0500
    • Engine revision a7bb0e4108
    • Dart version 3.0.0 (build 3.0.0-179.0.dev)
    • DevTools version 2.20.1
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nabeelparkar/Library/Android/sdk/
    • Platform android-33, build-tools 33.0.0
    • ANDROID_SDK_ROOT = /Users/nabeelparkar/Library/Android/sdk/
    • Java binary at: /Users/nabeelparkar/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/213.7172.25.2113.9123335/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14C18
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = /Applications/Brave Browser.app/Contents/MacOS/Brave Browser

[✓] Android Studio (version 2021.3)
    • Android Studio at /Users/nabeelparkar/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/213.7172.25.2113.9123335/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[!] Android Studio (version 2022.1)
    • Android Studio at /Users/nabeelparkar/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/221.6008.13.2211.9477386/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] VS Code (version 1.74.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.58.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 13.1 22C65 darwin-arm64
    • Chrome (web)    • chrome • web-javascript • Brave Browser <IP_ADDRESS>

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 2 categories.

@jonahwilliams Are you saying that this is an invalid issue?

Upon further investigation I find the difference is that up until 3.3.10 files that are in the assets folders but not in the assets list in the pubspec.yaml are not counted within the build folders. Since 3.7.0 folders that are not in the resource list in pubspec.yaml are still counted and contribute to the final aab build weight
Is it a wanted behavior? I found it convenient to manage different configurations (i.e. ios/android) the fact of being able to exclude folders by simply omitting them from the assets list in pubspec.yaml

assigning to @andrewkolos to investigate and prioritize

I was unable to reproduce this. Here is what I tried:

Download this flutter project, which includes four large image files in an assets folder, with only two of them listed in assets in pubspec.yaml.
From the flutter directory, git checkout 135454a (v3.3.10)
From the project directory flutter clean && flutter build apk --split-per-abi
Use a tool such as unzip or 7zip to decompress/examine the contents of build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk.
Repeat 2-4 but using v3.7.1 (commit hash 7048ed95a5)

Here are the results I got:
Flutter 3.3.10: 20.4 MB uncompressed
Flutter 3.7.1: 20.5 MB uncompressed
The small (in this context) 0.1 MB difference appears to be mostly if not entirely from the flutter library lib/armeabi-v7a/libflutter.so.
A minimal, reproducable example of this issue would be appreciated.

Hi @andrewkolos,
The problem occurs if you use subfolders.
Steps to reproduce:

create a subfolder images in asset folder and put 2 images inside it (I put grass.jpg and pine.jpg)

build appbundle with flutter 3.7.1 and this assets configuration in pubspec.yaml

  assets:
      - assets/
      - assets/images/

I get ✓ Built build/app/outputs/bundle/release/app-release.aab (33.9MB).

build appbundle with flutter 3.7.1 and this assets configuration in pubspec.yaml without images folder

  assets:
      - assets/
    # - assets/images/

I get ✓ Built build/app/outputs/bundle/release/app-release.aab (33.9MB).

Downgrade flutter to version 3.3.10

build appbundle with flutter 3.3.10 and this asset configuration in pubspec.yaml

  assets:
      - assets/
      - assets/images/

I get ✓ Built build/app/outputs/bundle/release/app-release.aab (33.6MB).

build appbundle with flutter 3.3.10 and this assets configuration in pubspec.yaml without images folder

  assets:
      - assets/
    # - assets/images/

I get ✓ Built build/app/outputs/bundle/release/app-release.aab (23.3MB).
As you could see app bundle count subfolders in a different way in the two flutter versions.

Thank you for this report. Based on your last comment the work around is to not use subfolders but I can see how this is a painful regression. Added to our list of issues to consider when we have availability.

@enricoi, thank you for the detailed repro steps👍. I was able to repro this time around, and I updated the example project I used to repro. I'll start investigating now.


Fix to show spinner on ADAL apps that are blocked from showing SSO UI…

Proposed changes
Fix to show spinner on ADAL apps that are blocked from showing SSO UI. Apps that use PassedIn view didnt have a spinner while waiting for SSO prompt to show.
Type of change

[ ] Feature work
[ ] Bug fix
[ ] Documentation
[ ] Engineering change
[ ] Test
[ ] Logging/Telemetry

Risk

[ ] High – Errors could cause MAJOR regression of many scenarios. (Example: new large features or high level infrastructure changes)
[ ] Medium – Errors could cause regression of 1 or more scenarios. (Example: somewhat complex bug fixes, small new features)
[ ] Small – No issues are expected. (Example: Very small bug fixes, string changes, or configuration settings changes)

Additional information

Abandoning this PR as new ones targeting MSAL and ADAL releases are created


Osmumtens fang passive

I think DPS-calculator does not take fang's passive into account. Am I right?

It was added in https://github.com/LlemonDuck/dps-calculator/pull/85

hi @LlemonDuck, I see the fang was indeed added months ago, but the computations seem quite inaccurate. a few things I notice (configuration is set to maxed player wielding nothing but the fang on stab, paired against a mob with 999 defence and no bonuses):

according to DPS calculator, the fang barely has any advantage over a similar-accuracy zamorakian hasta (14.4% chance with 0.67 dps vs. 12.5% chance with 0.60 dps)
according to the code, effectHitChance = 1 - Math.pow(1 - baseHitChance, 2) whereas according to the wiki, hit chance should be (a * (4 * a + 5)) / (6 * (a + 1) * (d + 1)) -- these formulas use different variables so they're not directly comparable, but the effect is that the wiki formula gives 19.2% hit chance which, as expected, is nearly double the hasta.

do you think it needs adjusting, or am I misunderstanding the code?

Oh, yes. This was implemented before they fixed the "bugged" behavior of the fang. I'll have to give it another go.


ES queries don't work

The following OONI Explorer queries don't work and result in gateway timeout errors:
https://explorer.ooni.org/search?until=2019-10-22&domain=app.tsunamidemocratic.cat&probe_cc=ES
https://explorer.ooni.org/search?until=2019-10-22&domain=tsunamidemocratic.github.io&probe_cc=ES
These queried domains were reportedly blocked in Spain recently.

These queries now work


Swap form fixes

:tada: This PR is included in version 1.0.0-dev.16 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Update the RFC for Corda asset exchange using HTLC

@knarayan have we done this?

Tracking this as part of a larger specification feature in https://github.com/hyperledger-labs/weaver-dlt-interoperability/issues/236.


UI feedback - new palomachain website

[ ] 1 - change Execute an EVM contract to Set up a limit order bot  -->Link to  https://www.palomabot.ai/
[ ] 2 the link for Readme under Security should go to https://docs.palomachain.com/guide/security/security.html

--

[ ] 1 - remove Pyth Price feed
[ ] 2 replace Palomaswap with Palomabot and link to https://www.palomabot.ai/

--

[ ] What is this number? It should be the same number as before just a different label

--

[ ] Security should link to https://docs.palomachain.com/guide/security/security.html

[ ] Please shrink the spacing between the header and banner image to start.

[ ] Clouds should be the same color as the background.

@wdev733 @verabehr I added 2 new items to correct.


test(cardano): clean-up code coverage and output log

Improve code coverage and clean-up output log for cardano package.
With this change we eliminate from outpu errors like this one :point_down:
Failed to collect coverage from /Users/piotrczeglik/Work/PROJECTS/LACE/lace/packages/cardano/src/wallet/util/calculate-deposit-reclaim.ts
ERROR: Invalid file coverage object, missing keys, found:data
STACK: Error: Invalid file coverage object, missing keys, found:data
    at assertValidObject (/Users/piotrczeglik/Work/PROJECTS/LACE/lace/node_modules/istanbul-lib-coverage/lib/file-coverage.js:36:15)
    at new FileCoverage (/Users/piotrczeglik/Work/PROJECTS/LACE/lace/node_modules/istanbul-lib-coverage/lib/file-coverage.js:78:9)
    at CoverageMap.addFileCoverage (/Users/piotrczeglik/Work/PROJECTS/LACE/lace/node_modules/istanbul-lib-coverage/lib/coverage-map.js:109:21)
    at /Users/piotrczeglik/Work/PROJECTS/LACE/lace/node_modules/@jest/reporters/build/CoverageReporter.js:279:33
    at async Promise.all (index 4)
    at CoverageReporter._addUntestedFiles (/Users/piotrczeglik/Work/PROJECTS/LACE/lace/node_modules/@jest/reporters/build/CoverageReporter.js:296:7)
    at CoverageReporter.onRunComplete (/Users/piotrczeglik/Work/PROJECTS/LACE/lace/node_modules/@jest/reporters/build/CoverageReporter.js:171:5)
    at ReporterDispatcher.onRunComplete (/Users/piotrczeglik/Work/PROJECTS/LACE/lace/node_modules/@jest/core/build/ReporterDispatcher.js:71:9)
    at TestScheduler.scheduleTests (/Users/piotrczeglik/Work/PROJECTS/LACE/lace/node_modules/@jest/core/build/TestScheduler.js:306:5)
    at runJest (/Users/piotrczeglik/Work/PROJECTS/LACE/lace/node_modules/@jest/core/build/runJest.js:367:19)
    at _run10000 (/Users/piotrczeglik/Work/PROJECTS/LACE/lace/node_modules/@jest/core/build/cli/index.js:343:7)
    at runCLI (/Users/piotrczeglik/Work/PROJECTS/LACE/lace/node_modules/@jest/core/build/cli/index.js:198:3)
    at Object.run (/Users/piotrczeglik/Work/PROJECTS/LACE/lace/node_modules/jest-cli/build/run.js:130:37)

as we have a bunch of files which are not imported in tests nor have a test:
    'src/wallet/lib/config.ts',
    'src/wallet/util/calculate-deposit-reclaim.ts',
    'src/wallet/lib/get-total-minimum-coins.ts',
    'src/wallet/lib/build-transaction-props.ts',
    'src/wallet/util/observable.ts',
    'src/wallet/lib/providers.ts',
    'src/wallet/lib/set-missing-coins.ts',
    'src/ui/components/Voting/CatalystRegisterStep.tsx',
    'src/wallet/lib/hardware-wallet.ts',
    'src/ui/components/Voting/CurrentCatalystFund.tsx',
    'src/ui/components/Voting/DownloadCatalystStep.tsx',
    'src/ui/components/Voting/VotingParticipation.tsx',
    'src/ui/components/Voting/CatalystScanStep.tsx',
    'src/ui/components/Voting/CatalystPinStep.tsx',
    'src/ui/components/Voting/WaitForNextFundCard.tsx',
    'src/ui/components/Voting/CatalystConfirmationStep.tsx'

Changes unknown
when pulling a9f2658efb110f45381236fd8fe4ea16ea0d329a on test/cardano-package-unit-test-improvements
into ** on main**.


use ISR to update material continuously

https://nextjs.org/docs/pages/building-your-application/data-fetching/incremental-static-regeneration
could put a cron job in the docker container to continually refresh material, and use ISR to update the pages

what might be better is getting the front-end to use an api-endpoint for the material (or sub-bits of the material?) to refresh the static props once loaded

even better, do both!


Assignment 3

Fixed issue #3

Hi @sk-tigeranalytics
PR is ready. Kindly review it.
Regards,
Nikita