Stops the robot from freezing after trying to get up twice

This PR removes the ReactionHandles in Getup to prevent a race condition that resulted in Getup taking control and never giving it up.
The problem was

Get up is detected, priority is increased :arrow_up:
Because priority is increased, Getup gets control and ExecuteGetup is emitted :envelope:
getUp reactor is enabled by default so it runs fine :+1:
KillGetup runs after get up finishes and disables the getUp reactor :x:
Get up is detected, priority is increased :arrow_up:
Because priority is increased, Getup gets control and ExecuteGetup is emitted :envelope:
getUp reactor was disabled, so it doesn't run :x:
getUp reactor is enabled, but ExecuteGetup has already disappeared :cry:

@KipHamiltons  Expected — Waiting for status to be reported 😢

@ysims https://buildkite.com/nubots/nubots/builds/2865#3ffe9688-89a0-4249-9362-5ee810c26db1
It failed. Not sure why it didn't update here thoug

That's an old build, there's another commit since then that fixes that.

I tested and it seems to work :shrug:


the server responded with status 400 @title="Invalid Resource"

Hello,
I have succeded in composing member list through a landing page with a name and email form that create a user both in my app and mailchimp.
Nevertheless I have one error message on a email I tested randomly.
<EMAIL_ADDRESS>To limit any email mistakes, I have added a regex in my User model on create. But this seems not sufficient and seems to be proper to gibbon email validation.
here is the error message:
<EMAIL_ADDRESS>looks fake or invalid, please enter a real email address.", @body={"type"=>"http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/", "title"=>"Invalid Resource", "status"=>400<EMAIL_ADDRESS>looks fake or invalid, please enter a real email address.",
Here is my service code:
`class SubscribeToNewsletterService
def initialize(user)
@user = user
@gibbon = Gibbon::Request.new(api_key: ENV['MAILCHIMP_API_KEY'])
@list_id = ENV['MAILCHIMP_LIST_ID']
end
def call
if @user.email
@gibbon.lists(@list_id).members.create(
body: {
email_address: @user.email,
status: "subscribed",
merge_fields: {
FNAME: @user.name,
#   LNAME: @user.last_name
}
}
)
end
end
end`
User model:
after_create :subscribe_to_newsletter
validates :email, presence: true, uniqueness: true
validates_format_of :email, :with => /\A([^@\s]+)@((?:[-a-z0-9]+.)+[a-z]{2,})\Z/i, on: :create
validates :name, presence: true
def subscribe_to_newsletter
SubscribeToNewsletterService.new(self).call
end
Is there any gibbon method or best practise I could use to check validity of infos submitted from my users to prevent error message of the API?
Thanks in advance for your help!
Thibault

Gibbon wraps the API and nothing more so the errors you’re receiving are due to MailChimp’s validation. I have never heard of this particular error though. I recommend reaching out to MailChimp’s API support team to ask how they validate email authenticity.
As far as best practices, you should handle API errors, in general. For instance, attempting to subscribe a user that is already added to a given list results in an error. You can handle the error or you can use upsert instead. There’s an example of doing so in Gibbon’s ReadMe. I wouldn’t recommend a complex regex for validating email. I would go with something rudimentary (e.g. does the string contain an @ and is it long enough) and let MailChimp do the full validation.
I’m happy to attempt to answer Gibbon specific questions.

Thank you for your time and help
Thibault


memoryStore 增加set方法的ttl

memoryStore.set() 增加 maxAge参数

I merged this, but I made a change: the options.ttl in memory store's set function gets multiplied by 1000 to convert to seconds.

can you publish this version to NPM? I want it.

3Q

I think I published it in 1.1.0. I'm away from my computer right now but I can check later.

on npm, the latest version still is 1.0.0, wait your upgrading， thank you！ yoyo~ check now~

Hi, this is published in 1.1.0 now. Sorry about that.


Symbolic ALT alleles

Implement endpoint for serving ALT allele constants for symbolic VCF variants. E.g. DEL, DUP, INS, CNV...

Done


Fixing typo in comment that is confusing

It could be understand as a right-castle instead of a castle rights

Should be most now


[WIP] Refactor MeshTools

The overall objective of this PR is a shallow refactoring of MeshTools including the following tasks

[ ] Get to 100% coverage in test_meshtools.py
[ ] Ensure we have docstrings for at least all the classes and functions used elsewhere in proteus
[ ] Minor cleanup, reorganization, and optimization of existing functionality
[ ] An ipython notebook tutorial for the module

This  may include a few new convenience features (e.g. for ipython integration), but I'm not planning to break any existing code or add  functionality that requires extensive design and testing.

Coverage is up to 50%, and most of the docstrings and cleanup is done. I'm going to go ahead and merge. Will reopen next year.


Regression in 1.7.0: Spaces seem to be highlighted even when no spaces change.

Add some objects to preview that have spaces in their names
Add an operation, like Replace String
Specify options such that objects with spaces in their names get touched (but don't modify the spaces) Ex: "Game Object", replace "Obj" with "Blah"
Observe the spaces are green even though they shouldn't be touched.

ApplyBackgroundColorToWhitespaces should make sure spaces are within color tags before recoloring them.

@Mukarillo thinking we can call this fixed in develop-v1.7.0. Still has issues with LOTs of spaces but otherwise I can't find issues.

I think I eliminated most of the hacky values. I am now opting to just draw a background on all text, emulating the way Sublime text does diffs. Ultimately I'd like to make a preference for this (and all) text color.


Feature/fix

Codecov Report

Merging #78 into develop will increase coverage by 3.64%.
The diff coverage is 62.5%.

@@             Coverage Diff             @@
##           develop      #78      +/-   ##
===========================================
+ Coverage     68.4%   72.04%   +3.64%
===========================================
  Files          200      200
  Lines        10583    10593      +10
===========================================
+ Hits          7239     7632     +393
+ Misses        3344     2961     -383

Impacted Files
Coverage Δ

mediaPlayer/SuperMediaPlayer.cpp
76.48% <62.5%> (+2.02%)
:arrow_up:

framework/demuxer/avFormatDemuxer.cpp
79.31% <0%> (-2.83%)
:arrow_down:

framework/demuxer/AVBSF.cpp
65.93% <0%> (-2.2%)
:arrow_down:

framework/data_source/curl/curl_data_source.cpp
71.56% <0%> (-0.57%)
:arrow_down:

mediaPlayer/player_notifier.cpp
81.31% <0%> (ø)
:arrow_up:

mediaPlayer/media_packet_queue.cpp
84% <0%> (ø)
:arrow_up:

framework/demuxer/play_list/HlsParser.cpp
80.33% <0%> (+0.33%)
:arrow_up:

mediaPlayer/player_msg_control.cpp
81.81% <0%> (+0.82%)
:arrow_up:

mediaPlayer/buffer_controller.cpp
59.32% <0%> (+0.84%)
:arrow_up:

framework/demuxer/play_list/HLSManager.cpp
73.3% <0%> (+1.19%)
:arrow_up:

... and 21 more

Continue to review full report at Codecov.

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


this should be a gist

this would be very helpful in a packet/vagrant generated environment, having it in a repo makes it much more difficult than being able to pull a gist down.

Invoke-WebRequest https://raw.githubusercontent.com/Disassembler0/Win10-Initial-Setup-Script/master/Win10.ps1

Does not seem that difficult to me.


uefitool: init at A55 and 0.26.0

default to new-engine
Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Why do you want to init at 0.26.0 aka "old-engine"? It seems like this could be much simpler if we just wrote the derivation for one version.

Good question. The old engine has some feature which the new one does not, see here.
However, I seem to have forgotten to install the relevant binaries to actually make use of those features. The version I pushed now fixes that.

Ping

@ryantm fixed. Plus fallout from #65399, because apparently I did that wrong.


crypto: tile38 latency regression with merge of dev.boringcrypto

Our performance monitoring shows a fairly large regression on tile38 request latency metrics vs go1.18.1:

(Y axis is proportion vs go1.18.1. i.e., (p90 latency at experiment comment) / (p90 latency at go1.18.1))
Our monitoring blames https://go.dev/cl/403154, and I can reproduce locally by comparing https://go.dev/cl/403154 to https://go.dev/cl/403594 (its parent):
                               │ results/tile38/baseline.results │ results/tile38/experiment.results  │
                               │             sec/op              │   sec/op     vs base               │
Tile38WithinCircle100kmRequest                       476.0µ ± 1%   487.9µ ± 1%  +2.51% (p=0.000 n=10)

                               │ results/tile38/baseline.results │  results/tile38/experiment.results  │
                               │        average-RSS-bytes        │ average-RSS-bytes  vs base          │
Tile38WithinCircle100kmRequest                      5.104Gi ± 2%        5.121Gi ± 2%  ~ (p=0.436 n=10)

                               │ results/tile38/baseline.results │ results/tile38/experiment.results │
                               │         peak-RSS-bytes          │ peak-RSS-bytes   vs base          │
Tile38WithinCircle100kmRequest                      5.439Gi ± 1%      5.472Gi ± 2%  ~ (p=0.280 n=10)

                               │ results/tile38/baseline.results │ results/tile38/experiment.results │
                               │          peak-VM-bytes          │  peak-VM-bytes   vs base          │
Tile38WithinCircle100kmRequest                      6.100Gi ± 1%      6.100Gi ± 2%  ~ (p=0.616 n=10)

                               │ results/tile38/baseline.results │   results/tile38/experiment.results    │
                               │         p50-latency-sec         │ p50-latency-sec  vs base               │
Tile38WithinCircle100kmRequest                       80.39µ ± 0%       81.07µ ± 1%  +0.84% (p=0.000 n=10)

                               │ results/tile38/baseline.results │   results/tile38/experiment.results    │
                               │         p90-latency-sec         │ p90-latency-sec  vs base               │
Tile38WithinCircle100kmRequest                       646.0µ ± 0%       666.1µ ± 0%  +3.11% (p=0.000 n=10)

                               │ results/tile38/baseline.results │   results/tile38/experiment.results    │
                               │         p99-latency-sec         │ p99-latency-sec  vs base               │
Tile38WithinCircle100kmRequest                       6.368m ± 2%       6.615m ± 1%  +3.88% (p=0.000 n=10)

                               │ results/tile38/baseline.results │ results/tile38/experiment.results  │
                               │              ops/s              │    ops/s     vs base               │
Tile38WithinCircle100kmRequest                       18.91k ± 1%   18.44k ± 1%  -2.45% (p=0.000 n=10)

I'd like to understand the reason for this regression, as it is fairly large. I've already confirmed that the test binary is not using boringcrypto after this CL, which would be an obvious change. It is unfortunately likely not feasible to bisect into the merge commit, as it contains multiple years of commits, and the baseline Go performance will change quite a bit over that period.
cc @golang/runtime @golang/security

A differential profile consistency shows that github.com/tidwall/rtree.(*rect).search is ~15% slower after this CL, despite having identical generated code. Perhaps there is a bad new cache effect?

Update:
Baseline and experiment show nearly identical instruction counts, but experiment has a higher cycle count. i.e., IPC has dropped (by ~3%):
Baseline:
        369,887.55 msec task-clock:u              #    6.919 CPUs utilized
 1,285,633,910,006      cycles:u                  #    3.476 GHz
   998,250,543,962      instructions:u            #    0.78  insn per cycle

Experiment:
        379,762.68 msec task-clock:u              #    6.932 CPUs utilized
 1,319,852,127,328      cycles:u                  #    3.475 GHz
   998,004,293,452      instructions:u            #    0.76  insn per cycle

Taking a look at perf stat --topdown, it appears to be primarily an increase in backend-bound cycles:
                       retiring      bad speculation       frontend bound        backend bound
Baseline                29.78%             2.22%               10.70%                 57.30%
Baseline                29.81%             2.20%               10.70%                 57.33%
Experiment              29.08%             2.18%               10.45%                 58.30%
Experiment              29.33%             2.18%               10.48%                 58.00%

It is unfortunately likely not feasible to bisect into the merge commit, as it contains multiple years of commits, and the baseline Go performance will change quite a bit over that period.

You can try building Go from dev.boringbranch instead of master and bisect from https://github.com/golang/go/commit/fe006d641079e8943833573bd1275ef51eb7fb60 to https://github.com/golang/go/commit/cdcb4b6ef37c1ce14637323dd00b5daad7e645c4. There are only 12 commits in between containing the major changes which were introduced in https://go.dev/cl/403154.

I'm not convinced that the regression appeared in the last few commits of dev.boringcrypto, but I may give that a shot soon anyways, as it can't hurt.

@qmuntal Thanks for the suggestion, I gave that a shot after all and it went more smoothly than expected. I've thus narrowed the problem down to https://go.dev/cl/395876.
With the parent CL (https://go.dev/cl/395875) as the baseline (and the default use of boringcrypto commented out on both sides), I can reproduce the same change:
                               │ results/tile38/baseline.results │ results/tile38/experiment.results  │
                               │             sec/op              │   sec/op     vs base               │
Tile38WithinCircle100kmRequest                       490.1µ ± 1%   502.4µ ± 1%  +2.50% (p=0.000 n=10)

                               │ results/tile38/baseline.results │  results/tile38/experiment.results  │
                               │        average-RSS-bytes        │ average-RSS-bytes  vs base          │
Tile38WithinCircle100kmRequest                      5.076Gi ± 2%        5.085Gi ± 1%  ~ (p=0.631 n=10)

                               │ results/tile38/baseline.results │ results/tile38/experiment.results │
                               │         peak-RSS-bytes          │ peak-RSS-bytes   vs base          │
Tile38WithinCircle100kmRequest                      5.461Gi ± 2%      5.454Gi ± 1%  ~ (p=0.971 n=10)

                               │ results/tile38/baseline.results │ results/tile38/experiment.results │
                               │          peak-VM-bytes          │  peak-VM-bytes   vs base          │
Tile38WithinCircle100kmRequest                      6.132Gi ± 2%      6.100Gi ± 1%  ~ (p=0.912 n=10)

                               │ results/tile38/baseline.results │ results/tile38/experiment.results │
                               │         p50-latency-sec         │ p50-latency-sec  vs base          │
Tile38WithinCircle100kmRequest                       86.86µ ± 2%       87.36µ ± 1%  ~ (p=0.684 n=10)

                               │ results/tile38/baseline.results │   results/tile38/experiment.results    │
                               │         p90-latency-sec         │ p90-latency-sec  vs base               │
Tile38WithinCircle100kmRequest                       662.7µ ± 2%       680.0µ ± 1%  +2.61% (p=0.001 n=10)

                               │ results/tile38/baseline.results │   results/tile38/experiment.results    │
                               │         p99-latency-sec         │ p99-latency-sec  vs base               │
Tile38WithinCircle100kmRequest                       6.471m ± 2%       6.695m ± 2%  +3.46% (p=0.001 n=10)

                               │ results/tile38/baseline.results │ results/tile38/experiment.results  │
                               │              ops/s              │    ops/s     vs base               │
Tile38WithinCircle100kmRequest                       18.36k ± 1%   17.91k ± 1%  -2.44% (p=0.000 n=10)

I compared the before/after binaries with BinDiff, which says that the only meaningful code changes in the binary after https://go.dev/cl/395876 are:

crypto/sha1.(*digest).Sum and crypto/sha1.(*digest).Write no longer call crypto/internal/boring/sig.StandardCrypto (which is just a bunch of nops anyways). Presumably because https://go-review.googlesource.com/c/go/+/395876/11/src/crypto/sha1/boring.go now requires cgo for boringUnreachable to do anything.

Also there is one new function that no longer appears in the after binary (some grpc logger function?), but didn't appear to be called in the first place. That one is strange.

I also compared escape analysis debug output and no new escapes stuck out at me (though I may have missed something in the noise of differing line numbers).
This continues to lead me to believe that some change in code or allocation memory layout is causing bad side effects in the cache.


DioException.toString() should contain the request information

Request Statement
When printing exception information, it is impossible to quickly locate the source of the request. Here are some examples:
DioException [connection timeout]: The request connection took longer than 0:00:30.000000. It was aborted.
The exception message only shows that a connection timeout occurred, but does not provide any information about which request timed out. This makes it difficult to quickly identify the problematic request when debugging.
Some additional context that would be useful:
The URL of the request
The HTTP method (GET, POST, etc)
Any identifiers like request ID
So a more helpful exception could be:
DioException [connection timeout]: GET https://example.com/api/v1/users took longer than 30s and was aborted.
By including details like the URL and request method in the exception, it becomes much faster to pinpoint where the problem is occurring.
Solution Brainstorm
No response

The requestOptions field is useful, but not relevant to the actual error message.
A friendly error message,toString method should contain concise, accurate and effective information. For example, now I have a method that contains some Dio requests, and some other methods that may also throw errors. Normally, I only need to call print to meet the need when I want to print the exception information, but now I need to first judge if the current error is a DioException, then extract useful information from it, and customize the message according to the error type. This obviously introduces a lot of burden. Of course, I can also write an extension method to unify custom message assembly to reduce boilerplate code, but this obviously has a huge mental overhead when I have many methods.

@iota9star Are you willing to contribute this as a PR?

Appropriately outputting additional information does not pose much of a problem. Request method, request path and such do not have major privacy issues. Error messages are controlled by developers, and leaks are only individual developer's problems. Of course we can also try printing exception information at different levels through configuration.

@iota9star Are you willing to contribute this as a PR?

This is too difficult for me.

Doesn't writing your own error log interceptor allow this?

@ueman Hi Jonas, would this be a valid approach? Any concerns?
class ErrorMessageRewritingInterceptor extends Interceptor {
  @override
  void onError(DioException err, ErrorInterceptorHandler handler) {
    final errWithHelpfulMessage =
        err.copyWith(message: '<some helpful message for debugging>');
    super.onError(errWithHelpfulMessage, handler);
  }
}

I've filed 2 PRs to find out if there is a better answer for the issue. Please vote or add comments if you'd like to.

https://github.com/cfug/dio/pull/2296
https://github.com/cfug/dio/pull/2297


Why get out of the original A File Icon network?

https://github.com/nfantone/zz-file-icons/network/members

Answer is easy: I searched for "A File Icon" or "a-file-icon" but did not find anything.

It would be very nice if you could keep the original network, instead of splitting it into two networks because:

We can keep the valuable git history of changes from the original repository directly connected with your new changes
All the current forks can communicate between each other, and with your new changes by creating and receiving pull requests.

Then, after a few hours researching and testing, I managed to glue your new commits into old network, but the most important, while keeping git merge compatibility (see a test pull request on https://github.com/nfantone/zz-file-icons/pull/1).
Hence, you could either:

Just fork my repository which is already up to date and include your commits on this repository: https://github.com/evandroforks/AFileIcon/commits/master
Directly fork the new parent fork (https://github.com/nfantone/zz-file-icons) and open a pull request from my fork (https://github.com/evandroforks/AFileIcon)
Directly fork the new parent fork (https://github.com/nfantone/zz-file-icons) and redo all the work I did on my fork to merge the two repositories.

In case you prefere the last option, I am going to document here all the steps I did in order to do this git glue/patch/graft (hack?):

 I am with you about keeping the old history. Will have a look into it.
Just wondering if the repo could find a more general place to live as it seems quite popular. You seem to be as interested in keep it going as me. Maybe can find a way to clue the efforts together instead of doing things twice?
Maybe somewhere in https://github.com/SublimeText/? Not sure who maintains it? Maybe ask @FichteFoll?
Note:
I know about FileIcons of @braver but with a closer look into the whole icon stuff, it looks like we can't live without runtime code to ensure compatibility with or overwrite the icons of themes.

After a short look into your PR https://github.com/nfantone/zz-file-icons/pull/1 I need to say that the gulpfile was manually recreated by myself as it was not part of the repo. We should keep the original one.
I started patching my commits into a local fork of https://github.com/bitst0rm-st3/a-file-icon which seems to be the most up to date one.

Renamed this repo and forked from https://github.com/bitst0rm-st3/a-file-icon into https://github.com/deathaxe/sublime-a-file-icon. After all the local changes were committed and pushed to develop branch which then was merged to master.
This is a breaking change which might lead to some issues for those who already folked the repo, but I did not find an easy way to replace the upstream repo without it.

Maybe somewhere in @SublimeText? Not sure who maintains it? Maybe ask @FichteFoll?

Anyone with commit access may maintain an abandoned package in the @SublimeText org. That wasn't its original purpose, but I believe it to be a good repurposing of the org.
I'm not going to maintain it myself, however. I have enough tasks at hand.

deathaxe: Maybe can find a way to clue the efforts together instead of doing things twice?

What do you mean by doing things twice? I do not think we would be doing that. As you are already integrated into the old network, I will keep up-to-date with your fork changes. I use backstroke for it. I had it setup for all my repositories forks, then, every time you update something, I will get a pull request on my fork with your updates.
I have been using A File Icon for some years, and usually I never got problems with it. For now I am working in fixing bugs or adding new features on every repository/package I use. If something show up, I could either report them or fix them myself. Whether I report or fix them depends on how much they affect me and how much things I have to do (free time available).
For example, if something affects me very much, instead of opening an issue, I would just take time to fix them immediately and open a pull request with the changes, instead of opening an issue first. Other times, they affect me very much, but I have no free time, then, I first open a issue reporting it, and soon when I got time I would fix it and open a pull request.
If I change/fix something which can be integrated into your fork, I would open a pull request for you repository.

deathaxe: After all the local changes were committed and pushed to develop branch which then was merged to master.

This is a breaking change which might lead to some issues for those who already folked the repo, but I did not find an easy way to replace the upstream repo without it.

I am not sure what it broke. I just manage to to a pull request from your fork into my fork: https://github.com/evandroforks/AFileIcon/pull/2 I got not problem other than a conflict with the .gitignore file.

deathaxe: I started patching my commits into a local fork of https://github.com/bitst0rm-st3/a-file-icon which seems to be the most up to date one.

Your integration is smoothly connected:

The one I did, had this glitch commit:

Can you tell how you managed to did it?

Can you tell how you managed to did it?

I exported all commits as patch file from my local repo via git format-patch --root ... and applied them except the Inital Commit to the new folked repo. GitExtensions is quite helpful with doing such stuff except I found a bug in the latest 3.0.0 which causes patch creation of multiple commits to fail ;-)

I am not sure what it broke.

@evandrocoan: I renamed the "old" repo to get the folk named sublime-a-file-icon. Not sure, what consequences such a change may have for already existing folks from the old repo.
@FichteFoll: I just wondered, whether a more general account like SublimeText would be a better place for such a popular repo to live in, even though it is not a must have. Doesn't mean to push a way maintenance from it. Like @evandrocoan said, it has done a quite good job so far, so would keep an eye on it in case of further changes in core which may require some changes.
Btw.: Don't think I have write access to SublimeText so far.

Sent an invitation. Feel free to do whatever.

@FichteFoll:

Thanks.
Renamed the sublime-a-file-icon to AFileIcon and transfered ownership to SublimeText

The docs say something about an email to be sent to accept it. Not sure about it. The repo seems successfully moved.
Hence would update the pull request to package control accordingly.

I started patching my commits into a local fork of https://github.com/bitst0rm-st3/a-file-icon which seems to be the most up to date one.

Hi,
i am the owner of this fork and can confirm that the fork is the latest up to date ever to get because a bot is always running in the background and does auto update the fork in real time with its mainstream.
When the owner deleted all his repos, he does not seem to know that somewhere in the net a bot still keeps the fork up to date with his latest commit.
For such scenario is the bot here. ;)

@bitst0rm, what bot do you use? What this bot does when there is a git merge/rebase conflict? My bot is https://backstroke.us and it creates pull requests when the repository changes, but it do not merge them automatically. Then, it is up to me merge them, and when there is merge conflicts, fix them.

@evandrocoan
I did tested https://backstroke.us a long time ago but did not like its concept.
With this one all of my forks always remain up to date with auto merging and no annoying pull PR for each times:
Name: Pull
Description: Keep your forks up-to-date.
Install: https://probot.github.io/apps/
Author: https://github.com/wei/pull
But take care to archive (=no write permission) the fork if something bad happens like above, then the bot does not overrides anything.


Change typeface

Is it possible to change the typeface of the labels by a function like bottomBar.setTypeface(Typeface tf) ?

This is not currently built-in, but meanwhile you can use Calligraphy.

Just updated the library to version 1.1.2. and this is now supported.

// Use custom typeface that's located at the "/src/main/assets" directory.
mBottomBar.setTypeFace("MyFont.ttf");

Thanks


Search fields and filter for RoleAdmin

Could we please have a search field and a list filter for our /admin/accounts/role page?
I have locally tested the search and filter function with following in rdmo/accounts/admin.py
class RoleAdmin(admin.ModelAdmin):
    search_fields = ['user__username']
    list_filter = ('member', 'manager')

instead of
class RoleAdmin(admin.ModelAdmin):
    pass

thank you!

thank you for the commit!


Move additional types to vscode-languageserver-types

Would it be possible to move some more interfaces over to types so that they may be shared?
https://github.com/Microsoft/vscode-languageserver-node/blob/master/server/src/protocol.ts#L128
I can understand anything referencing json-rpc shouldn't be shared, but it would be great to see ServerCapabilities and friends available for creating implementations using TypeScript.  As it stands I have to make a copy of protocol.ts.
It would also be great to have a methods namespace as well, to make those constants and available.

@david-driscoll these got move to a separate npm module called vscode-languageserver-protocol. Please ping if this doesn't do the trick for you.


Simplify configuration for OIDC Authenticator.

Codecov Report

Merging #820 into master will decrease coverage by 0.07%.
The diff coverage is 82.75%.

@@            Coverage Diff             @@
##           master     #820      +/-   ##
==========================================
- Coverage   34.38%   34.31%   -0.08%
==========================================
  Files          57       57
  Lines        3743     3739       -4
==========================================
- Hits         1287     1283       -4
  Misses       2311     2311
  Partials      145      145

Impacted Files
Coverage Δ

model/oidc.go
0% <0%> (ø)

core/controlplane/config/config.go
59.79% <100%> (-0.19%)
:arrow_down:

core/controlplane/config/encrypted_assets.go
70.65% <89.47%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Other than that my preference is to align to the API server param names in the hope it's easier to understand where those go

Great suggestion 👍
I agree that we should make setting keys consistent with corresponding names of apiserver params.
@camilb WDYT?
@c-knowles Would you mind submitting an another PR if we agreed on it, after this PR gets merged?

/lgtm

@c-knowles I made the necessary adjustments to align with the API server param names. Also removed the self signed certificate generation for OIDC. If anyone use a custom provider that has a self signed certificate, most probably they are not using the ones generated by kube-aws. As for Dex, the users have several options to  expose the service using a trusted certificate.

I guess the original intention behind the current key names was to be consistent with the dex config keys?

@mumoshu Yes, they were initially aligned with Dex parameter names. Agree using the names from API parameters and already made the changes. I also removed the generation of self signed certificates for OIDC as Dex can be easily  exposed  using a trusted certificate.

@camilb Thanks for your efforts 👍 I understood about the changes regarding self-signed cert generation, too.


KAFKA-13890: Improve documentation of ssl.keystore.type and ssl.truststore.type

As mentioned in KIP-651

A new key store type PEM will be added for key and trust stores. Both ssl.keystore.type and ssl.truststore.type may specify PEM in addition to JKS and PKCS12.

Now the documentation of these two parameters does not indicate which optional values are available, only a default value is shown.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Hi @dajac
Could you help to review this PR?
Thanks.

Hi @showuon
Could you help to review this PR?
Thanks.

Hi @mimaison
Could you help to review this PR?
Thanks.

Hi @dajac and @mimaison
Could you help to review this PR?
Thanks.

Hi @mimaison  could we merge this PR?
Thanks.


Test against Rails 4.2.0

ready to rock

@joneslee85 thank you for this!
Just check the comment I've done about genspec and generators. I think with that change this can be ready to be merged.

@jondeandres as I've suggested before, what do you think about having separate dummy app for each rails version? I find there are so many if..else condition as more and more Rails versions get released.

@joneslee85 I'd prefer having a smarter dummy app that loads different configuration files depending on the rails version.
The if/else statements you are commenting are only in config files and actually in app/models/user.rb. What if just we create a module to load some files depending on the Rails version?
While the controllers implementation works for all the rails version I'd prefer not having different applications. If in the future this cannot be avoided then we can change it.

Hey @joneslee85 , did you mean to close this PR? Jon and I were just discussing and I think it could be merged - let me know what you think.


Make pact tests work in dev mode

Resolves #11
This PR does the following:

Enable the integration tests, which had been failing
Use filtered versions rather than hardcoded versions in the integration project pom
Add a dummy test to help problem diagnosis in the integration tests
Make the integration tests work, by …
Setting the scope of the extension dependency to not-test; this isn’t great, but may be hard to fix.
Making pact work in dev mode

The changes to make pact work in dev mode are

Add the quarkus kotlin extension as a dependency to the extension
Set a bunch of libraries used by pact to be parent first, to work around NoClassDefFoundError issues. I’m a bit concerned about the implications of this change, since parent-firstness tends to spread virally through a codebase via transitive dependencies. However, I also don’t see an alternative.

When running with a version of Quarkus with https://github.com/quarkusio/quarkus/pull/29697 the changes in this PR will be counter-productive, and a different set of changes will be needed. However, since that change is unlikely to be released in the 2.x branch, merging this.


I think the latest release version tag is wrong

See below image, I was getting confused as my first time trying to install the extension 🤨

Hi @irian-codes
Thank you for the good catch. Fixed it now.


bc-fips 2.0.0 is not OSGi compatible

The project I am currently working on is built on top of an Apache Karaf distribution; thus making use of the OSGi framework.
We have integrated the FIPS variant of BouncyCastle (version <IP_ADDRESS>) into our system without any issues. However, during the migration process to the newly released 2.0.0 version, I am experiencing some missing requirement issues when trying to compile the Karaf distribution.
I noticed that the 2.0.0 version of bc-fips doesn't have an OSGi-compliant manifest. None of the mandatory OSGi fields are present and the lack of Export-Package explains the issue I am having.
[ERROR] Message: Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=my-framework; type=karaf.feature; version=22.0.0.SNAPSHOT; filter:="(&(osgi.identity=my-framework)(type=karaf.feature)(version>=22.0.0.SNAPSHOT))"
[caused by: Unable to resolve my-framework/22.0.0.SNAPSHOT: missing requirement [my-framework/22.0.0.SNAPSHOT] osgi.identity; osgi.identity=my-libraries; type=karaf.feature; version="[22.0.0.SNAPSHOT,22.0.0.SNAPSHOT]"
[caused by: Unable to resolve my-libraries/22.0.0.SNAPSHOT: missing requirement [my-libraries/22.0.0.SNAPSHOT] osgi.identity; osgi.identity=bcpkix; type=osgi.bundle; version="[2.0.7,2.0.7]"; resolution:=mandatory
[caused by: Unable to resolve bcpkix/2.0.7: missing requirement [bcpkix/2.0.7] osgi.wiring.package; filter:="(&(osgi.wiring.package=org.bouncycastle.asn1)(version>=2.0.0)(!(version>=2.1.0)))"]]]

I was able to modify the maven library to be OSGi-compliant by using the bnd.sh script in this repo paired with the 7.0 version of bnd as it provides support for multi-release jars. (I attached the resulting jar here).
With this jar, I was able to successfully compile and run my Karaf distribution
Interestingly, I noticed that other 2.0 bc libraries do provide OSGi-compliant manifests, such as bcpkix-fips or bcutil-fips.
Were the OSGi headers purposefully removed? Or is it a simple mistake on the 2.0.0 release of bc-fips?

Any news about this?

The problem was more that when the original submission went in there was no real tooling for dealing with multi-release jar.
The new jar looks better, but it's still missing the multi-release manifests, the only way I've found of getting these to add correctly (which is what was done with the additional jars) is via the gradle plugin, however everything was frozen until we got the certificate. I'll try and bump this up the list.

An addition to the missing osgi compatibility:
We could deploy the modified bc-fips-2.0.0-osgi.jar in Karaf 4.4.4 but when initializing BouncyCastleFipsProvider the verification fails in FipsStatus with marker = "jar:bundle://a653bb1c-548b-4779-9c16-6e6897c2d394_336.0:0/!/" which is not supported:
org.bouncycastle.crypto.fips.FipsOperationError: Module checksum failed: unable to find 	at org.bouncycastle.crypto.fips.FipsStatus.checksumValidate(Unknown Source) ~[?:?] 	at org.bouncycastle.crypto.fips.FipsStatus.isReady(Unknown Source) ~[?:?] 	at org.bouncycastle.crypto.CryptoServicesRegistrar.getDefaultMode(Unknown Source) ~[?:?] 	at org.bouncycastle.crypto.CryptoServicesRegistrar.<clinit>(Unknown Source) ~[?:?] 	at org.bouncycastle.jcajce.provider.ProvSecureHash$MD5.configure(Unknown Source) ~[?:?] 	at org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider.<init>(Unknown Source) ~[?:?]

As far as I understand, you won't be able to pass the validation using the modified jar as it won't match the checksum of the validated FIPS release.
It was mainly created as a test to check whether the manifest was the only issue.

@gabrielandrade2 I am aware that the bundle only resolves with the additional osgi-headers and that the checksum is changed when modifying the file content.
I just wanted to add that - when actually initializing the provider - the checksum is not loaded because the prefix of the marker ("jar:bundle") is not recognized as valid.
So no check is executed at all and the initialization fails.

Okay, try
https://downloads.bouncycastle.org/fips-java/osgi/bc-fips-2.0.0.jar
this has the OSGI properties in the primary manifest. We couldn't add the extra files as a code change is required to ignore them in the checksum calculation the checksum cannot be changed - we will in the next release though. It appears to activate the jar in karaf, not sure what other implications there might be though.

@dghgit
I tested the jar you provided and confirmed that I) can build my Karaf distribution with it.
As you said, it also appears as an active bundle in Karaf, however I still get the same error as @Pharell encountered.
As far as I know, such an error was fixed for version <IP_ADDRESS> of bc-fips, so maybe it was not ported to 2.0.0 (and 2.0.1)?
By the way, do you have an estimate for the next release date?

@gabrielandrade2 I've checked the jar, you shouldn't see that error, the checksum in the jar is correct. It sounds like there's something else going on, are you able to confirm what URI the jar thinks it's using for checksum calculation? Is it possible to provide a more complete stack trace? Thanks.

The stacktrace above states that the checksum itself is not wrong but canjot even been found at all: "Module checksum failed: unable to find".
In the source code of bc-fips-2.0.0 this is thrown in FipsStatus.checksumValidate() because the resource name cannot be loaded:
      final String rscName = AccessController.doPrivileged(new PrivilegedAction<String>()
      {
          public String run()
          {
              return getResourceName();
          }
      });
      if (rscName == null)
      {
          moveToErrorStatus(new FipsOperationError("Module checksum failed: unable to find"));
      }

In FipsStatus.getResourceName() a marker file is tried to be loaded (LICENSE.class). The path to the marker is handled for different environments, but not for an OSGi-environment, where the marker String value starts with "jar:bundle://a653bb1c-548b-4779-9c16-6e6897c2d394_336.0:0/!/":

        final String marker = getMarker(LICENSE.class, markerName); // <--- "jar:bundle://..."

        if (marker != null)
        {
            if (marker.startsWith("jar:file:") && marker.contains("!/"))
            {
                try
                {
                    String jarFilename = URLDecoder.decode(marker.substring("jar:file:".length(), marker.lastIndexOf("!/")), "UTF-8");

                    result = jarFilename;
                }
                catch (IOException e)
                {
                    // we found our jar file, but couldn't open it
                    result = null;
                }
            }
            else if (marker.startsWith("file:") && marker.endsWith(".jar"))
            {
                try
                {
                    String jarFilename = URLDecoder.decode(marker.substring("file:".length()), "UTF-8");

                    result = jarFilename;
                }
                catch (IOException e)
                {
                    // we found our jar file, but couldn't open it
                    result = null;
                }
            }
            else if (marker.startsWith("jrt:"))
            {
                 return marker;
            }
            else if (marker.startsWith("file:"))
            {
                 return marker;    // this means we're running from classes (development)
            }
        }
        return result; // <--- is never set because no check matches

So the returned result for marker stays null which leads to the exception in FipsStatus.checksumValidate().
In v1.0.25 there is a matching check, but I assume the jar cannot not be loaded from the resulting name, so the result is set to null:
            if (marker.startsWith("jar:") && marker.contains("!/")) // <-- matches : "jar:bundle://a653bb1c-548b-4779-9c16-6e6897c2d394_336.0:0/!/"
            {
                try
                {
                    int secondColon = marker.indexOf(':', 4);
                    if (secondColon == -1)
                    {
                        return null;
                    }
                    String jarFilename = URLDecoder.decode(marker.substring(secondColon + 1, marker.lastIndexOf("!/")), "UTF-8"); // result is "//a653bb1c-548b-4779-9c16-6e6897c2d394_336.0:0"
                    result = jarFilename;
                }
                catch (IOException e)
                {
                    // we found our jar file, but couldn't open it // <--- there is actually no code accessing the file, right?
                    result = null;
                }
            }

In the futher processing of the value of rscName "//a653bb1c-548b-4779-9c16-6e6897c2d394_336.0:0", the code in FipsStatus.checksumValidate() tries to load the jar file in the else-branch:
       ...
       else
        {
            JarFile jarFile = AccessController.doPrivileged(new PrivilegedAction<JarFile>()
            {
                public JarFile run()
                {
                    try
                    {
                        return new JarFile(rscName); // <-- I assume this to fail withrscName =  "//a653bb1c-548b-4779-9c16-6e6897c2d394_336.0:0"
                    }
                    catch (IOException e)
                    {
                        return null;
                    }
                }
            });

The value of jarFile is null because of the IOException so the following null-check before the checksum validation is not met and there is no checksum validation at all but also no exception is thrown.
So this works in OSGi but skips checksum validation at all which is probably not intended.

Okay, this may need a bit more thought... would you email me at<EMAIL_ADDRESS>about this? I think I'll need to you to try a couple of things out for me, please mention "github #1769" in the subject line (spam filtering sometimes overenthusiastic...)

I just uploaded https://downloads.bouncycastle.org/fips-java/osgi/bc-fips-2.0.1-SNAPSHOT.jar we found a second place where the OSGI specific files may be causing the checksum to change. Let us know how it goes.

i tested the updated jar and it looks good in our environment.


Amazingly

This is very helpful, thank you so much.
Better you show screenshot of the last step, how you uncheck the access after right click. Any ways..
Thanks a ton! :) IT work for me

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

ID: 3ab53b3f-feac-34cf-960b-3adaf3a8fcfe
Version Independent ID: 3a84e493-d7de-1946-2e8e-805d4d666018
Content: Git index.lock file
Content Source: docs/repos/git/git-index-lock.md
Product: devops
GitHub Login: @steved0x
Microsoft Alias: sdanie

@ashfakm Thank you for the feedback and I am glad the article was able to help you. Could you share more details on the screenshot that you would like to see?
Thank you!

Hi Steve, what I mean is during commit when I get lock file error, I went in the .git folder and unlock 'index' file and it worked for me.

@ashfakm Thank you for the feedback. That is a good idea, and since your issue includes the screenshot, I won't include another copy in the article as people can find it here. Thank you for adding the screenshot and we are glad the article was helpful.


Turn comma separated list in string field into multiple relations

Hello,
I have a quite simple database with objects that have a number of simple properties which would be easy to work with. IDs are of the form Axxxx (where x is a digit) or Bxxxx.
However, in one column there is a comma separated list of references to other objects like "A1234, B2345". Is there an easy way to separate this out and build multiple relations to the referenced objects using Ontop alone ?
It is close to the flatten lens use case, but the underlying database column is not a formal SQL array but a separated list as a string.
Lars

Hi @LarsAC , I think using flatten lenses is the way to go.
You need first to split your string into an array, using for instance the function string_to_array if you use PostgreSQL.
Best,
Benjamin


[KOGITO-1998] - Deprecate KogitoApp CR

Jira Issue : https://issues.redhat.com/browse/KOGITO-1998
Many thanks for submiting your Pull Request :heart:!
Please make sure that your PR meets the following requirements:

[x] You have read the contributors guide
[x] Pull Request title is properly formatted: [KOGITO-XYZ] Subject
[x] Pull Request contains link to the JIRA issue
[x] Pull Request contains description of the issue
[x] Pull Request does not include fixes for issues other than the main ticket
[x] Your feature/bug fix has a unit test that verifies it
[x] You've tested the new feature/bug fix in an actual OpenShift cluster

I think this PR is blocked by https://issues.redhat.com/browse/KOGITO-2088.
because we need first to remove all the KogitoApp BDD tests. removing only the go files does not work, we need to migrate the BDD feature files ...

I think this PR is blocked by https://issues.redhat.com/browse/KOGITO-2881.

I'll add the on hold label just in case.

Depends on #484

Jenkin retest please

@vaibhavjainwiz as long as https://issues.redhat.com/browse/KOGITO-2881 has not been done, the smoke tests will fail because you removed some code that is needed by the features.
@sutaakar is working on it ;)

Jenkins, test this.

Blocked by https://github.com/kiegroup/kogito-cloud-operator/pull/489

Looks good to me. Will run the tests once https://github.com/kiegroup/kogito-cloud-operator/pull/489 is merged.

@vaibhavjainwiz Please rebase

Jenkins test this

@vaibhavjainwiz Can you please rebase again? In latest commit we adjusted PR check to run all non native tests.

Jenkins, test this

io: read/write on closed pipe when building example images

Jenkins, test this

Jenkins, test this.

Jenkins test this

Jenkins, test this.

Jenkins test this

/jenkins test

/jenkins test

https://github.com/kiegroup/kogito-cloud-operator/pull/437#issuecomment-671798245

/jenkins test

@ricardozanini checks are ok.  should we merge for 0.14.0 ?

@Kaitou786 I am not sure we need to reset all reviewers when there are changes ... It should be done manually IMO.

@Kaitou786 I am not sure we need to reset all reviewers when there are changes ... It should be done manually IMO.

@radtriste  So reviewers will only be requested by the bot when a PR is opened or marked as Ready for review after draft?

/jenkins test

yes that would be the idea. anyway once a reviewer is set, it will receive the notifications of changes.
Why did you restart the pipeline ???

Why did you restart the pipeline ???

The pipeline was never run, as I mentioned in the doc currently the bot doesn't have the permission to run the pipeline so the comment didn't start the pipeline. This will be shortly resolved though.

@ricardozanini checks are ok. should we merge for 0.14.0 ?

Sure, let's have everyone's approval first.


Cannot publish message in Configure of Startup.cs

Is this a bug report?
(write your answer here)
Yes

Can you also reproduce the problem with the latest version?
(Write your answer here.)
Yes
Environment
Irrelevant

Operating system: Windows 10 version 2004 (build 19041.630)
Visual Studio version: Visual studio community 2019
Dotnet version: .NET core 3.1

Steps to Reproduce

(Write your steps here:)

I Use your example project Sample-Twitch. I didn't modify anything but create IServiceProvider, resolve an IPublishEndpoint and Publish a message in startup at the end of method ConfigureServices in Startup.cs like this
var serviceProvider = services.BuildServiceProvider();   var publisher = serviceProvider.GetRequiredService<IBus>();   await publisher.Publish<SubmitOrder>(new { CustomerNumber = "123", Notes = "Notes nek", PaymentCardNumber = "354" });
The code throw exception when i run the project
Application '/LM/W3SVC/2/ROOT' with physical root 'C:\Users\Do\Desktop\Sample-Twitch\src\Sample.Api\' has exited from Program.Main with exit code = '0'. First 30KB characters of captured stdout and stderr logs: [17:43:52 INF] Starting web host [17:44:04 FTL] Host terminated unexpectedly **MassTransit.ConfigurationException: An exception occurred during bus creation ---> MassTransit.ConfigurationException: The ReceivePipeConfiguration can only be used once. at MassTransit.Configuration.ReceivePipeConfiguration.CreatePipe(IConsumePipe consumePipe, IMessageDeserializer messageDeserializer)** at MassTransit.Configuration.ReceiveEndpointConfiguration.CreateReceivePipe() at System.Lazy1.ViaFactory(LazyThreadSafetyMode mode)
at System.Lazy1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor) at System.Lazy1.CreateValue()
at System.Lazy1.get_Value() at MassTransit.Context.BaseReceiveEndpointContext.get_ReceivePipe() at MassTransit.Configurators.BaseHostConfiguration1.ConnectReceiveContextContext(ReceiveEndpointContext context)
at MassTransit.Context.BaseReceiveEndpointContext..ctor(IHostConfiguration hostConfiguration, IReceiveEndpointConfiguration configuration)
at MassTransit.RabbitMqTransport.Contexts.RabbitMqQueueReceiveEndpointContext..ctor(IRabbitMqHostConfiguration hostConfiguration, IRabbitMqReceiveEndpointConfiguration configuration, BrokerTopology brokerTopology)
at MassTransit.RabbitMqTransport.Builders.RabbitMqReceiveEndpointBuilder.CreateReceiveEndpointContext()
at MassTransit.RabbitMqTransport.Configuration.RabbitMqReceiveEndpointConfiguration.Build(IHost host)
at MassTransit.RabbitMqTransport.Configuration.RabbitMqHostConfiguration.Build()
at MassTransit.Builders.ConfigurationBusBuilder.Build()
at MassTransit.RabbitMqTransport.Configurators.RabbitMqBusFactoryConfigurator.CreateBus()
at MassTransit.BusFactoryExtensions.Build(IBusFactory factory, IEnumerable1 dependencies) --- End of inner exception stack trace --- at MassTransit.BusFactoryExtensions.Build(IBusFactory factory, IEnumerable1 dependencies)
at MassTransit.Registration.TransportRegistrationBusFactory.CreateBus[T,TConfigurator](T configurator, IBusRegistrationContext context, Action2 configure, IEnumerable1 specifications)
at MassTransit.RabbitMqTransport.Configuration.RabbitMqRegistrationBusFactory.CreateBus(IBusRegistrationContext context, IEnumerable1 specifications) at MassTransit.ExtensionsDependencyInjectionIntegration.Registration.ServiceCollectionBusConfigurator.CreateBus[T](T busFactory, IServiceProvider provider) at MassTransit.ExtensionsDependencyInjectionIntegration.Registration.ServiceCollectionBusConfigurator.<>c__DisplayClass7_01.b__0(IServiceProvider provider)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitFactory(FactoryCallSite factoryCallSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite singletonCallSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.DynamicServiceProviderEngine.<>c__DisplayClass1_0.b__0(ServiceProviderEngineScope scope)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.GetService(Type serviceType, ServiceProviderEngineScope serviceProviderEngineScope)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType)
at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
at MassTransit.ExtensionsDependencyInjectionIntegration.Registration.ServiceCollectionBusConfigurator.<>c__71.<SetBusFactory>b__7_1(IServiceProvider provider) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitFactory(FactoryCallSite factoryCallSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite singletonCallSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSite(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitIEnumerable(IEnumerableCallSite enumerableCallSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite singletonCallSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSite(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite singletonCallSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSite(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite singletonCallSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSite(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitIEnumerable(IEnumerableCallSite enumerableCallSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite singletonCallSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSite(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope) at Microsoft.Extensions.DependencyInjection.ServiceLookup.DynamicServiceProviderEngine.<>c__DisplayClass1_0.<RealizeService>b__0(ServiceProviderEngineScope scope) at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.GetService(Type serviceType, ServiceProviderEngineScope serviceProviderEngineScope) at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType) at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetService[T](IServiceProvider provider) at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken) at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token) at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token) at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.Run(IHost host) at Sample.Api.Program.Main(String[] args) in C:\Users\Do\Desktop\Sample-Twitch\src\Sample.Api\Program.cs:line 24

Expected Behavior

(Write what you thought would happen.)
The code run seamlessly without exception
Actual Behavior

(Write what happened. Please add screenshots!)
Exception throw like above reproduce steps
Reproducible Demo

(Paste the link to an example project and exact instructions to reproduce the issue.)

Once the bus is configured it can only be started once, and you've essentially configured and used it twice by doing this so you would need to configure and create a separate bus for that purpose. You're technically building two completely separate service providers too.


Drop privileges instead of running as root

Hi,
in the current docker container UWSGI runs as root, while there is no need for that.
Instead of dropping privileges and running as user www-data from within docker (which would be preferred IMHO) I run chown on the db file, so that users can transparently upgrade existing setups.

Thanks for your contribution @killgufo. I tested this on two installation and had no issues.


error KeyEventResult not found

Hi.
When I run the example, I get the following error:
Launching lib/main.dart on Mi A1 in debug mode...
Running Gradle task 'assembleDebug'...
../lib/src/pluto_grid.dart:217:3: Error: Type 'KeyEventResult' not found.
KeyEventResult handleGridFocusOnKey(FocusNode focusNode, RawKeyEvent event) {
^^^^^^^^^^^^^^
../lib/src/ui/columns/pluto_column_filter.dart:94:3: Error: Type 'KeyEventResult' not found.
KeyEventResult handleOnKey(FocusNode node, RawKeyEvent event) {
^^^^^^^^^^^^^^
../lib/src/ui/cells/mixin_popup_cell.dart:108:3: Error: Type 'KeyEventResult' not found.
KeyEventResult _handleKeyboardFocusOnKey(
^^^^^^^^^^^^^^
../lib/src/pluto_grid.dart:223:12: Error: The getter 'KeyEventResult' isn't defined for the class '_PlutoGridState'.

'_PlutoGridState' is from 'package:pluto_grid/src/pluto_grid.dart' ('../lib/src/pluto_grid.dart').
Try correcting the name to the name of an existing getter, or defining a getter or field named 'KeyEventResult'.
return KeyEventResult.handled;
^^^^^^^^^^^^^^
../lib/src/ui/columns/pluto_column_filter.dart:124:12: Error: The getter 'KeyEventResult' isn't defined for the class '_PlutoColumnFilterStateWithChange'.
'_PlutoColumnFilterStateWithChange' is from 'package:pluto_grid/src/ui/columns/pluto_column_filter.dart' ('../lib/src/ui/columns/pluto_column_filter.dart').
Try correcting the name to the name of an existing getter, or defining a getter or field named 'KeyEventResult'.
return KeyEventResult.handled;
^^^^^^^^^^^^^^
../lib/src/ui/cells/mixin_popup_cell.dart:119:18: Error: The getter 'KeyEventResult' isn't defined for the class 'MixinPopupCell'.
'MixinPopupCell' is from 'package:pluto_grid/src/ui/cells/mixin_popup_cell.dart' ('../lib/src/ui/cells/mixin_popup_cell.dart').
Try correcting the name to the name of an existing getter, or defining a getter or field named 'KeyEventResult'.
return KeyEventResult.handled;
^^^^^^^^^^^^^^
../lib/src/ui/cells/mixin_popup_cell.dart:124:12: Error: The getter 'KeyEventResult' isn't defined for the class 'MixinPopupCell'.
'MixinPopupCell' is from 'package:pluto_grid/src/ui/cells/mixin_popup_cell.dart' ('../lib/src/ui/cells/mixin_popup_cell.dart').
Try correcting the name to the name of an existing getter, or defining a getter or field named 'KeyEventResult'.
return KeyEventResult.ignored;
^^^^^^^^^^^^^^

https://github.com/bosskmk/pluto_grid/issues/145
Still having problems?
It looks like a flutter clean or version of flutter or a channel issue.


Makefile doesn't have sed errors on macos now.

This should get rid of the errors we were seeing on macos. @swamibluedata @joel-bluedata

So BSD sed does not (as far as I can tell) support case insensitive matching at all.
Does that mean on Mac we'll be required to have our code under BlueK8s rather than bluek8s for this checking to work?
Actually... FWIW, note that the actual bluek8s name on GitHub is all lowercase.

Results of errors in this branch:

Link: https://travis-ci.com/distortedsignal/kubedirector/builds/102885678
I'll leave the branch up to test this on future developments.

Do you have your source code under BlueK8s or bluek8s?

mmmmkay - looks like sed was a bad choice. Trying this a different way. Now we're getting the full path of the packages from go list and linting/formatting that way. Output on my machine, I'll add a screencap from Travis soon.
➜  kubedirector git:(check-fix) make golint
There were some new golint issues:
/Users/tom/Documents/src/BlueData/goproj/src/github.com/bluek8s/kubedirector/cmd/kubedirector/main.go:63:2: var handlerId should be handlerID
make: *** [golint] Error 1
➜  kubedirector git:(check-fix) make check-format
rm -f deploy/kubedirector/rbac.yaml
rm -f deploy/kubedirector/deployment-localbuilt.yaml
rm -rf tmp/_output
Formatting changes necessary, please run make format and resubmit
diff -u /Users/tom/Documents/src/BlueData/goproj/src/github.com/bluek8s/kubedirector/cmd/kubedirector/main.go.orig /Users/tom/Documents/src/BlueData/goproj/src/github.com/bluek8s/kubedirector/cmd/kubedirector/main.go
--- /Users/tom/Documents/src/BlueData/goproj/src/github.com/bluek8s/kubedirector/cmd/kubedirector/main.go.orig	2019-03-01 16:07:49.000000000 -0800
+++ /Users/tom/Documents/src/BlueData/goproj/src/github.com/bluek8s/kubedirector/cmd/kubedirector/main.go	2019-03-01 16:07:49.000000000 -0800
@@ -52,7 +52,7 @@
 	}
 	kd, err := observer.GetDeployment(kdName)
 	if err != nil {
-		logrus.Fatalf(            "failed to get kubedirector deployment object: %v", err)
+		logrus.Fatalf("failed to get kubedirector deployment object: %v", err)
 	}

 	err = validator.InitValidationServer(*metav1.NewControllerRef(kd, kd.GroupVersionKind()))
make: *** [check-format] Error 2
➜  kubedirector git:(check-fix) pwd
/Users/tom/Documents/src/BlueData/goproj/src/github.com/bluek8s/kubedirector
➜  kubedirector git:(check-fix) mv $GOPATH/src/github.com/bluek8s $GOPATH/src/github.com/BlueK8s
➜  kubedirector git:(check-fix) pwd
/Users/tom/Documents/src/BlueData/goproj/src/github.com/bluek8s/kubedirector
➜  kubedirector git:(check-fix) cd $GOPATH
➜  goproj cd $GOPATH/src/github.com/BlueK8s/kubedirector
➜  kubedirector git:(check-fix) make golint
There were some new golint issues:
/Users/tom/Documents/src/BlueData/goproj/src/github.com/BlueK8s/kubedirector/cmd/kubedirector/main.go:63:2: var handlerId should be handlerID
make: *** [golint] Error 1
➜  kubedirector git:(check-fix) make check-format
rm -f deploy/kubedirector/rbac.yaml
rm -f deploy/kubedirector/deployment-localbuilt.yaml
rm -rf tmp/_output
Formatting changes necessary, please run make format and resubmit
diff -u /Users/tom/Documents/src/BlueData/goproj/src/github.com/BlueK8s/kubedirector/cmd/kubedirector/main.go.orig /Users/tom/Documents/src/BlueData/goproj/src/github.com/BlueK8s/kubedirector/cmd/kubedirector/main.go
--- /Users/tom/Documents/src/BlueData/goproj/src/github.com/BlueK8s/kubedirector/cmd/kubedirector/main.go.orig	2019-03-01 16:09:21.000000000 -0800
+++ /Users/tom/Documents/src/BlueData/goproj/src/github.com/BlueK8s/kubedirector/cmd/kubedirector/main.go	2019-03-01 16:09:21.000000000 -0800
@@ -52,7 +52,7 @@
 	}
 	kd, err := observer.GetDeployment(kdName)
 	if err != nil {
-		logrus.Fatalf(            "failed to get kubedirector deployment object: %v", err)
+		logrus.Fatalf("failed to get kubedirector deployment object: %v", err)
 	}

 	err = validator.InitValidationServer(*metav1.NewControllerRef(kd, kd.GroupVersionKind()))
make: *** [check-format] Error 2


PackerV1 Managed Disk Name instead of Id in Output Variable

Troubleshooting
Checkout how to troubleshoot failures and collect debug logs: https://docs.microsoft.com/en-us/vsts/build-release/actions/troubleshooting
Environment

Server - Azure Pipelines or TFS on-premises?

If using Azure Pipelines, provide the account name, team project name, build definition name/build number:  https://dev.azure.com/apolinarorg2/VMBuilds/_build/results?buildId=37&view=logs

Agent - Hosted or Private:

If using private agent, provide the OS of the machine running the agent and the agent version:  macOS running agent 2.144.0

Issue Description
When creating a managed disk image (Azure best practice) using the packer ubuntu.json example. I get the following output.

When I use bash to show the output variable "Image URL or Name" I get "Ubuntu-16.04LTS-1.0" which is the managed disk name, not the uri.  This name is generated from the packer file and has no real value as an output, however the managed disk resource id from azure is very valuable and should be substituted.

I believe
https://github.com/Microsoft/azure-pipelines-tasks/blob/dc21389dc6ec4477c3c4e4b559dff399ae701eef/Tasks/PackerBuildV1/src/operations/packerBuild.ts#L66 and https://github.com/Microsoft/azure-pipelines-tasks/blob/dc21389dc6ec4477c3c4e4b559dff399ae701eef/Tasks/PackerBuildV1/src/operations/packerBuild.ts#L76 should be updated to "PackerLogTokenManagedImageLocation" as opposed to "PackerLogTokenManagedImageName"
I will be happy to provide a pull request for this but I have no idea how to test it.
Task logs

My logs have secrets in them, here are the relevant ones copied though
2018-12-20T13:35:27.7738700Z ==> Builds finished. The artifacts of successful builds are:
2018-12-20T13:35:27.7738760Z
2018-12-20T13:35:27.7773040Z --> azure-arm: Azure.ResourceManagement.VMImage:
2018-12-20T13:35:27.7773170Z
2018-12-20T13:35:27.7773270Z
2018-12-20T13:35:27.7775460Z OSType: Linux
2018-12-20T13:35:27.7775540Z ManagedImageResourceGroupName: PackerManagedImages
2018-12-20T13:35:27.7776020Z ManagedImageName: Ubuntu-16.04LTS-1.0
2018-12-20T13:35:27.7779400Z
2018-12-20T13:35:27.7781790Z ManagedImageId: /subscriptions/redacted/resourceGroups/PackerManagedImages/providers/Microsoft.Compute/images/Ubuntu-16.04LTS-1.0
2018-12-20T13:35:27.7781860Z ManagedImageLocation: eastus2
2018-12-20T13:35:27.7781890Z
2018-12-20T13:35:27.7781910Z
2018-12-20T13:35:28.1169770Z packer build completed.
2018-12-20T13:35:28.1280300Z ##[section]Finishing: Build immutable image
2018-12-20T13:35:28.1295840Z ##[section]Starting: Bash Script
2018-12-20T13:35:28.1308420Z ==============================================================================
2018-12-20T13:35:28.1308520Z Task         : Bash
2018-12-20T13:35:28.1308560Z Description  : Run a Bash script on macOS, Linux, or Windows
2018-12-20T13:35:28.1308590Z Version      : 3.142.2
2018-12-20T13:35:28.1308630Z Author       : Microsoft Corporation
2018-12-20T13:35:28.1308670Z Help         : More Information
2018-12-20T13:35:28.1309160Z ==============================================================================
2018-12-20T13:35:28.2832630Z Generating script.
2018-12-20T13:35:28.2875050Z [command]/bin/bash --noprofile --norc /Users/{redacted}/devopsagent/_work/_temp/4d8a3a60-6755-4ee5-bdc1-f52aec337544.sh
2018-12-20T13:35:28.2946260Z Ubuntu-16.04LTS-1.0
2018-12-20T13:35:28.3016770Z ##[section]Finishing: Bash Script
Error logs
N/A

We will be looking at this issue, but feel free to contribute a fix if you can.  this should help you on how to contribute.

I'm able to get the package built using the contribution guide, but this doesn't seem to have a manifest where I can create an extension and upload it the way I've done with other extensions.  Am I missing something?

@grayjeremy since these tasks go to all the Azure DevOps organizations - they are installed differently and do not have individual extension packages. You can, however, create a temp extension package and put this task in that package (preferably with a different task guid and a different display name) to test this out. Or another way that we use is to use the tfx cli and then use the (tfx build tasks upload command) [https://github.com/Microsoft/tfs-cli/blob/HEAD/docs/buildtasks.md#upload] to upload the task to your private account directly. Again be sure to test with a changed task guid and display name to avoid missing on future updates. Thanks again for contributing!

@pulkitaggarwl @azooinmyluggage would it be better to add a new output variable "imageId" for storing MangedImageId so that back compat is maintained ?
@grayjeremy I have reviewed the PR and left some comments, we feel that the existing output variable can remain as it is, while we can add a new output variable "imageId" which can be set to the image id's value.
It will require following changes:

task.json => introduce new output variable "ImageId"
PackerBuild.ts => to see if the user wants to set "ImageId" variable, and then set it for "Managed Images" only. and show warning in other cases (when output doesn't contain ManagedImageId)
To get the ImageId from output, a new constant needs be defined in Constants.ts with value "ManagedImageId". The name of the constant can be "PackerLogTokenManagedImageId"

Ignore the above referenced update.

I added a section to the contribution guide that details how I went about doing this.  https://github.com/Microsoft/azure-pipelines-tasks/pull/9244


HALON-685: Fail rebalancing drive into repaired

Created by: Fuuzetsu
Also remove some dead code while snooping around.

Closing as an obsolete


Move files to appropriate folders

There are few files in the root directory. Please read through Readme and #66 and move those files to right directories

I would be happy to deal with this.

Go ahead @adwisni

can i do this task? if u assign me


Mission Log untranslated strings

Hi,
I found some untranslated fields in the mission log:

The deployment Event name and the Continue button are not translated.

Thank you!  I also noticed ROUND wasn't using the translations.  All fixed now.

@GlowPuff btw i tried to Build an Android apk with your last deliveries but i am facing an error when trying to launch a mission or seeing the tiles.
Here is a screenshot. Any advice or perhaps it is normal ? For windows Build it works.

Did you rebuild the Addressable Assets first?  After you change the build target, the Assets need to be rebuilt for that platform before building the actual app.  I haven't tested on Android yet, so this could be another issue entirely, but start with rebuilding the Assets.
In the Addressable Asset window (Window->Asset Management->Addressables->Groups), select Build->Update a Previous Build

Thanks @GlowPuff this was the pb. Thank you. A last question do add some parameters to make all apks compatible each others (recogniztion of the param save files, save games...)? For me each time a build an apk i have to redefine all my options and save files.

That's interesting... When I install a new version of the app for testing, Android always asks me to "upgrade" the existing app.  And it keeps all the settings and saved files intact.  The app uses the same identifier (com.glowpuff.ImperialCommander2).  That alone, I believe, should make it "upgrade" existing installations without losing data.  I'm not sure what else to do about this.

Thanks For the answer. In fact i understood. I used to uninstall first then install the New version. On my tablet it keeps my settings and saves whereas on my cell phone everything is erased. So by now i will just install the New version without uninstalling the previous.
Thanks again


caution: chromium 100.0.4896.60 crashes

Howdy,
I get random:
[144284.716825] ThreadPoolForeg[1174]: segfault at 18 ip 00007f04cafe1c08 sp 00007f04c2d8f9c8 error 4 in libc.so[7f04caf7c000+7a000]
[144284.716862] Code: 00 00 40 f6 c7 07 48 89 f8 75 0f eb 1d 0f 1f 44 00 00 48 83 c0 01 a8 07 74
10 80 38 00 75 f3 48 29 f8 c3 0f 1f 80 00 00 00 00 <48> 8b 10 49 b8 ff fe fe fe fe fe fe fe 4a 8d 0c 02 48 f7 d2 48 21
[156838.474017] Chrome_IOThread[1479]: segfault at 1e00000000 ip 00007fab2118ef59 sp 00007fab177e9078 error 4 in libc.so[7fab2112a000+7a000]
[156838.474058] Code: 00 48 89 ca eb db 66 2e 0f 1f 84 00 00 00 00 00 90 48 85 d2 75 11 eb 21 90
48 83 c7 01 48 83 c6 01 48 83 ea 01 74 12 0f b6 06 <38> 07 74 eb 0f b6 07 0f b6 16 29 d0 c3 66 90 31 c0 c3 0f 1f 44 00

This completely crashes it. Usually when switching tabs or
even just hovering over the tabs. Though one time it crashed just
idle. Beware so you not waste your time.
I still have version 95 and it's stable. But to run older versions you
need ffmpeg 4.1, some older version of mesa and gcc 11. It's a pain.
Maybe in the future versions things will get better.
Self advetisement moment: currently testing version 97 + some custom fix
for gcc 12.1 hopefully no issues there.

I get the same behavior too, I thought it was just my system. IIRC @git-bruh fixed this[1]?
[1] https://github.com/kiss-community/community/pull/1011

I thought so too, but maybe it crashes now because of some other library that was updated.
For the meantime, I've built a special 97 version that works under ffmpeg 4.1 and newest mesa.
However, with the newest mesa the gpu process exits out due to some error, but at least the
whole browser works. I had also to disable the swiftshader since the binary would error with undefined
symbols otherwise. Well this is still better than random crashes every 5 minutes.
[1]<EMAIL_ADDRESS>Package built with generic -O2, so should work on any cpu.

Actually, I take it back. On some hardware gpu still works even with the latest mesa. Intel works, amd doesn't.
This 97 package might be good for some thinkpad.

@ehawkvu How did you run chrome? I always run with --no-sandbox

I don't use --no-sandbox, all my flags are here.

Ok, just was doing something illiliti suggested. It makes no difference then.

Actually, I take it back. On some hardware gpu still works even with the latest mesa. Intel works, amd doesn't. This 97 package might be good for some thinkpad.

Ok amdgpu does work, my mesa build was somehow broken

@kyx0r any chance that you've tested the new 103 release? it seems to be more stable

Negative, haven't tested it. Maybe sometime this week. I use nextvfp (which is my custom version of fbff) and it relies on old ffmpeg api. So switching those deps for testing is quite inconvenient right now. If they fixed the bugs, great.

@ehawkvu Just finished building. Now testing for a few days if no problem found I close the issue.
For anybody else who wants to get the monster:
[1]<EMAIL_ADDRESS>

@ehawkvu Okay I can finally migrate my repos to the up-to-date ffmpeg stack, it be easier for me to test future chrome versions
BTW, feel free to test the most based media player on linux:
[1] https://github.com/kyx0r/nextfvp

Can't confirm this, also I deleted all the chrome turds in ~/.config/chromium so maybe it's ok now, either way this issue needs rebranding so closing it for now.


refactoring README.md

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 99.62%. Comparing base (3751915) to head (85293e6).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##           master      #18   +/-   ##
=======================================
  Coverage   99.62%   99.62%
=======================================
  Files           3        3
  Lines         269      269
  Branches       45       45
=======================================
  Hits          268      268
  Misses          1        1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Caching the latest docker images for a deployment without expiry?

Hello enix,
We are considering using kuik to keep docker images used in a customer environment available even if the docker images are pruned from our own registry in the future. Kuik would allow the customer to keep running its old applications regardless of our image pruning policy.
Currently, kuik works very well when deployments have >0 replicas:

every docker image from our docker registry is cached by kuik as soon as the first pod uses it
the cached docker images are not expiring (according to kubectl get cachedimages) because at least 1 pod is using it

Now let's pretend that customer scales a deployment to 0 replicas, then goes to sleep for 6 months.
At some point, the docker image used by the customer is pruned from our registry, and is expired from kuik because:

no pod was using it, so the cachedimage has an expiration timestamp
the kuik garbage collector has ran and pruned the tag from the registry (because timestamp expired)

Now the customer wants to scale its deployment back to >0 replicas, but the image is gone both from our registry and from kuik. What can we do?
My naive idea was that maybe kuik could be configured to cache the docker images associated with the last N replicasets of the deployment without timestamp, even if the replicaset is scaled to 0 replicas.
What would be your thoughts about it?

Hi!
That's indeed an interesting issue and we will brainstorm a bit to find an elegant solution to this problem.
In the meantime, maybe just increasing the cachedImagesExpiryDelay from the default 30d to say 180d or more could do the trick, assuming disk-space is not much of an issue :-)
Cheers,

I have another example in mind... How about if we patch a deployment which is scaled to 0 replicas to alter the image, how could we cache the docker images referenced in the latest replicaset of the deployment even if it was never scaled to > 0 replicas (and never hit the image proxy on the local host).

Hello @jperville ,
Your first scenario should be now covered with the v1.4.0 release & more specifically this commit : https://github.com/enix/kube-image-keeper/commit/5129d19228bfcc2b6f66bf7ec4028f5bf0a198ea
Not 100% sure I understood correctly the 2nd scenario. Anyway, as it deals with other topics/features (potentially cache "pre-heating" / mutable tags / others) it should be tracked with an other ticket.


Port tokenHandler mechanism from go-nats (option synchronous)

Fixes: #265
Description
This PR introduces the hook directly into the sendConnect() as a synchronous call. This is more or less exactly how it's done in go-nats.

Coverage increased (+0.2%) to 89.371% when pulling ffeb36f0a4341f5fd690a419cf6043d93ec7d442 on andriy-bulynko:token-handler-synchronous into e5f4558904f0a88183d2c542f33351b546d1d3b6 on nats-io:master.

@aricart: PTAL :)

@andriy-bulynko thanks for the contribution!


Use ducktyping in generic_io get_file

Instead of using isinstance, look for attributes 'raw' and 'getvalue' to determine what generic_io subclass to use. This adds support for fsspec objects.

Is this intended to solve #1146? If so can you include a regression test that actually tests opening using a file using fsspec (don't worry about ASDF-in-fits support here)?
It is fine to add fsspec to the test dependencies for this (make sure its one compatible with astropy.

That issue was part of the motivation. I'll look into which fsspec version to add and write a test.


stm32f3discovery/stm32f303 Initial UART1 support, including @panic()

This is currently not complete, but for now this will have to be it from me for a little while.
Please merge if this is deemed OK, and/or let me know if there are things you'd like to see different.
Thanks in advance!

It looks like UART1 support is pretty complete now.  What would be needed to get this merged?

Back to draft, because unfortunately :-( #23 was merged in the meantime, and with that

this branch doesn't compile anymore;
the new regz-generated Mmio() doesn't support the writeRaw()
which I added in core/mmio.zig in 860cb8e.

Note that I'm wondering why this code is now in the generated registers.zig files,
instead of in mmio.zig,
since this Mmio() and MmioInt() code seems to be completely generic...

@mattnite After #24 has been merged, this should work fine.  Removing 'draft' status; could you please review/merge?  Thanks in advance!

🙏


namespace-packages to supports globs

Version: ruff 0.2.1
Consider supporting namespace-packages glob
Problem:
Currently we need to specify each nested package separately, which increases maintenance overhead.
Current configuration:
namespace-packages = [
    "plugins",
    "plugins/ex1",
    "plugins/ex1/test",
    "plugins/example",
    "plugins/utils/example/test",
    ]

Proposed configuration:
namespace-packages = ["plugins/**"]

Utilizing a glob pattern like plugins/** makes managing a large set of plugins easier by automatically including all sub-packages without the need for explicit listing, thus reducing the effort required for maintenance.

I think this is reasonable.

Unless I'm reading the wrong part of the code, we're doing glob expansion?
https://github.com/astral-sh/ruff/blob/fe79798c12b4771cee0b0c59964ad7bd751c3779/crates/ruff_workspace/src/configuration.rs#L518-L518
https://github.com/astral-sh/ruff/blob/fe79798c12b4771cee0b0c59964ad7bd751c3779/crates/ruff_workspace/src/configuration.rs#L1246-L1261
I tested it out locally as well using --show-settings and we do support it:
$ tree plugins
plugins
├── ex1
│   └── test
├── example
│   └── foo.py
└── utils
    └── example
        └── test

And,
$ ruff check --show-settings .
[...]
linter.namespace_packages = ["/Users/dhruv/playground/ruff/plugins/ex1", "/Users/dhruv
/playground/ruff/plugins/ex1/test", "/Users/dhruv/playground/ruff/plugins/example", "/
Users/dhruv/playground/ruff/plugins/utils", "/Users/dhruv/playground/ruff/plugins/util
s/example", "/Users/dhruv/playground/ruff/plugins/utils/example/test"]
[...]

I'll close this issue but feel free to ask any other questions if you think there's still an issue :)


UnboundLocalError: local variable 'reader' referenced before assignment

Hello, I would like to ask for assistance with the following error I encountered while using this tool. How can I resolve it?
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
JVM has been initialized. Be sure to call registration.kill_jvm() or slide_io.kill_jvm() at the end of your script.
==== Converting images
0%|          | 0/3 [00:00<?, ?it/s]C:\Users\24667.conda\envs\align_img\lib\site-packages\valis\valtils.py:21: UserWarning: Attempting to read C:\Users\24667\PycharmProjects\Align_img\ISS_DATA\data_2\DAPI_1.tif created the following error:
Traceback (most recent call last):
File "C:\Users\24667.conda\envs\align_img\lib\site-packages\valis\registration.py", line 3930, in register
self.convert_imgs(series=self.series, reader_cls=reader_cls)
File "C:\Users\24667.conda\envs\align_img\lib\site-packages\valis\registration.py", line 2255, in convert_imgs
slide_dims = reader.metadata.slide_dimensions
UnboundLocalError: local variable 'reader' referenced before assignment
invalid index to scalar variable.
warnings.warn(warning_msg, warning_type)
0%|          | 0/3 [00:00<?, ?it/s]
C:\Users\24667.conda\envs\align_img\lib\site-packages\valis\valtils.py:21: UserWarning: local variable 'reader' referenced before assignment
warnings.warn(warning_msg, warning_type)
Traceback (most recent call last):
File "C:\Users\24667\PycharmProjects\Align_img\1.py", line 36, in
merged_img, channel_names, ome_xml = registrar.warp_and_merge_slides(dst_f,
File "C:\Users\24667.conda\envs\align_img\lib\site-packages\valis\valtils.py", line 29, in wrapper
return f(*args, **kwargs)
File "C:\Users\24667.conda\envs\align_img\lib\site-packages\valis\registration.py", line 4423, in warp_and_merge_slides
slide_obj = self.slide_dict[slide_name]
KeyError: 'DAPI_1'
JVM has been killed. If this was due to an error, then a new Python session will need to be started
Process finished with exit code 1

Hi @WXY-Belief,
It looks like there was a problem finding the correct image reader, but I made some changes to the code that may have fixed it. Could you maybe try this again using the most recent update (1.0.1) and let me know if you get the same error?
Best,
-Chandler

This problem might have been caused by incorrect parameter combinations. It's been a long time, and I've forgotten how to resolve it. However, this should be a relatively easy issue to fix.


Add tracing support

This is a stab at #713.
Considerations:

following the tracing guidelines we should add a dependency only on tracing,
because we want to have this behind a feature toggle, I've figured that it might be worth to create a couple of macros to facilitate the use of tracing, so that we don't have to repeat #[cfg(feature = "tracing")]
I've added a section to the docs on how juniper can be instrumented along with a web framework that will either use tracing or log
instrumentation points should eventually be added, but that will require the parameters of the functions that are instrumented to implement Debug

This is awesome, thanks! Is there any way to unit test the traces? This is simple but in the future we want to add spans and the like.

This is awesome, thanks! Is there any way to unit test the traces? This is simple but in the future we want to add spans and the like.

Unit test the proc macros or the actual traces?

This is awesome, thanks! Is there any way to unit test the traces? This is simple but in the future we want to add spans and the like.

Unit test the proc macros or the actual traces?

The actual traces...if people are relying on tracing support I want to make sure we don't break it in the future.

Would be sweet to integrate https://docs.rs/tracing-futures/0.2.4/tracing_futures/.

Ah, it looks like the test harness will be usable soon:
https://github.com/tokio-rs/tracing/pull/793

Note this can't land yet as it is pointing to a random git repo. Once the PR lands and a release is cut this can land.

Great stuff, thanks for the help with the PR!
I don't think that the span can be created with a declarative macro. Because the macro has to return a block, the span guard goes out of scope immediately, thus ending the span.
I'll look into creating a proc macro instead.
I'll also look into writing unit tests.

If you'll see, the sync span macro doesn't create a block so it doesn't get dropped immediately. For the async Alan, it gets attached to a future and works fine.
There is already a proc macro in tracing but it requires all args to be Debug.

If you'll see, the sync span macro doesn't create a block so it doesn't get dropped immediately. For the async Alan, it gets attached to a future and works fine.
There is already a proc macro in tracing but it requires all args to be Debug.

If in the tracing example the queries are made to fail, the following output is given:
Jul 29 18:37:29.810 TRACE rule_validation: juniper: new
Jul 29 18:37:29.811 TRACE rule_validation: juniper: enter
Jul 29 18:37:29.812 TRACE rule_validation: juniper: exit
Jul 29 18:37:29.812 TRACE rule_validation: juniper: close time.busy=278µs time.idle=1.26ms
Jul 29 18:37:29.813 TRACE juniper: GraphQLError: ValidationError([RuleError { locations: [SourcePosition { index: 2, line: 0, col: 2 }], message: "Unknown field \"users1\" on type \"Query\"" }])
Jul 29 18:37:29.813 TRACE doubling{42}: tracing_support: new
Jul 29 18:37:29.814 TRACE doubling{42}: tracing_support: enter
Jul 29 18:37:29.814 TRACE doubling{42}:rule_validation: juniper: new
Jul 29 18:37:29.815 TRACE doubling{42}:rule_validation: juniper: enter
Jul 29 18:37:29.815 TRACE doubling{42}:rule_validation: juniper: exit
Jul 29 18:37:29.815 TRACE doubling{42}:rule_validation: juniper: close time.busy=259µs time.idle=909µs
Jul 29 18:37:29.816 TRACE doubling{42}: juniper: GraphQLError: ValidationError([RuleError { locations: [SourcePosition { index: 2, line: 0, col: 2 }], message: "Unknown field \"double2\" on type \"Query\"" }])
Jul 29 18:37:29.816 TRACE doubling{42}: tracing_support: exit
Jul 29 18:37:29.816 TRACE doubling{42}: tracing_support: close time.busy=2.54ms time.idle=536µs
Jul 29 18:37:29.817 TRACE rule_validation: juniper: new
Jul 29 18:37:29.817 TRACE rule_validation: juniper: enter
Jul 29 18:37:29.817 TRACE rule_validation: juniper: exit
Jul 29 18:37:29.817 TRACE rule_validation: juniper: close time.busy=433µs time.idle=415µs
Jul 29 18:37:29.818 TRACE juniper: GraphQLError: ValidationError([RuleError { locations: [SourcePosition { index: 2, line: 0, col: 2 }], message: "Unknown field \"bob2\" on type \"Query\"" }])

Expected:
Jul 29 18:38:13.545 TRACE execute: rule_validation: juniper: new
Jul 29 18:38:13.546 TRACE execute: rule_validation: juniper: enter
Jul 29 18:38:13.547 TRACE execute: rule_validation: juniper: GraphQLError: ValidationError([RuleError { locations: [SourcePosition { index: 2, line: 0, col: 2 }], message: "Unknown field \"users1\" on type \"Query\"" }])
Jul 29 18:38:13.548 TRACE execute: rule_validation: juniper: exit
Jul 29 18:38:13.554 TRACE execute: rule_validation: juniper: close time.busy=1.32ms time.idle=7.37ms
Jul 29 18:38:13.554 TRACE doubling{42}: tracing_support: new
Jul 29 18:38:13.555 TRACE doubling{42}: tracing_support: enter
Jul 29 18:38:13.555 TRACE doubling{42}:execute: rule_validation: juniper: new
Jul 29 18:38:13.556 TRACE doubling{42}:execute: rule_validation: juniper: enter
Jul 29 18:38:13.556 TRACE doubling{42}:execute: rule_validation: juniper: GraphQLError: ValidationError([RuleError { locations: [SourcePosition { index: 2, line: 0, col: 2 }], message: "Unknown field \"double2\" on type \"Query\"" }])
Jul 29 18:38:13.557 TRACE doubling{42}:execute: rule_validation: juniper: exit
Jul 29 18:38:13.557 TRACE doubling{42}:execute: rule_validation: juniper: close time.busy=1.04ms time.idle=556µs
Jul 29 18:38:13.557 TRACE doubling{42}: tracing_support: exit
Jul 29 18:38:13.558 TRACE doubling{42}: tracing_support: close time.busy=2.64ms time.idle=660µs
Jul 29 18:38:13.566 TRACE execute_sync: rule_validation: juniper: new
Jul 29 18:38:13.566 TRACE execute_sync: rule_validation: juniper: enter
Jul 29 18:38:13.567 TRACE execute_sync: rule_validation: juniper: GraphQLError: ValidationError([RuleError { locations: [SourcePosition { index: 2, line: 0, col: 2 }], message: "Unknown field \"bob2\" on type \"Query\"" }])
Jul 29 18:38:13.567 TRACE execute_sync: rule_validation: juniper: exit
Jul 29 18:38:13.568 TRACE execute_sync: rule_validation: juniper: close time.busy=968µs time.idle=610µs

Ah, my mistake! We can totally do a proc macro.

Ok, it should be all working now...there were some extra scope blocks causing the span to get dropped previously.

FWIW I can't quite yet figure out how to attach structured data to traces...it would be nice to attach the document to the execution span.

Still waiting on https://github.com/tokio-rs/tracing/pull/808 to land this.

Ugh, I think I screwed git up here.

Just curious what the state of landing this PR is? This would be great to have. Looks like tokio-rs/tracing#808 was merged in September.

Just curious what the state of landing this PR is? This would be great to have. Looks like tokio-rs/tracing#808 was merged in September.

Still waiting for https://github.com/tokio-rs/tracing/pull/793 for the tests, but I'm not sure if that should be a blocker considering that that PR has been open for a long time and it doesn't look like it's gonna be completed anytime soon.
@LegNeato are you aware of something else that's outstanding? Anything I can help with?

I'd also be happy to help out on this PR if there's anything I can help with.