Add job_id/project_id to adapter response to enable easy job linking (fixed)

resolves #92
Description
Adding job_id / project_id from the job executed by BQ to add a clean link to explore the runtime in the BQ UI.
Practically, it adds a link in your -d runs such as:
13:28:11.169553 [debug] [Thread-1 (]: BigQuery adapter: Job details accessible at https://console.cloud.google.com/bigquery?project=<project>&j=bq:<location>:<jobId>&page=queryresults

Fixed version following revert from https://github.com/dbt-labs/dbt-bigquery/pull/225
Checklist

[x] I have signed the CLA
[x] I have run this code in development and it appears to resolve the stated issue
[x] This PR includes tests, or tests are not required/relevant for this PR
[x] I have updated the CHANGELOG.md and added information about my change to the "dbt-bigquery next" section.

I ran locally:
  dbt-bigquery git:(job_id) ✗ python -m pytest tests/functional/adapter/test_incremental_unique_id.py
========================================================================================================= test session starts ==========================================================================================================
platform darwin -- Python 3.10.5, pytest-7.1.2, pluggy-1.0.0
rootdir: /Users/christophe.oudar/dev/opensource/dbt-bigquery, configfile: pytest.ini
plugins: xdist-2.5.0, forked-1.4.0, csv-3.0.0, logbook-1.2.0, flaky-3.7.0, dotenv-0.5.2
collected 10 items

tests/functional/adapter/test_incremental_unique_id.py ..........                                                                                [100%]

=========================================================================================================== warnings summary ===========================================================================================================
tests/functional/adapter/test_incremental_unique_id.py::TestUniqueKeyBigQuery::test__no_unique_keys
tests/functional/adapter/test_incremental_unique_id.py::TestUniqueKeyBigQuery::test__no_unique_keys
  /opt/homebrew/lib/python3.10/site-packages/google/auth/_default.py:81: UserWarning: Your application has authenticated using end user credentials from Google Cloud SDK without a quota project. You might receive a "quota exceeded" or "API not enabled" error. We recommend you rerun `gcloud auth application-default login` and make sure a quota project is added. Or you can use service accounts instead. For more information about service accounts, see https://cloud.google.com/docs/authentication/

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================================================================================== 10 passed, 2 warnings in 280.89s (0:04:40) ==============================================================================================

So it looks like the failing test from previous PR is now passing 🤔

It looks like all tests are successful this time 🚀

@Kayrnt This is looking great ran the tests locally on my end as well and passing, the conflicts that are showing up are because we just added changie to dbt-bigquery so you might need to update to main and change your changelog entry please ask me if you have any questions about how that works. the dbt-core contributing docs are also a great source of information.
will ping some others to get double checks on this!

I've updated the PR with changie approach

Hooray! Thanks both for checking back into this, and getting it merge-ready 🚀


No “poor/strict compliance” on Model Reference and Assumptions doc

summary:
Definition for “poor/strict compliance” is not on the Model Reference and Assumptions document as claimed.
What definition does Covid Act Now use for “social distancing” and “stay at home”? How about “poor/strict compliance” (re. “stay at home”)?
All these definitions — and much more — can be found in our Model Reference and Assumptions document.
expected result:
Definition of “poor/strict compliance”
actual result:
None
environment (device, browser, mobile / web):
Web
link:
https://covidactnow.org/faq
screenshot (you can copy/paste images directly in):

dupe of https://github.com/covid-projections/covid-projections/issues/347


Pagination

Hi
After the last update, pagination does not work (data-type="page").
Prev and Next buttons it's working.
Here you can see the demo
Thanks

Thank you for noticing this, it's fixed. It was related to range slide events change, I've reverted it for now.

Fixed in v1.1.1


ratelimiting in system user mode

if staticfuzz is gonna use msg, then staticfuzz will be rate limited, not per-user. meaning everyone will have to share the same rate limits, which is bad.

research alternatives to ip rate limiting (token or something?)

https://flask-limiter.readthedocs.io/en/stable/

could just pass the IP somehow?

We should be able to send a JSON field which could be a hash of the ip or just an ip itself and then in msg use hey func for limiter using said field

now the only issue is for us to use IP if anonymous?


[WIP] starting cpp version of PR026 test

Just started by duplicating test_PR019_use_json_library.cpp

Good start!

I'd like to approve your PR on a shorter timescale than I'll be able to update the README, and the QUICKSTART.md content you've written belongs in the REAME. When the time comes to merge this PR, it would be best if you remove QUICKSTART.md.
Also, note that your next step will be CMakeLists.txt, where you'll add your test. Probably the easiest way to get started is to make it a trivial test (main always returns 0) to get the machinery in place, then add substantial tests, and make sure that doing it wrong causes the test to fail.

@glass-ships Tests are all green; you're good to go!
But try doing this:
myarray.beginrecord();
myarray.field("x");
myarray.boolean(true);
myarray.field("y");
myarray.integer(1);
myarray.field("z");
myarray.real(1.1);
myarray.endrecord();

instead to avoid creating unions. You probably want records that have a field for each contained type, not a union for which every item is chosen from a set of types.

Thanks for the tips, confirmed test is now working with your fix! I'll look at your suggested code, and keep in mind to avoid union types for the time being

I'm a little curious now that I'm switching the code around - what is the main difference between a "record" and a "list" in awkward's context? I think I understand the "field" object, it's a sort of organizational scheme paired with a value of a certain type, correct?

Think of this equivalence:

Python list of all the same type of object ↔ Awkward list
Python list of arbitrary types ↔ Awkward list of union (not implemented as an array yet)
Python dict ↔ Awkward record
one key in that dict ↔ Awkward field
Python tuple of a fixed length ↔ Awkward tuple
one slot in that tuple ↔ Awkward index
quantity that could be None ↔ Awkward option (not implemented as an array yet)

Awkward arrays are a static type system (as are NumPy arrays, though NumPy is mostly limited to numeric types). In a static type system, a list has to contain objects of all the same type ("homogeneous") unless there's some structure that spells out what types are allowed: an Awkward union.
Python dicts are not statically typed; different dicts can have different keys and the values associated with those keys can be different types. Awkward records are more like C structs (or C++ classes). In an array with record type, all the records have to have the same keys and the values associated with one key have to all have the same type.
In Python, the distinction between lists and tuples is slight: tuples are immutable. In a static type system, there's more difference: lists in an array can have different lengths, but the items in those lists must have the same type; tuples in an array must have the same length, but the items in each slot can have different types. However, the items in a single slot i must have the same type for all tuples in the array.
In this kind of system, the difference between a tuple and a record is slight: both have a fixed number of fields that can have different types in the tuple/record (though each field must have the same type across the array), but the slots in a tuple are identified by integers while the slots in a record are identified by constant strings.

I thank you for the thorough explanation, that makes a lot of sense!
I've run into another problem, however, as it appears that:
'class awkward::FillableArray' has no member named 'field'.
Which actually seems to check out, I couldn't find a member description in the FillableArray header or cpp files. It seems to work in the python version though, which makes me wonder, are the python and c++ functions defined separately? (it was my initial assumption the python was interfacing with awkward via c++ wrappers)

Oh—use field_check. That is what field is in Python.
The alternative, field_fast, doesn't check the string value, only its pointer, which makes it applicable only to strings that are known to have unchanging pointers (like literal strings, which is a common case). I also use field_fast in Numba, where I can create fixed pointers if the strings are known at compile-time.
If you're not sure, use field_check.

You can remove your QUICKSTART now; the information is on the new front-page README.
I'll help you with those conflicts soon.

I see you're online right now. Do you want me to merge with master, resolving all the conflicts (until the next PR...)?

@glass-ships The following commit merges with master (takes all changes from master except your test). If it's not what you want, it can be reverted with git.

Sure! I think we're getting pretty close to wrapping this test up, too; once the array gets filled appropriately, I think we'll be happy with a simple print-out to json and confirm it matches what we expect it to.

I'm done merging now: git pull, do the "make clean" (that rm command, now on the front README), recompile, and you're ready to go!

Okay, now I'm done. I wanted to make sure that the only differences between this branch and master is in your test file. Now it is.


Create 0000-01-02-xolaspor.md xolas

As a reminder, you have: created a branch, created a file and made a commit, and opened a pull request

As a reminder, you have: created a branch, created a file and made a commit, and opened a pull request


Unable to find a method already defined/implemented

I am not sure why the function call isn't able to find the method in the project

This is a pesky bug can't get to the bottom of this

it's possible the parse errors in screen_login.brs causes the enableForgot to drop out of the AST.
As a test, can you comment out EVERYTHING in screen_login.brs, and then add this to the very top:
Sub Screen login(param as Boolean)

End sub

Does the error on shared_login.brs line 196 go away?

Do you mean add
Sub enableForgot(param As Boolean)

End Sub

Either which ways even after getting rid of every other line and adding just this Sub the shared_login.brs still shows the error in line 196

Oops, yeah that's what I meant.
Can you verify that screen_login.brs will be correctly matched by your files array from brsconfig.json?
It uses these globs by default:
"files": [
    "manifest",
    "source/**/*.*",
    "components/**/*.*",
    "images/**/*.*"
]

@vbasky is this still an issue?

No I can happily close this issue. I don't see this error any more.


Queue mode is running much slower than regular mode with Knapsack Pro

I have the command as below to run my rspec tests in queue mode
KNAPSACK_PRO_FIXED_QUEUE_SPLIT=true \
KNAPSACK_PRO_PROJECT_DIR=. \
KNAPSACK_PRO_CI_NODE_TOTAL=$CI_NODE_TOTAL \
KNAPSACK_PRO_CI_NODE_INDEX=$(($CI_NODE_INDEX-1)) \
KNAPSACK_PRO_TEST_SUITE_TOKEN_RSPEC=<the token> \
KNAPSACK_PRO_TEST_FILE_LIST_SOURCE_FILE=tmp/crystalball_prediction \
bundle exec rake "knapsack_pro:queue:rspec[--format documentation --format RspecJunitFormatter --out tmp/rspec.xml]"

It's been running fine. I found every time before running, knapsack called this API only once with log
D, [2021-05-20T17:27:44.542380 #134] DEBUG -- : [knapsack_pro] POST https://api.knapsackpro.com/v1/build_distributions/subset

to post all the tests, then each node starts to run what they have accepted.
However, recently I made some changes for how to generate my rspec tests file, (which I don't think it's important to mention here), but I didn't change the command above at all. Then the rspec takes much longer to run. During the investigation, I found that I have log like this
D, [2021-05-20T19:52:55.641851 #134] DEBUG -- : [knapsack_pro] POST https://api.knapsackpro.com/v1/queues/queue

before running each spec. I think this is suspicious, but on the other way, the queue mode suppose to do that, right? But then why before I don't have those queues http calls?
Please help!!!

The file passed in via KNAPSACK_PRO_TEST_FILE_LIST_SOURCE_FILE is changing almost every time. Because it's dynamically generated. And the path for the spec on this file is something like spec_1.rb[1] or spec_2[1:2:3] etc.
I am not sure why it wan't using queue mode, but anyway it's using now. Because the queue mode is running too slow, it always timed out. I will prepare an example and send it over through the email.

The file passed in via KNAPSACK_PRO_TEST_FILE_LIST_SOURCE_FILE is changing almost every time.

Ok. So this means for each new CI build you may run a different set of test files than in the previous CI build. Because of that Knapsack Pro API assumes you removed previous test files and it won't know the test file time execution for the new test files list. This will lead to running test files one by one from the Queue API.  It shouldn't slow down the tests that much.
Please send the output and how long does it take to run tests and what's your CI provider.
What's the expected runtime.
Please provide a link to CI build in the knapsack pro user dashboard.
Please note if you run all your test files as test examples (with paths like spec_1.rb[1:1]) then this has a high impact on RSpec memory efficiency and it could slow down your CI machine. RSpec itself has a performance issue to run a large number of test examples.
https://knapsackpro.com/faq/question/how-to-split-slow-rspec-test-files-by-test-examples-by-individual-it#why-does-knapsack_pro-not-split-all-test-files-by-test-examples

I have sent you the rspec results by email. Unfortunately, I can only send examples due to the fact that the list of examples is the output of another framework Crystalball we discussed before.
So are you suggesting I better use regular mode for the random rspec files? And use queue mode when input files are certain?

So are you suggesting I better use regular mode for the random rspec files? And use queue mode when input files are certain?

It's better to use Queue Mode even when test files execution time is unknown because it will auto balance tests between parallel CI nodes.

Sorry, for the late reply.
Here is what I found after I upgrade Knapsack to 2.17.
When I use Queue mode is still slow, for example a spec called: t4a_spec.rb, only one example spec/lib/tasks/t4a_spec.rb[1:1:2] takes more than 10s as shown on the log [knapsack_pro] Global time execution for tests: 13s.
However with regular mode, this whole spec only takes  spec/lib/tasks/t4a_spec.rb | 0.166 seconds as shown here.

Hi @Neal910

Could you check execution time with a bash time command like this:

$ time knapsack_pro:rspec

$ time knapsack_pro:queue:rspec

and then compare how long the test spec/lib/tasks/t4a_spec.rb[1:1:2] took for Regular and Queue Mode.
If the time is similar then the problem is with measuring test time in knapsack_pro gem.
If the time is different then it's problem with RSpec itself which runs your test slow (and it's not related to knapsack_pro gem).

How many test examples do you have inside of the file spec/lib/tasks/t4a_spec.rb? Maybe you have some before hooks that are triggered and slow down things.

If you try running the test file purely via RSpec how long does it take?
$ time rspec spec/lib/tasks/t4a_spec.rb[1:1:2]

$ time rspec spec/lib/tasks/t4a_spec.rb

Here is some results:
Regular mode with t4a_spec.rb[1:1:2]
Finished in 1.37 seconds (files took 10.88 seconds to load)
1 example, 0 failures
   21.41 real        10.59 user         5.22 sys

Regular mode with t4a_spec.rb
Finished in 2.4 seconds (files took 10.04 seconds to load)
8 examples, 2 failures, 1 pending
   20.37 real        10.72 user         4.91 sys

Queue mode with t4a_spec.rb[1:1:2]
Global time execution for tests: 01s
Finished in 1.14 seconds
1 example, 0 failures
16.01 real         7.73 user         3.66 sys   `
Queue mode with t4a_spec.rb
Global time execution for tests: 02s
Finished in 2.12 seconds
8 examples, 2 failures, 1 pending
   15.60 real         7.66 user         3.47 sys

They all finish within a very similar time. so the either the time measured in Knapsack is different or there is something wrong somewhere that I am still trying to figure out.

Just some info: when I use queue mode, almost all of the individual POST https://api.knapsackpro.com/v1/queues/queue requests have a significant large of execution time like more than 10 seconds. And it's really taking that much time, so my jobs are timing out in the CI.

They all finish within a very similar time. so the either the time measured in Knapsack is different or there is something wrong somewhere that I am still trying to figure out.

At least we know tests are running as expected without additional delay in Queue Mode.
For knapsack_pro it's only important to know more or less which test is slower than the other in order to sort them in the queue.
I recently did some improvements for tracking tests time in RSpec https://github.com/KnapsackPro/knapsack_pro-ruby/pull/145
It's not trivial due to some edge cases with RSpec hooks.
Maybe some additional time is measured as part of test example time and this makes an impression that test is slower.
But the time should be similar in regular and queue mode I guess.

Just some info: when I use queue mode, almost all of the individual POST https://api.knapsackpro.com/v1/queues/queue requests have a significant large of execution time like more than 10 seconds. And it's really taking that much time, so my jobs are timing out in the CI.

The response from API has time execution of test files recorded in the previous CI build. This is historical data. The time execution response from API is not used for anything.
If your jobs are timing out on CI when you run test examples in RSpec please note you need enough CPU/RAM. RSpec has a very bad performance to run test examples (it consumes a lot of memory and can freeze CI machine). This is an internal problem in RSpec. Please read https://knapsackpro.com/faq/question/how-to-split-slow-rspec-test-files-by-test-examples-by-individual-it#why-does-knapsack_pro-not-split-all-test-files-by-test-examples

The response from API has time execution of test files recorded in the previous CI build. This is historical data. The time execution response from API is not used for anything.

Here I meant the log [2021-05-31T21:35:14.865354 #462] DEBUG -- : [knapsack_pro] Global time execution for tests: 12s how is the time execution being measure here?

If your jobs are timing out on CI when you run test examples in RSpec please note you need enough CPU/RAM

And I don't think it's a CPU/RAM issue, otherwise the regular mode won't succeed, right?

Here I meant the log [2021-05-31T21:35:14.865354 #462] DEBUG -- : [knapsack_pro] Global time execution for tests: 12s how is the time execution being measure here?

Time is measured when RSpec hooks are called.
https://github.com/KnapsackPro/knapsack_pro-ruby/blob/24ff9b897a514d306476fc08cc22091e33f0d4d2/lib/knapsack_pro/adapters/rspec_adapter.rb#L23,L61
The total time is displayed at the end. This is what you see https://github.com/KnapsackPro/knapsack_pro-ruby/blob/24ff9b897a514d306476fc08cc22091e33f0d4d2/lib/knapsack_pro/presenter.rb#L6

If your jobs are timing out on CI when you run test examples in RSpec please note you need enough CPU/RAM

And I don't think it's a CPU/RAM issue, otherwise the regular mode won't succeed, right?

The performance problem is not related to regular or queue mode. It could be related to running test examples (paths like a_spec.rb[1:1] because RSpec takes a lot of memory if you run many paths like that). I don't know why RSpec has such bad performance when you run test examples. If you run only test file paths without test example paths then it does not take as much memory.
How many test examples paths do you run at once? Dozen or 100 probably should rather not be a problem. But running 1000 test examples (like a_spec.rb[1:1] can kill the CI machine because RSpec takes a lot of memory).
So the key question in your case is:
How many test file paths do you provide in the file KNAPSACK_PRO_TEST_FILE_LIST_SOURCE_FILE?
Are they test paths mixed up with test example paths?
Just to be explicit. This is what I mean:

test path: a_spec.rb
test example path: a_spec.rb[1:1]

How many test file paths do you provide in the file KNAPSACK_PRO_TEST_FILE_LIST_SOURCE_FILE?

They all totally random regardless test path or example path, they can be from 10 to 100 and even 1500 per each CI runner.

The performance problem is not related to regular or queue mode.

what I meant here is that when I run rspec with same amount of mixed set of paths (test path and example path), it 's always fine in regular mode, and always timeout in queue mode. So there is must be somewhere differentiate those two mode.

The main difference is that Queue Mode uses ::RSpec::Core::Runner to run tests. https://github.com/KnapsackPro/knapsack_pro-ruby/blob/24ff9b897a514d306476fc08cc22091e33f0d4d2/lib/knapsack_pro/runners/queue/rspec_runner.rb#L91
More in RSpec docs: https://relishapp.com/rspec/rspec-core/v/3-10/docs/running-specs-multiple-times-with-different-runner-options-in-the-same-process#running-specs-multiple-times-in-the-same-process
Regular Mode uses rake task: https://github.com/KnapsackPro/knapsack_pro-ruby/blob/24ff9b897a514d306476fc08cc22091e33f0d4d2/lib/knapsack_pro/runners/rspec_runner.rb#L21

always timeout in queue mode.

What does it mean? What's the output? Did it freeze during specific test runtime or after tests are executed?
See FAQ for freezing issues:
https://knapsackpro.com/faq/question/why-knapsack_pro-hangs--freezes--is-stale-ie-for-codeship-in-queue-mode
https://knapsackpro.com/faq/question/why-knapsack_pro-freezes--hangs-my-ci-for-instance-travis
https://knapsackpro.com/faq/question/why-knapsack_pro-hangs-freezes-is-stale-for-tests-in-chrome-disallow-downloads-in-sandboxed-iframes
From my experience working with different users in the majority of cases the freezing issues were related to CI machine performance issues. I'm not sure if this is caused just by ::RSpec::Core::Runner, maybe it's somehow faulty. I'm not that familiar with RSpec internals.
Here I have an example repo https://github.com/ArturT/rspec-test-examples where I used to test ::RSpec::Core::Runner. Might be useful If you want to play with RSpec internals on your own.

What does it mean? What's the output? Did it freeze during specific test runtime or after tests are executed?

I am sorry to make unclear about this. Basically I set a timeout duration for each CI job, saying 30m. The regular mode can be run within 15 mins with amount of "mixed" tests without any problem, but queue mode is super slow so it gets timeout every time even I increase the timeout to 1h. It's not freezing just slow because I am seeing the rspec was still running right before the timeout. And I also check the node that rspec tests were running now, there is no spike for CPU and RAM.

My guess is that the root problem might be ::RSpec::Core::Runner and maybe you have something specific in tests that makes it slow. On knapsack_pro level I don't see what could be running slow unless you could point what part of the code is running slow in your case. My best guess is that ::RSpec::Core::Runner takes longer to run your tests. But why is that? I'm not sure. You would have to debug rspec behavior. Maybe try feed list of tests with different amount of mixed tests files and see when problem occurs.
One suspicion I have is that ::RSpec::Core::Runner runs tests slower when test files are run one by one. I guess it could be faster if test paths are grouped and passed all at once to ::RSpec::Core::Runner. I have idea in backlog to improve queue api to group tests for frequently changing test paths as in your case. Maybe this would be helpful. I'll get back to you when that improvement is done.

I was thinking the same, maybe I can group the example path into file path, then pass in. But for now I am good with regular mode and it's running perfectly. I will be moving forward, but when I have time, I will check back.
You have been so helpful, much appreciated. And please do let me know once you made the improvement. Please feel free to close the ticket.

I'll keep the issue open for now and I'm going to let you know when queue api improvements are ready.
If you would like to share your solution to run tests with crystalball that would be very helpful for other users. We are open for guest blog posts https://github.com/KnapsackPro/docs.knapsackpro.com

Hi @Neal910
I've improved Knapsack Pro Queue API and it tracks now all ever recorded test file paths. Thanks to that when you frequently change the set of tests then our API still can use historical data about the test file path time execution to properly group in batches set of tests when knapsack_pro gem pulls the test files from the Queue API.
Please let me know if you see better results in Queue Mode now.

Hi @ArturT , thanks for the improvement. I have tested, it did improve a lot. I will just need to improve my prediction file structure a little bit to make it even better. Much appreciated.

Good to hear it. Please let me know when you make progress. :)

Since we have now a grouping of test files done better in Queue Mode I think we can close this issue.

Hi @ArturT , I got sometime last week to revisit this issue. I installed the latest KnapsackPro 3.1.0. Did you remove the example path support from the flag of KNAPSACK_PRO_TEST_FILE_LIST_SOURCE_FILE?
Because I passed in a path like this ./spec/models/spree/order/refund_spec.rb[1:5:5] but output of the test like ... --default-path spec "spec/models/spree/order/refund_spec.rb"

It's still possible to use KNAPSACK_PRO_TEST_FILE_LIST_SOURCE_FILE https://knapsackpro.com/faq/question/how-to-run-a-specific-list-of-test-files-or-only-some-tests-from-test-file#option-2-read-a-list-of-test-files-from-a-source-file
Please create a new commit and run a new CI build. Please provide a link to the Knapsack Pro user dashboard for a recorded CI build and logs output here or send it to<EMAIL_ADDRESS>so that I could take a look. Please let me know what happened and what you expect to happen so that I could better answer your question. Thank you.


Can I use my own Repository/HTTPClient implementation?

This library is the closest to what I would like to have. Writing LINQ queries and calling my Web API OData REST service.
I have a question, as far as Injnderstand this is not abstracted to just use the LINQ provider and retrieve the OData query so that I can just attach it in my own repository implementations.
Example would be, I use my own HTTPClient setup and configuration and making the calls to my service but I would like to support Expression parameters and retrieve the OData translation of the Expression.
Is it possible to just use the LINQ provider or a workaround? Maybe another library close to what I need?
Keep up with the great job.

Thank you for your interest in the library. I think we should be careful with using term "LINQ provider" when it comes to Simple.OData.Client because it doesn't implement classical LINQ provider similar to SQL database LINQ providers or LINQ to objects. I tried to describe reasons for my choice in this article: http://www.codeproject.com/Articles/686240/reasons-to-consume-OData-feeds-using-Simple-ODa
Having said that, the library does support parsing LINQ expressions and it's easy to build OData queries by combining ODataExpression objects, for example:
           Expression<Predicate<TestEntity>> condition1 = x => x.ProductName == "Chai";             Expression<Func<TestEntity, bool>> condition2 = x => x.ProductID == 1;             Expression<Predicate<TestEntity>> condition3 = x => x.ProductName == "Kaffe";             Expression<Func<TestEntity, bool>> condition4 = x => x.ProductID == 2;             var filter1 = new ODataExpression(condition1) || new ODataExpression(condition2);             var filter2 = new ODataExpression(condition3) || new ODataExpression(condition4);             var filter = filter1 && filter2;             Assert.Equal("(ProductName eq 'Chai' or ProductID eq 1) and (ProductName eq 'Kaffe' or ProductID eq 2)", filter.AsString(_session));
Please a look at some tests that should be more or less self-explanatory:
https://github.com/object/Simple.OData.Client/blob/master/Simple.OData.Client.Tests.Core/TypedExpressionsTests.cs

Thank you. Looks like that this will do the job as needed to just append the resulting string in the endpoint URI.
Great job!


config: v1 routes must include redirect or cluster

This is a bugfix to disallow 'bridge to nowhere' v1 route configurations, as described by the docs.[1] This prevents an outage case where operator error results in a route definition which matches traffic but does not route it, just returning 404s to the client.
The v2 API is not vulnerable to this error because of the Protobuf oneof constraint applied to (RouteAction|RedirectAction), the RouteAction cluster_specifier constraint, and the required host_redirect/path_redirect fields in RedirectAction.
Risk level: Low
This is a breaking change for v1 route configs, but I don't think there are any valid reasons to have a bridge to nowhere route config.
Testing: unit test
[1]: "If the route is not a redirect (host_redirect and/or path_redirect is not specified), one of cluster, cluster_header, or weighted_clusters must be specified."

Fixed, thanks for the notes. Looking at the checks now, I see I forgot the sign-off on this second commit. Would you prefer I rebase and add it here, or will it be ok as-is? (also, I'll go set that git alias...)

@kanatohodets you can just rebase force push or squash force push to fix, either way. Thank you!

squashed and force pushed, cheers!


How to use with windows?

I want to integrate meili in my website, but I am on a windows machine, what do I do?

Hey,
We have a windows binary in our latest release that you can easily run.
Note that you will surely need to change the maximum disk space that the database use, you can read about the max MDB and max UDB size parameters on the documentation.

Closing this issue then :) Feel free to re-open if you have any question

Hello,
I've been exploring the use of Meilisearch on a Windows Server and I'm interested in ensuring the Meilisearch binary starts automatically whenever the server boots up. Could anyone guide me on how to achieve this?
Additionally, if there are alternative approaches to keep the service continuously running (e.g. using a process manager or scheduling tool), I'd be very interested in learning about them as well. Any recommendations or best practices would be greatly appreciated!
Thank you in advance for your support.

Hi @AndryHTC - it might be worth opening this up as a Q&A discussion topic to gather some more visibility & community input? You can do that here if you wish. I've had a quick look for previous discussions that could be helpful and came across this one if that's helpful at all? https://github.com/meilisearch/meilisearch/discussions/3253


Add UI padding

I noticed that some of the controls in ChocolateyGUI are packed closely against each other, to the point where the edges of the controls are touching. (See attached screenshots for examples.) In my opinion, the UI would look better if there was some padding between the edges of the controls. I can submit a PR if desired.

@wjk yip, happy to accept a PR on this. Thanks!

You literally have no idea how much both of those you circled have bothered me. Def accepting PRs and, failing that, will probably grab this myself.

You literally have no idea how much both of those you circled have bothered me. Def accepting PRs and, failing that, will probably grab this myself.

Happy to take some responsibility for this. I literally have NO design skills!  Pushing the buttons together seemed like a good idea to me :smile_cat:

@wjk did you end up getting this working? If not, I would love to have a try at solving this one.

@MikeFoden A PR for this issue has already been submitted, and pulled into the develop branch.  We haven't had a chance to release the next version of ChocolateyGUI, but if you are interested, you should be able to install the latest development version of ChocolateyGUI from our MyGet feed.  The instructions are on the readme.md of this project.

@gep13 Ahh I see, I saw commits but couldn't find the pull request sorry!

@MikeFoden you are right, there wasn't a link back here from the PR.  I have corrected this now.  This issue will be closed once the next version is released.

I'm being naughty and closing issues before 0.14 is offically released, so I'm going to close this one out for now. I will make sure we're very vocal once it's actually released.

@RichiCoder1 said...
I'm being naughty and closing issues before 0.14 is offically released

Personally, I think that this is ok.  As long as they are assigned to a milestone, and that milestone is still open, then I think this is a valid workflow.


docker ipt - azure sql database

Hi
Trying to connect to azure sql database and get the following error: Error: Reason: Login failed due to client TLS version being less than minimal TLS version allowed by the server.
I do not want to lower TLS requirements (now 1.2), not very experienced with java/tomcat .....
Found some hints googling: https://stackoverflow.com/questions/48464863/java-1-8-0-enable-tls1-2-in-jdbc-connection
Any way to handle/fix this?
Stein

I've tried modifying jdbc.properties inside docker image and can tell from error message that changes are being picked up after image restart - but still complaining with reason: Login failed due to client TLS version being less than minimal TLS version allowed by the server.

Answering my own issue:
Dropping mssql-jdbc-9.2.1.jre8.jar from microsoft inside the docker image -at  /usr/local/tomcat/webapps/ROOT/WEB-INF/lib
and change jdbc.properties to
Microsoft SQL Server
mssql.title=Microsoft SQL Server
mssql.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
mssql.url=jdbc:sqlserver://{host};databaseName={database}
mssql.limitType=TOP
Seems to fix issue
Is there any reason why microsoft own lib is not included - should be the most compatible?
License is pretty open.... https://github.com/microsoft/mssql-jdbc

Thanks, @steinho, you are ahead of us.
I think the third party MS SQL driver is from long ago, when there was no freely-licensed Microsoft version available.  We can now include this, although we'll need to consider if we replace the mssql driver, or add a new entry.

I't might require some testing - but functionally I would think it replaces it.


Autocomplete clears the line after if the closing ]] pair is missing

Please select the area your bug applies to. (Multiple selections are Possible. You can leave blank if you're not sure.)

[x] Workspace.  VSCode workspace, vaults, Intellisense/autocomplete, Dendron settings
[ ] Lookup.  Dendron's Lookup Command
[ ] Views.  Dendron Preview, Tree View, Side Panels in the UI
[ ] Schema.  Dendron Schemas
[ ] Pod.  Data import from / export to Dendron
[ ] Publish.  External Site Publish
[ ] Markdown.  Markdown features, such as syntax support and features

Describe the bug
Autocomplete clears the line after the cursor if the closing ]] pair is missing. Observe:

To Reproduce
Steps to reproduce the behavior:

Type [[ and remove the closing pair (or start typing next to a word so there is no space between the cursor and the next character)
Pick something from the autocomplete dropdown
Observe the rest of the line disappearing into the void

Expected behavior
Autocomplete should not modify the rest of the line.
Desktop (please complete the following information)

Version: 0.71.0

I can recreate the issue. Thanks for reporting it!

This issue has been fixed with Dendron 0.74. Please let us know if it continues to happen, otherwise this issue will automatically close in a few days.

Yeap, this is fixed. Thank you! 🚀


Hey, does this still work?

Hi, I haven't done updates to this in a couple of years. I would guess some changes to the FPL API has happened in the meantime, but not certain. You could try it out and see 👍

Oh okay, I tried it out some hours back and most commands were giving errors.
It's cool.


Support long scopes 3.12.0

Extend Client authorities and scope columns.

Thank you for the contribution. Can you add a test case to the PR?
An example can be found here:
https://github.com/cloudfoundry/uaa/blob/develop/server/src/test/java/org/cloudfoundry/identity/uaa/db/ClientDetailsHasRequiredUserScopes.java#L85-L86

Coverage increased (+0.009%) to 85.874% when pulling d03d7d65af6d416853ae47c1d132e985ed9ccc02 on GESoftware-CF:support_long_scopes_3.12.0 into 55517f936a86f903c87ed26d218a77080d848605 on cloudfoundry:develop.

Coverage increased (+0.009%) to 85.874% when pulling d03d7d65af6d416853ae47c1d132e985ed9ccc02 on GESoftware-CF:support_long_scopes_3.12.0 into 55517f936a86f903c87ed26d218a77080d848605 on cloudfoundry:develop.

Coverage remained the same at 85.865% when pulling b652b60052f5cb1ec37e89bb7945fc61cd3b9586 on GESoftware-CF:support_long_scopes_3.12.0 into 55517f936a86f903c87ed26d218a77080d848605 on cloudfoundry:develop.

Coverage remained the same at 85.865% when pulling b652b60052f5cb1ec37e89bb7945fc61cd3b9586 on GESoftware-CF:support_long_scopes_3.12.0 into 55517f936a86f903c87ed26d218a77080d848605 on cloudfoundry:develop.

Coverage remained the same at 85.865% when pulling b652b60052f5cb1ec37e89bb7945fc61cd3b9586 on GESoftware-CF:support_long_scopes_3.12.0 into 55517f936a86f903c87ed26d218a77080d848605 on cloudfoundry:develop.

Coverage remained the same at 85.865% when pulling b652b60052f5cb1ec37e89bb7945fc61cd3b9586 on GESoftware-CF:support_long_scopes_3.12.0 into 55517f936a86f903c87ed26d218a77080d848605 on cloudfoundry:develop.

Coverage remained the same at 85.865% when pulling b652b60052f5cb1ec37e89bb7945fc61cd3b9586 on GESoftware-CF:support_long_scopes_3.12.0 into 55517f936a86f903c87ed26d218a77080d848605 on cloudfoundry:develop.

Coverage decreased (-21.4%) to 64.479% when pulling ec92f23fae4a29e305cd36e215236b3350cfffaa on GESoftware-CF:support_long_scopes_3.12.0 into 70589e4a96cb5abef61de0d93df8fb7b005233c1 on cloudfoundry:develop.

Coverage decreased (-21.3%) to 64.612% when pulling ec92f23fae4a29e305cd36e215236b3350cfffaa on GESoftware-CF:support_long_scopes_3.12.0 into 70589e4a96cb5abef61de0d93df8fb7b005233c1 on cloudfoundry:develop.

Coverage decreased (-0.009%) to 85.865% when pulling ec92f23fae4a29e305cd36e215236b3350cfffaa on GESoftware-CF:support_long_scopes_3.12.0 into 70589e4a96cb5abef61de0d93df8fb7b005233c1 on cloudfoundry:develop.

Coverage decreased (-0.009%) to 85.865% when pulling ec92f23fae4a29e305cd36e215236b3350cfffaa on GESoftware-CF:support_long_scopes_3.12.0 into 70589e4a96cb5abef61de0d93df8fb7b005233c1 on cloudfoundry:develop.

Coverage decreased (-0.009%) to 85.865% when pulling ec92f23fae4a29e305cd36e215236b3350cfffaa on GESoftware-CF:support_long_scopes_3.12.0 into 70589e4a96cb5abef61de0d93df8fb7b005233c1 on cloudfoundry:develop.

Coverage decreased (-0.009%) to 85.865% when pulling fa01e47b61a81fd29740b41713d9f29804d0a6d2 on GESoftware-CF:support_long_scopes_3.12.0 into 70589e4a96cb5abef61de0d93df8fb7b005233c1 on cloudfoundry:develop.

Coverage decreased (-0.009%) to 85.865% when pulling fa01e47b61a81fd29740b41713d9f29804d0a6d2 on GESoftware-CF:support_long_scopes_3.12.0 into 70589e4a96cb5abef61de0d93df8fb7b005233c1 on cloudfoundry:develop.

Coverage decreased (-0.009%) to 85.865% when pulling fa01e47b61a81fd29740b41713d9f29804d0a6d2 on GESoftware-CF:support_long_scopes_3.12.0 into 70589e4a96cb5abef61de0d93df8fb7b005233c1 on cloudfoundry:develop.

Coverage decreased (-0.009%) to 85.865% when pulling fa01e47b61a81fd29740b41713d9f29804d0a6d2 on GESoftware-CF:support_long_scopes_3.12.0 into 70589e4a96cb5abef61de0d93df8fb7b005233c1 on cloudfoundry:develop.

Coverage decreased (-0.009%) to 85.865% when pulling 0f2c79eba947284bac91e911673178414614f694 on GESoftware-CF:support_long_scopes_3.12.0 into 70589e4a96cb5abef61de0d93df8fb7b005233c1 on cloudfoundry:develop.

Coverage decreased (-0.009%) to 85.865% when pulling 0f2c79eba947284bac91e911673178414614f694 on GESoftware-CF:support_long_scopes_3.12.0 into 70589e4a96cb5abef61de0d93df8fb7b005233c1 on cloudfoundry:develop.

Coverage decreased (-0.009%) to 85.865% when pulling 0f2c79eba947284bac91e911673178414614f694 on GESoftware-CF:support_long_scopes_3.12.0 into 70589e4a96cb5abef61de0d93df8fb7b005233c1 on cloudfoundry:develop.

Coverage decreased (-0.009%) to 85.865% when pulling 0f2c79eba947284bac91e911673178414614f694 on GESoftware-CF:support_long_scopes_3.12.0 into 70589e4a96cb5abef61de0d93df8fb7b005233c1 on cloudfoundry:develop.

Coverage decreased (-0.009%) to 85.865% when pulling 0f2c79eba947284bac91e911673178414614f694 on GESoftware-CF:support_long_scopes_3.12.0 into 70589e4a96cb5abef61de0d93df8fb7b005233c1 on cloudfoundry:develop.


"bus error" on Mac OS with specific test file and regex

I found this when using ag to scan a whole directory of python source for a particular code pattern, then narrowed down the reproducible case to the smallest section of stuff-that-looks-like-source that I could. I did not attempt to minimize the regex, so you get that in all its original messiness.
Output of uname -a on my machine, with the machine name censored: (It's an Apple M1 Max)
Darwin MachineNameHere 22.4.0 Darwin Kernel Version 22.4.0: Mon Mar  6 20:59:28 PST 2023; root:xnu-8796.101.5~3/RELEASE_ARM64_T6000 arm64
Note that ag does not bus error when called with test_file as a second argument; the bus error only happens when it reads it from the directory. (Though since it does bus error when run on the whole original source file explicitly, it's likely that a larger test_file could trigger this even when called with the file as a second argument)
Transcript of error:
% brew upgrade ag
Warning: ag 2.2.0 already installed
% ag --version
ag version 2.2.0

Features:
  +jit +lzma +zlib
% ls -a -F
./		../		test_file
% cat test_file
    WordWith_re_InIt,  # here's a comment with a stray apostrophe
    XXXXXXXXX,  # other comment
)

BLAH_BLAH_BLAH_IS_IT_IMPORTANT_MAYBE: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX = {
    "keyone": ["value1"]
}

DEFAULT_BIG_DICTIONARY_OF_STUFF: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX = {
    "keytwo": ZZZZZZZZZZ.YYYYYYYYYYYYYYYYY,
    "keythree": ZZZZZZZZZZ.YYYYYYYYYYYYYYYYY,
    "keyfour": ZZZZZZZZZZ.YYYYYYYYYYYYYYYYY,
    "keyfive": ZZZZZZZZZZ.YYYYYYYYYYYYYYYYY,
    "keysix": ZZZZZZZZZZ.YYYYYYYYYYYYYYYYY,
% ag 're[^\x27"]*(?:(?:\x27(?:[^\\\x27]|\\.)*\x27|"(?:[^\\"]|\\.)*")[^\x27"]*)*(?:\x27(?:[^\\\x27]|\\.)*|"(?:[^\\"]|\\.)*){'
zsh: bus error  ag

test_file.txt
Attached is the test file. It gets a bus error no matter what the filename is. (I had to rename the file to test_file.txt to attach it in github)


Remove jinja2_time.TimeExtension

See: https://github.com/cookiecutter/cookiecutter/issues/1888

@forrestfwilliams done!


Fixed Issue:1028

Issue Link
Whenever a file path contains wildcard character such as *  (F:\202* ) and file attribute filter --include-attributes A  is specified, the code skips file attribute filter.
This is because when we create filters inside initModularFilters() function, we get the file path from cca.source.ValueLocal() which contains "F:\202*". And when we try to get the file attributes by generating full path inside doesPath method [zc_attr_filter_windows.go], it appends F:\202* with 2020\temp.txt to get "F:\202*\2020\temp.txt"  but it should be F:\2020\temp.txt
To solve this, first get the base file path without wildcard and then append it with the relative paths.
Another possible way to solve this is add fix inside initModularFilters but filter.filepath maybe getting used somewhere in the code and it might  break other functionalities.

Also, you can link the issue like this: #1028, and github will shorthand the link for you.


[Event Request] No Series add back an event OnBeforeGetNextNo

Describe the request
The code of the No. Series is changed in version 24.x.x.x
Before we have an event "OnBeforeGetNextNo" in codeunit  "NoSeriesManagement".
We use this event to create new "No. Serie Line" records based on the date.
At this time we can't use it any more.
Therefor the question for creating a event "OnBeforeGetNextNo" that is executed in the codeunit "No. Series - Impl." at the start of the procedure "GetNextNo".
Additional context
We use this to create the Serie No. Lines based on a template field and the the requested date. With this we make it possible for our customers that the No. Series can easily change every month or year base on the template and the requested date.
Internal work item: AB#534601

Hi @FrankAuwers,
Some comments about the approach you've taken: By using an event in GetNextNo your subscriber will run and need to check some things every time a call is made to get a number. I imagine that in 99,9% of cases your subscriber needs to do nothing. In a few well timed instances your code would insert a new line just in time but all other calls your code would simply exit.
It doesn't seem like the best use of resources when really, setting up the lines in advance and setting a reminder to update them should also do the trick.
Adding new lines manually is no fun of course but there's a few solutions out there that already handle No Series Line creation for these scenarios...
Now, as for the event request. The event you're asking for in GetNextNo would not work as you described it. In the new code we have a few overloads of the method so you'd need an event in each. You would then probably also need it in all the PeekNextNo methods.
Once the code reaches GetNextNoInternal it already has a No. Series Line and it's basically too late so we can't add the event there. Also, if an explicit No. Series Line is passed to GetNextNo (or GetNextNoInternal) then we want to use that line and no other.
The one place all these methods have in common before passing an explicit line is the GetNoSeriesLine method. We currently have a request open to place a new event there that you might be able to use for your scenario. (https://github.com/microsoft/BCApps/issues/1362)
In conclusion: I'll close this request and I'd suggest you consider changing approach so you do not need to rely on an event that runs so frequently but, in case you do want to keep using an event, follow, review and contribute to the issue and PR here: https://github.com/microsoft/BCApps/issues/1362 so the event we add also fixes your scenario.


🩹 Minor fix

Add missing ts-node dev dep and fix some typos and code format.
Additionally, you might want to use Zod for API response schema validation and type inference 🦺

Superseeded by #6.
Thanks for the suggestion, and the fixes. I added you as co-authored in the commit that add the ts-node dependency fcad5e61abe269ba3b2dbe432a81e14e918cb3d2


Editing exported dictionary variable in the inspector tab will change the index of its keys and values to A to Z format

Godot version:

Godot 3.2.4 beta4
OS/device including version:

Windows 10, Version 20H2, OS build 19042.685
Intel® UHD Graphics 620, Version <IP_ADDRESS>30

Issue description:

Normally, the dictionary's keys and values will return their value based on their index. However, if the user exported their dictionary variable and changed its value in the inspector tab, the keys and values index will be based on the keys' alphabet order (A to Z), as shown below:

This issue makes the export variable feature with the dictionary data type unusable. There's no consistency to target the index of keys and values in the code.
This issue is affecting both GDScript and Visual Script.
Steps to reproduce:

Create a dictionary variable.
Input some keys and values.
Print the keys and values array, remember the index.
Export the variable.
Change the key's value, print the keys and values array again, the index will change to A to Z format regardless of their previous index.

Minimal reproduction project:

test.zip

I encounter a weird issue with exported dictionaries.
I've put init values in code and then override them in Inspector e.g. in several resource files.
I have String as key and float as value, and normally in Inspector they look exactly like in code:
@export var multiplier_by_rarity := {
    "Normal": 1.0,
    "Rare": 2.0,
    "Epic": 3.0,
    "Legendary": 4.0,
}

But when I change some values and then I reload my project — I check my resource with dictionary and it looks different in Inspector:
Epic         3.0
Legendary    4.0
Normal       1.0
Rare         2.0

And for the further changes it seems uncomfortable. I've searched for all issues and for possible options in Editor Settings, like turn off sorting by alphabet, but this current issue is the closest I could find. :/
Godot 4.1

Can confirm this is still hapenning.


Update Presentations

This PR updates the links to past presentations. Since some of the newer presentations covered the same topics and some of the older presentations felt outdated, I reorganized the section. The general order I was aiming for was intro materials at the top, increasing in complexity as you go down the list.
The presentations I removed were from the September 2020 Connectathon. I think the majority of the information was covered in the other presentations currently linked. There was a lot of info that has been updated since then, like GoFSH is no longer a beta. The main things that the Intro and Advanced presentations had that doesn't feel as explicitly covered are walk-throughs of the different types of rules and FSH items (you can take a look at them easily on the current site here). However, I felt that the other information in those slides was outdated enough and there are enough other resources to learn about individual rules on Language Reference/FSH Online that it was better to remove them. If anyone thinks they are worthwhile to keep though, just let me know!
I also updated the favicons to be the newer fish logo that Noranda had designed that's used throughout the presentations and the site.

Thanks, @jafeltra! I have a few questions...

Do you think that the presentations from Nov 2020 and June 2021 are all needed? Is there significant stuff that Nov 2020 covers that June 2021 does not?

Why is the last "Let's Build - Create an Implementation Guide" a sub-bullet instead of a top-level bullet?  And why isn't there a link to the slides?

A few answers!

I left the November 2020 presentations because they seemed to cover more basics in more detail than the June 2021 presentations. I think the June 2021 presentations touch on all the same materials, but the November ones seemed to walk through them more slowly.

2a. It seemed to be a natural continuation of the presentation on creating an IG, but I went back and forth on the placement, so I can definitely be convinced to make it it's own bullet.
2b. I couldn't find any corresponding slides posted on the June 2021 DevDays site for the Let's Build session. Mark seems to be walking through slides along side the code he is writing, so they must exist somewhere. I can reach out to him for them, unless you know of a place internally they might be posted.

Thanks, @jafeltra.

OK.  That makes sense!
I think it would make more sense to just list it separately (like the others).  I have an internal link to the PPTX.  I'll send it to you over slack.

Thanks @cmoesel! 6754003 should take care of both points in 2!


dman support

one of the great uses of manpages.d.o is for installs that do not have man installed. for this, the ubuntu people wrote this clever little script called dman which fetches the raw pages to display locally. it's pretty neat!
but out of the box, it doesn't work with the debiman layout. i had to modify the script so that it works with manpages.debian.org - here's the diff:
--- dman	2016-04-13 10:47:42.000000000 -0400
+++ dman.debian	2017-01-31 13:31:49.110251075 -0500
@@ -26,7 +26,11 @@
 ###############################################################################

-. /etc/lsb-release
+if [ -r /etc/lsb-release ] ; then
+    . /etc/lsb-release
+else
+    DISTRIB_CODENAME=$(lsb_release -c -s)
+fi
 while true; do
 	case "$1" in
 		--release)
@@ -44,21 +48,27 @@
 # Mirror support of man's languages
 if [ ! -z "$LANG" ]; then
 	LOCALE="$LANG"
+    LOCPATH="-$LANG"
+    LOCDOT=".$LANG"
 fi
 if [ ! -z "$LC_MESSAGES" ]; then
 	LOCALE="$LC_MESSAGES"
+    LOCPATH="-$LOCALE"
+    LOCDOT=".$LOCALE"
 fi
-if echo $LOCALE | grep -q "^en"; then
+if echo $LOCALE | grep -E -q "^(C|en)"; then
 	LOCALE=""
+    LOCPATH=""
+    LOCDOT=".en"
 fi

-URL="http://manpages.ubuntu.com/manpages.gz/"
+URL="http://manpages.debian.org"

 mandir=`mktemp -d dman.XXXXXX`
 trap "rm -rf $mandir" EXIT HUP INT QUIT TERM
 for i in `seq 1 9`; do
 	man="$mandir/$i"
-	if wget -O "$man" "$URL/$DISTRIB_CODENAME/$LOCALE/man$i/$PAGE.$i.gz" 2>/dev/null; then
+	if wget -O "$man" "$URL/$DISTRIB_CODENAME/manpages$LOCPATH/$PAGE.$i$LOCDOT.gz" 2>/dev/null; then
 		man $MAN_ARGS -l "$man" || true
 	fi
 	rm -f "$man"

notice how I had to dance around the locale stuff...  i posted the full script in this paste bin: http://paste.debian.net/911957/
also, the above doesn't actually work in Debian stretch because it looks for  https://manpages.debian.org/stretch/manpages/intro.1.en.gz  - which is a 302 into the redirector, which redirects to the HTML page:
anarcat@curie:~$ curl -I https://manpages.debian.org/stable/manpages/intro.1.en.gz
HTTP/1.1 302 Found
Date: Tue, 31 Jan 2017 18:42:00 GMT
Server: Apache
Strict-Transport-Security: max-age=15552000
Public-Key-Pins: pin-sha256="m2r9mfIa+ot6bIIC0bCt/7KZ1ych/f8QY3gk9cqUWqs="; pin-sha256="35f/cSfa9he3sUJgp1wZT9gzbI7/zH10hlT/utpEziU="; max-age=5184000
Location: https://dyn.manpages.debian.org/stable/manpages/intro.1.en.gz?
Cache-Control: max-age=3600
Expires: Tue, 31 Jan 2017 19:42:00 GMT
Content-Type: text/html; charset=iso-8859-1

anarcat@curie:~$ curl -I https://dyn.manpages.debian.org/stable/manpages/intro.1.en.gz?
HTTP/1.1 307 Temporary Redirect
Date: Tue, 31 Jan 2017 18:41:54 GMT
Server: Apache
Strict-Transport-Security: max-age=15552000
Public-Key-Pins: pin-sha256="3T9ypiCPJdEeUOpKSooGJ1IpFbKsl/ktH0dV/wygJMk="; pin-sha256="xV7KmbTUH6WeUjOC5Tv7gsOpie45AvOH8/vjaIBsBxk="; max-age=5184000
Content-Length: 68
Content-Type: text/html; charset=utf-8
X-Clacks-Overhead: GNU Terry Pratchett
Location: https://manpages.debian.org/jessie/manpages/intro.1.en.html
Content-Language: en

so to fix this, we'd need to:

[ ] ship the dman script along with other assets for people's easy deployment and joy
[x] fix the redirector so it supports codenames (e.g. stretch) along with symbolic names (e.g. testing), maybe related to #54?
[ ] ideally, make this part of the builtin man binary and/or package this as a separate dman binary package that can be installed for real (see also #1 for debian packaging)
[ ] maybe rewrite dman in go while we're at it? :p

redirectory fixed in ae44c70, thanks!

i just noticed there's a debman command in the debian-goodies package. That command can show the manpage within a .deb or it will download the .deb with debget if missing.
Sounds like another thing we could hijack. :) debman is a shellscript as well.

in the meantime, could we ship the dman script in the assets and link it somewhere? maybe in the about section?
i'd make a PR if that's okay with you.

I’d prefer it if we could package up the dman script in a debian package (probably to experimental as we’re currently frozen). I think it’d be more confusing than useful to have different distribution channels for software, and Debian packages are definitely the best way to distribute software to Debian users :)

Okay well, the problem is this will take forever to trickle down into a stable release... How about this - we figure out a debian package for our little shell script refugee and link to its source code in the FAQ?
In fact, I have created a collab-maint branch for dman in debian-goodies called debiman-support which adds a dman command to the package. We could then link to the source code when/if this is accepted by the package maintainer...
Here's the source code now:
https://anonscm.debian.org/git/collab-maint/debian-goodies.git/tree/dman?h=debiman-support
How does that sound?

The alternative to this, of course, is to package debiman directly (see #1) and make this a distinct binary package people can just install directly. Given the complexity (or I guess my unfamiliarity) with golang + debian packaging, I am tempted to just stick with this easier option, as it also doesn't involve a rewrite in go. ;)
in other news, i asked to merge the branch in debian-goodies in #860920. let's see how that flies.

Linking to the source of a Debian package is fine with me.

debian-goodies 0.70 with dman included has just been uploaded to Debian experimental.

@dustinkirkland See above and https://tracker.debian.org/news/844034

alright, I've linked to dman in the FAQ - we just need to merge the branch to complete this issue I believe - see #1 for the pipe dreams of packaging debiman and rewriting dman and so on. ;)

Hey team -- first off, I'm super pleased that you find dman useful!  I love it, as well.
I would be very happy for Debian to ship dman in a Debian package, of course.  I would just politely ask that you make it work with both Debian and Ubuntu, with a simple conditional that you can key directly off of the info you get out of the lsb-release.
As such, we'll be glad to use the same dman in Ubuntu as you use in Debian.
Thanks!
@DustinKirkland

On 2017-04-28 12:18:14, Dustin Kirkland wrote:

Hey team -- first off, I'm super pleased that you find dman useful!  I love it, as well.
I would be very happy for Debian to ship dman in a Debian package, of course.  I would just politely ask that you make it work with both Debian and Ubuntu, with a simple conditional that you can key directly off of the info you get out of the lsb-release.
As such, we'll be glad to use the same dman in Ubuntu as you use in Debian.

Hi!
I think that's a great idea. Unfortunately, I made some changes to the
script and I am not sure it still works against manpages.ubuntu.com
right now. I am certain, however, that the debian-goodies maintainer
will happily welcome patches to fix that!
The source code is here:
https://anonscm.debian.org/git/collab-maint/debian-goodies.git/tree/dman
And you can file a pull request / send a patch on the Debian-goodies
package:
https://tracker.debian.org/pkg/debian-goodies
Thanks!

@anacrat, @dustinkirkland: Yes, actually I had this issue in my mind already, too. Patches are indeed very welcome.

i tried this simple patch to try and support ubuntu (based on the no-suite branch):
diff --git a/dman b/dman
index a44ecf1..fea73f7 100755
--- a/dman
+++ b/dman
@@ -61,7 +61,14 @@ if echo $LOCALE | grep -E -q "^(C|en)"; then
        LOCDOT=".en"
 fi

-BASE_URL="https://manpages.debian.org"
+case $(lsb_release -s -i) in
+    Ubuntu)
+        BASE_URL="https://manpages.ubuntu.com"
+        ;;
+    *)
+        BASE_URL="https://manpages.debian.org"
+        ;;
+esac

 mandir=`mktemp -d dman.XXXXXX`
 trap "rm -rf $mandir" EXIT HUP INT QUIT TERM

unfortunately that doesn't work, because we look into debiman-specific paths and ubuntu's manpage service lacks the required redirections:
./dman: not found: https://manpages.ubuntu.com/stretch/crontab.fr.gz
./dman: not found: https://manpages.ubuntu.com/stretch/crontab.gz
./dman: not found: https://manpages.ubuntu.com/crontab.fr.gz
./dman: not found: https://manpages.ubuntu.com/crontab.gz
./dman: Could not fetch manpage from given locations.

even when using the manpages.gz prefix, this fails:
./dman: not found: https://manpages.ubuntu.com/manpages.gz/stretch/crontab.fr.gz
./dman: not found: https://manpages.ubuntu.com/manpages.gz/stretch/crontab.gz
./dman: not found: https://manpages.ubuntu.com/manpages.gz/crontab.fr.gz
./dman: not found: https://manpages.ubuntu.com/manpages.gz/crontab.gz
./dman: Could not fetch manpage from given locations.

the original dman had quite a bit of logic to guess the filesystem paths on the other end. we got rid of a lot of that for performance reasons: in the worst case, the original version was doing 9 requests to the server - we lowered that to 2, and jumped back to 4 to support multiple suites.
so i'm not sure how to deal with this. the logic will get really hairy if we need to support site-specific patterns like this. all i can think of now is rewrite the thing in python to support parameter expansion - e.g. https://%(base_url)s/%(suite)s/%(man)s.%(lang)s.gz is debiman, and ubuntu is https://%(base_url)s/%(lang)s/man%(section)s/%(man)s.%(section)s.gz... maybe this could be done in bash too, but you'd get nasty eval()s...

we have opened #861611 for Ubuntu support in dman, so this is pretty much complete here. i have opened a separate issue (#79) for some optimizations that could make dman perform a little better as well.


Feature Request: Collapsible Navbars (especially Connections Tab

can we please have collapsible navbars, especially for the connections tab?
yay @31453

Hi @amaddalena, collapsible navbars added with #1412. Cheers!


[QA] Fix the dependency error from langgraph

Description
Screenshot
Notice

[x] I acknowledge and agree that, by checking this box and clicking "Submit Pull Request":

I submit this contribution under the Apache 2.0 license and represent that I am entitled to do so on behalf of myself, my employer, or relevant third parties, as applicable.
I certify that (a) this contribution is my original creation and / or (b) to the extent it is not my original creation, I am authorized to submit this contribution on behalf of the original creator(s) or their licensees.
I certify that the use of this contribution as authorized by the Apache 2.0 license does not violate the intellectual property rights of anyone else.
I have not referenced individuals, products or companies in any commits, directly or indirectly.
I have not added data or restricted code in any commits, directly or indirectly.

Let's see the reply to this first - hopefully soon. It seems to me that they did not obey semantic versioning here. If there is no answer, then let's pin the dependency with a comment to remove once they have fixed it.

this

I would just merge it for now given that we were aiming to release vizro-core yesterday. Would like to have at least 1-2 puffer das of testing before the GHC. We can still change that later in a separate PR, but currently, we need this fix so the main branch is not broken.


Question: What is the project status?

Any plans to update or accept pull requests?

Sorry, but Light2D isn't maintained any more.


Szegedy{<:Any,<:Number} vs AbstractSzegedy

Why this is relevant? See: evolve in szegedy_evolution.jl

Agreed. The AbstractSzegedy in current form is overcomplicated. I will transform it in a way, that current implementation of Szegedy will be it direct concrete type (till until 0.6.2018)

The Szegedy is simplified now, only two operators are allowed


Search with error returns exit code 0

Is this a BUG REPORT or FEATURE REQUEST? (leave only one on its own line)
/kind bug
Description
If you try searching without a search term that only works for registries that implement the v2 API, it fails with error on docker.io, but the return/exit code is "0", which means OK/SUCCESS.
Steps to reproduce the issue:

$ podman search docker.io/
ERRO[0001] error getting search results from v2 endpoint "docker.io", status code 401 (Unauthorized)

$ echo $?
0

Describe the results you received:
0
Describe the results you expected:
non-zero exit code
Additional information you deem important (e.g. issue happens only occasionally):
Output of podman version:
$ podman version
Version:            1.5.1
RemoteAPI Version:  1
Go Version:         go1.13rc1
OS/Arch:            linux/amd64

Output of podman info --debug:
$ podman info --debug
debug:
  compiler: gc
  git commit: ""
  go version: go1.13rc1
  podman version: 1.5.1
host:
  BuildahVersion: 1.10.1
  Conmon:
    package: conmon-2.0.0-2.fc31.x86_64
    path: /usr/bin/conmon
    version: 'conmon version 2.0.0, commit: ae68c1c29156934457e2649990c241a5e0b0251b'
  Distribution:
    distribution: fedora
    version: "31"
  MemFree:<PHONE_NUMBER>4
  MemTotal:<PHONE_NUMBER>6
  OCIRuntime:
    package: crun-0.9.1-1.fc31.x86_64
    path: /usr/bin/crun
    version: |-
      crun 0.9.1
      spec: 1.0.0
      +SYSTEMD +SELINUX +CAP +SECCOMP +EBPF +YAJL
  SwapFree:<PHONE_NUMBER>
  SwapTotal:<PHONE_NUMBER>
  arch: amd64
  cpus: 4
  eventlogger: journald
  hostname: personal-x220
  kernel: 5.3.1-300.fc31.x86_64
  os: linux
  rootless: true
  uptime: 1h 11m 38.92s (Approximately 0.04 days)
registries:
  blocked: null
  insecure: null
  search:
  - docker.io
  - registry.fedoraproject.org
  - quay.io
  - registry.access.redhat.com
  - registry.centos.org
store:
  ConfigFile: /home/sgraf/.config/containers/storage.conf
  ContainerStore:
    number: 1
  GraphDriverName: overlay
  GraphOptions:
  - overlay.mount_program=/usr/bin/fuse-overlayfs
  GraphRoot: /var/home/sgraf/.local/share/containers/storage
  GraphStatus:
    Backing Filesystem: xfs
    Native Overlay Diff: "false"
    Supports d_type: "true"
    Using metacopy: "false"
  ImageStore:
    number: 1
  RunRoot: /tmp/1000
  VolumePath: /var/home/sgraf/.local/share/containers/storage/volumes

Package info (e.g. output of rpm -q podman or apt list podman):
$ rpm -q podman
podman-1.5.1-3.git0005792.fc31.x86_64

Additional environment details (AWS, VirtualBox, physical, etc.):
Fedora Silverblue on notebook/laptop

in this particular use case, podman is matching the docker behavior and returning the 0.  the error you see is a log-level error.

Ah, that make sense. Feel free to close, I'm not blocked by this behavior, I just assumed there might be missing error evaluation.


Bug: Limitations of TextNode node overrides, caused by node.type === 'text' checks

Lexical version: 0.12.1
Steps To Reproduce
Example symptom of the problem:

Create CustomTextNode node override of TextNode
Insert some text and select some portion of it
Toggle bold on, now we have two CustomTextNode next to each other
Toggle bold off, the two CustomTextNode will not merge (using TextNode they would merge)
Override the isSimpleText method to account for the custom node's type

isSimpleText() {
  return (
    (this.__type === "text" || this.__type === "custom-text") &&
    this.__mode === 0
  );
}

Repeat, the two CustomTextNode will now merge

Link to code example: https://codesandbox.io/s/textnode-override-node-type-type-38lf28

https://github.com/facebook/lexical/assets/8596184/ba0f773e-8ba4-4fda-8fa0-82542908ee4a
The current behavior
The behavior of TextNode node overrides unexpectedly deviates from TextNode.
That's because of node.type === 'text' checks throughout the codebase.
The custom node's type property must necessarily be different from 'text'
Our use case is to filter out some characters from JSON serialized TextNodes. We were hoping to use node overrides, following the documentation. But the approach appears to be brittle.
The expected behavior
If the problem cannot be fixed, it should be documented.

This is a good point - thanks for making this issue. I don't actually know why we're doing check against the raw type string in all these cases. Possibly for performance reasons to avoid instanceof checks. We should be able to get most of the best of both worlds though by just abstracting this check into something overrideable.

Out of curiosity, have you tried locally changing these checks to see if it fixes your problem? If so, maybe a PR would be a good idea.

If I override isSimpleText the problems are gone, but I'm worried about undetected problems since the check appears elsewhere in the codebase.
Instead, I'm currently monkey patching TextNode, following https://github.com/facebook/lexical/issues/1262#issuecomment-1036438842

I see that TabNode, KeywordNode, HashtagNode and other nodes, all extend TextNode.
In those cases checking for node.__type === 'text' in isSimpleText makes sense.
My use case is different, I need to override the default TextNode.

$isXNode uses instanceof.
Maybe, as you were suggesting, we could have an abstract $isXNodeStrict that uses the type string. It shoud account for node overrides, like $createXNode does using $applyNodeReplacement.
I can open a PR.

I can open a PR.

Yea I think this would be a good way to continue the conversation - can get feedback from the rest of the team too.
Thank you!

Upon more diligent review, I realized it suffices to override isSimpleText, my bad.
I opened #5006 to update the docs.

Upon more diligent review, I realized it suffices to override isSimpleText, my bad. I opened #5006 to update the docs.

No worries! Thanks for looking into it!

Overriding isSimpleText in a class inheriting from TextNode causes an issue with RangeSelection.extract() for us (we're using lexical 0.13.1). This method calls TextNode.splitText() internally and we can see how the text node is properly split, but the new node that contains just the selected slice of text is not added to the editor. Any clue what might cause this? Is overriding isSimpleText officially supported?
CC @cideM

Same thing happening for me when trying to override default exportDOM() method for TableCellNode to remove inline border: 1px solid black; styling
https://github.com/facebook/lexical/blob/main/packages/lexical-table/src/LexicalTableCellNode.ts#L157
It throws me
 Error: Create node: Type tablecell in node ExtendedTableCellNode does not match registered node _TableCellNode with the same type

despite setting the explicit replacement in nodes array
// ...
	{
		replace: TableCellNode,
		with: (node: TableCellNode) =>
			new ExtendedTableCellNode(
				node.__headerState,
				node.__colSpan,
				node.__rowSpan,
				String(node.__width)
			)
	},
// ...

Is there any other way to handle this without monkey-patching maybe? 🥹

That error is telling you that you implemented ExtendedTableCellNode incorrectly and what to fix. Two nodes can not have the same type, so give it a unique one.

Okay, thank you. This one moved the solution forward. But now it throws this error on content which was previously using default tablecell
Error: Lexical node does not exist in active editor state. Avoid using the same node references between nested closures from editorState.read/editor.update.

while still having previous replacement code in place.
Here's my ExtendedTableCell node
import { TableCellNode } from '@lexical/table';
import type {
  DOMExportOutput,
  LexicalEditor,
} from 'lexical';

const COLUMN_WIDTH = 75;

export class ExtendedTableCellNode extends TableCellNode {
  static getType(): string {
      return 'extended-tablecell'
  }
  exportDOM(editor: LexicalEditor): DOMExportOutput {
    const { element } = super.exportDOM(editor);

    if (element) {
      const element_ = element as HTMLTableCellElement;

      if (this.__colSpan > 1) {
        element_.colSpan = this.__colSpan;
      }
      if (this.__rowSpan > 1) {
        element_.rowSpan = this.__rowSpan;
      }
      element_.style.width = `${this.getWidth() || COLUMN_WIDTH}px`;
      element_.style.verticalAlign = 'top';
      element_.style.textAlign = 'start';
      // Removed the border style here to prevent inline border styling
    }

    return {
      element,
    };
  }
}

What should I change in order to let Lexical recognize this as a proper replacement for default tablecell node?
Thank you once again!

clone is a required method, no node will work without it. you'll likely also want to implement importJSON and exportJSON. If you're using a recent version of lexical you should be getting warnings about those as well.


Concept demo - SWaaEditor

Create timber frame in GH
Bake
Export to json
Open in cadwork
add drill hole (maybe add in Rhino and have cadwork figure out that it’s a drill hole)
save
open in Rhino (see geometry)
open in cadwork (export to machining)

available in https://github.com/gramaziokohler/swaae_demo2024


added dynamic imports to TabPanel components

Resolves G3root/readme-generator#3
Verified code is split into separate bundles:

Thanks for the PR ❤


Don't raise in set_index for length one list

ref #525

Yeah my fault, we are now supporting something that didn't work before :)

I pushed another fix here because I forgot to create a new branch and both touch the same place anyway


P values question

Dear Alan,
I am very new to the rhythms analysis, going to try BooteJTK on my data. I have a question about the example file example/TestInput4_OTHERTEXT_boot10-rep2_GammaP.txt. Why the empiric p values (column "empP") are higher then BH-corrected p values (column "GammaBH")?
Best regards
Alex

Hi Alex,
Thanks for the question, and welcome to the field.
The BH-corrected p-values are lower than the empP because the p-values that
come from comparing (via Kendall's Tau) different waveforms against the
same signal are correlated.
This means that the Benjamini-Hochberg process, which is only supposed to
be used on independent p-values, is inappropriate to use in this case.
See https://www.biorxiv.org/content/10.1101/118547v1.full for more detail
on this.
This is a subtle, but very important, point, so let me know if you need me
to go into more detail.
Best,
Alan
Alan L. Hutchison, MD, PhD
PGY-1, Internal Medicine
University of Chicago Medicine
he/him/his
On Tue, Nov 5, 2019 at 8:44 AM alex297<EMAIL_ADDRESS>wrote:

Dear Alan,
I am very new to the rhythms analysis, going to try BooteJTK on my data. I
have a question about the example file
example/TestInput4_OTHERTEXT_boot10-rep2_GammaP.txt. Why the empiric p
values (column "empP") are higher then BH-corrected p values (column
"GammaBH")?
Best regards
Alex
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/alanlhutchison/BooteJTK/issues/3?email_source=notifications&email_token=AA3Y77BBKSGSR26YNWOJRWTQSBTUFA5CNFSM4JIXRLB2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HWV2NNQ,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA3Y77BX7WF6NS2MZGYGRJLQSBTUFANCNFSM4JIXRLBQ
.

Dear Alan,
Thank you for your reply. Should I use empirical Pvalues (<=0.05 cut off)
instead of GammaBH?
Best regards
Alex
On Thu, Nov 7, 2019 at 4:30 AM alanlhutchison<EMAIL_ADDRESS>wrote:

Hi Alex,
Thanks for the question, and welcome to the field.
The BH-corrected p-values are lower than the empP because the p-values that
come from comparing (via Kendall's Tau) different waveforms against the
same signal are correlated.
This means that the Benjamini-Hochberg process, which is only supposed to
be used on independent p-values, is inappropriate to use in this case.
See https://www.biorxiv.org/content/10.1101/118547v1.full for more detail
on this.
This is a subtle, but very important, point, so let me know if you need me
to go into more detail.
Best,
Alan
Alan L. Hutchison, MD, PhD
PGY-1, Internal Medicine
University of Chicago Medicine
he/him/his
On Tue, Nov 5, 2019 at 8:44 AM alex297<EMAIL_ADDRESS>wrote:

Dear Alan,
I am very new to the rhythms analysis, going to try BooteJTK on my data.
I
have a question about the example file
example/TestInput4_OTHERTEXT_boot10-rep2_GammaP.txt. Why the empiric p
values (column "empP") are higher then BH-corrected p values (column
"GammaBH")?
Best regards
Alex
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<
https://github.com/alanlhutchison/BooteJTK/issues/3?email_source=notifications&email_token=AA3Y77BBKSGSR26YNWOJRWTQSBTUFA5CNFSM4JIXRLB2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HWV2NNQ
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AA3Y77BX7WF6NS2MZGYGRJLQSBTUFANCNFSM4JIXRLBQ
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/alanlhutchison/BooteJTK/issues/3?email_source=notifications&email_token=AJUI5QEEQ3ECRXTTQJKCKSDQSOKXHA5CNFSM4JIXRLB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDJVIHA#issuecomment-550720540,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJUI5QEMP6CIRJAFO2GP4YLQSOKXHANCNFSM4JIXRLBQ
.

Hi,
I totally misunderstood your question. Sorry, I thought you were asking a
different question. The question I was answering was why methods like RAIN
and MetaCycle are inaccurate and shouldn't be used.
The GammaBH is the Benjamini-Hochberg adjustment for multiple hypothesis
testing (MHT) of the GammaP values, which are the computed p-values put out
by the BooteJTK algorithm. EmpP -values should match GammaP-values, but you
should be able to achieve lower values with GammaP. The short answer is you
should probably use GammaBH for your analysis, for the reasons below.
MHT is the problem in null-hypothesis standardized testing that occurs when
you do multiple tests of the same hypothesis. When there is no signal,
the p-values for multiple tests should be roughly evenly distributed from 0
to 1. This means if you do 20 tests, one of those p-values should be <=0.05
(on average). If your p-value threshold is 0.05, this means with data where
there is no signal you may find a result. There are many ways to correct
for this.
For starters, the p-value (e.g 5%) tells you that "there is a 5% chance
that if there were no signal in this data I would get a result this large
or larger".
The Bonferroni correction will give you values that for a give threshold
alpha (e.g. 5%) tells you "there is s 5% chance that one of the values
below 5% is a false positive".
The Bonferroni correction is very conservative and throws out a lot of your
data. The Benjamini-Hochberg adjustment will give you values that for a
given threshold alpha (e.g. 5%) tells you "of the data with values below
5%, 5% of them are false positives". This is GammaBH.
I would refer you to Hutchison et al 2015 (goes into the most detail),
Hutchison et al 2018, and Hutchison et al 2017 to really dig into these
issues in detail. They will (and should) come up a lot. Carefully noticing
which value is being used will help you determine how much to believe your
(and others') results.
https://journals.plos.org/ploscompbiol/article/comments?id=10.1371/journal.pcbi.1004094
https://www.ncbi.nlm.nih.gov/pubmed/30101659
https://www.biorxiv.org/content/10.1101/118547v1.full
Best,
Alan
Alan L. Hutchison, MD, PhD
PGY-1, Internal Medicine
University of Chicago Medicine
he/him/his
On Fri, Nov 8, 2019 at 4:08 AM alex297<EMAIL_ADDRESS>wrote:

Dear Alan,
Thank you for your reply. Should I use empirical Pvalues (<=0.05 cut off)
instead of GammaBH?
Best regards
Alex
On Thu, Nov 7, 2019 at 4:30 AM alanlhutchison<EMAIL_ADDRESS>wrote:

Hi Alex,
Thanks for the question, and welcome to the field.
The BH-corrected p-values are lower than the empP because the p-values
that
come from comparing (via Kendall's Tau) different waveforms against the
same signal are correlated.
This means that the Benjamini-Hochberg process, which is only supposed to
be used on independent p-values, is inappropriate to use in this case.
See https://www.biorxiv.org/content/10.1101/118547v1.full for more
detail
on this.
This is a subtle, but very important, point, so let me know if you need
me
to go into more detail.
Best,
Alan
Alan L. Hutchison, MD, PhD
PGY-1, Internal Medicine
University of Chicago Medicine
he/him/his
On Tue, Nov 5, 2019 at 8:44 AM alex297<EMAIL_ADDRESS>wrote:

Dear Alan,
I am very new to the rhythms analysis, going to try BooteJTK on my
data.
I
have a question about the example file
example/TestInput4_OTHERTEXT_boot10-rep2_GammaP.txt. Why the empiric p
values (column "empP") are higher then BH-corrected p values (column
"GammaBH")?
Best regards
Alex
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<

https://github.com/alanlhutchison/BooteJTK/issues/3?email_source=notifications&email_token=AA3Y77BBKSGSR26YNWOJRWTQSBTUFA5CNFSM4JIXRLB2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HWV2NNQ

,
or unsubscribe
<

https://github.com/notifications/unsubscribe-auth/AA3Y77BX7WF6NS2MZGYGRJLQSBTUFANCNFSM4JIXRLBQ

.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<
https://github.com/alanlhutchison/BooteJTK/issues/3?email_source=notifications&email_token=AJUI5QEEQ3ECRXTTQJKCKSDQSOKXHA5CNFSM4JIXRLB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDJVIHA#issuecomment-550720540
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AJUI5QEMP6CIRJAFO2GP4YLQSOKXHANCNFSM4JIXRLBQ
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/alanlhutchison/BooteJTK/issues/3?email_source=notifications&email_token=AA3Y77EFE6XWE3LBHRQ6HNLQSU3APA5CNFSM4JIXRLB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDPVEIQ#issuecomment-551506466,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA3Y77CN4J7YO4EGAYGZWETQSU3APANCNFSM4JIXRLBQ
.

Dear Alan,
Thank you very much for your detailed explanation
Best regards
Alex
On Fri, Nov 8, 2019 at 1:25 PM alanlhutchison<EMAIL_ADDRESS>wrote:

Hi,
I totally misunderstood your question. Sorry, I thought you were asking a
different question. The question I was answering was why methods like RAIN
and MetaCycle are inaccurate and shouldn't be used.
The GammaBH is the Benjamini-Hochberg adjustment for multiple hypothesis
testing (MHT) of the GammaP values, which are the computed p-values put out
by the BooteJTK algorithm. EmpP -values should match GammaP-values, but you
should be able to achieve lower values with GammaP. The short answer is you
should probably use GammaBH for your analysis, for the reasons below.
MHT is the problem in null-hypothesis standardized testing that occurs when
you do multiple tests of the same hypothesis. When there is no signal,
the p-values for multiple tests should be roughly evenly distributed from 0
to 1. This means if you do 20 tests, one of those p-values should be <=0.05
(on average). If your p-value threshold is 0.05, this means with data
where
there is no signal you may find a result. There are many ways to correct
for this.
For starters, the p-value (e.g 5%) tells you that "there is a 5% chance
that if there were no signal in this data I would get a result this large
or larger".
The Bonferroni correction will give you values that for a give threshold
alpha (e.g. 5%) tells you "there is s 5% chance that one of the values
below 5% is a false positive".
The Bonferroni correction is very conservative and throws out a lot of your
data. The Benjamini-Hochberg adjustment will give you values that for a
given threshold alpha (e.g. 5%) tells you "of the data with values below
5%, 5% of them are false positives". This is GammaBH.
I would refer you to Hutchison et al 2015 (goes into the most detail),
Hutchison et al 2018, and Hutchison et al 2017 to really dig into these
issues in detail. They will (and should) come up a lot. Carefully noticing
which value is being used will help you determine how much to believe your
(and others') results.
https://journals.plos.org/ploscompbiol/article/comments?id=10.1371/journal.pcbi.1004094
https://www.ncbi.nlm.nih.gov/pubmed/30101659
https://www.biorxiv.org/content/10.1101/118547v1.full
Best,
Alan
Alan L. Hutchison, MD, PhD
PGY-1, Internal Medicine
University of Chicago Medicine
he/him/his
On Fri, Nov 8, 2019 at 4:08 AM alex297<EMAIL_ADDRESS>wrote:

Dear Alan,
Thank you for your reply. Should I use empirical Pvalues (<=0.05 cut off)
instead of GammaBH?
Best regards
Alex
On Thu, Nov 7, 2019 at 4:30 AM alanlhutchison<EMAIL_ADDRESS>wrote:

Hi Alex,
Thanks for the question, and welcome to the field.
The BH-corrected p-values are lower than the empP because the p-values
that
come from comparing (via Kendall's Tau) different waveforms against the
same signal are correlated.
This means that the Benjamini-Hochberg process, which is only supposed
to
be used on independent p-values, is inappropriate to use in this case.
See https://www.biorxiv.org/content/10.1101/118547v1.full for more
detail
on this.
This is a subtle, but very important, point, so let me know if you need
me
to go into more detail.
Best,
Alan
Alan L. Hutchison, MD, PhD
PGY-1, Internal Medicine
University of Chicago Medicine
he/him/his
On Tue, Nov 5, 2019 at 8:44 AM alex297<EMAIL_ADDRESS>wrote:

Dear Alan,
I am very new to the rhythms analysis, going to try BooteJTK on my
data.
I
have a question about the example file
example/TestInput4_OTHERTEXT_boot10-rep2_GammaP.txt. Why the empiric
p
values (column "empP") are higher then BH-corrected p values (column
"GammaBH")?
Best regards
Alex
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<

https://github.com/alanlhutchison/BooteJTK/issues/3?email_source=notifications&email_token=AA3Y77BBKSGSR26YNWOJRWTQSBTUFA5CNFSM4JIXRLB2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HWV2NNQ

,
or unsubscribe
<

https://github.com/notifications/unsubscribe-auth/AA3Y77BX7WF6NS2MZGYGRJLQSBTUFANCNFSM4JIXRLBQ

.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<

https://github.com/alanlhutchison/BooteJTK/issues/3?email_source=notifications&email_token=AJUI5QEEQ3ECRXTTQJKCKSDQSOKXHA5CNFSM4JIXRLB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDJVIHA#issuecomment-550720540

,
or unsubscribe
<

https://github.com/notifications/unsubscribe-auth/AJUI5QEMP6CIRJAFO2GP4YLQSOKXHANCNFSM4JIXRLBQ

.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<
https://github.com/alanlhutchison/BooteJTK/issues/3?email_source=notifications&email_token=AA3Y77EFE6XWE3LBHRQ6HNLQSU3APA5CNFSM4JIXRLB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDPVEIQ#issuecomment-551506466
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AA3Y77CN4J7YO4EGAYGZWETQSU3APANCNFSM4JIXRLBQ
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/alanlhutchison/BooteJTK/issues/3?email_source=notifications&email_token=AJUI5QHNESJNEQECWU4MD4DQSVSFTA5CNFSM4JIXRLB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDR2E7Y#issuecomment-551789183,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJUI5QHKTKERHWMWGG73UKDQSVSFTANCNFSM4JIXRLBQ
.


Change Gaslimit after Genesis Block

Is there a way to Change the Block Gas limit after the First start of the Chain?

Bump

Hey @NoVa-Toast, it is possible to accomplish it, using the --block-gas-target in the server command.
However, when calculating the new block gas limit for each block, parent block gas limit has impact to it , it does not mean that necessarily configured block gas target will be reached within the next block, but if set to all validator nodes equally, it is going to gradually increase until it is eventually reached at some point.
Here is the algorithm that calculates and adjusts the gas limit for each block: https://github.com/0xPolygon/polygon-edge/blob/f2b24e79912802b1b6c8fb3ba1abdbcc9eec94c0/blockchain/blockchain.go#L357-L385 (blockGasTarget represents value that is configured on a given server instance).


Access to fetch at '####' from origin 'http://localhost:3000' has been blocked by CORS policy

Describe the bug
Hi , im trying to play a song that hosted in firebase and this is the link "https://firebasestorage.googleapis.com/v0/b/musicplayer-458d4.appspot.com/o/music%2FMr.Kitty - After Dark.mp3?alt=media&token=74ac8d78-0216-4c07-9b46-b9726fc040a4", when i implement it to html audio tag it's works nicely
this is my code

This is likely because the Web Audio API and HTMLAudioElement have different security policies.
This is from the Web Audio API Spec:

HTMLMediaElement allows the playback of cross-origin resources. Because Web Audio allows inspection of the content of the resource (e.g. using a MediaElementAudioSourceNode, and an AudioWorkletNode or ScriptProcessorNode to read the samples), information leakage can occur if scripts from one origin inspect the content of a resource from another origin.

I think you'll need to add a CORS header to the object you're retrieving.

do you have any idea how to do that ?

It's something which is different for every server/setup. if you're using firebase to serve the audio, i would check the firebase docs for adding CORS to anobject.

Ok , thanks


Reserve multihost as Test attribute

Cannot be used in tmt directly but other system might use it already.
Update linter to warn user about its usage.
Detect it from Makefile in the import

Objections raised on IRC (@sopos, @jscotka) so wow will be workarounded by tag and we will gain time for deeper dive into multihost in tmt.


Additional flag --log_file along with watch command doesn't work

/kind bug

What versions of software are you using?
 Then run command
$ odo watch --context tests/examples/source/nodejs/ --log_file <logfile_path>

// create a file or dir in the context dir

Actual behavior
No log file is generated in the specified path
Expected behavior
Should create log file as per the UX description
$ odo watch -h
[...]
Flags:
      [...]
Additional Flags:
      [...]
      --log_file string          If non-empty, use this log file
      [...]

Any logs, error output, etc?

The same additional flags are also available for other sub commands too. I checked --log_file with preference command and it doesn't generate log file in the specified path.
I am changing the issue title to a generic one.

This doesn't seem like high priority to me. Any reason to put high priority
/remove-priority high
/priority medium

/triage duplicate
/close
This is related to
https://github.com/openshift/odo/issues/3446


GROUP  page

Can i use the script to get the images from a group page? (public photo's and albums?).

HI, I haven't tried to use it with the groups. You can give it a try. Recently Facebook updated their security policy, so I'm not sure how it will behave.
Regarding your public photos, you can use but you need to do a lot of things with facebook app. I did this once and as far as I remember, I had to write a request to facebook to enable special permissions for my fb app to read albums, then I had to access the app on my side and use the token in plugin. Pretty complicated but it is doable :)
So far, all the people who used the plugin used it with the page

Any updates on this? Have you tried to use the plugin for group page?


ModuleNotFoundError: No module named 'celery'

Hello,
I am following the tutorial @ https://github.com/arc53/DocsGPT/wiki/Hosting-the-app#self-hosting-docsgpt-on-amazon-lightsail and receiving an error.
I have attached an image below.

I followed the instructions verbatim, and I am still seeing this error. Do I need to install celery after running pip3 install -r requirements.txt?
Thank you for your help!

Issue was resolved after running pip3 install celery. I am going to go ahead and close this issue out.


Handle closed issue case

The agent might receive a notification from an issue which is closed before it can reply. This case needs to be treated properly since now it gives 404 errors in the logs

done


KerbalX Part Mapper - out of date

i don't know how to update the listing, but the exe downloaded by ckan is outdated and wont upload the data

Looks like it may be an obsolete mod. The actual KerbalX mod is a different Repo.  Do you know under which KSP version it stopped working?

no, sorry
On Oct 8, 2017 23:04, "Myk"<EMAIL_ADDRESS>wrote:

Looks like it may be an obsolete mod. The actual KerbalX mod is a
different Repo. Do you know under which KSP version it stopped working?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/KSP-CKAN/NetKAN/issues/5909#issuecomment-335072159,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGhiywxAUQhpIx69fWsp6U17pRlvqzURks5sqbeAgaJpZM4PxOx7
.


Custom image not working as picker on the latest version

Library version:

2.0.5
2.0.4
2.0.3

Devices:

Pixel 4
Pixel 4a
Pixel 3
Basically every phone tested, the bug is not phone-dependant

Setting a custom color palette as a colorpicker (a custom image) will make the selected color always 0. This happens with a horseshoe shaped picker I have, but has also happend with other images. Also colorPickerView.setSelectorPoint(x,y), then doing colorPickerView.getColor(); where x,y is the current position of the color, yields 0.
The selector is being set through the following line:
colorPickerView.setPaletteDrawable(colorSelector);
Where colorSelector is a drawable.
The expected behaviour would be to be able to set a custom color palette, as is possible in version 2.0.2, Do i have to add anything extra? I had a workaround to a problem with restricting the color selector that would allow me to set an x,y point and then call getColor() to know what color was selected, this is no longer possible since version 2.0.3.
With the deprecation of jCenter and 2.0.2 not being available on mavenCentral and the pom being broken, 2.0.2 can not be downloaded from jitpack.io i don't really know what to do to actually still be able to use 2.0.2 or get the newest versions to work..

When trying to get version 2.0.2 from jitpack, this error is displayed, changing 2.0.2 to 2.0.5 works fine, so there is likely something wrong with the configuration of 2.0.2
Execution failed for task ':app:checkDebugAarMetadata'.

Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
Could not resolve com.github.skydoves:colorpickerview:2.1.8.
Required by:
project :app > com.github.skydoves:ColorPickerPreference:2.0.2
Could not resolve com.github.skydoves:colorpickerview:2.1.8.
Could not get resource 'https://dl.google.com/dl/android/maven2/com/github/skydoves/colorpickerview/2.1.8/colorpickerview-2.1.8.pom'.
Could not HEAD 'https://dl.google.com/dl/android/maven2/com/github/skydoves/colorpickerview/2.1.8/colorpickerview-2.1.8.pom'.
Remote host terminated the handshake

As i can see on the debugger, the image as palette is being set correctly, however, the selectedPoint is always 385,385 which i assume is the center, since the selected image is a horseshoe, the center is transparent. Despite the real point being set to 219,169, the colorPicker still mantains the 385,385 point.


Shortcut arrow

Description of the new feature / enhancement
Back in the day there was an opption to remove the arrow from the shortcut. Can you bring it back?
Scenario when this would be used?
Windows shortcuts
Supporting information
No response

We don't have it, but WinAero Tweaker has many tweaks, just like TweakUI had.

/feedback


Refactor to use Dynamically imported javascript

Refactored all javascript calls to use IJSObjectReference and import the javascript file dynamically.
Using that method the user no longer has to include
<body>
    <!-- ... -->
    <script src="_content/Z.Blazor.Diagrams/script.min.js"></script>
</body>

i have to recheck things. ill make another pull request later


Current State & Tip

Need to rename get_CurrentHeight -> get_TipHeight
Need to check if we do not mix tip/state for example seems that  Wallet::IsWalletInSync is not correct.

is done

Closing. I'm not sure if QA can check this