[WIP] Add compression for uploaded documentation

This needs some tests, but otherwise I think it should be fine as is, it was super simple after #643 :)
This uses zstd 5, but it's very easy to change the compression now and reasonably easy to change it after it's merged (we just have to change compression from a boolean into an enum and continue supporting zstd).
This compresses transparently, so that calling backend.get() automatically decompresses files as needed. If the files were not compressed before uploading, they are not decompressed when downloading.
Closes https://github.com/rust-lang/docs.rs/issues/379
cc @namibj
r? @pietroalbini

Oh, I just realized this has the wrong content-types on s3: It uses the original content types instead of zstd or something like that. I'll add the original content type as a field in the metadata.

Actually that seems like a lot of work for no benefit, I don't know that we'll ever actually use the zstd encoding for anything.

Some benchmarks:
Benchmarking compress regex html: Collecting 100 samples in estimated 7.5520 s (10k i                                                                                compress regex html     time:   [676.22 us 725.12 us 779.81 us]
Found 16 outliers among 100 measurements (16.00%)
  16 (16.00%) high severe

Benchmarking decompress regex html: Collecting 100 samples in estimated 5.1476 s (91k                                                                                decompress regex html   time:   [55.181 us 57.623 us 60.467 us]
Found 4 outliers among 100 measurements (4.00%)
  3 (3.00%) high mild
  1 (1.00%) high severe

The implementation looks good to me!
I agree with @Nemo157 that we should store {algorithm} instead of just compressed, and that we should use S3's native Content-Encoding to store it instead of a custom metadata.
Also, based on https://github.com/rust-lang/docs.rs/issues/379#issuecomment-512834913 the two options I was considering were zstd 9 or brotli 5 leaning torwards brotli as it uses 10% less disk space in that benchmark. You're using zstd 5 in the PR.

The other option that @namibj was investigating was zstd with a custom dictionary optimized for rustdoc output, I can probably adapt the linked benchmarking script to test that as well with a dictionary created from the docs I have.

Oops, the benchmarks before got cut off. Here are some taken with a desktop instead of a laptop:
compress regex html     time:   [715.28 us 715.74 us 716.27 us]
Found 9 outliers among 100 measurements (9.00%)
  4 (4.00%) high mild
  5 (5.00%) high severe

decompress regex html   time:   [37.410 us 37.438 us 37.470 us]
Found 8 outliers among 100 measurements (8.00%)
  3 (3.00%) high mild
  5 (5.00%) high severe

Another idea might be to store a set of all the encodings used for a particular release into the release table, so we can easily lookup basic stats on compression usage without needing to go to S3. (A set to allow for different dictionaries based on filetype to be recorded).

store a set of all the encodings used for a particular release into the release table

This sounds like we'd only use it for metrics? I'm not opposed in principle but storing the same data in two places risks it getting out of sync.

Metrics don’t need to be a source of complexity, we can just as easily have an IntCounter that we increment with the total bytes saved by each build (plus additional if we’d like)

It's not really for metrics like what goes in grafana, more for future visibility into usage distribution. Especially with if we migrate dictionaries in the future knowing how many releases use which dictionaries could be useful to determine whether it seems feasible to do something like migrate all instances of a certain dictionary to a new one to remove it from the application.
Given that releases are basically read-only currently I don't think there's much chance of this data getting out of sync.

How would that interact with us deleting docs in the future (if we ever decided to do that)?

How would that interact with us deleting docs in the future (if we ever decided to do that)?

No effect, we'd just delete the rows out of the database as well.

Another idea might be to store a set of all the encodings used for a particular release into the release table, so we can easily lookup basic stats on compression usage without needing to go to S3. (A set to allow for different dictionaries based on filetype to be recorded).

@Nemo157 a possible issue with this is it prevents using different compression algorithms for different files within a release. Does that sound worth it? Otherwise we'd have to store metadata for each file individually in the database which sort of the defeats the point of an S3 bucket.

That's why I mention a set of encodings, we don't need to know exactly which files use which encoding, just that having this set of encodings is enough to access all files in the release (and if we want to know in detail then we would have to query the metadata on all the files).

I added the set of compression algorithms used as a many-to-many-table in the database, with a unique constraint so we don't end up with duplicates by accident.
I'm open to suggestions for more tests but otherwise I think I addressed all the comments.

As to using a custom zstd dictionary: it sounds like the rust zstd crate needs some fairly major changes to make that performant, I don't want to delay having any compression at all on that. If we want to use brotli instead for the storage that sounds reasonable but otherwise I think zstd 9 is fine.

I think it definitely makes sense to start with zstd now and add custom dictionary support later. Going with brotli now and moving to zstd custom dictionary later would require keeping both libraries around indefinitely.
Doing it in two steps also gives us the chance to see any performance impacts of each step.
One last thought I had was whether there should be a config var to disable compression, so if there are any issues in production that can just be toggled rather than having to do a rollback.

One last thought I had was whether there should be a config var to disable compression, so if there are any issues in production that can just be toggled rather than having to do a rollback.

It doesn't take very long to revert, about 5 minutes. In general I like the idea of having feature gates instead of "it's compiled in or it's not" but I'm a little wary of toggling features with environment variables, I'd rather come up with something more principled.

Let me know if there are any more changes that need to be made, I think I addressed all the review comments.

I just found that this will prevent us from updating builds if we rebuild a crate:
thread 'main' panicked at 'Building documentation failed: Error(Db(DbError { severity: "ERROR", parsed_severity: Some(Error), code: SqlState("23505"), message: "duplicate key value violates unique constraint \"compression_rels_release_algorithm_key\"", detail: Some("Key (release, algorithm)=(1, 0) already exists."), hint: None, position: None, where_: None, schema: Some("public"), table: Some("compression_rels"), column: None, datatype: None, constraint: Some("compression_rels_release_algorithm_key"), file: Some("nbtinsert.c"), line: Some(434), routine: Some("_bt_check_unique") }))', src/bin/cratesfyi.rs:321:21

I think I need to add an ON CONFLICT DO UPDATE clause.


Pre commit hook fails

I have setup my development environment as described here: Setting up a Development Environment. This is working so far and I could make changes and tests were running fine.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
An unexpected error has occurred: CalledProcessError: command: ('C:\\Users\\madnex\\.cache\\pre-commit\\repoxdo4288b\\py_env-default\\Scripts\\python.EXE', '-mpip', 'install', '.')
return code: 1
expected return code: 0
stdout: (none)
stderr:
    Traceback (most recent call last):
      File "C:\Users\madnex\Anaconda3\envs\nltk\lib\runpy.py", line 196, in _run_module_as_main
        return _run_code(code, main_globals, None,
      File "C:\Users\madnex\Anaconda3\envs\nltk\lib\runpy.py", line 86, in _run_code
        exec(code, run_globals)
      File "C:\Users\madnex\.cache\pre-commit\repoxdo4288b\py_env-default\lib\site-packages\pip\__main__.py", line 29, in
        from pip._internal.cli.main import main as _main
      File "C:\Users\madnex\.cache\pre-commit\repoxdo4288b\py_env-default\lib\site-packages\pip\_internal\cli\main.py", line 9, in
        from pip._internal.cli.autocompletion import autocomplete
      File "C:\Users\madnex\.cache\pre-commit\repoxdo4288b\py_env-default\lib\site-packages\pip\_internal\cli\autocompletion.py", line 10, in
        from pip._internal.cli.main_parser import create_main_parser
      File "C:\Users\madnex\.cache\pre-commit\repoxdo4288b\py_env-default\lib\site-packages\pip\_internal\cli\main_parser.py", line 8, in
        from pip._internal.cli import cmdoptions
      File "C:\Users\madnex\.cache\pre-commit\repoxdo4288b\py_env-default\lib\site-packages\pip\_internal\cli\cmdoptions.py", line 24, in
        from pip._internal.cli.parser import ConfigOptionParser
      File "C:\Users\madnex\.cache\pre-commit\repoxdo4288b\py_env-default\lib\site-packages\pip\_internal\cli\parser.py", line 12, in
        from pip._internal.configuration import Configuration, ConfigurationError
      File "C:\Users\madnex\.cache\pre-commit\repoxdo4288b\py_env-default\lib\site-packages\pip\_internal\configuration.py", line 24, in
        from pip._internal.utils import appdirs
      File "C:\Users\madnex\.cache\pre-commit\repoxdo4288b\py_env-default\lib\site-packages\pip\_internal\utils\appdirs.py", line 13, in
        from pip._vendor import platformdirs as _appdirs
      File "C:\Users\madnex\.cache\pre-commit\repoxdo4288b\py_env-default\lib\site-packages\pip\_vendor\platformdirs\__init__.py", line 42, in
        PlatformDirs = _set_platform_dir_class()  #: Currently active platform
      File "C:\Users\madnex\.cache\pre-commit\repoxdo4288b\py_env-default\lib\site-packages\pip\_vendor\platformdirs\__init__.py", line 21, in _set_platform_dir_class
        from pip._vendor.platformdirs.windows import Windows as Result
      File "C:\Users\madnex\.cache\pre-commit\repoxdo4288b\py_env-default\lib\site-packages\pip\_vendor\platformdirs\windows.py", line 3, in
        import ctypes
      File "C:\Users\madnex\Anaconda3\envs\nltk\lib\ctypes\__init__.py", line 8, in
        from _ctypes import Union, Structure, Array
    ImportError: DLL load failed while importing _ctypes: The specified module could not be found.
Check the log at C:\Users\madnex\.cache\pre-commit\pre-commit.log

I am using a conda environment with python 3.10.4 on a Windows 10 machine. So far I couldn't find any helpful info for this issue on the web. Any help would be appreciated :)

Hello!
This seems to be an issue with pre-commit combined with conda. I've found a handful of other users with similar issues, e.g.:

https://github.com/pre-commit/pre-commit/issues/1329
https://github.com/JuliaPy/PyCall.jl/issues/963
https://github.com/conda-forge/python-feedstock/issues/539
https://github.com/materials-marketplace/standard-app-api/issues/6

In particular this comment may be helpful.
https://github.com/materials-marketplace/standard-app-api/issues/6#issuecomment-1144726898
I can't find a "direct fix", but hopefully you can find a solution in any of the links. Otherwise, it seems like it may work for Python 3.9.

have the same issue with python 3.10.4 on a Windows 10

Thank you both for your help!
This worked for me as well :)

have the same issue with python 3.10.4 on a Windows 10，I fixed the issue by reinstalling python from the conda-forge channel.
conda config --add channels conda-forge
conda install python=3.10

Glad to hear it, I'll close this, then!


Proposal: Arbitrary alternate flags in std::fmt::Formatter

Currently, std::fmt::Formatter::alternate feature is meant to support just a single bool value, being written like "{:#}" in format templates, but I wonder if this was more extensive like "{:#flags}" and the signature of the method was:
pub fn alternate(&self) -> Option<&str>

But obviously this is a breaking change, so I'd propose a new method to be added:
pub fn alternate_flags(&self) -> Option<&str>

where the resulting &str is the string after the #. Of course it can be empty, i.e. "{:#}" => Some("").
 I think the format of the flag string should be completely left to users because use cases definitely vary, such as:

To switch whether to include ANSI color codes in the result
To specify IETF language tag to localize the result
To excerpt some part of the result by name or range, just like URI fragments (using the same symbol #!)
... etc.

Closing as moved to https://github.com/rust-lang/libs-team/issues/155.


"Radio" link on https://100r.co/site/raspberry_pi.html doesn't work

It leads to https://100r.co/site/the_radio.html but the page doesn't exist.
https://github.com/hundredrabbits/100r.co/blob/54f9fedd199199365bf2734eb97835e573217753/site/raspberry_pi.html#L61
Should it lead to https://100r.co/site/raspberry_pi.html#radio_pi instead?

Well yes! It should! Fixed it.
All the Raspberry Pi projects used to link to different pages, and we forgot to change that specific link. Thanks for reporting it.


Re-order execution in CacheTagHelper to avoid setting the result too early

Re-enable skipped tests
Fixes #7042

I'd recommend looking at https://github.com/aspnet/Mvc/pull/7068/files?w=1 to avoid the diff in whitespace.

@ryanbrandenburg looks like AppVeyor's picked up .NET 4.7.1 which is resulting in test failures (See https://github.com/Microsoft/dotnet/blob/master/releases/net471/KnownIssues/510901-BCL Apps targeting .NET-4.6.1 that use .NET Standard libraries might be broken when running on .NET 4.7.1.md). Could you figure out if there's a way to pin it to a machine without 4.7.1?

I created aspnet/Mvc#7069 to iterate on this since it's impossible to check locally.


Format drops comments between items in a table

Below, # one and # two are dropped by calling .fmt():
use toml_edit::DocumentMut;

fn main() {
    let toml = r#"
[items]
# one
foo = [1, 2, 3]
# two
bar = [4, 5, 6]
    "#;
    let mut doc = toml.parse::<DocumentMut>().expect("invalid doc");
    doc["items"].as_table_mut().map(|t| t.fmt());
    let expected = r#"
[items]
foo = [1, 2, 3]
bar = [4, 5, 6]
    "#;
    assert_eq!(doc.to_string(), expected);
}

Yes, fmt is fairly naive in what it does.  I'm a bit hesitant about making it much smarter

There is a long tail of what that even means and can depend on style guides
There is ambiguity about what what a comment is associated with and there is likely no right answer we can provide

Overall, this seems better suited for a heavier weight manifest formatting tool, with related configuration, rather than expecting the TOML parser / formatter to do it all.
Within Cargo, the approach we've taken is

If we think its reasonable to sort something and we detect its currently sorted, keep it sorted
Insert new content with "good enough" defaults
Leave everything else to cargo fmt to eventually handle

The last part is modeled off of cargo fix which applies rustc's suggestions naively and you have to choose to format your code, rather than rustc being aware of your rustfmt configuration or cargo guessing you want rustfmt run.
Even when there isn't a manifest formatter yet, like in Cargo's case, I think its still helpful to be naive about formatting so you don't throwaway formatting from the user which is especially important for users to see the diff of what the machine generated change was.


Uncategorized misc TODOs

Summary
Just copy/pasting TODOs from Python code:
# TODO: In order to account for the possibility that people could edit their prior messages, can add as a param to this
#  ...function "account_for_edits"=True, or "cache"=False
# TODO: Add "as_of" field with today's date at the time we ran this script.
# TODO: spelling variations: v2 and V2 should be the same count, "Terminology Service" and
#  "Terminology Svc", "$lookup" and "lookup operation(s)", etc.
# TODO: keyword_variations: consider adding column to spreadsheet and using e.g. V2 variations would be "V2, Version 2"

Feel free to work on any of these if you have any additional time after #6 and #7 and want to do more
Tasks

[ ] 1. Account for edits: (probably time consuming to do)
[x] 2. Add as_of: Can add this field to all of our CSVs (df_raw and the reports). The value for this should be the same for all rows. It should be today's date at the time that the script is run, formatted YYYY-MM-DD.
[x] 3. Spelling variations: (probably time consuming to do)
[x] 4. Keyword variations: I think this one is harder than (2) but easier than (1) and (3). Basically I'm thinking that we would convert this data structure:

KEYWORDS = {
    'product_families': [
        'V2',
        'Version 2',
        'CDA',
        'C-CDA',
        'V3',
        'Version 3'
    ],
}

into this one:
KEYWORDS = {
    'product_families': [
        ['V2', 'Version 2'],
        ['CDA'],
        ['C-CDA'],
        ['V3', 'Version 3'],
    ],
}

or this:
KEYWORDS = {
    'product_families': {
        'V2': ['V2', 'Version 2'],
        'CDA': ['CDA'],
        'C-CDA': ['C-CDA'],
        'V3': ['V3', 'Version 3'],
    },
}

OR, and probably this is the best:
We update the google sheet with a column for the variations.

moved edits thing to: #24


[Screen Reader-Home Page-Blog] Name Property is not defined for the 'Print ' button showing on Blog Page.

User Experience:
Users with Visual disabilities might not able to understand the controls if Name Property is not defined. Like in the scenario Name Property is not defined for the Print button.
Test Environment
OS: RS2 Version 1703(OS Build 15063.2)
Platform: Edge.
Screen reader: Narrator
Repro Steps
1-Navigate to url:- https://makecode.com/
2-Navigate to the Blog control lying in the header section on the page and select it.
3-Navigate to the Print button showing on blog page.
4-Verify that Name Property is defined for the Print bbutton or not.
Actual Result
Name Property is not defined for the 'Print ' button showing on Blog Page.
Expected Result
Name Property should be defined for the 'Print ' button showing on Blog Page.
MAS Reference
https://microsoft.sharepoint.com/teams/msenable/Documents/LCA/MAS - July 1, 2017 Release/MAS 4.1.2 – Name, Role, Value.docx?d=w248054a65e6847719e1e242fb5025730&csf=1
Suggested fix:
1- Using aria-label to give an invisible name to element, where name/title property is not used
e.g.
'Close' button can have only ‘X’, to make it more meaningful aria-label attribute is used with ‘Close’ text to help AT’s without showing the content on UI

   This is a pop-up box.
      X

2-   Using ARIA role to expose the control type of user interface component
e.g.

3-   Using ARIA attributes to expose the element’s state
e.g.

Refer Attachment:

Bug is verified on URL : https://makecode.com/ bug still exists .Hence reactivated the bug and added the Active tag.

Bug is verified on URL : https://makecode.com/ bug still exists .Hence reactivated the bug removed the fixed tag and added the Active tag.

@veler reopened bug

The issue is fixed but not deployed yet.

Verified on URL: https://makecode.com/ and issue is fixed now. Hence closing the bug


Indexing API Batch Request API Quota Issue

Hi,
I am using Batch service to Publish URLs to indexing API. But It is count each Urls as single request, but It should be 1 request for 1 batch?
My issue is If I Publish 20 URls in single batch request it is counting as 20 Publish requests per day instead 1 request.
$client = new \Google_Client();

$client->setAuthConfig('/var/www/html/privateKey.json');
$client->addScope('https://www.googleapis.com/auth/indexing');
$client->setUseBatch(true);

$service = new \Google_Service_Indexing($client);
$batch = $service->createBatch();

// add request
$postBody = new \Google_Service_Indexing_UrlNotification();
foreach ($urlList as $url) {
    $postBody->setType('URL_UPDATED');
    $postBody->setUrl($url);
    $batch ->add($service->urlNotifications->publish($postBody));
}
// ---- add request

$results = $batch->execute(); // it does authorize in execute()

Hi @chiragvels, the batching quota is counted at the URL level. For example, if you combine 20 requests into a single HTTP request, it still counts as 20 requests for your quota. ref.

@vishwarajanand ,
Thanks for your response. Got it.
I know this question is not related to the library, but I’m not able to see the Quota increase page on Google cloud console as suggested in this guide.
Any idea how I can connect with team to increase quota?
https://developers.google.com/search/apis/indexing-api/v3/quota-pricing#request-more-quota

@chiragvels  do you not see the following screen on this link ?

Once you click, EDIT OUOTAS you'll see this:

And the links will take you to a google form where you can submit your case.

Hi @vishwarajanand ,
I am seeing First Image, but not seeing second option which is

Once you click, EDIT OUOTAS you'll see this:

Not seeing this screen.

Also There is no way we can handle error if batch request fails.
It is giving all-together different Obj.
So If it successful it will provide Google\Service\Indexing\PublishUrlNotificationResponse Object
But when fails It provides Google\Service\Exception Object.
So how I can manage?
If I use Google\Service\Exception::getError() it handles fail request but at the time successful request fails with Call to undefined method Google\Service\Exception::getUrlNotificationMetadata()
Same way for successful request Call to undefined method Google\Service\Indexing\PublishUrlNotificationResponse::getErrors()
Thanks,

Hi @vishwarajanand
I am seeing this

@chiragvels you should follow the link contact our Sales Team, I do not have visibility into that.
If you get Service\Exception, you could use getErrors to see HTTP responses. Then retry individual requests to get past that error.
One more thing, you should do use the URL https://indexing.googleapis.com/batch instead of https://www.googleapis.com/auth/indexing while editing scope. ref

Hi @vishwarajanand ,

you should follow the link contact our Sales Team, I do not have visibility into that.

I tried contacting them by call and even by email, but no response yet by them. Is it because I am on Basic support?

If you get Service\Exception, you could use getErrors to see HTTP responses. Then retry individual requests to get past that error.

I have handled this incase on error by doing under try
if ($result instanceof Google_Service_Exception) {
       $error_arr      = $result->getErrors();
}

One more thing, you should do use the URL https://indexing.googleapis.com/batch instead of https://www.googleapis.com/auth/indexing while editing scope, ref. Its discussed in https://github.com/googleapis/google-api-php-client/issues/1567

Ok, I changed this as per ref.

Glad it helped. Closing the issue.
Not sure whether it’s “because” of you being on basic support.

hi


Edit suppliers info with audit events

Pivotal story: https://www.pivotaltracker.com/story/show/95432212
Add AuditEvent model
Audit fields:

type - type of the event
user - user login or email address. Not a reference to the user
account, since the admin access is not controled by a User account
right now
data - a general JSON field for any information about the event
object - a generic reference and can point to objects of any type
to trace the history of events related to a given model object

object uses primary keys for reference since there's builtin support
for them and the natural keys (supplier_id and service_id) have
different types (int and string). This means that if the object is
replaced completely the AuditEvents references will not point to the
replacement.
Add audit events to supplier and contact information updates
Store the related supplier object (for both direct supplier and
related contact information updates) and the incoming request data
as "request" field of event data field.
NOTE: Doesn't store update_details since they're not passed in to the API. We should talk about what the user and reason fields for AuditEvents should look like, since they're not really informative the way they're used right now (updated_by is not linked to a User and updated_reason is usually set to a static value where the request is made).
Set empty list as default value for supplier.clients
Since the clients field is not required by the suppliers schema it
can be left out when importing a supplier, which makes it default
to null. Setting a default value for the model field makes sure
that clients is always a list.
Add links to ContactInformation.serialize
Adds a link to update contact information details. url_for points
to the update endpoint, since there's no read endpoint for contacts
yet, but the URL should stay the same.
Nested contactInformation links are dropped in supplier PUT to pass
the JSON schema validation.

Completely forgot about timestamps for audit events. Leaving this open for travis/review for now, but shouldn't be merged yet.

I like this much better than the plugin version.  No auto-merge, but looking good.


Updated costs of builtins to main repo values.

Updated rc96 to be about the same padding factor as regular rc.

This change is

What do you mean by "the same padding factor"?


Adding instructions for integrating Backtrace with swift-service-lifecycle

Swift-server just announced https://github.com/swift-server/swift-service-lifecycle
The current Backtrace instructions interfere with the swift-service-lifecycle shutdown signal handling.  This PR adds alternate instructions for adding Backtrace to the swift-service-lifecycle.
Only concern is I needed to register a function with no arguments, so I used the deprecated Backtrace.print() function.  Given the benefits of swift-service-lifecycle handling the interrupts, I suggest un-deprecating Backtrace.print().
For testing, here's my main.swift from my Netrek Server, which is successfully using lifecycle and backtrace:
https://github.com/darrellroot/netrek-server-swift/blob/master/Sources/netrek-server-swift/Lifecycle/main.swift
And here's output from a shutdown.  Note the backtrace.  One other concern is whether the backtraces in general will be useful if they always come via the lifecycle.
netrek@netrek-server-swift:~$ ./netrek-server-swift/.build/x86_64-unknown-linux-gnu/debug/netrek-server-swift --directory /home/netrek/netrek-data --empire
Initializing server
saving data
Server started and listening on [IPv6]::/:::2592
Starting Run Loop
^C0x5617d90e5ed9, static Backtrace.Backtrace.print() -> () at /home/netrek/netrek-server-swift/.build/checkouts/swift-backtrace/Sources/Backtrace/Backtrace.swift:73
0x5617d92a40d9, closure #1 ((Swift.Optional<Swift.Error>) -> ()) -> () in static Lifecycle.LifecycleHandler.sync(() throws -> ()) -> Lifecycle.LifecycleHandler at /home/netrek/netrek-server-swift/.build/checkouts/swift-service-lifecycle/Sources/Lifecycle/Lifecycle.swift:62
0x5617d92a4312, Lifecycle.LifecycleHandler.run((Swift.Optional<Swift.Error>) -> ()) -> () at /home/netrek/netrek-server-swift/.build/checkouts/swift-service-lifecycle/Sources/Lifecycle/Lifecycle.swift:78
0x5617d92ad6ab, Lifecycle.ComponentLifecycle.Task.shutdown((Swift.Optional<Swift.Error>) -> ()) -> () at /home/netrek/netrek-server-swift/.build/checkouts/swift-service-lifecycle/Sources/Lifecycle/Lifecycle.swift:477
0x5617d92ad78d, protocol witness for Lifecycle.LifecycleTask.shutdown((Swift.Optional<Swift.Error>) -> ()) -> () in conformance Lifecycle.ComponentLifecycle.Task : Lifecycle.LifecycleTask in Lifecycle at /home/netrek/netrek-server-swift/:0
0x5617d92ac48b, closure #1 () -> () in closure #1 ((Swift.Optional<Swift.Error>) -> ()) -> () in Lifecycle.ComponentLifecycle.(shutdownTask in _E72740DFB8F1D6E6BB04AB9A64070EAA)(on: Dispatch.DispatchQueue, tasks: Swift.Array<Lifecycle.LifecycleTask>, index: Swift.Int, errors: Swift.Optional<Swift.Dictionary<Swift.String, Swift.Error>>, callback: (Swift.Optional<Swift.Dictionary<Swift.String, Swift.Error>>) -> ()) -> () at /home/netrek/netrek-server-swift/.build/checkouts/swift-service-lifecycle/Sources/Lifecycle/Lifecycle.swift:433
0x5617d92a553f, reabstraction thunk helper from @escaping @callee_guaranteed () -> () to @escaping @callee_unowned @convention(block) () -> () at /home/netrek/netrek-server-swift/:0
0x7f637c8df986
0x7f637c8f4037
0x7f637d2dd608
0x7f637c7ca102
0xffffffffffffffff
saving data
sending shutdown warnings
shutdown complete

Not giving useful backtrace info consistently.  Will reopen if I figure it out


Correct description of not allowed characters

In my testing it seems like these specific characters are not allowed (mostly "/" and ":") - but the docs currently say they are supported.
This change would also somewhat align with this doc page: https://experienceleague.adobe.com/docs/target/using/activities/abtest/create/ab-set-metrics.html?lang=en#activities

Thanks for the correction. I am merging your changes now.


[BUG] fromMobile is not correct

Hello,
I've found that when I type some text from my iPhone using the Facebook Messenger app,
both fromMobile and from_mobile field in the typ event object are all false.
I'm using the npm facebook-chat-api ^1.0.8 version.
Thanks.

I just log the chat event in listen.js to observe that whether Facebook has changed or create a new messaging format. And I found that :
If I type on my computer:
{"st":1,"from":100000574428847,"to":100000971915598,"from_mobile":false,"realtime_viewer_fbid":100000971915598,"type":"typ"}
If I type on my phone:
{"type":"typ","from":100000574428847,"st":1}
It seems that if I type on my phone,
the typ event object will not contain from_mobile field.

Same as the version 1.1.0

Hey,
This is thing at the Facebook side, so we cant do anything with this, but I think the some other parameter got the information about from where the message has been sent, I think the value contains a "messenger" word. I will try to look it so fast I can !

Are you using the messenger app or the website? This might be for mobile web and not for the native app, which would really suck.
If this is the case we should remove that field.

@bsansouci I'm using Facebook Messenger native app on iPhone.


feat: surface error from environment detection if one occurs

EDITOR-72
If the appc ti info command fails this will send the output of that command to a output channel and prompt the user to check it out, this hopefully might make it easier to debug issues like #484

Warnings

:warning:

src/appc.ts#L199 - src/appc.ts line 199 – Forbidden non-null assertion. (@typescript-eslint/no-non-null-assertion)

:warning:

src/appc.ts#L199 - src/appc.ts line 199 – Forbidden non-null assertion. (@typescript-eslint/no-non-null-assertion)

:warning:

src/appc.ts#L349 - src/appc.ts line 349 – Forbidden non-null assertion. (@typescript-eslint/no-non-null-assertion)

:warning:

src/extension.ts#L311 - src/extension.ts line 311 – Forbidden non-null assertion. (@typescript-eslint/no-non-null-assertion)

:warning:

src/extension.ts#L476 - src/extension.ts line 476 – Forbidden non-null assertion. (@typescript-eslint/no-non-null-assertion)

:warning:

src/extension.ts#L487 - src/extension.ts line 487 – Forbidden non-null assertion. (@typescript-eslint/no-non-null-assertion)

Messages

:book:

:white_check_mark: All tests are passing
Nice one! All 32 tests are passing.

:book:

:floppy_disk: Here's the built vsix for this change.

  Generated by :no_entry_sign: dangerJS against c989a891f8733751561cd519f981355fd99bda79


Interpolation issue with Hagan West Monotone Convex

The following input seems to give bad output with a strange jump,
reference_times = np.array([0.08219178, 0.12328767, 0.16438356, 0.24657534, 0.32876712, 0.4109589, 0.49315068, 0.98630137, 1.02191781], dtype=np.float64)
yields = np.array([2.5e-5, 1.189e-4, 2.151e-4, 4.236e-4, 6.5e-4, 8.905e-4, 1.141e-3, 2.6321e-3, 4.366e-3], dtype=np.float64)
interp_times = np.linspace(0.1, 1.0, 100, dtype=np.float64)
interp_yields = monotone_convex.interpolate_yields(interp_times, reference_times, yields=yields)

Plotting it out gives,

Can someone kindly advise?
Regards,

Hi, thank you for reporting the issue!
There was a bug in the code which is fixed in the latest commit
Using the nightly version (pip install tff-nightly), I run your code and get

Please let me know if this solves the issue

Many thanks for the prompt turnaround! Let me try it out and report back :)
Cheers,

I've tested and the fix looks good!
Thanks


npm package please :)

Well, I don't think it's a good idea, I must instead consider archiving this repo.
You may prefer to use more modern way to show flags (using SVG, using a more optimized process, etc.), since three year, there is a room of improvements to match current web environnement.
I even not sure all flags are still up-to-date.
 Sorry!
That said, if you want to update this repo code, feel free to create a PR! 😺


false positive when iterating over a table with keys

--!strict
local POSIX_CHARS = {
  DOT_LITERAL = "",
  PLUS_LITERAL = "",
  QMARK_LITERAL = ""
}

local WINDOWS_CHARS = {
  END_ANCHOR = '(?:[' .. ']|$)'
}
for k,v in POSIX_CHARS do -- incorrect "Cannot iterate over a table without indexer"
  WINDOWS_CHARS[k] = v
end

This can be reproed super minimally.
--!strict

local tbl = {}
for k, v in tbl do

end

I think this is a duplicate of https://github.com/Roblox/luau/issues/745 so I'll close this in favor of that since it was reported earlier.


Maintenance status

I noticed in the readme that you plan to deprecate the project. I don't know how many users it has or if there are alternatives but i'd like to suggest to you that you should instead attempt to find new maintainers. The best places for that are probably r/rust and This week in Rust's Call for Participation section, maybe also https://users.rust-lang.org/.
You can create a GitHub organization and add interested people into it. You could also attempt to transfer ownership to an organization that already depends on it like https://github.com/alacritty. As a last resort, you can use Rust Bus so the crate can find new owners and save people the maintenance burden of looking for a new fork and switching to it.

No takers?

I'm sorry I have not spoken up about this before, I was rather hoping that a community member would take the lead on this. We use arboard at work and we would be willing to take ownership of the project under our wing but we hesitated to do so in part because we do not use all the features/platforms and did not want people getting the idea that we are officially supporting those without making any use of them ourselves. I have spoken with a few people here and the consensus is that we could take over ownership if we were to add the following disclaimer:
Please note that this is not an official <my employer> product. Feature requests will be considered on a volunteer contribution basis. Issues not affecting our own use of this crate may not get immediate attention but we will happily accept  pull requests from contributors willing to work with us to get it merged.

What are your thoughts on the matter?

I'd be glad to take that offer. I just want to remain a maintainer for a little while at least. What's the organization or account I should transfer to?

Just to keep you updated: I had a think about this over the weekend and decided that this was a bit above my current comfort level, I just don't know enough about the domain to be able to answer the questions/things that are in the current pull requests.

I'm glad to hear you want to remain a part of the project. What did you have in mind for the required level of permissions and level of interactions? I honestly feel a little bad asking the question but our IT & dev ops need to verify we can set things up correctly. Things get complicated for external users at levels above Triage.
For the transfer itself, we will have to go through an intermediate user who is an employee because of Github permission requirements for transferring to an organisation.

This might already be obvious but just in case: the repository must remain public.
I'd like to have "Write" access because I'd like to be able to merge PRs.
Making an intermediate transfer is fine with me.

@PurpleBooth thanks for investing your time into this! I often feel like I don't know enough about the domain either.

I'm so sorry to keep you waiting. I hope you will understand but I am trying to get confirmation and pre-approval internally before accepting any transfers and other events/work has kept those teams really busy recently. I don't want to accept a transfer until I am sure that no policy or lack of approval would prevent us from assigning you the permissions you are comfortable with.

This might already be obvious but just in case: the repository must remain public.
I feel I should address this one directly because it is a pretty important point. We have no desire to limit access to this project and we want it to remain publicly accessible for the benefit of all.

Thank you for your considerate approach @mathieulj

So it seems I have to apologize again and I must take full responsibility. This issue has fallen through the cracks for me while I had blinders on trying to get something else sorted out. We have gotten the pre-approvals internally so we can proceed without worry of something preventing us from giving you your requested permissions after the transfer.
With that said, we are coming up on the holiday season where a lot of staff will be out on paid leave. Would you prefer we wait until the second week of January to do the transfer? This would avoid possible delays between the transfer starting and getting your write access on the transferred project in our organization.

It's alright. I'm grateful that your organisation takes this over.

Would you prefer we wait until the second week of January to do the transfer? This would avoid possible delays between the transfer starting and getting your write access

Yes in that case I prefer to start it in January. Have a great holiday!

Thank you, and same to you!

For anyone who is following along with this issue, the transfer to 1Password has been completed. We'll be helping to passively improve and maintain the crate going forward. We should have some contribution guidelines up soon that cover it better soon 😃.


vsTAAmbk: 0.8.1 -> 0.8.2

Update vsTAAmbk to try fixing the build.  The build gets further, and is now failing at the pythonCatchConflictsPhase.
pythonCatchConflictsPhase
/nix/store/q2zpnf017gccs9w9mb0ikdqhkf0k5v82-catch_conflicts.py:1: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
  import pkg_resources
Found duplicated packages in closure for dependency 'vsutil':
  vsutil 0.6.0 (/nix/store/vpg7qszfkwy4x037rvfczs2qk1pgajbp-vapoursynth-65-with-plugins/lib/python3.11/site-packages)
  vsutil 0.6.0 (/nix/store/qbwy0xpvmsiyj4pi6f5sa23sy1bar8pf-python3.11-vsutil-unstable-2021-10-23/lib/python3.11/site-packages)

Package duplicates found in closure, see above. Usually this happens if two packages depend on different version of the same dependency.

I can't figure out the root cause, or why it is not happening with other plugins that depend upon vsutil (directly or indirectly).

Im only 80% sure since its been very long time but If i remember correctly its because as in the error message the python module is present twice once as regular dependecy and once from the vapoursynth withPlugins call in the checkInputs.
I filter out all python plugins for the test phases.
https://github.com/sshiroi/vs-overlay/blob/0818757d94d6367bdc6ae4ab576fe078fef2fb9e/build-support/pythonfunc_singlefile.nix#L36


Adds insertWithTimestamps method

As we know that when we insert a new record into the database using Query Builder, The created_at, and updated_at columns are still NULL, and the previous scenario forces us to add created_at, and updated_at into the values array so, this PR helps us to update the timestamps of the inserting process without adding these columns
Before This PR
DB::table('users')->insert([
    'name' => $request->name,
    'email' => $request->email,
    'password' => Hash::make($request->password),
    'created_at' => now(),
    'updated_at' => now(),
]);

After this PR gets merged
DB::table('users')->insertWithTimestamps([
    'name' => $request->name,
    'email' => $request->email,
    'password' => Hash::make($request->password),
]);

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.


MathBinary has some bug

I use mleap to save to bundle zip file, but when I get input schema,  I miss the MathBinary  tranformer's input StructFeild, anyone can help?

Could you please post an example of how you're using MathBinary transformer? We have https://github.com/combust/mleap/blob/372cfa59991527c1a43efa75d8915cca7c3f1b23/mleap-spark-extension/src/test/scala/org/apache/spark/ml/mleap/parity/feature/MathBinaryParitySpec.scala that shows a working example, for reference.

Closing this, please feel free to re-open if you still have an issue. Thank you!


Simplify https://github.com/elyra-ai/elyra repository README

The readme currently contains a lot of low level information that we can probably remove or replace by linking to the appropriate official documentation, which we've improved a lot during the past couple of months. Doing so would remove duplication (and thus simplify maintenance) and make the readme cleaner.
Opportunities for Growth include:

Add new getting started section with links to the most important resources, such as tutorials. This would replace the current features list and add links to the in-depth topics in the documentation.
Remove section https://github.com/elyra-ai/elyra#configuring-runtimes-for-pipeline-execution
Remove docker content https://github.com/elyra-ai/elyra#using-docker and link to https://elyra.readthedocs.io/en/latest/getting_started/installation.html#docker instead

Fixed with #1122. Closing


Allows user to customize port server

thanks for your package adr-viewer - it's simple and great. I would like to start using it but one feature is missing for me. Would be great to have an easy option to change the port. I prepared a simple proposition to achieve that functionality.
Let me know if you are open to adding functionality like this or when should I handle it on my fork.

Looks good to me, thanks for making the PR!


is C# 10 for .Net-Framework possible

[it is not finally clarified whether it is permissible to select a higher C# version than 7.3 for a .Net Framework project (e.g. C# 10).]

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 46e75de6-8d41-b986-5f95-67a1149c6d8c
Version Independent ID: b75d77df-8629-28f8-bc46-b8bc1a4b8ab1
Content: Resolve errors related to language version and features
Content Source: docs/csharp/language-reference/compiler-messages/feature-version-errors.md
Product: dotnet-csharp
Technology: csharp-diagnostics
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Hi @jk-ware
Using C# 10 with .NET Framework 4.8 isn't supported.  You can read more here.
I've opened a PR to add a link to that article.

Thank you Bill, for the straight answer!


[Core] Optimize OAHashMap

Similar to #90082 and #90126

Are there any reasons why @Geometror didn't implement fastmod here? And can I add it here?

I'd suspect because this is largely a legacy class a far as I recall

Yeah, I think @AThousandShips is right, this is a legacy class. I think there might be some specific cases where it could be more performant than HashMap, but to be sure we should run some benchmarks (AStar and certain geometric operations use it). If I remember correctly we wanted to remove it at some point.

This data structure looks much better for trivial types than the standard one. We don't use extra 3 pointers that weigh 24 bytes in total, and we don't use extra system calls to allocate memory. It is also better friends with the cache.

Tested the regular and OA map from the master branch.
Time inserting before: 114961
Time inserting after: 141894
Time inserting before: 111946
Time inserting after: 140684
Time inserting before: 110359
Time inserting after: 95678
Time find before: 54432136
Time find after: 51467400
The insertion is much worse because MAX_OCCUPANCY in hash_map is 0.75, and here it is 0.9.

Your current changes have broken the function of the map somehow, as seen in a case where it's used and now not working

Maybe because I didn't do a rebase with master

Maybe because I didn't do a rebase with master

That wouldn't cause that

Yes. I thought so because I did tests locally and they passed. This is most likely due to the refactoring commit.

You need to add the same fix to reserve


Build out chat interface to replace AgentThinking and respond to every command

Description
Please include a summary of the change and link to an issue this PR fixes. Please also include relevant context. List any downstream components that might be affected by this change.
Fixes # (issue)
Type of change
Please check the options that are relevant.

[ ] Bug fix (non-breaking change that fixes an issue)
[X] Proposes a change (non-breaking change that isn't necessarily a bug)
[X] Refactor
[ ] New feature (non-breaking change that adds a new functionality)
[ ] Breaking change (fix or feature that would break some existing functionality downstream)
[ ] This is a unit test
[ ] Documentation only change
[ ] Datasets Release
[ ] Models Release

Type of requested review

[X] I want a thorough review of the implementation.
[ ] I want a high level review.
[ ] I want a deep design review.

Before and After
If this PR introduces a change or fixes a bug, please add before and after screenshots (if this is causes a UX change) or before and after examples(this could be plain text, videos etc ) to demonstrate the change.
If this PR introduces a new feature, please also add examples or screenshots demonstrating the feature.
Testing
Please describe the tests that you ran to verify your changes and how we can reproduce.
Checklist:

[X] I have performed manual end-to-end testing of the feature in my environment.
[ ] I have added Docstrings and comments to the code.
[ ] I have made changes to existing documentation where needed.
[ ] I have added tests that show that the PR is functional.
[ ] New and existing unit tests pass locally with my changes.
[ ] I have added relevant collaborators to review the PR before merge.
[ ] [Polymetis only] I ran on hardware (1) all scripts in tests/scripts, (2) asv benchmarks.

https://user-images.githubusercontent.com/87049088/152894195-2a161da5-d375-4a8d-8ce1-21bd68ce240e.mov

Thanks for this @ys1382fb!  I tried checking out your changes, but the dashboard doesn't compile with yarn start without changes.  There are deprecated imports for Message.css (in Message.js, now deprecated?) and AgentThinking.js (in StateManager.js).  If these imports and the the associated references are cleared, the dashboard will compile and launch.  However, there appears to also be a bug where the chat interface doesn't recognize when a command is done processing and unlock for a new command.  I'm only seeing it unlock when it hits the safety check in my testing.  Also, it might be that I can't see this yet because of the previous issue, but is error labeling also implemented?


Implement dynamic timing loops for message loops & make configurable

Currently, all of the message loops run on a fixed approx. 30hz loop based on sleeping for 33 ms.
Of course, since actually processing requests and sending data takes time, this is not 100% accurate.
We should use a compensating timing loop that detects how long processing took and tries to adjust its sleep amount accordingly. It should also report when it took more than 33ms to finish a cycle.

Done. Hardcoded to best effort 30Hz


move output_field_types and output_offsets to DAGContext

What problem does this PR solve?
Issue Number: ref #4118
Problem Summary:
What is changed and how it works?

move output_field_types and output_offsets from DAGQueryBlock to DAGContext
use DAGContext.keep_session_timezone_info directly in DAGQueryBlockInterpreter
move initOutputInfo and initExecutorIdToJoinIdMap to the constructor of DAGContext

Check List
Tests

[ ] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/run-all-tests

/rebuild

/run-all-tests

/run-all-tests

/run-integration-test

/run-all-tests

/run-unit-test

/run-all-tests


refactor: migrate to new version of gtr

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


No Provider for MdTooltip

Bug, feature request, or proposal:
When I inject the MdTooltip service into a component I get a No Provider for MdTooltip error.
All other material components I use are working fine. Tooltips work fine too except for the injecting.
What is the expected behavior?
No runtime error.
What is the current behavior?
No Provider for MdTooltip
What are the steps to reproduce?
Create a new ng-cli app and inject MdTooltip.
Example plnkr: http://plnkr.co/edit/UIzqoHLPqWMk2W0H5pRj?p=preview
What is the use-case or motivation for changing an existing behavior?
Using MdTooltip service functions such as show()
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
@angular/cli: 1.3.1
node: 7.6.0
os: darwin x64
@angular/animations: 4.3.5
@angular/cdk: 2.0.0-beta.8
@angular/common: 4.3.5
@angular/compiler: 4.3.5
@angular/core: 4.3.5
@angular/flex-layout: 2.0.0-rc.1
@angular/forms: 4.3.5
@angular/http: 4.3.5
@angular/material: 2.0.0-beta.8
@angular/platform-browser: 4.3.5
@angular/platform-browser-dynamic: 4.3.5
@angular/router: 4.3.5
@angular/cli: 1.3.1
@angular/compiler-cli: 4.3.5
@angular/language-service: 4.3.5

That's because MdTooltip is a component, not a service. You can only inject it into a component or child of a component that uses mdTooltip.

How would I go about programmatically showing or hiding a tooltip then? Is there some example online showing it?

Modified plunker: http://plnkr.co/edit/UfCu0W0YO6ysarSszKyn?p=preview

To get an instance of MdTooltip in your component you could use ViewChild and then call the methods show and hide to handle its visibility.

@datrinh
It already activates using tap via touch device. You can't use the click event because of the interaction method which explains below.
You can view the demo code for how to programmatically trigger the tooltip here or using the ViewChild example in @rafaelss95 plunker.

@rafaelss95 that's because you're using the event click for calling the method show. If you see the demo example it uses the mouseenter event on the buttons.
The problem is with the interactions method here.
  /**
   * Interactions on the HTML body should close the tooltip immediately as defined in the
   * material design spec.
   * https://material.google.com/components/tooltips.html#tooltips-interaction
   */
  _handleBodyInteraction(): void {
    if (this._closeOnInteraction) {
      this.hide(0);
    }
  }

I'm not sure if there needs to be a way to disable this, because of what the Material spec states?

A tooltip is triggered by tapping and holding an item

But I do believe it still should be up to the developer to deviate from the material specs when it's really required.

@joejordanbrown nice to know the reason why it isn't working :)
In fact, what @datrinh wants is something like a popover (issue here.

@rafaelss95 Yes, maybe a popover is more appropriate. haha yes, that's correct, it's still very much a WIP, waiting for the full @angular/cdk to be published then it will have a full rewrite. I'm still unsure if the API for it is over complicated though. It tries to cater for all use cases, which sometimes just makes it confusing to use. it works pretty well as a form popover too on input focus and blur.

OK, following situation:
I'm listening to the press event from hammerjs and I call tooltip.show() via ViewChild in the onPress() event handler. The problem is, that the tooltip doesnt show unless I explicitly move away with the mouse and reenter the button with the press event again... Apparently, it's the situation @joejordanbrown described above. Any workaround for this?
I don't really need a popover with carets or anything. Pretty much the style of the tooltip with showing and hiding is what I need. Am i better off building my own component for it?

Please keep GitHub issues for bug reports / feature requests. Better avenues for troubleshooting / questions are stack overflow, gitter, mailing list, etc.

@jelbourn @crisbeto this is a valid issue that should be answered by a team member if it's the intended purpose to strictly prohibit activation of the popover using other events that will automatically initiate the _handleBodyInteraction method and hide the tooltip.
If you read my comments above I go into detail about why it doesn't allow all types of events to trigger show and close. if it's currently working how it should following the Material Specs exactly, then it would be nice to have that clarified and then it can be added to the documents to stop confusion.

@joejordanbrown not being able to open the tooltip on click is definitely a bug. It'll be resolved by https://github.com/angular/material2/pull/6590.


Support Vuejs file (fix #6290)

fix #6290.
Vuejs file is like HTML.
And this related #6191 and #4700.

@yyx990803 Is that really appropriate?

I guess it doesn't hurt as long as it doesn't interfere when the user explicitly installs https://github.com/LiuJi-Jim/vscode-vue

I tested the fix togther with the https://github.com/LiuJi-Jim/vscode-vue extension.
Unfortunately it seems HTML wins. Therefor I reverted the fix again.
Users can always associate the vue extension the html in the file association setting.


Remove config for unused publishing_api_db_admin machine.

This config was for an RDS instance which was never created.

Related PRs:
https://github.com/alphagov/govuk-aws-data/pull/558
https://github.com/alphagov/govuk-puppet/pull/9543

Bit more context: code for the RDS instance itself was deleted in https://github.com/alphagov/govuk-aws/pull/1083.


Documentation: UI elements

UI elements are what most ZPUI apps use. They need to be properly documented, so that people know what to use in their ZPUI apps. What are the requirements?

Documentation page for each UI element (under docs/ui/)
Brief description (autogenerated from UI element docstrings)
Usage example
Links to places where the UI element is used in stock apps

Some files (like docs/ui/menu.rst) already have 1, 2 and 3 done, so they can be used as a reference for syntax necessary. Reference to all available UI elements can be found in ui/__init__.py file, and example usages of most UI elements can be found in apps/example_apps.

Instructions on helping with documentation are available here: http://zpui.readthedocs.io/en/latest/docs_development.html


Use native vim folds for sections and hunks

Is your feature request related to a problem? Please describe.
As of now, the primary function we have for opening/closing folds is toggle (default <Tab>). It would be nice if there were also bindings for opening/closing the current fold which behave similar to vim's own zo and zc. We would then be able to close a higher level fold that we are nested in without needing to jump to its line.
Additional Context
So far, the only thing that makes this plugin a bit unintuitive/clunky for me personally is the vertical navigation. I think that treating the folds more like vim folds would greatly aid in that. Then again, I have never used magit before so my perspective is a bit narrow.

The nightly branch contains a rewrite of all the folding logic, including using native folds :)
One caveat: On the status buffer we lazily load diffs for performance reasons. This means you need to open the fold with <tab> at least once to run the callback function. Afterwords, it's a normal fold.


[fix] enable linux driver building for 5.14.0-503.14.1.el9_5

Rocky 9.5 was released with new kernel package version. This version back-ports changes from kernel-6.3.0. This hotfix enables building libajantv2 linux drivers.

Did not notice that newest version contains that same fix...


Docs: how to add you own Provider (eg for react-intl-redux)

https://gitter.im/MoOx/phenomic?at=57c54e70570d057454c2b340

Going to be fixed with #925 (moving to user-land)

Will be part of docs


Adding Quiz testing feature for Every ML topic.

I want to add a quiz test system for each and every topic available in the web site which will tell a student based upon their performance in a certain topic that he/she is at beginner , Intermediate or advance level and on that basis the Student can decide that which course is preferable for them. It will make the site more Interactive for users.
Please assign me this issue under gssoc-ext label.

@SoumyaU25 make sure to complete this issue for the next 2 days.
and join the discord server.

@SoumyaU25 i have assigned you this issue before 5 days, and didn't updated yet so i am closing this issue.

@vivekvardhan2810 actually my exams are going on in between this so can you extend my deadline to 11th or 12th October. I'll surely complete it by then

@SoumyaU25 no problem, for now I have closed this issue, I have assigned you a issue which is open, you can complete that.


Preprocessing of HotpotQA

Hi,
Thank you for your work and sharing your code!
I have some questions about the file you provide: "HotpotQA reader train data". Can you please point/share the preprocessing code that gives "answer starts", because the original hotpotqa training data doesn't have this. Also, in that file, are all yes/no regarded as "is_impossible=True"?

Can you please point/share the preprocessing code that gives "answer starts", because the original hotpotqa training data doesn't have this.

We simply mark the first span in the gold paragraphs matching the original answer as the answer starts. We are preparing to release the codes we use to create the train data for reader & graph retriever as well.
The first only  solution might be suboptimal as the spans matching the original answer may appear multiple times in the gold paragraphs, and the first span might not entail the question.
We could incorporate some approaches (e.g., MML or Hard EM) to handle multiple answer spans when only answer strings are given, but we leave that part as other two datasets (SQuAD and Natural Questions) provide span-level annotations.
We also observe that in HotpotQA, the first spans in the paragraph matching the original answer string generally entails questions, maybe due to the dataset bias as discussed in Hard EM paper.

Also, in that file, are all yes/no regarded as "is_impossible=True"

Yes; the is_impossible means we cannot find the answer span in the original paragraphs and thus we set is_impossible to True for yes/no questions.
Please let me know if you have further questions!

Thanks a lot for your clarification!
I'm looking forward to seeing your preprocessing code. In the meanwhile, I'm using this:
https://github.com/shmsw25/DecompRC/blob/master/DecompRC/prepro_util.py#L68
Do you have any statistic/number on how often the first matching answer entails the question?
Also a note related to preprocessing, I found some (94) empty paragraphs from the fullwiki data. I also found some questions in the training data with supporting facts pointing to non existent sentence. (Example: qid: "5a7b23ca554299042af8f703" sf: ['Minoru Suzuki', 2] -- Paragraph has only 2 sentences (0,1)!)

Do you have any statistics/numbers on how often the first matching answer entails the question?

I don't have exact statistics right now, but when I analyzed 100 examples randomly sampled from HotpotQA dev set, I don't see many questions where the spans selected by first only heuristics can be spurious.

Also a note related to preprocessing, I found some (94) empty paragraphs from the fullwiki data. I also found some questions in the training data with supporting facts pointing to non existent sentence. (Example: qid: "5a7b23ca554299042af8f703" sf: ['Minoru Suzuki', 2] -- Paragraph has only 2 sentences (0,1)!)

Thank you for reporting the bug! We'll fix it soon.


NotFoundError: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.

Please include some context and the contents of the console in your browser's developer tools.
JavaScript Error
Error: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.
    at Rl (http://<IP_ADDRESS>:8000/:138:100946)
    at Cc (http://<IP_ADDRESS>:8000/:138:112448)
    at t.unstable_runWithPriority (http://<IP_ADDRESS>:8000/:138:11072)
    at $a (http://<IP_ADDRESS>:8000/:138:56140)
    at Lc (http://<IP_ADDRESS>:8000/:138:110483)
    at Ec (http://<IP_ADDRESS>:8000/:138:106602)
    at http://<IP_ADDRESS>:8000/:138:56362
    at t.unstable_runWithPriority (http://<IP_ADDRESS>:8000/:138:11072)
    at $a (http://<IP_ADDRESS>:8000/:138:56140)
    at qa (http://<IP_ADDRESS>:8000/:138:56308)

Reproduction Steps
Please tell us what you were doing when this error occurred, so we can more easily debug it and find a solution.

…

User Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36

Hi @imanariii, can you check if the error also occurs in Incognito mode?

Hi, I'll be closing this issue due to inactivity. If you or anyone else are still experiencing this problem, feel free to open a new issue and we'll happily look into it :) Thanks!


Exposes sys.Stat_t as a portable alternative to syscall.Stat_t

This exposes our internal Stat_t type for use in fs.FileInfo.Sys. This allows customizers to provide raw stat details from host functions or mask inodes with fake ones.

if folks are ok with this, I'll add a RATIONALE.md section for each and every field as well an example_test.go for how to use this to embelish an fs.FS with inodes cc @GeorgeMac

ok everything done imho except RATIONALE, which I'm adding now

added RATIONALE, so I think done

I'll handle more feedback post merge if folks have it. Meanwhile, merging as we prepare for v1.3.0 soon


Update AzurePSDrive.psm1 to reflect changes AzureRM.Resources

The Get-AzureRmResource cmdlet is being updated in the upcoming release of AzureRM and will no longer support listing resource groups. The Get-AzureRmResourceGroup exposes the same properties as this previous call and will keep backwards compatibility.

@raghushantha, can you please code review it? thanks


Component Constructing middleware can fire twice

It seems like it is possible for the Constructing middleware function to fire twice. Needs to be investigated.

This just ended up being a duplicate component class due to a Rojo issue.


Update jest-environment-jsdom to use JSDOM 11

Summary

We want the closest thing to a real browser environment when running our tests - therefore it makes sense to use the latest and greatest JSDOM.
Test plan

Will run against a large (non-trivial) project codebase

Hey, thanks for your PR, but as long as we support Node 4, we cannot accept this. You can use custom environment instead though, there are couple of them already using JSDOM 11 :) https://npms.io/search?q=jest-environment-jsdom
Cheers!


Lesson 6 (Index error and cannot add accounts on ganache-local)

The error has been solved on issue #345

but when i try to follow the method, this error showed up and i don't know what went wrong.

You cannot use --accounts argument if you're not adding a network into Development but this is not the main issue
For the IndexError, you are most likely not connected to your ganache-cli as you think you are
It didnt work for me on loopback interface (<IP_ADDRESS>) so I switched it for my Ethernet interface in the settings
Then I changed the host in brownie networks to the new url and it worked perfectly


Nested routing with a parameter in the parent

Hi @caseyWebb
Great work on this tool. I evaluated other routers for my project and this one is by far the best choice for a Knockout app. I am trying to follow your example  of nested routing but could use a hand on how to navigate around the sub routes.
My config looks like this:
routes: any = {
        '/book/:id': ['book-workspace', {
            '/': '',
            '/page/:id': 'page-disp',
            '/page/new': 'page-new'
        }]
    };

When I navigate by manually changing the URL, it works fine and the child route changes as expected. However, when I try to navigate to a child route using a link, it overwrites the entire path instead of changing the child route.
For example, when I click this link from #/book/2/, I expect to be routed to #/book/2/page/new. Instead, I am routed to #/page/new.
New Page

Update
It looks like you start with the basePath every time, so my binding should look like:
New Page

Is that correct or is there a more elegant way?

It depends on the location of the path binding in relation to the router you are targeting.
So, if your path binding is in the 'book-workspace', anything starting with / will be assumed to be at the same level as that component (adjacent to '/book/:id'). To target the child router, append ., i.e. ./page/new
I just added an example that may help you:
https://github.com/Profiscience/ko-component-router/blob/master/examples/path-binding/index.js
Lastly, see: https://github.com/Profiscience/ko-component-router/blob/master/docs/path-binding.md

Perfect. Exactly what I needed. Thanks!


tensorcharts.com renders a blank page

The issue stems from a recent update to the website that includes ravenjs library which is blocked due to tracking reasons.
if you're having issues with this site just comment line 58157
#<IP_ADDRESS> cdn.ravenjs.com
See:

https://github.com/StevenBlack/hosts/issues/705
https://github.com/lightswitch05/hosts/commit/6a256c58cc46b43e5961373c3e5640743c178932#commitcomment-29581997

related:

https://github.com/getsentry/sentry/issues/8918

Note:
I previously proposed the removal of @lightswitch05's hosts file because the blocked content does not serve ads, however ad blocking is not the sole purpose of this hosts file.

@Deprofets you are still welcome to open tickets involving my list on my project page


Basic BIP86 support - taproot addresses

Basic BIP86 support
gun setup seed --address-kind (tr|wpkh)

Basic taproot descriptors work too
setup descriptor "tr(tprv8ZgxMBicQKsPd3EupYiPRhaMooHKUHJxNsTfYuScep13go8QFfHdtkG9nRkFGb7busX4isf6X9dURGCoKgitaApQ6MupRhZMcELAxTBRJgS)" --network testnet

I have not tried any complex descriptors yet (like on https://bitcoinops.org/en/preparing-for-taproot/#taproot-descriptors

could merge this onto master while we work on frost

Yeah we should either use latest release of BDK (not our branch) or wait for bdk_core to be useable in the next two weeks. Then re-integrate FROST there. My feeling is we should just use bdk_core here to kick the tires on it.


feat: roundtrip field metadata in FFI

This is a very rough draft.
Which issue does this PR close?
Closes #478.
Rationale for this change
It would be nice for field metadata to roundtrip between PyArrow and Rust layers.
What changes are included in this PR?

Are there any user-facing changes?
Yes. Fields passed through FFI will no longer lose their metadata.

Closing in favor of #3944.


Clumping and pairwise LD for specified SNP lists

I was alerted to your package recently and it looks extremely valuable, congratulations!
I did have a couple of feature requests, apologies if this is already implemented I didn't see the documentation.

Clumping - where SNPs are ordered based on their p-value in GWAS and are iteratively filtered by removing any SNPs in LD with the SNP with the lowest p-value
Creating an LD matrix for a list of SNPs (e.g. rather than a region)

Thanks for these suggestions @explodecomputer . These features are not yet implemented in Tomahawk.
There is a big update coming to Tomahawk in the next few weeks and I will be sure to implement your suggestions.


Impulse drive shipdamage

Just a little cleanup and updating to make the Impulse Drive sheet work a bit better for the latest version of the rules.

Thanks @salmelo! My css and HTML skills are very lacking so your help is greatly appreciated.


InvalidAccessError on OpenCursor

Code used to create the index in question:
    if (oldVersion < 13) {
        var orders = openRequest.transaction.objectStore("orders");
        orders.createIndex("routeSearch", ["dateOfOrder", "routeID", "p_locID", "s_locID", "placementID"], { unique: false }); // routeid, plocid, slocid, iplpk
    }

Code used to access the index:
        var lowerBound = [finalDate, routeLow, '0', '0', '0'];
        var upperBound = [finalDate, routeHigh, '999999999', '999999999', '999999999'];

        var orderTrans = db.transaction("orders", "readonly");
        var orderStore = orderTrans.objectStore("orders");
            var orderIndex = orderStore.index("routeSearch")
            var request = orderIndex.openCursor(IDBKeyRange.bound(lowerBound, upperBound, true, true));

I've discovered that it fails on this line in "return new IEGAPRequest(iegIndex, iegIndex.objectStore.transaction, function (success, error) {":
            var req = iegIndex._idx.openCursor(idbRange, dir);

Could I be doing anything wrong here?
Thanks for your help.

Thanks for reporting. I hope to have a chance to look at this as soon as I get a chance but we just got a child so I'm short of time the near days.
If there's any body out there that could help with this, feel free to file a pull request and I'll merge it in


feat(nuxt-port): issue #279 and similar to nx-plus/vue:serve

Current Behavior
The port have to be only set on `nuxt.config``
Expected Behavior
Acts like @nx-plus/vue:dev-server receiving a port option
Related Issue(s)
Pointed out at https://github.com/ZachJW34/nx-plus/issues/279
Fixes #

@ZachJW34 can you take a look?


ESP32 second core SMP

HI All
I am currently running release version 202012.00. on ESP32-WROVER-IE (8MB).
How can I use the second core with this version? I tried xTaskCreatePinnedToCore however this is just a reap of xTaskCreate
int xTaskCreatePinnedToCore( void (pxTaskCode)(void),
const char * const pcName,
const uint32_t usStackDepth,
void * const pvParameters,
unsigned uxPriority,
void * const pxCreatedTask,
const int xCoreID )
{
return xTaskCreate(pxTaskCode, pcName, usStackDepth, pvParameters, uxPriority, pxCreatedTask);
}
And xTaskCreateStaticPinnedToCore is not part of the code.
I did go through this link; however, I am new to freertos and did not understand what I had to do to make it work.
https://github.com/aws/amazon-freertos/pull/1248
System information

Hardware board: [ ESP32-WROVER-IE (8MB).]
IDE used: [ VS Code ]
Operating System: [ Windows]
Code version: (run git describe --tags to find it)
Project/Demo: [shadow_demo | custom application]

Hi @smartnimbus
Currently this repository does not support the SMP version of FreeRTOS from Espressif. We are working on a SMP feature for FreeRTOS kernel. The blog post for this, can be found here and the github SMP branch can be found here. It does not support SMP for ESP32 yet.
You can still use ESP32 dual core version of FreeRTOS from esp-idf repository along with our AWS IoT CSDKs.

Hi @smartnimbus,
Did the above response answer your question? We will close this issue if we do not hear back from you.

as I am using greengrass i am not able to use the AWS IoT Device SDK for Embedded C, therefore i will have to Wait until  greengrass is part of the Device SDK or you have  SMP enabled in FreeRTOS .

Hi @ravibhagavandas , is there any estimation when SMP capability will be available to amazon-freertos project especially for ESP32?
Thanks


docs are broken

readthedocs keeps using python3.7 to create virtual environments in which the package is installed. This clashes with packages like scipy, as required versions are not available for python<3.8.

That seems to work


job.result constantly throws WebsocketError but result still returned

Describe the bug
Every time I do job.result() I get the following:
runtime_job._start_websocket_client:WARNING:2022-09-21 12:33:37,772: An error occurred while streaming results from the server for job ccljphso2t6hsbe5u570:
Traceback (most recent call last):
File "/opt/miniconda3/envs/qiskit/lib/python3.10/site-packages/qiskit_ibm_runtime/runtime_job.py", line 452, in _start_websocket_client
self._ws_client.job_results()
File "/opt/miniconda3/envs/qiskit/lib/python3.10/site-packages/qiskit_ibm_runtime/api/clients/runtime_ws.py", line 70, in job_results
self.stream(url=url, retries=max_retries, backoff_factor=backoff_factor)
File "/opt/miniconda3/envs/qiskit/lib/python3.10/site-packages/qiskit_ibm_runtime/api/clients/base.py", line 230, in stream
raise WebsocketError(error_message)
qiskit_ibm_runtime.api.exceptions.WebsocketError: 'Max retries exceeded: Failed to establish a websocket connection.'
However, the result still gets returned, e.g
EstimatorResult(values=array([0.4488]), metadata=[{'variance': 0.79857856, 'shots': 10000}])

Additional Information

qiskit-ibm-runtime version: master
Python version: 3.10
Operating system: OSX

@ChitsimranGill I am still seeing this issue. Just wanted to check if you had a chance to do a discovery on this one?

Ah ok! So it's when I submit and the job is sitting in with a callback function enabled and I am waiting on the streaming results using job.result()... if you wait long enough (meaning a backend that is busy) then you will see this.
Here's a snippet of code:
    def result_callback(job_id, result):
        print(result)

    def calculate_kernel() -> list:
        # get indices to calculate
        row_indices, col_indices = get_indices(x_vec, y_vec, is_symmetric)
        num_qbits = X_train.shape[1]
        qc = QuantumCircuit(num_qbits)
        fmX = ZZFeatureMap(num_qbits, entanglement='linear', reps=1)
        fmY = ZZFeatureMap(num_qbits, entanglement='linear', reps=1, parameter_prefix='y')
        fm = qc.compose(fmX)
        fm = fm.compose(fmY.inverse())
        start_time = time.time()
        service = QiskitRuntimeService(instance=backend_instance, channel=backend_channel, token=environ['RUNTIME_APIKEY'])
        options = Options(optimization_level=3, resilience_level=1)
        backend = service.backend(backend_name)
        circuits = [fm.assign_parameters(np.concatenate((x,y))) for x, y in to_be_computed_data_pair]
        with Session(service=service, backend=backend):
            sampler = Sampler(options=options)
            job = sampler.run(circuits=circuits, callback=result_callback)
            job.result()

And here is the error I see:
runtime_job._start_websocket_client:warning:2022-11-01 02:47:40,760: An error occurred while streaming results from the server for job cde68qfeprknk3c1v0c0:
Traceback (most recent call last):
 File "/usr/local/lib/python3.8/site-packages/qiskit_ibm_runtime/runtime_job.py", line 452, in _start_websocket_client
 self._ws_client.job_results()
 File "/usr/local/lib/python3.8/site-packages/qiskit_ibm_runtime/api/clients/runtime_ws.py", line 70, in job_results
 self.stream(url=url, retries=max_retries, backoff_factor=backoff_factor)
 File "/usr/local/lib/python3.8/site-packages/qiskit_ibm_runtime/api/clients/base.py", line 230, in stream
 raise WebsocketError(error_message)
qiskit_ibm_runtime.api.exceptions.WebsocketError: 'Max retries exceeded: Failed to establish a websocket connection. Error: Traceback (most recent call last):\n File "/usr/local/lib/python3.8/site-packages/websocket/_app.py", line 383, in run_forever\n dispatcher.read(self.sock.sock, read, check)\n File "/usr/local/lib/python3.8/site-packages/websocket/_app.py", line 66, in read\n if not read_callback():\n File "/usr/local/lib/python3.8/site-packages/websocket/_app.py", line 349, in read\n op_code, frame = self.sock.recv_data_frame(True)\n File "/usr/local/lib/python3.8/site-packages/websocket/_core.py", line 401, in recv_data_frame\n frame = self.recv_frame()\n File "/usr/local/lib/python3.8/site-packages/websocket/_core.py", line 440, in recv_frame\n return self.frame_buffer.recv_frame()\n File "/usr/local/lib/python3.8/site-packages/websocket/_abnf.py", line 338, in recv_frame\n self.recv_header()\n File "/usr/local/lib/python3.8/site-packages/websocket/_abnf.py", line 294, in recv_header\n header = self.recv_strict(2)\n File "/usr/local/lib/python3.8/site-packages/websocket/_abnf.py", line 373, in recv_strict\n bytes_ = self.recv(min(16384, shortage))\n File "/usr/local/lib/python3.8/site-packages/websocket/_core.py", line 524, in _recv\n return recv(self.sock, bufsize)\n File "/usr/local/lib/python3.8/site-packages/websocket/_socket.py", line 122, in recv\n raise WebSocketConnectionClosedException(\nwebsocket._exceptions.WebSocketConnectionClosedException: Connection to remote host was lost.\n'

I think this is where it is coming from:
https://github.com/Qiskit/qiskit-ibm-runtime/blob/ae64f85bff03daaec88dcd34fb3ffb178e274e1b/qiskit_ibm_runtime/api/clients/base.py#L230


Gh onshore wind

Add meaningful title here

Describe your feature here.
Related issue

Impacted areas of the software

Additional supporting information

Test results, if applicable

This PR has been superseded by PR #286


phpMyAdmin needs some attention

Currently need to work through the rest of the installation.

/quote Forbidden
You don't have permission to access /phpmyadmin on this server.
Looks like I just need to modify the php conf

Not finding too much help here, but here's one article:
https://www.liquidweb.com/kb/how-to-install-and-configure-phpmyadmin-on-centos-7/

https://github.com/pdaether/LAMP-CentOS-with-Vagrant/blob/master/files/vhost.conf
Also try the ip/phpmyadmin

This one helped:
https://stackoverflow.com/questions/23235363/forbidden-you-dont-have-permission-to-access-phpmyadmin-on-this-server
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
<Directory /usr/share/phpMyAdmin/>
  AddDefaultCharset UTF-8
  Order allow,deny
  Allow from all
  Require all granted
</Directory>

Seems to work good!

Default conf:
# phpMyAdmin - Web based MySQL browser written in php
#
# Allows only localhost by default
#
# But allowing phpMyAdmin to anyone other than localhost should be considered
# dangerous unless properly secured by SSL

Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin

<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       Require ip <IP_ADDRESS>
       Require ip ::1
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from <IP_ADDRESS>
     Allow from ::1
   </IfModule>
</Directory>

<Directory /usr/share/phpMyAdmin/setup/>
   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       Require ip <IP_ADDRESS>
       Require ip ::1
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from <IP_ADDRESS>
     Allow from ::1
   </IfModule>
</Directory>

# These directories do not require access over HTTP - taken from the original
# phpMyAdmin upstream tarball
#
<Directory /usr/share/phpMyAdmin/libraries/>
    Order Deny,Allow
    Deny from All
    Allow from None
</Directory>

<Directory /usr/share/phpMyAdmin/setup/lib/>
    Order Deny,Allow
    Deny from All
    Allow from None
</Directory>

<Directory /usr/share/phpMyAdmin/setup/frames/>
    Order Deny,Allow
    Deny from All
    Allow from None
</Directory>

# This configuration prevents mod_security at phpMyAdmin directories from
# filtering SQL etc.  This may break your mod_security implementation.
#
#<IfModule mod_security.c>
#    <Directory /usr/share/phpMyAdmin/>
#        SecRuleInheritance Off
#    </Directory>
#</IfModule>


unsigned ints have no client side validation for negative numbers.

If a user binds a uint value they're unable to type any non-numerical characters in the field due to the way <input type="number"... works in the browser. However, they can type -1 without any client side validation. It does however get validated on the server.
Example:
Add following to the model: public uint Age { get; set; }
Add the following to a cshtml form (with TagHelpers):
<input asp-for="Age" class="form-control" />

Type in -1. (No error occurs in browser)
Hit submit. (Errors are shown from validation on the server).

Closing because we are not planning to implement this.

FYI, users can do this explicitly with [Range(0, (int)uint.MaxValue)] on the property if they wish.


Add a colon to error message link

Objective

#12165 recently added links to Bevy errors in error messages.
The links were in the form of See: https://bevyengine.org/learn/errors/#b000N
B0004 does not have the colon separating See and the link, unlike the rest of the error messages

Solution

Add a colon, for consistency :)

I must admit I have no idea what labels work for an fix as simple as this. Adding C-Usability for now, though I considered C-Code-Quality.


Testing Changes

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@0a1799d). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master       #1   +/-   ##
=========================================
  Coverage          ?   94.26%
=========================================
  Files             ?       22
  Lines             ?     2128
  Branches          ?        0
=========================================
  Hits              ?     2006
  Misses            ?      122
  Partials          ?        0

Continue to review full report at Codecov.

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


where is transfer_py3-py2.py

Hello
In "Transfer the results to fit in Python 2.7" step: python script/transfer_py3-py2.py --res
I dont see any transfer_py3-py2.py in script folder. where is this file?

Thanks for using! We have uploaded it in the latest commit.

thanks


vcpkg error raised by download uncomplete

Sometimes file download not completed, but part file saved to the disk, then in the next step, vcpkg will raise error in cmake.
Vcpkg need remove uncompleted file, and download again.

Thanks for posting this issue. Please open a new issue if this is still a problem for you.


Pivot View Column Rename

In the superset version 0.36 we are using a Pivot view with Verbose name set on the columns. However the results don't consider the Verbose column name and show the names as per the underlying table. When flipping over to Table view the results show up as per Verbose name.
Expected results
The columns in the pivot view to be named as per the Verbose names provided to the columns.
Actual results
Only the first column in the pivot view get the verbose name applied. The rest all show the table column name as it is.

If applicable, add screenshots to help explain your problem.
How to reproduce the bug

Go to '...'
Click on '....'
Scroll down to '....'
See error

Environment
(please complete the following information):

superset version: 0.36.0
python version: 3.6

Checklist
Make sure these boxes are checked before submitting your issue - thank you!

[] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[x] I have reproduced the issue with at least the latest released version of superset.
[x] I have checked the issue tracker for the same issue and I haven't found one similar.

Additional context
Add any other context about the problem here.

+1

+1


Remove references to ::shadow

Shouldn't be merged until you're ready to create a release for Atom v1.13.
Fixes #42

I just released 1.8.0 with your previous PR, so you can just bump to the 1.13 engine in this PR and we'll move master over right away.

Bumped engine to v1.13 and rebased on master.


Get an uninformative error of "Lt is not a constructor" when creating a user with a invalid email format

invalid email format?

invalid email format?

without @ for example


Unable to receive incoming message (on 'message')

Bug Report

I have read:

Usage information
Help information

I am using the latest version of the library.
Expected Behavior

I am using 0.27.0 as the bot API library. The bot is only able to receive around 20-50 messages and then stopped, not receiving any incoming message at all.

Server up at Wed, 15 Feb 2017 12:36:35 GMT
First message to receive at Wed, 15 Feb 2017 12:39:00 GMT
Trace log:

As the bot is using in a few hundred groups and is running almost a year, the on 'message' will normally have more than ten messages per second.
Actual Behavior

The bot is now almost not able to receive any incoming message, including bot commands
Steps to reproduce the Behavior

This is an open source project, the code is hosted at GitHub Bot id: @jung2_bot
What I did:

Listened on both polling_error and webhook_error, no log from these two events.
Turn on server log, no error log found
Tested on both server and locally with a private group, and confirmed that the bot is not able to receive my own message
Created a new bot with a new API token, encountered the same issue

This happened recently (this few days) and since there is no log for the server due to privacy issue. I am not able to provide any log prior to when I noticed it.

Confirmed this is API issue by Telegram's support

Is it possible to disclose the issue? It will really help the community.

They didn't provide much information. I can share some of the trace logs, and I believe this is probably only happened to me.

Telegram and theirs servers, the never ending history of failures ...


update of yahs and other iuc tools

TODO: Please replace this header with a description of your pull request.
Installation sequence for tool-installers

[x] Test using @galaxybot test this
[x] Inspect CI output for expected changes
[ ] Deploy using @galaxybot deploy this if test install was successful
[ ] Merge this PR

@galaxybot deploy this


where can i download jar?

where can i download jar?

available via most dependency management tools using the GAV (GroupdId
ArtifactId Version);
G: org.hamcrest
A: hamcrest
V: 2.2
or download manually the maven repository;
https://search.maven.org/artifact/org.hamcrest/hamcrest/2.2/jar
95% of all projects use a build tool and don't manually download jars, i
think 60% use maven, 30% use gradle, 5% use other tools and 5% do it
manually. stats from the last snyk jvm ecosystem survey.
John
On Mon, 4 May 2020 at 13:05, martijintro<EMAIL_ADDRESS>wrote:

where can i download jar?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/hamcrest/JavaHamcrest/issues/302, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABCXYHOQOPL72QP5UXH2CDRP2VRTANCNFSM4MYWIDUQ
.

thx!! :-)

closed


App Store / Play Store account migration

Overview
We're still using cLabs owned accounts for Valora on the App Store and Play Store.
We want to move them to a Valora owned account.
The new accounts have been created. The work remaining is around transferring the apps (Valora and Alfajores) minimizing the interruption for our users / internal users and engineers.
We don't expect any interruption to Valora users or new users downloading the app.
Transfer conditions
There are a number of conditions for transferring apps on the App Store.
Highlights: the app must not be in review and TestFlight needs to be disabled.
And similar for the Play Store.
Highlight: transfer requests are processed within 2 business days.
Plan
Given the constraints, the current plan is to migrate the Alfajores app first and learn about any issue that may arise. And soon after transfer the Valora app.
This would be done directly after release 1.20 is made available publicly.
Expected to happen in the week between Oct 4th and Friday 8th.

[x] Create new App Store and Play Store accounts
[x] Review transfer conditions
[x] Invite internal users and engineers to the new accounts
[ ] Transfer iOS Alfajores app
[x] Transfer Android Alfajores app
[ ] Transfer iOS Valora app
[x] Transfer Android Valora app
[ ] Check/Update iOS signing secrets for our CI/CD pipeline
[ ] Check/Update Android signing secrets for our CI/CD pipeline
[x] Check/update push notifications keys (FCM and CleverTap)
[ ] Check/update TestFlight users
[x] Check/update Android testing track users
[ ] Check iOS app is listed under Valora, Inc.
[x] Check Android app is listed under Valora, Inc.
[ ] Check website links to Valora on the App Store / Play Store are working as expected

Need to check if iCloud backup implemented with the cLabs account will tie us there forever. If so, there is new urgency for this task. @jeanregisser - @kathaypacific will create a spike ticket


Fix nav bar

:tada: This PR is included in version 5.10.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add map of the wine regions

Highlight French wine regions that are selected - requires a decent shape file

Added map of the weather stations - using GeoPandas requires various tricky dependencies that streamlit isn't a big fan of so am using PlotLy to show the weather stations used (good approximation for area)


Correct example in getGenericResponseProfileFieldN

Fixes #559

Hi Iswaryaa, thanks for commenting. If correctly solved, please not just comment, but also merge feature branch (openBackhaul/issue559) into release branch (AP-v2.0.2_spe). Best regards, Thorsten


[release/1.5] upgrade containerd/continuity from v0.1.0 to v0.3.0

This is a backport of #7028, but not cherry-picked due to conflicts.
Fixes #7054.
Signed-off-by: Kazuyoshi Kato<EMAIL_ADDRESS>

@kzys probably needs a rebase to get the CI updates in

(oh! overlooked your last comment)

@thaJeztah Yeah. Will do!


Run ALIKED on CPU

Thank you for releasing ALIKED.
I performed a demo on CPU as follows:
$ python demo_pair.py assets/st_pauls_cathedral --device cpu

Then the following error happened.
    raise AssertionError("Torch not compiled with CUDA enabled")
AssertionError: Torch not compiled with CUDA enabled

My PC (MacOS) does not support CUDA.
Is ALIKED not yet CPU-compatible?

I have not tested this code on MAC, but CPU mode should be supported on Ubuntu.


Please Can I Join This Organisation? 🥺🙏"

Name:
Harsh Soni
Why do you want to join this organization?
Hey there,
I'm CSM Senior batch 2023, often engaged in exploring new technologies and implementing them in real life, would like to collaborate on fascinating open source projects with the community 👨🏻💻 😃
Pull request with your contribution
Replace this with a link to the pull-request with your contributions.
If you have not created a pull-request yet, please follow these instructions first.

Our Website 🌐 | Repositories 📚 | LinkFree Profile 🔗
You have received an email to join, or press this link - https://github.com/App-Choreography - , and you'll see a banner, for you to join the organisation! 🎉
You can also show that you are part of this org, by making yourself public. This will show our profile org on your profile:
Follow This:

After you join the organisation, search your name in the list of people. 🔍
Follow this below: ⬇

When you join our org, you will be automatically be part of our community team, where you will get updates, and news about our org!
We are so happy you have joined! Welcome to App Choreography! 🥳


Using multiple swap chain kills performance on macOS

Hi guys,
Today, I tried to use multiple swap chains for multiple windows rendering.
When I create my second window with my secondary swap chain, my performance drops by 50%. Note that I use GLFW as my window management system and I use MoltenVK 1.2.135 (LunarG). I also use triple buffering (3 swap chain images).
The Xcode profiler results indicate that my main thread is spending 32 msec waiting for the next drawables (2 x 16 msec to be accurate).
I'm pretty sure I'm missing something, so I've decided to post an issue in case someone would have a clue.
Thanks for helping!

Hey, just bumping this issue with additional information. We ran a test with our app in a Linux environment  with Vulkan, and everything's fine. So, it's likely to be something related to MoltenVK.
What information would you need for a more detailed report to address that issue?
Thanks

Could this be the same issue as in https://github.com/KhronosGroup/MoltenVK/issues/581 ? I have had a drop from 60fps to 30fps in general when having more than one window ever since I've started playing with more than one window.
I've observed stranger result still more recently but haven't had time to look into them.

They might indeed be related...but #581 discusses a wide range of situations.

I have had a drop from 60fps to 30fps in general when having more than one window ever since I've started playing with more than one window.

Per this thread, are you using more than one swapchain to do this?

Hi guys,
Thanks for helping 👍 Just back from vacation, so back to business now :)

With your triple buffering, are you using 3 images per swapchain? So 6 swapchain images total?

Yes, I'm using 3 swap chain images for each window. Hence N x 3 swap chain images depending on how many of them are open.

Do you have a sample app that you can upload to the cloud so we can investigate?

Working on it. I'll get back to you as soon as I have it for you.

I've just stumbled on this post: https://developer.apple.com/forums/thread/651571

I've just stumbled on this post, if that helps: https://developer.apple.com/forums/thread/651571

Interesting. Thanks for highlighting that.
Hmmm...we can certainly experiment with using -[MTLDrawable present] and -[MTLDrawable presentAtTime:] instead of -[MTLCommandBuffer presentDrawable:] and -[MTLCommandBuffer presentDrawable:atTime:].
But I must admit, I find the answer in that thread curious. It almost appears to be answering a different question than was asked. The drawable stalls are caused at the -[CAMetalLayer nextDrawable] retrieval end, not at the presentation end.
Not to mention that the documentation for -[MTLCommandBuffer presentDrawable:] is:

This is a convenience method that calls the drawable’s present method after the command queue schedules the command buffer for execution.

which is basically what we'd be doing in making this change.
Essentially, it's hard to see how using separate queues for presenting, or avoiding -[MTLCommandBuffer presentDrawable:] will help with the fundamental limit of 3 concurrent swapchain drawables. I suppose it's possible that there is poor internal design, causing the command buffer or queue to retain the drawable well after the buffer and queue are finished, but that would be very odd indeed.
Nevertheless, I'll add it to the dev list. If you get a chance to experiment with this in the meantime, please report results here.

Essentially, it's hard to see how using separate queues for presenting, or avoiding -[MTLCommandBuffer presentDrawable:] will help with the fundamental limit of 3 concurrent swapchain drawables. I suppose it's possible that there is poor internal design, causing the command buffer or queue to retain the drawable well after the buffer and queue are finished, but that would be very odd indeed.

I would be surprised as well that something like that wasn't spotted already by anyone else. In my case, as far as I can remember, we were stalling on waitForNextDrawable, not at presentation time as you mentioned. But well, who knows...

Nevertheless, I'll add it to the dev list. If you get a chance to experiment with this in the meantime, please report results here.

Thanks. I was sidetracked on something else this afternoon, but I will try to get a sample app ready for you by the end of the week :)

@dolphineye This may have been fixed in PR #1090. Can you retest and verify, please? If it has been fixed, please close this issue.

I confirm this has fixed the multi-window issue (double checked).
But it seems that we now have a crash:
[CAMetalLayerDrawable texture] should not be called after already presenting this drawable. Get a nextDrawable instead.
[CAMetalLayerDrawable present] should not be called after already presenting this drawable. Get a nextDrawable instead.

Do you also reproduce or is it likely it's an issue in our implementation ?

Not sure it's going to help, but here's the crash callstack:

For some reasons, it seems this fixed the issue:
-       [mtlCmdBuff addScheduledHandler: ^(id<MTLCommandBuffer> mcb) {
-               presentCAMetalDrawable(presentTimingInfo);
-       }];
+       presentCAMetalDrawable(presentTimingInfo);

Alternatively, this solution seems to be working as well:
-       [mtlCmdBuff addScheduledHandler: ^(id<MTLCommandBuffer> mcb) {
-               presentCAMetalDrawable(presentTimingInfo);
-       }];
-
        // Ensure this image is not destroyed while awaiting MTLCommandBuffer completion
        retain();
        [mtlCmdBuff addCompletedHandler: ^(id<MTLCommandBuffer> mcb) {
+               presentCAMetalDrawable(presentTimingInfo);
                makeAvailable();
                release();
        }];

@dolphineye
Thanks for your detailed debugging and reporting. Looks like there is a race condition on retrieving the drawable.
PR #1092 should fix this. Can you pull the latest and retest, please?

Just tested this morning, that's all good so far 👍. Thanks for addressing this issue, much appreciated!
Closing issue!


fix SpiderMultusConfig potential panic

The Annotations property may be a nil map, and I ignored to initial it.
Signed-off-by: Icarus9913<EMAIL_ADDRESS>What this PR does / why we need it:
fix bug
Which issue(s) this PR fixes:
close #2224

should pick to 0.6.0 ?


Select ALL Days option

ADD Select ALL Days option in graphs.

hey thanks for the good suggestion. i will implement that soon in my newest update that I will release. which by the way is going to be a big update with lots of changes. if you wanna get in touch with me and the community i have made a discord server too. I'll be happy to see you there.