After renaming a file by r using nvim-tree.lua, the completion menu still shows the old file name.

Describe the bug
After renaming a file by r using nvim-tree.lua, the completion menu shows the old file name.
As shown in the following GIF:

To Reproduce

Open any python project
Run :NvimTree and rename any module with r provided by the nvim-tree.lua.
Trigger the completion menu

Expected behavior
The completion menu should show the new file name.
NVIM v0.6.0-dev+533-g653d96329
Build type: Release
LuaJIT 2.1.0-beta3
Features: +acl +iconv +tui

I also post it on reddit and try to resolved it with a temporary solution: https://www.reddit.com/r/neovim/comments/qjoo8v/after_renaming_a_file_the_completion_menu_still/?utm_source=share&utm_medium=web2x&context=3

It isn't nvim-cmp's problem.
I think this is neovim's lsp problem. See https://microsoft.github.io/language-server-protocol/specifications/specification-current/#resourceChanges
LSP has a feature that is used to detect file resource renamed but I think nvim's lsp does not support it.

Thanks for the information. My current solution is to add an abbreviation :R for :LspRestart, and this is much simpler and bug-free from my self-answer in the link.


Use require for js and replace mocks with real file tests

This PR replaces require-from-string with require and replaces filesystem mocks with real file tests. @davidtheclark if you aren't happy with this implementation, feel free to close.
Working from this commit I have the majority of the loadJs feature added, but it looks like that will be superseded with #126. I'll hold off with that feature until #126 is decided on, unless you think otherwise?

This looks great! Thanks @chrisblossom.

Agreed 👍!

I've updated the PR to reflect the requested changes and fixed the tests. I reverted the updated Jest change so it will work on node 4 and updated getSpyPathCalls to normalize windows directory separators.
Also, v5 might be a good time to drop node 4 support. The end of life is scheduled for the end of this month. People wanting to support node 4 could continue to use cosmiconfig 4 as they are currently. Maybe should be bought up as a separate issue?
Regarding this PR, what do you think about replacing all files in fixtures to use the same TempDir test pattern?

Also, cosmiconfig v5 might be a good time to drop node 4 support. The end of life is scheduled for the end of this month. People wanting to support node 4 could continue to use cosmiconfig v4 as they are currently. Maybe this should be bought up as a separate issue?

Yeah, a separate, focused issue makes sense. Because cosmiconfig is low-level, I'd rather that cosmiconfig not force higher-level tools, its users, to stop supporting Node 4 (if those higher-level users have not already stopped). I know that Prettier still supports Node 4, for example. So unless absolutely necessary (and I don't think it should be), I'd prefer to keep supporting Node 4 until we're pretty confident that the bulk of cosmiconfig users have already dropped support.

Regarding this PR, what do you think about replacing all files in fixtures to use the same TempDir test pattern?

Yeah, that's a good idea 👍

fixtures removed and the rest of the tests migrated to TempDir. Found another place where content needed to be checked for whitespace too.
Anything else that I should do for this PR?


Added quantization to MMS speech recognition notebook

Added quantization with about 1.5x performance boost for both language identification and speech recognition models. Disabled quantization by default because it takes about 30 minutes (on my machine).

Done

View entire conversation on ReviewNB

Done

View entire conversation on ReviewNB

Done

View entire conversation on ReviewNB

Done

View entire conversation on ReviewNB


SELECT DISTINCT ON is not supported

In one of my views I need to call distinct on my query but I'm receiving this when I hit the django end point
Exception Type:	NotSupportedError
Exception Value:  SELECT DISTINCT ON is not supported

It is not supported by redshift itself, maybe you can use DISTINCT with a nested query to achieve what you want.

This doesn't seem to be an issue with django-redshift-backend and it's also not viable -- or even possible -- to interpret distinct on into distinct + subquery. 😞

postgres backend on Django supports "SELECT DISTINCT ON" and other backends don't.

https://github.com/django/django/blob/1.9/django/db/backends/base/operations.py#L130
https://docs.djangoproject.com/en/dev/ref/models/querysets/#distinct

I couldn't find information that "DISTINCT ON" is not supported, but it seems that it doesn't actually support it.
http://docs.aws.amazon.com/redshift/latest/dg/c_unsupported-postgresql-features.html
For this reason I will explicitly implement unsupported with django redshift backend.

It is not supported by redshift itself, maybe you can use DISTINCT with a nested query to achieve what you want.

No its possible for multiple columns.

I could have sworn that distinct was possible...
https://docs.aws.amazon.com/redshift/latest/dg/r_DISTINCT_examples.html


fix lint issues

Most nolint comments are removed and fixed, except:
//nolint:unparam
//nolint:gosec
//nolint:errcheck

please hold until #663 merged, thanks, there're too many overlap on file changes.


trinity: Use p2p.Server instead of running FullNodeSyncer directly

With this, when we run trinity we'll also be listening for incoming peer
connections
Part of #651

#685 caused some merge conflicts.


NoMethodError - undefined method `all' for #SwitchUser::GuestDataSource:0x007fd8d426f138

Hi,
Thanks for the gem, it's been super useful.
I started having this issue when I updated to 1.0. I'm on Rails 4.2.2, Ruby 2.2.1, Devise 3.5.1. It won't load the switch_user_select.
 Yeah, now it works (from master). The only other thing that changed is that now it doesn't work to pass a method for the available_users_names like it used to:
config.available_users_names = { :user => :switch_identifier }
User.rb
def switch_identifier
"#{role} | #{email} (id: #{id})"
end
thanks again!

@alesthome it's also fixed in version 1.0.1


Would it be possible to fix these?  No, I am not a maintainer.

@astropy-bot says:

The milestone has not been set (this can only be set by a maintainer)
Changelog entry not present (or pull request number missing) and neither the Affects-dev nor the no-changelog-entry-needed label are set

Would it be possible to fix these? Thanks!

Couldn't the bot first look to see I am a maintainer and then determine that because I am not a maintainer that I can neither set the milestone nor set labels?

@cclauss - Thanks for the feedback. Sadly it's not possible for the bot to check who is a maintainer. However the bot is currently undergoing a refactoring that may eliminate adding a comment altogether.
However that comment is going to be updated when a milestone is set, changelog added, etc.

I'm going to close this as we now no longer post the comment and use status checks instead.


Use crossterm instead of console

So that the terminal doesn't get corrupted after running the emulator.
Fixes #38

@helloxiling There's a long-standing issue with console where it leaves the terminal in a bad state when you hit Ctrl-C https://github.com/console-rs/console/issues/172
The easiest way around this is to use a different crate that handles that edge case a little better. I did some testing and crossterm doesn't seem to have the same issue.

Thanks!


Private tasks in aliases.yaml

Is there any way to set tasks as private in the aliases.yaml file?
See https://github.com/gruntjs/grunt/issues/741
Maybe there is some workaround possible.

Hi @freefri, if there is no way to do it in Grunt then there is no way to do it with load-grunt-config. But if you have an idea how this can be implemented please just provide a PR :)


CI: CircleCI now has a 50 minute timeout

See https://app.circleci.com/pipelines/github/mne-tools/mne-python/11466/workflows/2cdc35c4-e9cf-4fe6-872a-87a499804609/jobs/38423
I don't know a good solution since it currently takes 2-3h to build our docs.

just an idea...
braindecode builds the doc with gh actions but exposes it with circle ci:
https://github.com/braindecode/braindecode/blob/master/.circleci/config.yml
otherwise how much would it cost us?
this one is a real problem....

braindecode builds the doc with gh actions but exposes it with circle ci:
https://github.com/braindecode/braindecode/blob/master/.circleci/config.yml

Fine with me to give some variant of this a shot. I can give it a try sometime in the next week or two

otherwise how much would it cost us?

Based on our usage they recommend $195/mo

We could probably cut this down quite a bit for example by doing main and maint builds only weekly (like we do for linkcheck) rather than building each merged PR. But this at least gives us some sense of the cost.

we recently needed to solve that in autoreject as well, see https://github.com/autoreject/autoreject/pull/247, https://github.com/autoreject/autoreject/pull/248, https://github.com/autoreject/autoreject/pull/249
one thing that speeds up builds a lot is changing from the "docker" executor (1 core, 2-4GB RAM):
https://github.com/mne-tools/mne-python/blob/54638887057a2cc771e108e44dd4a61b75de4933/.circleci/config.yml#L18-L19
to a "machine" executor (2 cores, 7.5GB RAM):
https://github.com/autoreject/autoreject/blob/84989d341f0ca93c9d6e0b6f844dfeff0b69b834/.circleci/config.yml#L4-L5
That will probably still not suffice to meet the new 1 hour limit. So another option to stick with CircleCI without having to pay a lot might be to execute "expensive" examples/tutorials in their own jobs (those get their own 60-minute job limit), cache the results, and then stitch it all together.
I had a "hacky" solution for this here in this PR: https://github.com/autoreject/autoreject/pull/247#issuecomment-973069510
We dropped that again, because it turned out that switching from "docker executor" to "machine executor" was enough for the small autoreject docs anyways. --> but it might be an alternative for MNE-Python.

Nice, didn't realize it's a limit on each step. Then yes in principle some fancy combination of make html_dev-pattern calls could do it!
We talked about this a bit at our dev meeting Friday, as well -- I think we're first going to look to see if we can find a way to pay. We've used CircleCI's services for a long time, so I feel good about (finally!) starting to pay for them if we can make it work.
Then I think should implement nightly-only-if-new-commits building rather than build-after-every-PR. I think this would cut down our usage quite a bit, as the full builds are the expensive ones and sometimes we do a bunch in one day. This would only increase the time to deployment from ~4 hours (build + deploy + showing up currently) to at most about a day -- and in practice, probably usually at most less than this, because we schedule the nightly build at a time when we merge few PRs (based on when most merges happen, this would probably be night in Europe and North America).

We're paying for CircleCI now, so this can be closed.


Breaks Brackets Release 1.10 Build 1.10.0-17483

I removed all extensions and then added them back 1 by 1. Eventually version 0.0.8 of the extension broke Brackets to the point where no user interaction was possible whatsoever. Only deleting the extension from the extensions folder fixed brackets for me.

Ah, turns out, brackets finally supports various encodings ;-)

Multiple encoding support
Brackets now supports more than 40 different file encodings. You can now Open/Save files with different
encodings.


CB-15355 Use new backup/restore status information in CB flows

This change updates the datalakedr.proto file and re-generates the associated Java classes.
When processing datalake backup/restore responses, extract the failure reason from the new
operationStates object instead of the old failureReason field. If the response indicates the
operation failed, each field in operationStates will be parsed to construct a single failure string
that combines the status of each operation. The failure string will include information about what
operation each failure belonged to. Additionally, if all operations for a particular service (HBase
or Solr) have identical failure reasons, these will be condensed for readability.
If the operationStates object is not set, the old failureReason field will be used instead.
Tested with unit tests and on locally deployed datalake.
Note that the changes are in GrpcStatusResponseToDatalakeBackupRestoreStatusResponseConverter, and the new unit tests in GrpcStatusResponseToDatalakeBackupStatusResponseConverterTest. Everything else is just updating the datalakedr.proto file, and re-generating the Java classes created from that file.
As an example of the translation logic, here's a representative status message CB might get from the datalake-dr service:
{
    "accountId": "9d74eee4-1cad-45d7-b645-7ccf9edbb73d",
    "backupId": "6b3064cd-62f1-44ad-ad1b-69f3a4ca8b7b",
    "userCrn": "crn:altus:iam:us-west-1:9d74eee4-1cad-45d7-b645-7ccf9edbb73d:user:f69b8b5a-e955-4b28-b482-65dbaecab076",
    "status": "FAILED",
    "startTime": "2021-11-18 15:38:51.931",
    "endTime": "2021-11-18 15:41:43.821",
    "backupLocation": "s3a://eng-sdx-daily-v2-datalake/hreeve-dev/logs/",
    "operationStates": {
	"adminOperations": {
	    "stopServices": {
	        "status": "SUCCESSFUL"
	    },
	    "restartServices": {
	        "status": "SUCCESSFUL"
	    }
	},
	"hbase": {
	    "atlasEntityAuditEventTable": {
	        "status": "SUCCESSFUL"
	    },
	    "atlasJanusTable": {
	        "status": "SUCCESSFUL"
	    }
	},
	"solr": {
	    "edgeIndexCollection": {
	        "status": "FAILED",
	        "failureReason": "Could not find a backup repository with name backup. The Solr configuration needs to be updated with the missing repository. Please refer to the Data Lake Backup/Restore documentation for instructions on updating the configuration."
	    },
	    "fulltextIndexCollection": {
	        "status": "FAILED",
	        "failureReason": "Could not find a backup repository with name backup. The Solr configuration needs to be updated with the missing repository. Please refer to the Data Lake Backup/Restore documentation for instructions on updating the configuration."
	    },
	    "rangerAuditsCollection": {
	        "status": "FAILED",
	        "failureReason": "Could not find a backup repository with name backup. The Solr configuration needs to be updated with the missing repository. Please refer to the Data Lake Backup/Restore documentation for instructions on updating the configuration."
	    },
	    "vertexIndexCollection": {
	        "status": "FAILED",
	        "failureReason": "Could not find a backup repository with name backup. The Solr configuration needs to be updated with the missing repository. Please refer to the Data Lake Backup/Restore documentation for instructions on updating the configuration."
	    }
	},
	"database": {
	    "database": {
	        "status": "SUCCESSFUL"
	    }
	}
    }
}

And here's how that would appear in the UI:

@hreeve-cloudera pls correct checkstyle so that it could be merged. Thank you


Stringtie to assemble RAMPAGE data

Hi,
I am curious to know can Stringtie be used to improve assembly of transcript esp at 5' region using only RAMPAGE alignment files or in conjunction with RNA-seq alignment files.
Thanks
Kapeel

Sorry we have no experience with RAMPAGE data/pipeline so I am afraid we cannot really help with this  query.


hub merge returning Error getting Pull request : Not found

Hello, I am experiencing the following problem:
Command attempted:
hub merge https://github.com/orga_name/project_name/pull2323
What happened:
Error getting pull request: Not Found (HTTP 404) Not Found
Though the PR does exist
More info:
I am setting hub on my new computer because it is what our organization uses.
I already created a personal token
We have 2 Factor authentication but I cannot disable it, since the organization requires it.
I also added a ~/.config/hub with the token as has been suggested and tried the environment variables setup but it also didn't work
- user: aydamacink
  oauth_token: token
  protocol: https

hub version
git version 2.24.3 (Apple Git-128)
hub version 2.14.2
macOS Catalina 10.15.6

output of -- verbose
HUB_VERBOSE=1 hub merge https://github.com/organization/project/pull/2323
$ git config --get-all hub.host
> GET https://api.github.com/user
> Authorization: token [REDACTED]
> Accept: application/vnd.github.v3+json;charset=utf-8
< HTTP 200
< X-Oauth-Scopes: read:packages
{"login":"aydamacink","id":11429194,"node_id":"MDQ6VXNlcjExNDI5MTk0","avatar_url":"https://avatars0.githubusercontent.com/u/11429194?v=4","gravatar_id":"","url":"https://api.github.com/users/aydamacink","html_url":"https://github.com/aydamacink","followers_url":"https://api.github.com/users/aydamacink/followers","following_url":"https://api.github.com/users/aydamacink/following{/other_user}","gists_url":"https://api.github.com/users/aydamacink/gists{/gist_id}","starred_url":"https://api.github.com/users/aydamacink/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aydamacink/subscriptions","organizations_url":"https://api.github.com/users/aydamacink/orgs","repos_url":"https://api.github.com/users/aydamacink/repos","events_url":"https://api.github.com/users/aydamacink/events{/privacy}","received_events_url":"https://api.github.com/users/aydamacink/received_events","type":"User","site_admin":false,"name":"Dayana Mick","company":null,"blog":"","location":null,"email":null,"hireable":null,"bio":null,"twitter_username":null,"public_repos":20,"public_gists":1,"followers":9,"following":9,"created_at":"2015-03-11T18:40:49Z","updated_at":"2020-09-08T09:47:38Z"}
> GET https://api.github.com/repos/marleyspoon/api/pulls/2323
> Authorization: token [REDACTED]
> Accept: application/vnd.github.v3+json;charset=utf-8
< HTTP 404
< X-Oauth-Scopes: read:packages
{"message":"Not Found","documentation_url":"https://docs.github.com/rest/reference/pulls#get-a-pull-request"}

I would be super grateful for any help I could get. Thanks in advance!

@aydamacink Thank you for reporting!
Is it possible that aydamacink does not have access to the organization/project repository, or that PR #2323 does not exist? This looks like a legitimate 404 error to me.


Request and response compression

Draft zstandard compression feature branch.

This is looking really good! I know it's still a draft, but I did run into an issue when trying to run the tests.
When I try to build there are a few modules missing from the .cabal file: Network.GRPC.MQTT.Compress Network.GRPC.MQTT.Proto.TH Test.Network.GRPC.MQTT.Compress Test.Network.GRPC.MQTT.Compress.Gen
Once I added them and try to run the tests I get a failure:
Test.Service
    Test.Service.Normal:                   OK (1.54s)
    Test.Service.ClientStream
      Test.Service.ClientStream.Unbatched: OK (0.51s)
      Batched:                             OK (1.52s)
    Test.Service.ServerStream
      Test.Service.ServerStream.Unbatched: FAIL
        Exception: GRPCIOCallError CallErrorInvalidMessage
        CallStack (from HasCallStack):
          error, called at src/Relude/Debug.hs:218:11 in relude-<IP_ADDRESS>-ygy7BwifccCX77pliNrmb:Relude.Debug
          error, called at test/Test/Service.hs:412:19 in main:Test.Service
        Use -p '/Test.Service.ServerStream.Unbatched/' to rerun this test only.

This CallErrorInvalidMessage error was produced for two reasons:

Decompressing an uncompressed payload would cause Codec.Compression.Zstd.decompress return a Skip decompression result since it sees the incoming ByteString lacks a compression frame header. This becomes a problem whenever the compression function chooses not to add the zstd header to the ByteString since that ByteString could not be compressed enough (or at all) such that adding a header would result in a smaller ByteString. The issue was fixed by choosing to return the original ByteString provided to Network.GRPC.MQTT.Compress.decompress if the result of Zstd.decompress is Skip. I don't love this solution though since Zstd.decompress will also return Skip if the ByteString was compressed with zstandard's streaming interface, breaking the assumption that Skip means the ByteString was not compressed in the first place. However, seeing as grpc-mqtt doesn't make use of any of the streaming zstd compression functions, I don't see this as an immediate issue. I've also added an additional test to ensure that decompressing an uncompressed ByteString is a no-op to guard against regressions in the future.

There were a few asymmetries in how compression and decompression got applied in the message handlers (my mistake). I changed the message handler functions by inlining ExceptT e IO actions that performed TChan reads and Message parsing computations. This change to the message handlers prevents them from being misused in ways that could result in compression asymmetries, double packetization, and etc... This change also makes it easy to create small, isolated roundtrip tests for each message type's send (MQTT publish) and TChan read functions.


CSD applied to Dansgaard-Oeschger events

This PR mainly provides an example (docs/src/examples/do-events.jl) of Critical Slowing Down applied on the $\delta^{18}O$ record from NGRIP. This time series displays DO-events and therefore many abrupt transitions in real-world, paleoclimatic data. Furthtermore, the same analysis is performed on simulation data from CLIMBER-X (less noisy and even time sampling), an Earth Model of Intermediate Complexity able to reproduce DO-like events.
Remark: The time steps  at which the DO-events are visible in the NGRIP timeseries come from Rasmussen 2014 and should be downloaded in future. For now, hand-coded. In the best case, this should be replaced by an automated procedure like those provided by ChangePoints.jl, which however did not give good results so far on the NGRIP data.
This PR additionally comes with minor suggestions:

Use DocumenterCitations.jl as suggested and added refs.bib.
The function segmented_significance() was introduced to perform the sliding window analysis such that a single significance value per segment and per indicator is output. This is subject to future changes since I want to introduce a new struct GrowingWindowViewer. We should discuss this live at some point.
Replaced docs/src/tutorial.md by docs/src/examples/tutorial.jl such that the tutorial is built by Literate.jl.
precompute_ridgematrix was renamed to ridgematrix since it simply computes the matrix.

estimate_indicator_changes and significant_transitions now rely on multiple dispatch, by accepting SlidingWindowConfig<:WindowedIndicatorResults (renamed) or the newly introduced SegmentWindowConfig<:WindowedIndicatorResults. The latter requires the user to provide the start and end time of each segment into the config. To avoid any confusion about the functions performing the threaded loops, we now have two (internal) functions for this: sliding_surrogates_loop! and segmented_surrogates_loop!. For the sliding analysis, the t_indicator, t_change are simply vectors. For the segment analysis, they are each a vector of vectors: to me is the most intuitive way to handle the segmentation. Similar for x_indicator, which is a vector of matrices (dimensions of matrix as in in a sliding analysis). x_change is just a matrix with row index = segment index and column index = indicator index. Thus the user only computes one change metric value and therefore p-value per segment.
As suggested, we now use DocumenterCictations and the @cite macro.
Minor corrections were made to the DO-events example, especially the conclusions. It is still somewhat ugly that the transition times are hand-coded and we might want to make that more elegant in the future.

For the sliding analysis, the t_indicator, t_change are simply vectors. For the segment analysis, they are each a vector of vectors: to me is the most intuitive way to handle the segmentation. Similar for x_indicator, which is a vector of matrices (dimensions of matrix as in in a sliding analysis). x_change is just a matrix with row index = segment index and column index = indicator index. Thus the user only computes one change metric value and therefore p-value per segment

I did not understand that. Can you please try to explain again what you said above? Additionally, please point me to the specific lines of source code where you are talking about so that it is easier for me to follow.

@JanJereczek I merged this in. Notice that the PR violated the rule "do only 1 thing", as it actually did three things:

Expanded the API. With this PR we made it possible to add new different types for how to estimate change metrics and indicators.
Added a new way to estimate indicators and change metrics, the segmented window.
Added a new example.

However, that's okay for now, because all thse three things were tightly interlinked and we needed the example to see how the new interface could be used.


CKAN 2.9 compatibility

Hi :)
We're looking to update our qld-gov-au/ckanext-qa fork to be compatible with CKAN 2.9, and I see that there are some branches in this repo that have started work on it, by @duskobogdanovski and @HristijanVilos
Any indication of how close it is to being ready? I'm happy to help out, this is the next piece of work for me, but our fork isn't going to be directly compatible for merging, because we have unrelated changes.

I notice that in the migration to Click commands, Paster support appears to have been entirely dropped. Ideally the extension would continue to support both. Not only does this increase its usefulness for sites that have not yet updated, it also allows any existing 2.8-based test suites to continue functioning, increasing confidence that regression failures have not been introduced.

Hi
We were doing migration work for one of our clients portals, but due to time constrains we made the extension work only with CKAN 2.9 and to our specific case. If we do some additional work in the future, we will make sure to send a pull request to your repository.

I ended up just going ahead and starting from scratch in our fork, rather than merging from your branch. Not sure whether it will be of much use to you, but feel free to take a look if you want. https://github.com/qld-gov-au/ckanext-qa/pull/23

Okay, we've cut a release: https://github.com/qld-gov-au/ckanext-qa/releases/tag/2.0.3-qgov.4
Automatic merge isn't possible, but there are few things you might want to manually copy, eg:

More Python 3 compatibility (print with brackets, using six.text_type instead of str)
Retaining Paster compatibility
Using UTC timestamps internally so that they can be consistently localised on output
GitHub Actions continuous integration testing with Docker and Behave


Automated backport of #3040: Reduce submariner-operator RBAC permissions

Backport of #3040 on release-0.15.
#3040: Reduce submariner-operator RBAC permissions
For details on the backport process, see the backport requests page.

I'll backport https://github.com/submariner-io/submariner-operator/pull/3050 with this PR - setting as draft for now.


Python bindings using cython

This binding offers a class-based binding and works on python3

Love it! This should definitely be faster than ctypes/libffi. Could I trouble you to put this up as a separate repo instead? I think it makes more organizational sense to keep non-toy/example language bindings in separate repos -- here's my reasoning in more detail.
#13 from yesterday should make it easier to integrate with ast.py from a separate project.
Let me know if you've got any thoughts on the matter!

OK for the separate repo, only need ast.py from graphql/libgraphqlparser. You create it or I do?

You create it or I do?

Please feel free!

OK the new repo is https://github.com/elastic-coders/py-graphqlparser
closing this one


Aromatize tool does not work for aromatic structures

Steps to Reproduce

Open the file
aromatic structures.zip
Click the 'Aromatize' button.

Expected behavior
Aromatize function affects all canvas.
Actual behavior
Aromatize function does not work
Screenshots
https://user-images.githubusercontent.com/93334478/141802653-33200a58-628c-4645-a310-7b2b3cb4e04e.mp4
Desktop (please complete the following information): Chrome Version 93.0.4577.63, Firefox Version 92.0, Microsoft Edge Version 93.0.961.47

Fixed, tested v 2.3


runit: fix closure size

Motivation for this change
Things done

Built on platform(s)

[x] NixOS

[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

the fixup phase was missing, so it depended on gcc and a few others, this drops the closure from 146mb to 20mb

Cool. Thank you


include google analytics script

Adds google analytics script.
#24

I'm looking at using react-ga and wiring the analytics up to the react-router.  This seems to be a better route to go with react, we will have more control over what we send to ga.

@alexspence that makes sense. Should I withdraw my PR? Let me know if I can assist in any way.

@tahentx Yea. The intent for this ticket is to have GA displayed on all pages. I'll go ahead and close this PR.


Add rsync to web container (#867)

#867 Installs rsync via apt-get in the web container

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Stephan Salzmann seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Yay, this is perfect, thanks. Please do the CLA signing bit.

Closing this in favor of #912 because we couldn't get the CLA signed on this one.


Git branch not detected in subdirectories of a git repo

If a session directory is a subdirectory of a git repo rather that the top level directory of the repo, the git branch for the session will not be properly detected because the presence of a .git directory, which only exists in the top level, is used to determine if a directory is tracked in git.

Sorry I'm failing to understand what you mean by this. Can you explain your point with an example directory structure? From what you've said I've inferred the below:
main_folder/
 L .git/
 L code_base/
   L .git/

Sorry I will try to explain with an example. Here is a simple git repo with several subdirectories
toplevel_dir/
  L .git/
  L subdir1/
    L source1.lua
    L source2.lua
  L subdir2/

If I want to create a session only in the subdir1 directory it will not be detected as being tracked by git by this plugin because it does not contain a .git subdirectory. Therefore, the default and potentially incorrect branch name will be appended to its session file name and a new session will not be created when switching to a different branch the way it would with a session in toplevel_dir. PR #22 fixes the issue by detecting git-tracked directories with git rev-parse rather than checing for a .git subdirectory.

Hi, I'm having issues similar to this. If I open nvim from a subdirectory of a git repo then the git branch isn't appended to the session file name. If I open nvim from the root of the git repo then it is appended. Any advice?


Remove phocus

App download is behind a login page.
http://www.hasselblad.com/support/manuals/software-current/

Note that the download link being behind a download page is only a problem when homepage and url have different domains. That is so a malicious actor can’t simply point the cask to a malicious source without users being able to verify with ease.
When they have the same domain, like in this case, it is fine. A user can look at the cask and be confident the url is legitimate (a malicious actor would have to target the upstream domain; which is harder to do and keep up).

Just for clarification: are we okay with making the app available to users who would otherwise have to register to download it?

Unless upstream objects, yes.
Naturally, if you disagree we can discuss it. I initially conceived the rule, but am not attached to it or anything. I could certainly be persuaded otherwise.

Naturally, if you disagree we can discuss it. I initially conceived the rule, but am not attached to it or anything. I could certainly be persuaded otherwise.

No disagreement from me. Just wanted to clarify as I've already rejected a cask request for being behind a login/registration page. I'll take another look at it to see if it uses the same domain for homepage and url.

Note that the download link being behind a download page is only a problem when homepage and url have different domains.

I'll add this to the docs somewhere.

After adding anka-run I realised it was behind a login page and removed it (https://github.com/caskroom/homebrew-cask/pull/35801), I'll re-add it.

I'll add this to the docs somewhere.

It’s already in the docs. See “walled builds” in the “adding a cask” document.
As for anka, that one was also fine, as I recall, as you found a page with download links that was not behind registration.

It’s already in the docs. See “walled builds” in the “adding a cask” document.

Oops, sorry  @vitorgalvao. Thank you for your explanations and patience, they are appreciated. 🥇


Add support for 5.2-5.3 versions of UE

You can try this branch, although I had not updated the definitions yet, so may be some functions that were added or renamed may not be available (this could be fixed manually by editing the definitions if you find any)
https://github.com/hiperbou/kotlin-unreal/tree/UE5.3

Please, can you say how implement this library in existing project from UE5.3 tree?

Right now you will need to put manually the Unreal.js plugin because it is not available on the Unreal Marketplace for versions 5.2 and 5.3.
You can do it following the manual installation instructions here: https://github.com/ncsoft/Unreal.js/
Then you should copy the Content, kotlin-examples and kotlin-unreal-definitions to your project.
Then, from the Source folder copy the files KotlinComponent.h, KotlinComponent.c, KotlinObject.h, KotlinObject.c
Now add the Unreal.js plugin to your *.uproject file
https://github.com/hiperbou/kotlin-unreal/blob/master/KotlinUnreal.uproject#L15
Make sure your **.Build.cs includes the module V8 https://github.com/hiperbou/kotlin-unreal/blob/master/Source/KotlinUnreal/KotlinUnreal.Build.cs#L11
Then, the difficult part would be copying the functionality on KotlinGameInstance to your own GameInstance
https://github.com/hiperbou/kotlin-unreal/blob/master/Source/KotlinUnreal/KotlinUnreal.Build.cs
Then you should modify this to use your GameInstance https://github.com/hiperbou/kotlin-unreal/blob/master/Source/KotlinUnreal/KotlinComponent.cpp#L59   (also the include)
I have never done this process myself, but that should do the trick!

Unfortunately, I get an error after installing UnrealJS.

You need to open the project in Visual Studio and do a rebuild. You would be able to see and fix any compilation errors from there.


Very slow transient buffer rendering on Adreno 306 or (305) (Android)

Hi bkaradzic,
I was trying to batch rendering some trees with transientBuffer (the combined single mesh is about 5000 faces, batching itself takes less than 2ms), but find it runs very very slow on my Adreno 306 device (opengles 2.0) (FPS=17~) : bgfx::frame() takes 40-60 ms to get things done and the transientBuffer update (glBufferData/glBufferSubData or Orphaning) takes about 5-11 ms. It does not make sense , so i spend a couple of hours to find why, it turns out that this line (glDrawElementsInstanced, see here) takes 30+ ms to finish. i still don't get it, so i re-write it like this to make further test :
#if 0
	// before :
	GL_CHECK(glDrawElementsInstanced(prim.m_type
		, numIndices
		, indexFormat
		, (void*)(uintptr_t)(draw.m_startIndex*indexSize)
		, draw.m_numInstances
		) );

#else

	// after :
	auto vb = _render->m_transientVb;

	const auto sov = sizeof(float) * 5;

	// clear bound buffers
	glBindBuffer(GL_ARRAY_BUFFER, 0);
	glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);

	glEnableVertexAttribArray(0);  // <--- pos
	glEnableVertexAttribArray(1);  // <--- uv

	auto vp = vb->data;

	// submit transientBuffer here directly
	glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, sov, vp);
	glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE,	sov, vp + sizeof(float) * 3);

	glDrawElements(GL_TRIANGLES
		, numIndices
		, indexFormat
		, _render->m_transientIb->data
		);
#endif

After this change, new draw call takes 0-1 ms, and total FPS back to 45+ (remember the glBufferData/glBufferSubData or Orphaning stuff is still there, that's 5-11 ms cost), the full FPS of my crappy device is about 55, so if we remove the glBufferData/glBufferSubData update, very likely the final FPS will go back to 55, as expected before doing this test.
After this test, i am wondering can we define a macro called BGFX_OPENGL_SUBMIT_TRANSIENTBUFFER_DIRECTLY (or something like that) to submit transient buffers directly without using glBufferData/glBufferSubData during bgfx::frame()? I've been using this way to submit data on iOS (iphone 3.0 - iPhone 6 Plus) (force to opengles 2.0) and no performance hit. I think its necessary for at least some android device,  on some devices which claim support opengles 3.0 (may be they do but with bad performance), use old opengl 2.1 ways to submit transientBuffer may way faster (force targeting opengles 2.0).  Let user to choose what to use ( to glBufferData or not).
Thank you for the great job.

Probably it could be done simpler, where you would just do:
    // clear bound buffers
    glBindBuffer(GL_ARRAY_BUFFER, 0);
    glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);

...

    GL_CHECK(glDrawElementsInstanced(prim.m_type
        , numIndices
        , indexFormat
        , (void*)(uintptr_t)(_render->m_transientIb->data + draw.m_startIndex*indexSize)
        , draw.m_numInstances
        ) );

You're right, change to glDrawElementsInstanced worked and it is more compatible with the current api.
Maybe this is also the reason for this thread? I am not sure, maybe i should test the nanovg example on my Adreno 306.

Tested the nanovg-example on iOS (force using opengles2), drawing with client data and drawing with vbo have no much difference :
iPhone 5 : both are 30 (FPS)
iPhone 5s : both are 55+ (FPS)
iPhone 6s : both are 57-60 (FPS)

Test results on Android are different from device to device :
// Adreno 306 and 305:
drawing with client data is better, half the time of drawing with vbo (but FPS of both are low, <= 20)

// Adreno 510
drawing with client data is about 17 (FPS)
drawing with vbo (glBufferData and glBufferSubDta) is 50 (FPS) <--- this is amazing.

// Mali T-860
there are two Mali T-860 devices, but test results are varys, one of the device FPS are same and
on another device, drawing with vbo is better

According to the results, i think transientBuffer drawing with vbos maybe slower (than drawing with client data) on old device (android), but on newer android devices, it is much faster, or at least not slower.


[proposal] Update transformer-builder

In the unserialize(), only transform pRecord's columns that match model's attributes.
Or in other words, skip any fields available in the pRecord that don't match any attribute of the Model.

ok, fixed!

I think this proposed change is essential for an ORM, as it allows more control on the data on the Model level.


[Gally]: master <- dev

Automatically created by Git-Ally

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Introduce better mono font

We can ship SourceCodePro by default and use it as our monospace font to improve user experience.

Close for https://github.com/pingcap-incubator/tidb-dashboard/issues/97


rtmp is not supported

rtmp is not supported
Originally posted by @wangxingkang in https://github.com/MoePlayer/DPlayer/issues/629#issuecomment-551407674
thank you，by the way , what kind of protocol of live stream is the dplay support?

@yaotengyuan hls

Need to use flash, you see videojs-flash

thanks


Generate default upgrade channel image file in releases

Part of https://github.com/rancher-sandbox/os2/issues/87
~Missing docs updates~ Added
Signed-off-by: Ettore Di Giacinto<EMAIL_ADDRESS>

This is an example yaml file which was generated by the CI:
apiVersion: rancheros.cattle.io/v1
kind: ManagedOSVersionChannel
metadata:
  name: os2-amd64
  namespace: fleet-default
spec:
  options:
    args:
    - github
    command:
    - /usr/bin/upgradechannel-discovery
    envs:
    - name: REPOSITORY
      value: rancher-sandbox/os2
    - name: IMAGE_PREFIX
      value: quay.io/costoolkit/os2-ci
    - name: VERSION_SUFFIX
      value: -amd64
    image: quay.io/costoolkit/upgradechannel-discovery:v0.3-4b83dbe
  type: custom

Note, for the user is enough to apply it with a cluster with rancheros-operator being installed. The namespace here is set by default to fleet-default, but not that can be changed to fleet-local to target instead the local cluster.

Docs updated

Dunno why, but getting all linting issues now also for code that was previously there :sweat_smile: fixing them..


Peer Review

App Link: https://vanhouses-dash-n2zj.onrender.com
Repo Link: https://github.com/zchen156/vanhouses

Nice dashboard! While reviewing your work, I have come across a couple of suggestions that I believe could enhance the user experience and improve the overall readability of the dashboard.
Firstly, with regards to the drop-down menu for the neighborhood and property type, I recommend adding a "select all" button. This will enable users to have a comprehensive view of the data without having to select each option individually.
Secondly, I noticed that the legend of the bubble chart is derived from the raw data column, which may be challenging to read for some users. Therefore, I recommend that you consider improving the readability of the legend to enhance user comprehension.
Overall, Nice work!

Hi Ziyi,
I really enjoyed exploring your dash app and I must say, it's a fantastic-looking app with a great logo design! I'm impressed with the features you've included.
Here are a few constructive feedback that I'd like to share with you to help make the app even better:

The graph in the app takes up a lot of space on the page. I suggest playing around with the layout to make the graph smaller or finding a way to reduce the size of the graph so that it doesn't take up half of the page.

The title of the pie chart should be "Percentage of Houses in Each Community" instead of "Total Count." This will help to make the purpose of the chart clearer and easier to understand.

It might be helpful to use a different color scheme for the bubble chart and the pie chart. This will help readers to easily differentiate between the two charts and avoid any confusion.

Overall, I think your app is fantastic and these suggestions are meant to help make it even better. Thank you for creating such a wonderful tool and I look forward to seeing how you implement these changes.

Nice layout and logo design!
The bubble chart looks cute, but I feel like it's not very intuitive. I thought each column was a time series, but later on realized that within the same column orange and purple bubbles represent 2 different groups.
Instead of using drop down menus to select neighborhood and property type, it might be more convenient to have 2 vertical checklists.


It occurs an error in our in-app html page, for IE8 or lower. We could s...

...olve this problem by either change the jQuery library from this.appendChild(elem) to this.parentNode.appendChild( elem ), OR by change the jec to append the html() plaintext but not an jquery object.
Lukasz, it is a great project, we have used this library for a few years. Recently, we encounter an error when it tries to append an option. We have fixed our problem locally, I don't know if you accept this changes. Since jec is used in our in-app page, forgive me that I could show you explicitly, say in jsfiddle.  Sorry for the misleading pull request, probably you could assist me to replicate it in jsFiddle, I am also new to html and js. Thanks.

Thanks for submitting this PR. Can you give me more details in which situation the problem occurs. I understand that you can't show it on your in-app page but perhaps you could simply extract the important bit out of it to show the problem, or at least guide me how to replicate it.
As you see above the automated tests fail with this PR so if there really is a problem I need to understand it and verify that having this fix for IE8 and lower will not break newer version of IE and other browser.

the attached is a screenshot from visual studio.
and the following are some html and javaScript.
I am sorry that I broke your build. When the page is initialized, it's not a problem -- when our client places an order from the page, it will show up in the desktop app. However, it will throw an error when a client is trying to change an order. Probably, it's due to the invalid data.
Frankly, we use an old version of jec and jQuery, 1.3 and 1.6.4. I have two ways to resolve the problem, one is to change the jQuery library to this.parentNode.appendChild, like the remove did.
please search keyword "append:" in the source code, you will realize that jQuery did try to resolve this problem by a function called manipulationTarget
http://code.jquery.com/jquery-1.11.2.js
We don't plan to upgrade jQuery nor modify the jQuery to this.parentNode.appendChild
I also want to paste some links, people complaint about this appendChild problem in IE, and it's still a problem in 1.11 or 1.10
http://stackoverflow.com/questions/26181833/jquery-1-11-1-appendchild-error-ie8-unexpected-call-to-method-or-property-acces
bear with the prolong write-up, I am trying my best to make myself understood.

No Participation
Optimal
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
											</select>

											$("#mySelect").jec();

Hey, don't worry about breaking the build. The main reason for having it, is to verify the pull requests automatically to some extend.
Any chance you could try to reproduce this issue with jQuery 1.7+ and latest version of the plugin - 1.4.0? And have you checked the solution in the SO ticket that you've linked on your project?

I just download the jquery-1.8.3.js and copy the ecb directly from your master branch. The problem still occurs. We are planning to upgrade the in-app page to use chromium, instead of IE. It won't be a problem in chromium.
if you search keyword "appendChild jquery error ie", you will find some developers talking about this.

Here's a link for jQuery library:
https://github.com/jquery/jquery/blob/d702b7637a61e1973e08c27b8d8de2ed24a543e2/src/manipulation.js#L54
https://github.com/jquery/jquery/commit/d837f119c3729565103005d5d7fa89e1dd8110cb
I am very sorry that I am not able to tell you how it occurs, instead, I am trying to offer you the related problem around appendChild(elem), and in the very early version of jQuery, remove is simply like this.remove, now it turns to this.parentNode.remove, I don't know know this is not applied in append. Anyway, I guess manipulation will help, I will test that tomorrow.
Another way to tweak it is to change jec, from append($option) to append($option.html()).

The problem I see with using .html() workaround, is having that can remove some of the event triggers you could have defined on option level.
The second chunk of your PR (line 504) is ok, as the option is just being created there. However in the first chunk (line 414) the option element is fetched from DOM and can have event handlers assigned (unlikely, but still). If we use html() on this element this information can be lost.
Also I started wondering if the problem is only in append jQuery method, or is it in all methods that insert content into DOM like before etc. which are also used in this library.
I'll try to reproduce the issue on a VM over the weekend and take it from there.

right, actually I only need to change line 504 (init function, elem.append(option)) to fix problem in our product.
Thanks for spending time in evaluating my PR. It's a very nice conversation with you. Let me know if I could help anything.
Happy Friday.
Yiyang

I've run some tests over the weekend on a virtual machine with IE8 (WinXP image from modern.ie) and I could not reproduce the issue. I've run the demo fiddle http://jsfiddle.net/n96RF/9 but I've not actually run it from JSFiddle but converted that into local files and run it directly on the VM. I've tried with both compability mode on and off and in all cases this seems to work as expected.

RaYell, thanks for spending time in reviewing my PR and reproducing the bugs. I am sorry to hear that it can't be easily reproduced. Probably it's due to my side's problem in Data -- Data is also a part of code.
It's very very very rare case in our project, and currently production we have another workaround either.  But the fix will be released to QA and PM soon, they will help test it. I will temporary close the PR. I actually change online in init, by appending html().

Thanks for the info. If you encounter this problem in more places and find means to reproduce it, please let me know. Good luck with your project.

I definitely will, jec is widely used in our project, and half are rendered in in-app IE window, and half are rendered in chromium, the latter one is not a project.
I will keep an eye on it, if I saw it again, i will definitely ask you for a help. I am also learning to use jsFiddle, which is a good helper. Thanks.
:8ball:


Remove dependency on strip-ansi and embed the tiny function instead

This may not be appropriate to merge into master, but we should do this at some point to reduce our dependency footprint. Also: strip-ansi has been an outlier in that it was using require(...).
I don't like having it be a dependency when it's just a 20 line file.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


dapr-placement seems to fail randomly

In what area(s)?

/area placement
What version of Dapr?

0.8.x

Running on AKS.
Expected Behavior
Actors should get called when dapr-placement and the pods hosting the actor are running.
Actual Behavior
Sometimes (seemingly quite randomly) the connection between dapr-placement and the daprd sidecars in the pods seems to fail. Always seems to happen for all pods in the entire cluster at the same time, suggesting the problem is probably in dapr-placement. Sometimes it fails in minutes, sometimes in days (right now we're on over 4 days, I don't think this has even happened before).
We have around 15 services, each using ~2 actors on average, all of them using the 0.8.0 version of the .NET DAPR SDK. However, we've had this issue ever since 0.5.1.
The error message we get from the SDK is "Error finding address for actor type {type}". We use GUIDs for our actors IDs, if that's relevant.
Steps to Reproduce the Problem
Deploy DAPR to an AKS and wait. Unfortunately there doesn't seem to be anything triggering this.

@veselfil is the error happening when you call ActorProxy.your_method_name()?

We use GUIDs for our actors IDs, if that's relevant.

A guid is an ok id - this shouldn't be related.

A few questions so we can try and reproduce:

Have you tried running in a different cluster to eliminate cluster network issues?
Which Kubernetes service/distro are you running?
Are there any special deployments running? For example, service mesh

@LMWF yes, I'm pretty sure it is. It may also be when creating the actor proxy (ActorProxy.Create<T>()). We don't have a way of reproducing this reliably, so I'm not sure unfortunately.
@yaron2 well, we're tried this in multiple AKS clusters of different versions. I don't think there are any network issues. Any idea how we should go about verifying that?
We're not running any special deployments. No service meshes or anything of that sort.
Something interesting that happened - as I mentioned in the original post. We've moved over to a new cluster recently to which we started deploying our updates (we're talking probably close to 50 a day) and we've kept the old cluster, which wasn't getting new deployments anymore, for testing purposes until we made sure the new one was working as we wanted to. This led to dapr-placement working for a very long time (almost a week, much longer than usual). Could the problem maybe be some sort of a memory leak?

Hi. We've set up monitoring of DAPR and the services in the cluster. We've tried to use a dashboard we've found online. I'm including a screenshot from Grafana:

Unfortunately, nothing much to see there. As you can see, the error happened at 11:17 and I can't see anything strange happening with any of the metrics. Only thing is the number of goroutines reducing a little bit, though I think that's to be expected when a connection is closed. The actor runtime metrics (number of replicas etc...) haven't changed at all.
We're now settings up test services in our environment and collecting logs and metrics about the numbers of successful calls etc. to try to correlate the issue to something. Any tips on what we should focus on would be greatly appreciated.
Thanks.

I should also add that we've since disabled mTLS. There was a theory that perhaps the issue was occuring when the certificates issued by sentry expired, but as we're still experiencing the problem, I'd say that rules this theory out.

Do you see Pod restarts of the placement service?

Yes, but only sometimes and not a large number of restarts.

It would be extremely valuable to get the logs of the failed pod. You can get the logs with the --prrvious flag

Right - I posted this on Gitter at first but I forgot to include them here, sorry for that. Here are the logs from the placement service:
{"instance":"dapr-placement-6795f8599-twqmq","level":"info","msg":"host removed: <IP_ADDRESS>","scope":"dapr.placement","time":"2020-06-18T08:44:16.417661592Z","type":"log","ver":"0.8.0"}
{"instance":"dapr-placement-6795f8599-twqmq","level":"info","msg":"host removed: <IP_ADDRESS>","scope":"dapr.placement","time":"2020-06-18T08:44:16.418349023Z","type":"log","ver":"0.8.0"}
{"instance":"dapr-placement-6795f8599-twqmq","level":"info","msg":"host removed: <IP_ADDRESS>","scope":"dapr.placement","time":"2020-06-18T08:44:16.420011195Z","type":"log","ver":"0.8.0"}
{"instance":"dapr-placement-6795f8599-twqmq","level":"info","msg":"host removed: <IP_ADDRESS>","scope":"dapr.placement","time":"2020-06-18T08:44:16.420131201Z","type":"log","ver":"0.8.0"}
{"instance":"dapr-placement-6795f8599-twqmq","level":"info","msg":"host removed: <IP_ADDRESS>","scope":"dapr.placement","time":"2020-06-18T08:44:16.420203704Z","type":"log","ver":"0.8.0"}
{"instance":"dapr-placement-6795f8599-twqmq","level":"info","msg":"host removed: <IP_ADDRESS>","scope":"dapr.placement","time":"2020-06-18T08:44:16.420232705Z","type":"log","ver":"0.8.0"}
{"instance":"dapr-placement-6795f8599-twqmq","level":"error","msg":"error updating host on lock operation: rpc error: code = Unavailable desc = transport is closing","scope":"dapr.placement","time":"2020-06-18T08:44:16.524647885Z","type":"log","ver":"0.8.0"}
{"instance":"dapr-placement-6795f8599-twqmq","level":"error","msg":"error updating host on update operation: rpc error: code = Unavailable desc = transport is closing","scope":"dapr.placement","time":"2020-06-18T08:44:16.549601779Z","type":"log","ver":"0.8.0"}

And here are the logs from one of the daprd containers:
time="2020-06-18T08:11:52.791702843Z" level=warning msg="error establishing client to placement service: rpc error: code = Unavailable desc = connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:80: connect: connection refused\"" app_id=hcd-products-service instance=hcd-products-service-65fd5b59b6-lj66t scope=dapr.runtime.actor type=log ver=0.8.0
 time="2020-06-18T08:11:54.075795403Z" level=warning msg="error establishing client to placement service: rpc error: code = Unavailable desc = connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:80: connect: connection refused\"" app_id=hcd-products-service instance=hcd-products-service-65fd5b59b6-lj66t scope=dapr.runtime.actor type=log ver=0.8.0
 time="2020-06-18T08:11:56.088079052Z" level=warning msg="error establishing client to placement service: rpc error: code = Unavailable desc = connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:80: connect: connection refused\"" app_id=hcd-products-service instance=hcd-products-service-65fd5b59b6-lj66t scope=dapr.runtime.actor type=log ver=0.8.0

Important to note though, that we deleted the pod by hand (kubectl delete pod). The container itself seemed to be running fine, but the actor runtime wasn't working. Deleting the pod fixed it issue.

Ok thanks.
So the pod didn't actually crash, it just aborted connections.
Those messages can be considered normal during a scaling operation on a deployment - do you manually and auto scale pods?

Yes. I've never actually seen the pod in a CrashLoopBackOff state or anything similar. Always Ready, though sometimes it does have a restart or 2 on it.
We don't do any scaling per se, but we use rolling deployments and deploy very often.

Another update - we're not running constant load against the services, calling 2 methods on an actor every 5 seconds. Unfortunately, the problem is still there, so it's probably not related to timeouts.

Another update - pretty sure this is useful. It actually looks like there's not a hard cutoff for when it stops working. Have look at these metrics:

As I mentioned in the comment above, we're calling 2 methods, one monitored by the chart on the left, the other on the right. As you can see around 15:30, some of the calls started failing.
This conincides with a log message from dapr-placement:
{\"instance\":\"dapr-placement-6694f95cf-dtwl5\",\"level\":\"error\",\"msg\":\"error updating host on unlock operation: rpc error: code = Unavailable desc = transport is closing\",\"scope\":\"dapr.placement\",\"time\":\"2020-07-28T13:29:19.644694734Z\",\"type\":\"log\",\"ver\":\"0.8.0\"}\n

Now for the new information: I noticed a restart on one of our pods. I had a look at the logs from the previous daprd container and found this on one of the replicas:
sync.(*Mutex).lockSlow(0xc0002f9e00)
        /opt/hostedtoolcache/go/1.14.3/x64/src/sync/mutex.go:138 +0xfc
sync.(*Mutex).Lock(...)
        /opt/hostedtoolcache/go/1.14.3/x64/src/sync/mutex.go:81
sync.(*RWMutex).Lock(0xc0002f9e00)
        /opt/hostedtoolcache/go/1.14.3/x64/src/sync/rwmutex.go:98 +0x97
github.com/dapr/dapr/pkg/actors.(*actorsRuntime).evaluateReminders(0xc000168b40)
        /home/runner/work/dapr/dapr/pkg/actors/actors.go:665 +0x57
created by github.com/dapr/dapr/pkg/actors.(*actorsRuntime).updatePlacements
        /home/runner/work/dapr/dapr/pkg/actors/actors.go:597 +0x4b6

On the other replica, the log was much, much longer, so I'm attaching it as a file. Hope this helps.
log.txt
I think I was probably wrong in suggesting the problem is one placement's side, so sorry about that.

This helps tremendously and really pinpoints the problem.
Thanks for that.

Ok I can already see a place where we missed a lock that explains this.

Awesome! Can't tell you how glad I am to hear that. Any idea when we might be able to get our hands on a fix?

The PR is in: https://github.com/dapr/dapr/pull/1851

The PR is now merged. you can use the image with the :edge tag to get a version with that fix.
It should fix the sidecar related issue, but we still have the placement pod restarting which also shouldn't happen.
Seeing the "host removed" and "connection closing" messages should be common in your case where you redeploy frequently, the the placement pod should not restart.

Great, thanks! Is it possible to use the edge tag in the helm chart for installation? Is it fine to use the 0.9.0 version of the .NET SDK with the edge version?
I have a day off tomorrow, but I'll try to coordinate an update by the end of the week and I'll get back to you. It should be easy to see whether it helped with the monitoring we've got set up.
Thanks very much again.

can't guarantee, but right now edge and 0.9.0 should be compatible.

you can use the tag in the Helm chart, yes.

Quick update - so far it looks to be more stable, haven't had a single failure on the updated version yet. We've been running it for about 30 hours, so not too long, but I'm cautiously optimistic.

@veselfil great to read, waiting on further updates.

@veselfil any updates?

So far looks quite good. There are some very occasional failures (right now we're on over 400k successful invocations and 25 failed ones). Not sure what the cause of those is, I'll try to dig in the log once I have some time on my hands to try and find something that might help you. But the main issue sure looks to be fixed, so thanks for that.

This is great to read, thanks.
occasional failures are to be expected whenever an actor fails over due to pod scaling in/out, but even that is an extremely low percentage! (0.006%).
If you can confirm you don't see the original cause anymore, please close the issue in your own free time.

@yaron2 I have one more thing to ask - could you by any chance release the 0.9.0 version with the fix you've made? (as perhaps 0.9.1) We had to redeploy for unrelated reasons, and now we're obviously running on a different version of the DAPR runtime then when we deployed for the first time (using the :edge tag), which looks like it's causing some issues.
This would be immensely helpful to us. Thanks.

@yaron2 any update please?

@yaron2 any update please?

I prepared the following image with 0.9.1: yaron2/dapr:0.9.1.

Thanks for that. However, unfortunately, it doesn't seem to be working. I have no idea what has changed. A few calls go through sometimes after a restart and that's it. No errors in the logs, nothing. Interestingly, I've noticed there's ver=edge in the daprd logs. Could that maybe be a clue as to what's wrong?

As this is a patch, there may have been other fixes were missed out.
However, can you give more details about "a few calls go through sometimes"? what does it means when a call doesn't go through? which status code are you getting back? what's the HTTP error status text/error message that gets returned?

Also, make sure to apply this version you first:

Helm uninstall Dapr: helm uninstall dapr -n dapr-system
Install this version with helm install dapr dapr/dapr --namespace dapr-system --set global.tag=0.9.1 --set global.registry=yaron2`
Wait until the control plane is running and healthy with dapr status -k.
Restart all the pods running Dapr. you can use the kubectl rollout restart deploy/<deployment-name> command.

Hi @yaron2, sorry for not getting back to you, we've tried everything you said without success, so we have decided to wait for the 0.10 release. Hopefully the issue will be gone there.

Hi @veselfil, have you tried the 0.10 release?

@yaron2 On a cluster with dapr 0.10.0 components and apps now being dormant for >1w I also experienced this error "Error finding address for actor type {type}" when restarting my test rig. Redeployment of apps did not help. After kubectl rollout restart deployment.apps/dapr-placement -n dapr-system and redeployment of the app the actors were working again.
Now I cannot generalize this problem as on the 2nd cluster in another region - which also had been dormant - everything got back to operation smoothly.
I'll keep an eye on this and will ask for re-opening this issue in case it manifests again.

@yaron2 On a cluster with dapr 0.10.0 components and apps now being dormant for >1w I also experienced this error "Error finding address for actor type {type}" when restarting my test rig. Redeployment of apps did not help. After kubectl rollout restart deployment.apps/dapr-placement -n dapr-system and redeployment of the app the actors were working again.
Now I cannot generalize this problem as on the 2nd cluster in another region - which also had been dormant - everything got back to operation smoothly.
I'll keep an eye on this and will ask for re-opening this issue in case it manifests again.

@KaiWalter I can reproduce it in my environment. I will investigate the issue.

Sharing the current progress, on local test, I can see unexpected EOF error from stream connection on placement server so that it keeps removing the Dapr sidecars from the membership list. trying keep-alive option doesn't work. I am still investigate the issue and will keep the progress posted here.

@KaiWalter I have the fix - #2071
Uninstall Dapr first. Can you try to use my private build which includes the fix ?
helm install dapr dapr/dapr -n dapr-system --set-string global.tag=dev_20200914-linux-amd64 --set-string global.registry=docker.io/youngp --set-string dapr_placement.logLevel=debug

@youngbupark did the reinstall but am not sure how to check the correct version. This is what is logged:
time="2020-09-18T10:44:37.689070264Z" level=info msg="starting Dapr Placement Service -- version edge -- commit v0.10.0-74-gfb3329d-dirty"

@youngbupark did the reinstall but am not sure how to check the correct version. This is what is logged:
time="2020-09-18T10:44:37.689070264Z" level=info msg="starting Dapr Placement Service -- version edge -- commit v0.10.0-74-gfb3329d-dirty"

The version is correct. This is not the final fix. The final fix will be released to 0.11.0 Please let me know if you see any issues.

@youngbupark have the fix now installed on our clusters - I suppose - and will monitor behavior

Hi, it took us a long time to upgrade to DAPR 0.10, so apologies for my lack of activity. It seems we have now run into the same issue as @KaiWalter. We will also try upgrading to the custom build and see if it works.

@youngbupark looks good on my end. After a few days and occasionally putting load on the actor scenarios, placement service / actors are still "alive".

@youngbupark looks good on my end. After a few days and occasionally putting load on the actor scenarios, placement service / actors are still "alive".

Thanks for the report. This fix will go with the 0.11.0 release.
JFYI - Apart from this fix, we are actively working on testing and improving the reliability of placement under very high load.(#2083)
cc @msfussell @yaron2


Consolidate agent /var/lib directories

Currently we use the following directories for agent operation /var/lib/{chroma,iml}
These should be consolidated into just /var/lib/iml

We should just remove /var/lib/iml at this point.


[Request] Strict date range

Is it possible to have a strict date range selection i.e.  from 8th October 2019 until 8th October 2020 (one year sharp) Meaning that the dates after 8th October 2020 are not selectable. The same goes with the dates before 8th October 2019
What is the best way to achieve the above  with the current setup. (I am looking at Example4 from the sample app.)
Do you think this could be a potential feature implemented by the library?

The library can achieve this. In Example 4 which you mentioned, you can use the same logic which I used to make dates in the past non-selectable. In the bind method of the dayBinder, check if the date is less than 8th October 2019 or greater than 8th October 2020 and apply the same logic if true.

@kizitonwose Thanks for the advice


expose underlying adapter serializer / deserializer

Use case:
Serializing: if I need to write a custom adapter method, I'd like to be able to serialize the payload automatically into JSON API rather than manually building it. I did try the serialize method on the repository, but it just spit out plain json.
Deserializing: again, if I build a custom adapter method that has a payload that needs to make its way into the store, I need a way to do this. Maybe that's part deserialization, part something else.

In order to serialize JSON:API you can do the following in your own adapter:
serialize(jsonApi);

as long as the JSONAPIAdapter mixin precedes your adapter in your model's mixin declaration:
@DataRepository([JSONAPIAdapter, YourCustomAdapter])
class User extends DataSupport<User> { ... }

The same goes for deserialize.


New location for this applet?

Has mail-flow insights been deprecated?  We can't find it in the new Security Center or Compliance Center?

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

ID: f7ecd274-2094-7733-88b8-e422ebe95406
Version Independent ID: e94b3b1d-da6a-469a-45e7-eba5e9694971
Content: Mail flow insights in the Security & Compliance Center
Content Source: microsoft-365/security/office-365-security/mail-flow-insights-v2.md
Service: o365-seccomp
GitHub Login: @chrisda
Microsoft Alias: chrisda

@FC-EricWeller, they should be in the Security & Compliance Center: https://protection.office.com/

Thanks Chris,
I'm sorry I may have been unclear.  I'm aware the feature is currently located under Security and Compliance Center, but it is NOT located under Security Center, or Compliance Center, which are replacing it.
In truth, I think I had intended to post this question there.

@FC-EricWeller - From our understanding, the issue you raised has been answered by chrisda. If you feel it hasn't been answered, please re-open this issue.
Thank you for your contribution to make the docs better! Much appreciated!


🐛 Bug Report: Invalid @deprecated import paths provided across multiple files

📜 Description
Incorrect deprecated import paths
Multiple areas using @deprecated reference an invalid import path and will result in failure when a user attempts to actually import the non-existent packages. The comments reference the folder name not the actual package name.
backstage\plugins\catalog-backend\src\index.ts\
  39,29:  * @deprecated import from `@backstage/search-backend-module-catalog` instead
  45,29:  * @deprecated import from `@backstage/search-backend-module-catalog` instead
  57,29:  * @deprecated import from `@backstage/search-backend-module-catalog` instead
  64,29:  * @deprecated import from `@backstage/search-backend-module-catalog` instead

^^ should be @backstage/plugin-search-backend-module-catalog
backstage\plugins\explore-backend\src\index.ts
  39,29:  * @deprecated import from `@backstage/search-backend-module-explore` instead
  45,29:  * @deprecated import from `@backstage/search-backend-module-explore` instead
  51,29:  * @deprecated import from `@backstage/search-backend-module-explore` instead

^^ should be @backstage/plugin-search-backend-module-explore
backstage\plugins\techdocs-backend\src\search\index.ts
  28,29:  * @deprecated import from `@backstage/search-backend-module-techdocs` instead
  34,29:  * @deprecated import from `@backstage/search-backend-module-techdocs` instead

^^ should be @backstage/plugin-search-backend-module-techdocs
👍 Expected behavior
Documentation and references should be correct.
👎 Actual Behavior with Screenshots
N/A
👟 Reproduction steps
Please see comment with code paths along with the specific line numbers of the invalid deprecated code comments.
📃 Provide the context for the Bug.
Noticed deprecated warnings / strikethrough on my Backstage implementations around search. Noted that they were related to deprecations.
Went to the comments and attempted to import the correct packages to update the code. The package imports failed and I noted that the plugin- was missing from the prefix of the package references.
Confirmed with the package.json for the specific packages that these deprecated comments were specified with invalid imports.
🖥 Your Environment
No response
👀 Have you spent some time to check if this bug has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
Yes I am willing to submit a PR!

Makes sense! A PR to fix this would be very welcome 🙏

@freben posted up a PR => https://github.com/backstage/backstage/pull/18935

PR merged - closing


Add Python 3 support

This also updates the piwik search engine list.  Although, it should be noted that they do not make the same file we used to read available anymore, so I've had to hardcode the URL to be for version 2.14.3.

:+1: looks good other than the naming on those pickle files.


Any ways to use this directly from NPM Registery?

Hey,
Nice work on this man. I would really like to use this in ongoing projects.. Any way to use this in an ongoing projects? Like using this directly from npmjs?
Thanks.

duplicated of #26

duplicated of #26

oh sorry.. Thanks

Thanks @strange2x and @bclermont
It's coming soon, I'm working on.


Complete implementation of nonlocal

The implementation of nonlocal was already largely done, what was mainly missing was support by ScopeStatement. I suppose it could have been done is several ways, I went ahead with an approach that I think requires the least changes.
A few random remarks and observations:

This is a WIP, which I am committing for an early feedback. It works generally OK (e.g. nonlocal tests from test_scope pass), but I haven't tested it extensively.
In particular, I did no test on interaction of nonlocal with imported symbols.
I did no work on supporting nonlocals in FunctionCode. What would be a good test case?
Existing tests for nonlocals in StdLib are thin, it would be good to have better coverage. Submissions welcome!
In a few cases, IronPython raises UnboundLocalError where CPythons would raise NameError. This can happen also in cases that do not use nonlocal at all. It is unclear to me when one should be preferred over the other so I haven't looked into the cause. Perhaps it doesn't matter, since UnboundLocalError is a subclass of NameError but would be nice to have it aligned with CPython.
When printing symbols from nested scopes, CPython uses something like <__main__.c.<locals>.c1.<locals>.x object at 0x0000000003417E80> and <class '__main__.c.<locals>.c1.<locals>.x'>, but IronPython prints <x object at 0x000000000000002B> and <class '__main__.x>. It is not nonlocal stuff per se, but having it right would help to test nonlocals in IronPython, so I will look into it in this PR.
Some parts of IronPython compiler seem obsolete. Remnants from IronPython 2?

@slozier @slide

Haven't had a chance to review the code, but here are some notes on some of your comments:

Existing tests for nonlocals in StdLib are thin, it would be good to have better coverage. Submissions welcome!

Not direct tests, but here are some suggestions. https://github.com/IronLanguages/ironpython3/issues/454. In test_pep380 there are some tests which are marked as skip because they use nonlocal. There are some CPython tests which are marked as blocked by this which could be enabled (test_dbm, test_fnmatch, test_nntplib, test_shelve, test_timeout, test_urllib_response). I'll try to come up with some test cases when I come back for a proper review.

When printing symbols from nested scopes...

I think this is a __name__/__qualname__ difference. It is PEP3155 (https://github.com/IronLanguages/ironpython3/issues/30) which will need to be addressed at some point.

Some parts of IronPython compiler seem obsolete. Remnants from IronPython 2?

It's entirely possible there's some leftover code when things were ripped out of the codebase. Would have to compare and see.

Filed an issue for the nntplib failure: https://github.com/IronLanguages/ironpython3/issues/1058


Test python 3.12 support

Numba currently does not support python 3.12: https://github.com/numba/numba/issues/9197
When this is fixed:

[ ] add py312 testbank and check if all green
[ ] update supported python versions in pyproject.toml

Fixed by d0b9459ed05b51e94a847fb44fe5efcaabb4f41d
numba_celltree needs to be updated in terms of its supported Python versions.

The classifiers should also be updated in the pyproject.toml: https://github.com/Deltares/xugrid/blob/main/pyproject.toml#L30


RFC: Updating t2s_coreg for MEEPI

Recently, @shotgunosine showed on NeuroStars that there are some reasons to be concerned about MEEPI processing with t2s_coreg.
Specifically, because T2* maps are calculated voxelwise, voxels with invalid T2* values are filled with zeroes, and the images therefore appear "skullstripped" or "masked" in some way (I'll call them "clipped," here). This is causing problems with last brain masking and dropping regions with lower signal, such as the OFC.
There's discussion internally to tedana about alternative T2* fitting methods (see https://github.com/ME-ICA/tedana/issues/315) beyond a simple log-linear fit, which might show less "clipping." This is a longer term discussion at this point, though.
At this point, I see three paths forward.

Replace those voxels with invalid T2* values with values from some other echo. I have implemented a draft of this here, although this feels more like a band-aid than a real solution.

Update how fMRIPrep handles its bold_ref images, such that this "clipping" isn't a concern. This one feels the least likely to me, but maybe it's achievable.

Remove the t2s_coreg option altogether. @handwerkerd expressed that he personally has not seen strong benefits to using the generated T2* image in coregistration, despite it being promoted in the previous ME-ICA pipeline. In this case, we could just continue to use the first echo.

I'd love feedback on which, if any, of these paths make sense to you !

I will defer to the people working on tedana (and multiecho data more generally) because I just don't have enough experience to make a well-informed decision. I can still give opinions, though...
I do agree that filling in zeroed-out voxels without a mathematical justification of the image as a map of some useful measure feels problematic. Supposing somebody actually wanted the T2* map, and they get this (call it a T2*-coreg map), the interpretation would presumably be ambiguous, right? If so, we probably wouldn't want this to happen silently. So if we wanted to continue providing T2* coregistration, then a small workflow that extracts the T2* map and augments it would be more methodologically explicit and less magical.
But if there aren't clear benefits to that, then I'm inclined toward option 3. The simplicity is appealing, so there's less to code, less to justify, and fewer places for bugs to creep in.

So we tried strategy 1 in https://github.com/ME-ICA/tedana/pull/393 without success. Strategy 2 seems infeasible.
I'd like to propose one more strategy --
Right now we're generated the bold_mask and bold_ref_brain internally within init_bold_t2s_wf for multi-echo data, specifically here:
https://github.com/poldracklab/fmriprep/blob/a6029eda7a418cea2d9f7326e6d455afa2c5acb4/fmriprep/workflows/bold/t2s.py#L94
We're connecting those outputs here:
https://github.com/poldracklab/fmriprep/blob/a6029eda7a418cea2d9f7326e6d455afa2c5acb4/fmriprep/workflows/bold/base.py#L760
and here:
https://github.com/poldracklab/fmriprep/blob/a6029eda7a418cea2d9f7326e6d455afa2c5acb4/fmriprep/workflows/bold/base.py#L646
What if we change L760 s.t. it does not update depending on whether the data is multi-echo? We should change L646 only if we decide to move forward with removing t2s-coreg as an option, although I could change the internals of the init_bold_t2s_wf to no longer skullstrip the generated T2* map.

Sorry, @emdupre, I'm having a hard time wrapping my head around the bold workflow at this point. I'm inclined to say you know what you're doing more than I do in there, so go for it.

I'll be on the opposite side of not knowing the fmriprep workflow very well, but the other option is to allow for pre-defined masks to be used in registration. If one is aligning datasets with two different contrasts, I assume this alignment can be done on masked data. Allowing flexibility for the source of the mask might have uses beyond this one specific case.

I'm inclined to say that option 3 is the most reliable. Using the shortest echo as reference will give reliable brain masks easy to extract and the echo closest to the typical single-echo time will give a contrast sufficient for bbregister to perform well.
Once the pipeline is fixed we can come back to the T2* generation. We might want to try some super-resolution approach where we upsample and remove values that are clipped. The higher resolution will make it easier for bbregister and we will be implicitly removing those outliers within the brain mask.
WDYT?


Request for stable release (=version 1.0)

Hi @FlorianRappl
First of all, thanks for this great library! I think this library is the best in it's category :)
Unfortunately, it's a bit pity there is no stable (1.0) version released of this library. For me it's a bit frustrating as I expected a stable a few years ago. While there is some development now after years, I'm afraid there won't be a stable release ever.
I understand if you're busy with other things in life and sometimes things won't go as planned. But thinking out-of-the-box, I think the open issues for 1.0 is to huge.
Also the breaking changes are a bit disturbing, as libraries build on this library has a hard time  to get stable. (for example the excellent library HtmlSanitizer - see issues)
So I have a proposal:

Skip all issues from v0.10 that aren't bugs. Those aren't critical. Sure, better performance is better, build on Linux is cool, but it's isn't really necessary for a 1.0
Skip v0.11. I think that would be nice for 1.1. Or maybe 2.0
Release 1.0 alphas/betas soon. An alpha could be released already with the 4 open bugs in v0.10
Last but not least (not sure if it was planned already), please adopt semver (= no breaking changes in 1.x)

Cheers,
Julian
PS: I apologize if I sound blunt. Direct language is very common in my home country 👼

The reason for 0.10 is to get feedback for the API and have a stable 1.0. And yes, of course semver is used for 1.0 onwards (I think this is even described in one of the docs).
However, most bullet points still assume that some development is done. The truth is as simple as bitter: The .NET ecosystem and its community did not keep my motivation for development in this space. I still want to conclude the work on this one (i.e., at least leave a 1.0 version behind where only some hotfixes / improvements should be merged in from time-to-time), but time is an issue.
Nevertheless, even though I cannot promise anything I still have AngleSharp on the radar and I'll try to deliver hopefully more soon-ish than late / never-ish. Contributions in any space are welcome. One of the greatest killers was Microsoft's ever growing change. Once we had the nice multi-platform build using dotnet with project.json established the system was outdated. Then NuGet went on to abandon multi-platform support and it became hard to make the system build again on AppVeyor. Hence I believe that a 0.10 will drop most of the multi-platform to only go with .NET Standard (that is of course implied multi-platform, however, not containing all earlier supported platforms).
Regarding 0.11 - I inserted this one for some modifications prior to 1.0 that still should validated before going semver and having to release 2.0 instantly.
TL;DR: The proposal is of course nice and goes in line with my thoughts, however, zero progress is still zero progress no matter how much the scope is reduced.
HTH and thanks for your support! :beers:

Thanks for the fast response! 👍
I fully understand your situation and therefore I try to get a stable, with the minimal effort needed.

One of the greatest killers was Microsoft's ever growing change.

Luckily I think it's stable now :) Maybe not fully mature, but stable.

Regarding 0.11 - I inserted this one for some modifications prior to 1.0 that still should validated before going semver and having to release 2.0 instantly.

Do you think "HTML 5.2" (#618) would introduce breaking changes? (PS #535 could be fixed easily without breaking changes)
I don't wanna repeat myself, but there are barely issues in the milestones 0.10, 0.11 and 1.0 that should block a stable release.

And yes, of course semver is used for 1.0 onward

👍  great news! As a developer, I really like semver

Do you think "HTML 5.2" (#618) would introduce breaking changes?

No the 0.11 is more a "guess" than a fixed set. I just placed also some other things (e.g., #618) in this milestone, but nothing cut in stone and such issues could easily be moved if there is no other reason for a 0.11.

OK, but why before 1.0? 1.1 sounds reasonable to me.

Hey @FlorianRappl
Is there a roadmap yet to v1 ? I read the above comments and can fully sympathize. I'd like to contribute the best I can to reach v1 ! 😄
(sorry if this is the wrong place for ice-breaker 😮 )

Hi @sakshamsaxena - thanks for bringing this up. Current plan is to release 0.11 today (it will - among others - feature documentation improvements, some bug fixes and further stabilization, exposing more possibilities, and removes AngleSharp.Xml, which will be available in a dedicated NuGet package).
If everything goes well I would assume 1.0 to hit production eo Q1 / so Q2 this year. API-wise I think we are good, I only want to make sure there are no blockers / hard bugs in there, which may require an API change or other breaking things.
HTH!
(any help welcome - especially in the areas of perf improvements, documentation, eco-system, ... - if you want to contribute I would more than appreciate it; just tell me your preferences and we are good to go!)

Can help in perf definitely ! Also, good to hear on these updates ❤

We will ship a preview for v1 later today.
Depending on the incoming bug requests and the backlog we'll ship v1 end of April / in May.

What happened to v1?

@FlorianRappl bump. Any idea if v1 will be this year?
This request is many years old.

@304NotModified happens when the documentation is up to the standard. If you want to accelerate it feel free to contribute!


sidecar: thanos sidecar introduces query delays

Thanos, Prometheus and Golang version used:
sidecar image user: quay.io/thanos/thanos:v0.31.0
prometheus_version:  2.39.1

Object Storage Provider: GCS
What happened:
Running a query using Thanos we noticed some slowness.
In this screenshot, you can see that the query takes 12.7s seconds. This seems weird since the query usually runs in way less when going directly through Prometheus.

Using tracing we were able to determine that more than 50% of the time (7.5s) is spent on querying the Prometheus instance from the Thanos sidecar:

However, this is quite strange given running the same query directly on the Prometheus instance with the same parameters is significantly faster (2s) despite the better connexion between the sidecar and the Prometheus instance then from my laptop:

What you expected to happen:
I would expect the thanos sidecar to be as fast as querying the prom instance directly

Anything else we need to know:
The only difference I could find was the read API used by Thanos rather than the query_range API. There might be something obvious I am missing on tuning said read API to have similar performances to the query API.

I think it's in part due to https://github.com/prometheus/prometheus/issues/11882. (1) idea there is feasible. Let me try to upstream something.

thanks for your quick response, is there anything I can do to contribute to solving this issue given I have never contributed to thanos or prometheus's code bases?

Can you maybe share the block and query that reproduce this so we can try debugging locally? That would be very interesting!

Sorry for the late response.
I don't think we can share real production blocks for privacy reasons but we are looking into
anonymazing the data to create a sharable test dataset. Will get back to you once we have moved ahead with this ...


solarish adding ucontext struct

r? @Amanieu

@bors r+

:pushpin: Commit abcffb86f6b9500cda04e73d661470fb8d2cde65 has been approved by Amanieu

:hourglass: Testing commit abcffb86f6b9500cda04e73d661470fb8d2cde65 with merge f01492db1baf5a468d0ee7075b8aef96a3834062...

:sunny: Test successful - checks-actions, checks-cirrus-freebsd-11, checks-cirrus-freebsd-12, checks-cirrus-freebsd-13
Approved by: Amanieu
Pushing f01492db1baf5a468d0ee7075b8aef96a3834062 to master...


[DEV-705] e2e test fixes

Task linked: DEV-705 [performance] Split validation into static and dynamic


Strange compatibility issue with historicized medicine

For some reason, the medicine man villager in this mod gets overriden by historicized medicine's plague doctor, causing some weirdness.
https://minecraft.curseforge.com/projects/historicized-medicine

What do you mean by "overridden"?

Textures and trades


feat: add support for opentofu

This makes it possible to use opentofu instead of terraform. It involves some CRD modifications:

Terragrunt configuration is no longer under terraform config in TerraformRepository & Layer spec
One can choose between terraform and opentofu as base executor for infra as code in layer and repositories config with spec.terraform.enabled and spec.terragrunt.enabled
Validation rules prevent users from setting both parameters to true
Layer config overrides Repo config.

Todo:

[X] Update CRDs
[X] Integrate opentofu to runner
[X] Add tests, specifically for parameter merge edge cases
[x] Fix test data used in runner & end-to-end tests
[x] Update documentation
[x] Better, dynamic logging with less hardcoded references to "terraform"

Overall very great Pull Request! 👏
It opens Burrito to the world of OpenTofu 😄


Superset 3.0 pypi package installs wrong version of wtforms

When installing superset with pip, it seems that a wrong version of wtforms is used. Which results in errors like this in some pages (List users, roles, and activity for example)
2023-10-12 11:51:31,302:ERROR:superset.views.base:not enough values to unpack (expected 4, got 3)
Traceback (most recent call last):
  File "/venv/lib/python3.9/site-packages/flask/app.py", line 1484, in full_dispatch_request
    rv = self.dispatch_request()
  File "/venv/lib/python3.9/site-packages/flask/app.py", line 1469, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
  File "/venv/lib/python3.9/site-packages/flask_appbuilder/security/decorators.py", line 137, in wraps
    return f(self, *args, **kwargs)
  File "/venv/lib/python3.9/site-packages/flask_appbuilder/views.py", line 555, in list
    return self.render_template(
  File "/venv/lib/python3.9/site-packages/flask_appbuilder/baseviews.py", line 343, in render_template
    return render_template(
  File "/venv/lib/python3.9/site-packages/flask/templating.py", line 151, in render_template
    return _render(app, template, context)
  File "/venv/lib/python3.9/site-packages/flask/templating.py", line 132, in _render
    rv = template.render(context)
  File "/venv/lib/python3.9/site-packages/jinja2/environment.py", line 1301, in render
    self.environment.handle_exception()
  File "/venv/lib/python3.9/site-packages/jinja2/environment.py", line 936, in handle_exception
    raise rewrite_traceback_stack(source=source)
  File "/venv/lib/python3.9/site-packages/superset/templates/appbuilder/general/model/list.html", line 20, in top-level template code
    {% import 'appbuilder/general/lib.html' as lib %}
  File "/venv/lib/python3.9/site-packages/flask_appbuilder/templates/appbuilder/base.html", line 1, in top-level template code
    {% extends base_template %}
  File "/venv/lib/python3.9/site-packages/superset/templates/superset/base.html", line 20, in top-level template code
    {% from 'superset/partials/asset_bundle.html' import css_bundle, js_bundle with context %}
  File "/venv/lib/python3.9/site-packages/superset/templates/appbuilder/baselayout.html", line 20, in top-level template code
    {% import 'appbuilder/baselib.html' as baselib %}
  File "/venv/lib/python3.9/site-packages/flask_appbuilder/templates/appbuilder/init.html", line 42, in top-level template code
    {% block body %}
  File "/venv/lib/python3.9/site-packages/superset/templates/appbuilder/baselayout.html", line 37, in block 'body'
    {% block content %}
  File "/venv/lib/python3.9/site-packages/superset/templates/appbuilder/general/model/list.html", line 26, in block 'content'
    {% block list_search scoped %}
  File "/venv/lib/python3.9/site-packages/superset/templates/appbuilder/general/model/list.html", line 27, in block 'list_search'
    {{ widgets.get('search')()|safe }}
  File "/venv/lib/python3.9/site-packages/flask_appbuilder/widgets.py", line 115, in __call__
    form_fields[col] = self.template_args["form"][col]()
  File "/venv/lib/python3.9/site-packages/wtforms/fields/core.py", line 176, in __call__
    return self.meta.render_field(self, kwargs)
  File "/venv/lib/python3.9/site-packages/wtforms/meta.py", line 64, in render_field
    return field.widget(field, **render_kw)
  File "/venv/lib/python3.9/site-packages/flask_appbuilder/fieldwidgets.py", line 181, in __call__
    return super(Select2ManyWidget, self).__call__(field, **kwargs)
  File "/venv/lib/python3.9/site-packages/wtforms/widgets/core.py", line 365, in __call__
    for val, label, selected, render_kw in field.iter_choices():
ValueError: not enough values to unpack (expected 4, got 3)

How to reproduce the bug

Install superset on a fresh virtual environment with pip install apache-superset==3.0.0
Run the usual setup and init
Navigate to "List users", "List roles" or "Action Log"

Expected results
I've expected superset package from pypi to require the correct versions for its dependencies.
Additional context
setup.py requires "wtforms>=2.3.3, <4" but it looks like superset 3.0 is not compatible with wtforms=3.1.0 which was the version installed on this case. To fix this, I just installed version 2.3.3 manually
pip uninstall wtforms
pip install wtforms==2.3.3

Adding
RUN pip uninstall wtforms -y
RUN pip install wtforms==2.3.3

to my dockerfile solved my issue here. Thanks!