[ADVISOR-2597] Fix completed tasks table pagination

Pagination fixed for completed tasks table

Running this PR, I still ran accross issues with pagination.
See attached video https://www.loom.com/share/74e78bddf1d943c99648ad5453cba66c


[release-1.9] add timeout for remote clusters to become ready (#31876)

Fixes a single point of failure in multicluster where failure to reach/authenticate/sync with a remote cluster's API server blocks istiod  readiness

@stevenctl: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-security-multicluster-tests_istio_release-1.9
3df5175328eb08e1c3f3508630396c8e06574348
link
/test integ-security-multicluster-tests_istio_release-1.9

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@stevenctl: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-security-multicluster-tests_istio_release-1.9
3df5175328eb08e1c3f3508630396c8e06574348
link
/test integ-security-multicluster-tests_istio_release-1.9

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@stevenctl: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-security-multicluster-tests_istio_release-1.9
3df5175328eb08e1c3f3508630396c8e06574348
link
/test integ-security-multicluster-tests_istio_release-1.9

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@stevenctl: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-security-multicluster-tests_istio_release-1.9
3df5175328eb08e1c3f3508630396c8e06574348
link
/test integ-security-multicluster-tests_istio_release-1.9

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@stevenctl: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-security-multicluster-tests_istio_release-1.9
3df5175328eb08e1c3f3508630396c8e06574348
link
/test integ-security-multicluster-tests_istio_release-1.9

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@stevenctl: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-security-multicluster-tests_istio_release-1.9
3df5175328eb08e1c3f3508630396c8e06574348
link
/test integ-security-multicluster-tests_istio_release-1.9

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@jtrbs do you have any idea why the passthroughfilterchain test is so flaky on 1.9? This PR shouldn't really affect it.

@stevenctl: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-security-multicluster-tests_istio_release-1.9
3df5175328eb08e1c3f3508630396c8e06574348
link
/test integ-security-multicluster-tests_istio_release-1.9

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@stevenctl: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-security-multicluster-tests_istio_release-1.9
3df5175328eb08e1c3f3508630396c8e06574348
link
/test integ-security-multicluster-tests_istio_release-1.9

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Hi @stevenctl, yeah looks like the "naked" related test cases are flaky after the previous refactors on passthroughfilterchain. Also some VM related. Maybe adding a check for every policy deployment  with https://github.com/istio/istio/blob/50a75bd511a5fdcc6395a2e521e6ad9dcadac944/tests/integration/security/util/framework.go#L279 can improve/give more info? cc @JimmyCYJ

@stevenctl: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-security-multicluster-tests_istio_release-1.9
619b8ba6d92acaecdb484f6a3519443f7bbc00a8
link
/test integ-security-multicluster-tests_istio_release-1.9

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Yeah, I've seen several PRs land despite those flakes, but maybe I'm especially unlucky with this PR?
Different tests are failing in each of the jobs, always from primary 2 (cross network primary)
I see the same failures in https://github.com/istio/istio/pull/32345

/retest

@stevenctl: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-security-multicluster-tests_istio_release-1.9
619b8ba6d92acaecdb484f6a3519443f7bbc00a8
link
/test integ-security-multicluster-tests_istio_release-1.9

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

/test integ-security-multicluster-tests_istio_release-1.9

@stevenctl: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-security-multicluster-tests_istio_release-1.9
619b8ba6d92acaecdb484f6a3519443f7bbc00a8
link
/test integ-security-multicluster-tests_istio_release-1.9

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest


How to remove the bar background color

When I have a long content inside a SafeArea widget, there's a little gap at the bottom behind the dome

Hi @awaluddinkasim, please share a sample code, and a screenshot of the issue.

Nevermind, I fixed the issue by setting the bottom parameter to false inside SafeArea widget
SafeArea(         bottom: false,         child: ... ),


Disables use of Pwr_Limit_Bat_Dn on H1 G2

This register is not supported on H1 Gen 2 which results in Force Charge fall back to Backup mode.

Thanks!


update dockerfile

update dockerfile

use 50mb node-alpine version
fix volume path

We're probably incredibly far away from setting docker up at this point. We'd get to this in a few months, when we'll consider adding this PR. Till now, I'll close this and reopen when needed. Thanks :)


draw a hollow triangle with js

I'm assuming that you already check and test your code. Nice work, love the clean code


Improve diagnose hook

ToC

the doctor got two new methods: pushWarning(message: string) and pushError(tag: string, message: string); errors are completely listed, the last one ends the process with exit code 1
the diagnose-hook got a second argument: mode: string, which is either build, develop, serve, build-serve or indeterminate.
errors can be converted into non-fatal warnings, by passing their tag via HOPS_IGNORE_ERRORS into the Hops command
the test-helper's HopsCLI-object's start- & build-methods now take environment variables
the test-helper's HopsCLI-object's start- & build-methods make their stderr-output available to the test environment

The changes to the HopsCLI-object are needed in order to be able to test the doctor. Let me know, if you'd rather see those changes in a separate PR. Personally, I'd cherry-pick them if we can't agree on the approach and thus need a few more iterations on the implementation.
Also note, that the doctor's README isn't updated yet. I'd wait for this until we agreed on the API changes.

Bors merge bot cheat sheet
We are using bors-ng to automate merging of our pull requests. The following table provides a summary of commands that are available to reviewers (members of this repository with push access) and delegates (in case of bors delegate+ or bors delegate=[list]).

Syntax
Description

bors merge
Run the test suite and push to master if it passes. Short for "reviewed: looks good."

bors merge-
Cancel an r+, r=, merge, or merge=

bors try
Run the test suite without pushing to master.

bors try-
Cancel a try

bors delegate+
Allow the pull request author to merge their changes.

bors delegate=[list]
Allow the listed users to r+ this pull request's changes.

bors retry
Run the previous command a second time.

This is a short collection of opinionated commands. For a full list of the commands read the bors reference.

bors merge

bors retry

bors retry

blocked by #1377

bors merge

bors merge


CUC Time parsing and integration

Interprets CUC time with TAI as epoch (where applies), this is a partial implementation since the general CUC format neither strictly assumes seconds as unit, nor is the fine time necessarily 2 octets but can be 0-4 octets, we require 2 as an uint16 since that's what innosat uses.

Integrates with Telemetry header struct

NOTE: The specification for the coarse time says " Each octet within the T-field represents the state of 8 consecutive bits of a binary counter, cascaded with the adjacent counters, which rolls over at a modulo of 256. The time code represented by the T-field shall increase monotonically without reversion." which is quite obscure. Are we 100% sure that this is the same as casting those bytes to an uint16 as is done now?
Tests

Unit testing of all functions
For the CUC fraction using example from the CUC spec to validate interpretation is correct.

After some hacking around in cli.go I get the following output, which seems quite reasonable with regards to the fineTime:
1958-01-01 03:48:44.988494873 +0000 UTC
1958-01-01 03:48:44.990325928 +0000 UTC
1958-01-01 03:48:44.992156982 +0000 UTC
1958-01-01 03:48:44.994018555 +0000 UTC
1958-01-01 03:48:44.995849609 +0000 UTC
1958-01-01 03:48:44.997711182 +0000 UTC
1958-01-01 03:48:44.999572754 +0000 UTC
1958-01-01 03:48:45.00189209 +0000 UTC
1958-01-01 03:48:45.00378418 +0000 UTC
1958-01-01 03:48:45.005645752 +0000 UTC
1958-01-01 03:48:45.007476807 +0000 UTC
1958-01-01 03:48:45.009338379 +0000 UTC
1958-01-01 03:48:45.011199951 +0000 UTC
1958-01-01 03:48:45.013031006 +0000 UTC
1958-01-01 03:48:45.014892578 +0000 UTC

The year bit can either be that the seconds integer is not correctly parsed or that the reference time is wrong. Unfortunately there's no example in the spec about the coarse time and there's no explicit reference to which epoch innosat uses. But we also just have test-data and it could well be it starts at 0 just because it was easier that way.


gridquery with multiple filters

In your examples you have a filter for the global search and it works great.
however i have to filter the grid by a search, begin and end date and a status from a dropdown.
Here is my main gird search and it works
$(document).on('keyup', '.grid-search', function () {
var grid = $('.mvc-grid').data('mvc-grid');
grid.gridQuery = 'search=' + this.value; // Reset page, filter and sort with new filter.
$('.mvc-grid').mvcgrid({
    reload: true
});

});
$("#search-btn").click(function () {
var start = $("#start").val();
var end = $("#end").val();
var search = $("grid-search").val();
var stat = $("#status :selected").text();
I have tried it both of these ways and neither works;

        grid.gridQuery = { search: search, start: start, end: end, status: stat };
        grid.gridQuery = 'search=' + search + ", start = " + start + ", end=" + end + ",status=" + status;

        $('.mvc-grid').mvcgrid({
            reload: true
        });

This part of code works but it breaks the search feature i get this error when i inspect the element:
Uncaught TypeError: Cannot set property 'gridQuery' of undefined
//$.get("GetRoeInfo", {search: search, start: start, end: end, status:stat })
//    .success(function (data) {
//        $("#grid").html(data);
//    });
});
Thank you for your help

Because you are concatenating your grid query parameters using ,
localhost/?search=search,start=X,end=Y

You should append your grid parameters using &.

i have modified my code as you suggested and I still am not getting any of the parameters fed back to the controller
Here is my code now
var start = $("#start").val();
var end = $("#end").val();
var search = $("grid-search").val();
var stat = $("#status :selected").text();
// Reset page, filter and sort with new filter.
alert("Here are parameters search:"+search +" start:"+start+" end:"+end+" status:" +status);
grid.gridQuery = 'search=' + search + '&start=' + start + '&end=' + end + '&status=' + status;
        $('.mvc-grid').mvcgrid({
            reload: true
        });

and the alert shows that the variables are getting loaded.

Would be great if you could post a repro project, because I don't see anything bad :?

I used your global search as the start of mine and added in the date selector and

All
R
Y
G

Request Ship Date Filter:

to

Search

            ROE
            PO Number, Order Type or Campaign Name

            @Html.AjaxGrid(Url.Action("GetRoeInfo"))

Did you debug the code using developer console? You should be able to find why it doesn't get posted back to the server this way.

do you mean googles developer console?
I have been debugging in visual studio.

Yes in browser's developer window, to see what javascript does.

I can see all the variables are loaded and but when trying to load the gridQuery its like it they are all not loaded I copied a snippet of it
one thing i did notice though that if i have started a search in the bar that gets passed to all the different calls but none of the other parameters are passed.

Just to mess around with it i modified your original grid-search javascript to see what would happen
heres what i changed it to:
$(document).on('keyup', '.grid-search', function () {
var grid = $('.mvc-grid').data('mvc-grid');
var start = $("#start").val();
var end = $("#end").val();
var stat = $("#status :selected").text();
grid.gridQuery = 'search=' + this.value + '&start=' + start + '&end=' + end + '&status=' + stat; // Reset page, filter and sort with new filter.
$('.mvc-grid').mvcgrid({
    reload: true
});

});
now when I hit the search it passes in the variables but only the original values they loaded to.  For example if i set the status to Y and then entered a character in the search it would pass the search and the Y then say i changed status to G then only the search gets passed, if i add to the search then it passes the search and status of Y.
This has me baffled as to why it is doing that.

Did you fix your problems? Or there is something I can do?

I did a different work around never could get the gridquery to work :(.
but it is working now though

@danboone I can't get gridQuery to work either. What was your workaround?

If you can share an example repo, I can tell you what's wrong.

@Muchiachio Here's the main code: https://gist.github.com/adamdehaven/764a714571c998239793
I have the Ajax grid working fine - displays and sorts correctly. If I pass a string directly into my grid call like this @Html.AjaxGrid(Url.Action("AllGrid", new { facility = ViewBag.FacilityID, search = "Adam" })) it loads the table correctly.
I can't get the table to filter from the search when the input changes

Hmm, seems ok. Try this, if it doesn't work you should debug javascript/ajax call to see if its correct.
I'm interested to know why it doesn't work.
$(document).on('keyup', '#patient-search-input', function() {
    var grid = $('.mvc-grid').data('mvc-grid');
    grid.gridQuery = 'search=' + this.value;

    grid.reload();
});

And you can always download mvc grid examples from this repo, it works there so something must be different.

Tried your new keyup function, but still no luck. The grid doesn't update or anything. How do you pass the search query to the view? I'm sure I'm missing something simple

What do you mean to the view? Does it even do an ajax call to your controller? I'm pretty sure reload function should do at least something, because there is no empty paths there :confused:

How can I tell if reload is doing anything?

Debugging C# code or through F12 developer tools in your browser.

The reload() function is trying to reload the data, but shows this as the URL:
http://localhost:14303/Patients/104/All?undefined&_=1456505370457

Maybe this.value is undefined?

I got it working - I'm not sure what changed, but thanks :)
I went back to the original javascript


Current nightly build doesn't support portable instance

Describe the bug
Adding a Portable folder to chatterino no longer opens it with no settings.
To Reproduce
Download b06918e , add portable folder, open chatterino, chatterino opens with all %appdata% settings
Expected behavior
Chatterino to open as if it's a clean install
Screenshots

Chatterino version
b06918e | Windows 10
Additional context

Make a text file called "modes" and write "portable" into it


Approx times for last update are wrong

GitLens Version: 6.1.2
VSCode Version: 1.17
OS Version: win 10 home

Steps to Reproduce:

Create a commit point with a date around a year ago
Try to use git lens to show when the last change happened

Observed behavior: The approximation is that last change was 1 month ago
Expected behavior: The approximation should show the last change was around 1 year ago

I unfortunately can't reproduce the issue, although I did have a VERY similar issue https://github.com/eamodio/vscode-gitlens/issues/185 which was fixed. Are you sure you are running the latest version of GitLens? Also, you reported that you are running 6.1.2, but vscode version 1.17 -- which isn't a valid combination, since 6.1.2 requires at least 1.18 to install and run properly.
Can you please verify the versions you are using and get back to me? Thanks!

You're absolutely right, it seems like I didn't realize I was running some older version (5.x). On 6.2 the bug doesn't reproduce :)
Thanks for the quick answer, and for writing this extensions, it's really great 🥇

Phew! Thanks! 😄


feat(RELEASE-1046): add SA for executing pipelineruns

Add a new service account to use for our internal service pipelineruns instead of using the default pipeline SA that tekton provides.
The benefit is that we can control this one and link it to what we need.

/ok-to-test

/retest


Autoplay

I see that the auto play option was available in 1.0 but, I am not able to find it in 2.0. Any help would be greatly appreciated.
BTW, great project. Thanks for all the effort on this.

Thanks! I just added this feature, let me know if this works out! The documentation is here: https://open.521dimensions.com/amplitudejs/docs#autoplay


Requests version needs to be 2.5.0 or greater from this repo

If a user is starting with a lower version of requests than 2.5.0, they will see failures coming from this module (when attempting to disable the warning messages). We need to set the requests version >= 2.5.0. Otherwise folks get an error:
        if StrictVersion(requests_version) < '2.9.1':
            requests.packages.urllib3.disable_warnings()

        AttributeError: 'module' object has no attribute 'packages'

this appears to have been done
https://github.com/F5Networks/f5-icontrol-rest-python/blob/1.0/setup.py#L31


Business hours team oncall: What actions can we take to reduce the amount of pages?

Business hours team oncall: What actions can we take to reduce the amount of pages?
@alex-dabija I'll schedule a meeting this week to discuss what actions we can take.

I just scheduled a call for Friday at 13:00 CET.


Postgresql password stored in plaintext in values.yaml

Describe the bug
Should the storing of a DB password in plaintext be considered a security risk? Would it not be better to pass it in via a secret?
Versions used:

Chart Version: 2.0.0
SonarQube Version: 9.3.0
Helm Version: N/A
Kubernetes Version: N/A

values.yaml key in question:
postgresql:
  ...
  postgresqlPassword: "sonarPass"

Additional context
I'm wondering if this functionality is offered in the jdbcOverwrite section, however I'm not trying to provide an external database...?
jdbcOverwrite section in values.yaml:
## Override JDBC values
## for external Databases
jdbcOverwrite:
  enable: false
  # The JDBC url of the external DB
  jdbcUrl: "jdbc:postgresql://myPostgress/myDatabase?socketTimeout=1500"
  # The DB user that should be used for the JDBC connection
  jdbcUsername: "sonarUser"
  # Use this if you don't mind the DB password getting stored in plain text within the values file
  jdbcPassword: "sonarPass"
  ## Alternatively, use a pre-existing k8s secret containing the DB password
  # jdbcSecretName: "sonarqube-jdbc"
  ## and the secretValueKey of the password found within that secret
  # jdbcSecretPasswordKey: "jdbc-password"

Hi @mtcolman ,
if you are using the postgresql chart that is offered as a dependency of this chart when setting postgresql.enabled=true, you can configure everything that is possible with the bitnami chart (version 10.15.0) in the postgresql scope and there is also support for providing a existingSecret.
Hope that helps and clarifies the intention here

Thanks @tobias-trabelsi-sonarsource. I think the issue is that the values.yaml file is now commented as follows:
  # To use an external PostgreSQL instance, set enabled to false and uncomment
  # the line below:
  # DEPRECATED: please use the 'jdbcOverwrite' values to connect to an external Postgres DB
  # postgresqlServer: ""
  # To use an external secret for the password for an external PostgreSQL
  # instance, set enabled to false and provide the name of the secret on the
  # line below:
  # DEPRECATED: please use the 'jdbcOverwrite' values to connect to an external Postgres DB
  # existingSecret: ""
  # DEPRECATED: please use the 'jdbcOverwrite' values to connect to an external Postgres DB
  # existingSecretPasswordKey: "postgresql-password"

Which is confusing - because it appears from what you have just commented, these keys are not deprecated, they are just not intended to be used for external DB connectivity. Maybe some clarity is needed in the values.yaml file?

You are right. it even references the really old chart from helm/charts. I think this section deserves some love.
i have created DOCKER-50 to track this

If you use Azure, please have a look at akv2k8s. You will need to Kustomize the generated templates.


Change Minimal Solution for Acronym

Currently, the Minimal Solution for Approval for Acronym as advertised in the Mentor Notes is:
fullname.scan(/\b[a-zA-Z]/).join.upcase
in favour of solutions that use split.
As different people has pointed out, this solution is not ideal.

It needs a Regular Expression, which is not a primary goal for the Ruby track, and it's extra non-elegant that the first real exercise in the track requires a regex.
Its advantage that it 'focusses on what you need, instead of naming all the delimiters' is debatable. As @pgaspar (and others too) pointed out to me: it's much easier to add a new delimiter than to re-write the regex to match a new pattern.

I know the Mentor Notes state that the exercise is meant to introduce scan - I wrote that myself - but the reason behind  it was rather: showing the strength of Ruby's built in methods, and showing that Ruby has a lot of convenience methods for common operations. That's supercool, but scan is not the best showcase in this regard.
So, with the new insights, I'm looking for a candidate to replace the scan solution.
This is my favorite so far:
fullname.tr('-', ' ').split.map {|word| word.chr}.join.upcase
It's a much better show case for Ruby's specialty methods, with tr for gsub and chr for Array#[] And no need for a regex, yay!
(And in case you wonder: it's faster than the scan solution. )
OTOH I'd rather introduce Symbol#to_proc later, but it may be hard to resist the temptation to show map(&:chr) for us while mentoring.
Recap:

Your thoughts on replacing the current scan solution
Your thoughts on the candidate
Other candidates to replace the current scan solution?

I have a lot of fun mentoring this exercise and have done it lots. Some thoughts:

It's nearly always something that I can teach someone something with (ie people don't get the right solution first time - I think this is good).
I think learning about scan and boundary regexps is good.
Nearly every solution uses split and nearly always uses a more primitive regexp - those people like the boundary upskill and generally comment positively
Some solutions don't use a regexp. In these cases, mentor discretion is advised. Did the person just not consider it? Are they unfamiliar with regexps? In the later case, I think it's great to introduce them to them, but not block approval on them using it. In the former case, most people quickly go away and refactor. I've never felt the regexp thing has been a problem for me.
I use regexps 100x more than I use any maths in programming. I think that regexps are a crucial skill for developers to learn, and do not have to be complicated or confusing if only the basic things are taught. I think there's way too much drama about regexps generally in the development community. Sure - they can be impossibly hard when you get deep into them, but \b\w is not a hard thing to learn. In fact I'd argue that adding the forward slashes makes it much harder (/\b\w/) - I'd happily suggest not using the shorthand and going for Regexp.new("\b\w") if the person is entirely new to regexps instead.
I really like that Word Count uses the same scan / boundary regexp sort of thing later on. It means I feel like I can reuse my knowledge

All of this makes me a big fan of this exercise - it's possibly my favourite to mentor - and I'd be sad to see it changed or watered down.
However, your points are much more important than mine. If core#3 needs to teach cool ruby methods, is this the wrong exercise to do it? The optimal solution to core#3 should be something consisting of lots of chained cool ruby methods, which the optimal solution to this isn't.
Saying that, I'm not entirely against guiding someone to the solution you pasted. But I think if we do do that, I'd like to have a rule that we generally give people a "Bonus test" at the end, which has a few more chars that aren't - in them, and challenge them to replace tr with scan to achieve this, or something. I guess I'm wary of watering things down for learners that don't need it watering down (ie, if I did this exercise and wasn't told I could use scan, even as an after-comment, I'd feel like I'd lost out).
There's a general point here as well, that there isn't an absolute optimal/guidance solution here. There's a different optimal one depending on the starting point. One great use of the Automated Mentoring Support Project might be to take a solution to Acronym and say to the mentor "This is the target solution for this student". So if they start with gsub then we push to scan. If they start with total chaos, we push them to the new proposed solution above.

I agree that the purpose of Ruby track is to learn Ruby. And regular expressions are part of it.
What I would change though is to encourage developers to think about diversity of the world we're living in, so I would add a couple of tests for Unicode (e. g. German with diacritics and Russian) and change the minimal solution to  sentence.scan(/\b[[:alpha:]]/).join.upcase

I would probably think about that diversity in a later exercise, and one that is focused on encoding, perhaps more than Regexp.  Or to give as a challenge if it appears that the student is up for it in discussions.

Both good points. I think that teaching how to use Regexps in Ruby is important. I think teaching the details of regexpes themselves is not in scope - that doesn't mean we don't do it as a bonus thing, but it's not part of what we must do.
So I think teaching /.../ and Regexp.new(...) are good, but that we shouldn't try and get too complex in the regexp we teach. So if someone hasn't used Regexps before, we teach [[:alpha:]]over \w but we don't correct \w to [[:alpha:]] as a blocking thing.

fullname.tr('-', ' ').split.map {|word| word.chr}.join.upcase

I hate, hate, hate this solution and always try and steer students away from it.  Most are super impressed when they see the simplicity of what can be done with JUST scan and a SIMPLE regex.
I find negative filtering (dealing with characters like "-" on a one off basis) is also a far more fragile programming practice that scanning for a positive match.  If you need a-z, just scan a-z, don't try and filter out all the junk, because there is a lot of junk out there - you'll be updating your code every day in the real world, etc... I think that's an important lesson that this exercise gives an opportunity to teach.

I agree with @yyyc514, but perhaps not as strongly 😄
I prefer to phrase the code positively. scan for what we want, not split on the parts we don't want.
I also agree that we might be over-emphasizing regular expressions.

I also agree that we might be over-emphasizing regular expressions.

That for sure might be true on some exercises, but I don't think this one.   It sure would be nice if the exercises could give students one or two small hints though.  Like a hint or link to "word boundaries" would help so many students get this right the first time around I think.

Here are my thoughts:
I love the idea of focusing on the things you want vs. focusing on the things you want to exclude. scan allows you to do just that and I found myself using/suggesting it in later exercises as well. From my experience students usually really appreciate the change in perspective, and that's awesome!
Recently I've had a few students coming from other tracks ask me if scan really is the best option here if you start thinking about some of the tests we are purposefully leaving out in the Ruby track. Here's one of those interactions. One of these tests - the most relevant here - uses the "Halley's Comet" string.
In my experience, changing the scan solution to make it return "HC" instead of "HSC" as the test requires is very challenging - I spent some time on it once and ended up giving up after playing around with a few complex Regexes. On the other hand, it's much easier to pass this test with the split version - you just add ' to the list of characters you want to remove.
For this reason when students wonder outside the provided test cases I end up suggesting that a split-based solution may be a bit easier to maintain, depending on the edge cases you want to support.
I wonder if we should have something on the mentor notes talking about this. Something pointing out that while this solution is great for the tests that we have on the Ruby track it gets complicated very fast when you introduce all the test cases described on the problem specifications repo.
Does anyone know of an elegant Regex we can suggest for scan that passes these extra tests? You can see them here if you don't know what I'm talking about.
So, that's my main gripe with the minimal solution we propose now - it's an excellent improvement if you only consider the tests we have but it falls apart when you start thinking about some not-that-uncommon edge cases, which some more advanced students end up doing.

"Halley's Comet" .scan /\b(\w)[a-z']+/i
=> [["H"], ["C"]]

Just quickly.  Might be better approach.  But you're right that the exercise would get much more complex if we included such examples.

That's great, thank you ❤ Didn't think of using () for "Halley's Comet" 😓 We should add that one to the list of regexes on the mentor notes.
This gives me a bit more maneuverability next time someone asks about that test.
For the second one, the mentor notes have this: /(?<!\p{Alpha})\p{Alpha}/

Is that negative lookahead or non-capture or what?  I get lost at this point, lol.

Is that negative lookahead or non-capture or what? I get lost at this point, lol.

Negative lookbehind, yep. Had no idea this existed 😄

(?<!pat) - Negative lookbehind assertion: ensures that the preceding characters do not match pat, but doesn't include those characters in the matched text

Ah, yeah forgot about negative look-BEHIND. LOL.

Some final points:

I really appreciate the elegance of the scan solution when compared to split solutions (for the tests we currently support), even if there's a regex involved.
I still think it's simpler to support the extra tests with split than with scan. But that probably shouldn't matter when it comes to the minimum viable solution, given the tests we support.
I'd like us to support the extra test cases, but that would make this considerably harder when using scan. And that amount of complexity doesn't make sense this early in the track.
I think it would be useful to add a "what if we wanted to support more edge cases" section to the mentor notes exploring some of the trade-offs and possibilities.

I think it would be useful to add a "what if we wanted to support more edge cases" section to the mentor notes exploring some of the trade-offs and possibilities.

Or what about optional tests?  A few of the other exercise have "This test is hard, you don't have to make it pass necessarily."  Maybe something like extra credit?

That's also a nice option IMO :+1: Updating the mentor notes would be even more relevant in that case, I think, since a lot more people will be thinking about these cases.

So I totally agree that Aconym has excellent options to make it more interesting. It's def something to take into consideration - for the future.
Actually, there's an issue for that: https://github.com/exercism/problem-specifications/issues/1463
We will def discuss (as soon as the Ruby Track Anatomy is publicly available), if we can move Acronym up and add the extra's, or, as I suggest in the other issue, to add a SuperAcronomyzer. To me, both have their merits.
At the moment, though, :

We do not have enough easy exercises
One effect of the Track Anatomy Project is that we will have to take into consideration how changes to one exercise affects the track.
That's the reason for #935: this is not a good time to change exercises.

Also, it's not about not having regex in the track, it is about the best exercise at the best position.
So. Given the current test suite and the current position of Acronym in the track, may I rephrase my question:
Given all that, Is this the best alternative?
`fullname.tr('-', ' ').split.map {|word| word.chr}.join.upcase

At least fullname.tr('-', ' ').split.map(&:chr).join.upcase

As a note to mentor, I would like to have the transition explicitly commented if it is early in the track of "Why" the map(&:chr) exists which is to explicitly remind that it is exactly because the method called chr is called on each iteration, and the result (return of that call to chr) is the stored value of the map.  The mentor reading the note may not, depending on experience, recognize it as doing so, or may not remember it.

Like we currently have in the Series notes:
- `map(&:join)`: instead of map with block, but at this point in the track it's okay to just accept it if students use it, no need to require it or dive into the subject of `Symbol#to_proc`

But if I understand correctly, there's no worrying about extra objects that are created, or whatever Ruby things I may not be aware of?

There's a general point here as well, that there isn't an absolute optimal/guidance solution here. There's a different optimal one depending on the starting point.

I feel like this point got overlooked slightly :)
I'm strongly against guiding someone to a suboptimal solution if they're perfectly capable of guiding them to an optimal solution*. So if we do end up changing the mentor notes for this (which I think is what we're discussing really here, rather than discussing changing the exercise - and I wonder if therefore this would have been better in exercism/website-copy rather than exercism/ruby to emphasise that - should I move it?) then I'd like to explicitly say something along the lines of "If they start at X guide them to Y. If they start at Y guide them to Z and mention scan as a bonus task"
So, while it's not necessarily ideal, I would argue that it would be better to design an exercise specifically to chain the actual methods you (Maud) feel we should teach at this stage, than try to shoehorn this one in. Adding this as a side-exercise hanging off that new exercise could work nicely. Which, with reference to your comment of "showing the strength of Ruby's built in methods, and showing that Ruby has a lot of convenience methods for common operations." leads me to ask the question of "What are we actually trying to demonstrate to the student here". Or to use Track Anatomy speak, what axes is this exercise on on the progression lines?
(*  I'm defining "optimal" as how I would do it :))

Hmmm, yeah. Okay, I'll leave it.


All tests aborted immediately

Using the latest version all tests abort immediately. The last working version for us is 2.0.0-alpha-20140812.
We are running:
VS 2013 Version 12.0.31101.00 Update
ReSharper 8.2.3 Full Edition Build 8.2.3000.5176 on 2014-10-09T20:08:24
Windows 7 Professional SP1

Fixed in 9125f6647d3613b075f6dc4d521704f96d0fd989. Now reported with an "info bar" in ReSharper 9. Need to backport to ReSharper 8. Will be released shortly.


[🐞] SPA routing is preventing browser defaults

Which component is affected?
Qwik Runtime
Describe the bug
When you press cmd + click on a link, qwik uses preventDefault.
The default browser experience would open a new tab. If you add shift to the party, it'll even open it directly.
I know there are several other shortcuts to open in a new window or private window.
Qwik should not prevent that kind of functionality.
Reproduction
https://stackblitz.com/edit/qwik-starter-qads2x?file=src%2Froutes%2Findex.tsx
Steps to reproduce
Run it on stackblitz.
Click flower app with cmd
You just get routed
Click todo app with cmd
You get to a new tab
System Info
See stackblitz

Additional Information
No response

is it a thing in other metaframeworks like nextjs, when using Link?

@manucorporat no I think you are preventing default.
In react-router and next it's only preventing default if shiftKey, meta and ctrl are not true.
I checked it with our internal apps and my personal nextjs page.
We discussed this with @hamatoyogi and @shairez, and I think we agreed that qwik should avoid preventing browser APIs as much as possible.
You can call it a feature request, but I would say it should have been implemented in the same way already.

@jordanw66 I agree, trying to fake the default behavior is not an option.
I think that qwik suppresses the default behavior here is a mistake. However, I don't know how important it is to everyone to go to the qwik-loader here.
Do you think it's justified to pursue it here? I personally use meta + shift + click every single day.
@manucorporat what is your opinion about it?

@jordanw66 perfect to pointing to it. Your suggestion is awesome. The question is, how deep do we want to go.
I might want to implement it for all developers and pass the allowmodifiers as a type like that:
export type AllowModifiers = SingleOrArray<
  keyof Pick<QwikMouseEvent, 'altKey' | 'ctrlKey' | 'metaKey' | 'shiftKey'>
>;

This way it's connected to the event and the developer can be specific.
For link we set linkProps to all of them.
I have some space tomorrow and can check it out, but maybe @manucorporat can tell us if this is ok. We also can catch up and talk about it, as Manu wanted to write e2e tests for navigation?

This is solved by sync$()

@gioboa @mhevery just perfect 🥹
The sync$ is also a pretty awesome new feature

Nice, I'm glad to hear that 😉


nginx system test changes to repro issue https://github.com/pagespeed…

…/mod_pagespeed/issues/1077

LGTM
@jeffkaufman how do you get googlebot to ignore pull requests from people?

@crowell We can't yet; that feature is still coming.


Document github-label-creation-script.sh

Missing documentation for new script so need to add it

https://registry.terraform.io/providers/integrations/github/latest/docs/resources/issue_label

https://registry.terraform.io/providers/integrations/github/latest/docs/resources/issue_label
do you want me to use terraform as well or leave that up to thomas?

do you want me to use terraform as well or leave that up to thomas?

Yes, you should use terraform.
You're mainly in charge of Github while he's busy with setting up on Azure.
BTW, I would prefer that we don't create documentation specific issues. Documentation should be a task included in any new development and issues should not be closed until documentation is provided.

do you want me to use terraform as well or leave that up to thomas?

Yes, you should use terraform.
You're mainly in charge of Github while he's busy with setting up on Azure.
BTW, I would prefer that we don't create documentation specific issues. Documentation should be a task included in any new development and issues should not be closed until documentation is provided.

ok sounds good just so I understand what the process should be, create script/workflow/whatever get it approved then put documentation and ask for re-review is that right?

ok sounds good just so I understand what the process should be, create script/workflow/whatever get it approved then put documentation and ask for re-review is that right?

If you're doing a two-step, not re-review, merge the script in so the functionality is there and create a separate PR for the documentation associated to the same issue. but obviously better if you create the doc at the same time.


Doc fix to mention IANA assignments for 2379/2380

When reading https://github.com/coreos/etcd/blob/master/Documentation/configuration.md it was confusing to see the old deprecated port numbers of 4001/7001 being used.
I hopped onto IRC to learn that https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml?search=etcd happened.
Could we add a notice banner somewhere so reader's aren't confused why some doc examples show both old/new port mappings and/or update docs to get rid of the old port references?

Any updates on this? What's the best place to put the notice about it?

Fixed via #4717


k3ai init does nothing ( ERROR: unknown flag: --update-default-kubeconfig)

Describe the bug
k3ai inti does not work
To Reproduce
Version : k3ai-core_0.2.3_linux_amd64.tar.gz
config file
cat kai-k3d.yaml
kind: cluster
targetCustomizations:
- name: localK3d #name of the cluster instance not the name of the cluster
  enabled: true
  type: k3d
  config:  #default location of config file or your existing config file to copy
  clusterName: demo-win-k3d #name of the cluster (this need to be the same as in a config file)
  clusterDeployment: local
  clusterStart: "k3d create cluster" # in the default it was given k3d cluster create - which is wrong
  spec:
  # If the OS is not needed may be removed so the three below are mutually exclusive, if not needed set them to null or remove it
    linux: "https://kind.sigs.k8s.io/dl/v0.9.0/kind-linux-amd64"
    # Everything from this repo will be ran in this cluster. You trust me right?
  plugins:
  - repo:
    name: jupyter-minimal
  - repo:
    name:

Trigger Init
k3ai init --config ./kai-k3d.yaml

Ouput
☑	Checking requirements for local deployment...
☑	Installing infrastructure for local deployment...
	Selected deployment type: k3d
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    97  100    97    0     0    374      0 --:--:-- --:--:-- --:--:--   374
100   624  100   624    0     0   1579      0 --:--:-- --:--:-- --:--:--  1579
100 7247k  100 7247k    0     0  6697k      0  0:00:01  0:00:01 --:--:-- 14.2M
ERROR: unknown flag: --update-default-kubeconfig
exit status 1
☑	Infrastructure ready, proceeding to plugins installation (if any)...
☑	Add Plugins to local deployment...
Plugin YAML content: [{https://raw.githubusercontent.com/kf5i/k3ai-plugins/main/common/jupyter/base/deployment.yaml file}], name: jupyter-minimal
The connection to the server localhost:8080 was refused - did you specify the right host or port?
The connection to the server localhost:8080 was refused - did you specify the right host or port?
The connection to the server localhost:8080 was refused - did you specify the right host or port?
2021/08/10 10:26:22 Error during create: exit status 1
☑	Plugins added to local deployment...
🎉	Local deployment completed, have fun with k3ai!

No cluster is created
kubectl config get-contexts
CURRENT   NAME   CLUSTER   AUTHINFO   NAMESPACE

Expected behavior
Cluster is created
Additional context
Normal cluster creation is working directly using k3d
alexpunnen@pop-os:~$ k3d create cluster
Creating cluster "kind" ...
 ✓ Ensuring node image (kindest/node:v1.19.1) 🖼
 ✓ Preparing nodes 📦
 ✓ Writing configuration 📜
 ✓ Starting control-plane 🕹
 ✓ Installing CNI 🔌
 ✓ Installing StorageClass 💾
Set kubectl context to "kind-kind"
You can now use your cluster with:

kubectl cluster-info --context kind-kind

Thanks for using kind! 😊
alexpunnen@pop-os:~$ kubectl config get-contexts
CURRENT   NAME        CLUSTER     AUTHINFO    NAMESPACE
*         kind-kind   kind-kind   kind-kind

Note - After creating the cluster with Kind manually; I was able to run all the kubeflow pipelines as well as the tensorflow and pytorch operator; Great work

Hi @alexcpn  sorry for the delay I was OOO.  I see the problem that is also known on the k3d side I'll recheck the code since it seems the flag to update the kubeconfig file is failing but I'm confused from the second part.. seems like you are using k3d cluster create but actually you are doing a kind (KinD from https://kind.sigs.k8s.io/) to actually create the cluster?
Just in case you did not notice you may use directly the "kind" section in the yaml file instead of "k3d" :)


Issues displaying multiple of the same icon?

I have two of the "arrow-left" icons serving as Go Back links. I have one at the top and one at the bottom of the page.
Only the bottom icon is displaying, the top icon is vanishing with the entire  tag disappearing in the HTML code. It appears that no matter how many of the same icon I put on the page, only the last rendered icon actually displays.
I am loading the code from your CDN, and each icon is identical in size and colour. No errors are being logged to console.

I just noticed that as well. Here is a codepen demonstrating the issue: https://codepen.io/XXTheEnd32XX/pen/QxpRXr

This issue has been resolved in v1.0.2


Proof-of-concept sf::Texture "recycling" API

@binary1248's #3152 allows for "efficient object recycling after construction".
Such feature can coexist with std::optional-based factory construction, and can coexist with the principle of having SFML objects always in a valid state. This PR is a proof-of-concept for that, only for sf::Texture.
Changes:

Renamed factory functions to createFromXXX
Added a recycling function for every factory function, named recreateFromXXX
Factory functions are implemented in terms of recycling functions

I'm still not convinced that this is worthwhile doing, but it's definitely worth exploring. The advantage of "recycling" compared to assignment is that internal handles/buffers can be reused. In other words:
auto t0 = sf::Texture::createFromFile("somepath").value();
t0 = sf::Texture::createFromFile("somepath").value();
    // Semantically correct, simple, but cannot reuse resources such as GL texture
    // handle, or internal containers (will need to be reallocated and moved)

auto t1 = sf::Texture::createFromFile("somepath").value();
if (!t1.recreateFromFile("somepath")) { /* ... */ }
    // Allows internal resources to be reused (e.g. no need to create a new GL
    // texture, internal containers can be cleared instead of being reallocated)

Reasons why I am not convinced this is worthwhile doing:

Increases the surface area of SFML objects API
Somewhat increases complexity of SFML object implementation
Users now have to consciously choose between operator= or .recreateFromXXX
No evidence that recycling is meaningful/useful in any real application

Point (4) is the most important. If a program's performance bottleneck is texture loading, image creation, font loading, soundbuffer loading, and so on... there's something severely wrong.
These things should not be done on a per-frame basis, resources should be loaded sparingly and only when needed.
Furthermore, the overhead of using the file system to read an image file is going to be much larger than the one for calling glGenTextures or allocating a std::vector<std::uint8_t> for an image's pixels.
Therefore, I think that operator= is good enough in most cases, even if not optimal, but I can be convinced otherwise if provided with compelling evidence.

You've missed some key details here that should be considered:
Games may often stream textures from disk, regularly loading and unloading assets during a scene. This is more common in 3D or large 2D games. Texture reuse may be preferable under the requirements of 3D games.
Yes, the loading from disk is the larger concern but the one aspect you can perform on a thread with minimal setup (with regards to graphics objects) is to load from disk -> image. The loading to GPU must be done on the thread with the active GL context. So in fact it becomes possible to bottleneck your core loop on loading textures to the GPU.

@Bambo-Borris: thanks for the additional context/information!

Texture reuse may be preferable under the requirements of 3D games.

When you're talking about "texture reuse", are you referring to reusing the same texture ID without generating a new one?

Yes, the loading from disk is the larger concern but the one aspect you can perform on a thread with minimal setup (with regards to graphics objects) is to load from disk -> image. The loading to GPU must be done on the thread with the active GL context. So in fact it becomes possible to bottleneck your core loop on loading textures to the GPU.

This is useful information, but I do not understand how it is relevant. What I mean is: would having or not having a recycling API change anything regarding what you wrote above?

When you're talking about "texture reuse", are you referring to reusing the same texture ID without generating a new one?

If someone is utilising SFML 2.x in a 3D application and was relying on the ability to load their textures via sf::Texture, then yes, they may have become genuinely reliant on this behaviour since it allowed them to avoid a texture rebind (which does enough computation to make avoiding a rebind preferable).

This is useful information, but I do not understand how it is relevant. What I mean is: would having or not having a recycling API change anything regarding what you wrote above?

Was more responding to your point about the overhead on disk loading which is somewhat possible to mitigate the severity of, and that the concern of loading into VRAM is still one that developers must consider.
As we discussed in Discord, I think that the reloading by calling create again should invalidate the previous IDs and force a user to rebind. But maybe allowing the old behaviour which mitigates a rebind is something we can leave open here so that people who are producing more complex applications with more constrained performance limits can benefit here. Recycling allows greater scope for optimization for those users.


General ( OSX / Linux ) Does not compile after running protoc

The method:
 override internal func writeDescriptionTo(inout output:String, indent:String) throws {
Is marked as an override but does not actually override anything thus returning an Error. Trying to print out a description will crash your app with this removed.

Get me more information. I think you have something wrong doing.

Build cmd used:
protoc Messages.proto --swift_out="./"
Proto file:
Messages.txt
The supplied Xcode project for the ProtocolBuffers framework is included and embedded in the application.

You used old framework or compiler.

which is the newest framework. Which version. My protcobuf's version is 2.6.1, protobuf-swift is 2.4.3


Slack Bot & release reminders

This PR endows concierge with SPP (Slack Posting Powers™) in order to send release reminders (https://github.com/AnalyticalGraphicsInc/cesium-concierge/issues/80) as well as a weekly GitHub stats about average PR time and PRs taking the longest.
Once we find a place to host the Slackbot config (https://github.com/AnalyticalGraphicsInc/agi-meta/issues/156) we can simply point to it and it'll use that as a release schedule to send 3 reminders (2 weeks in advance, 1 week in advance, and then the day before).
The weekly stats message posted to slack looks like this (based on the actual stats for last week):

Happy Friday everyone! We merged 9 PR's this week, with an average merge time of 22.2 days. This PR (https://github.com/AnalyticalGraphicsInc/cesium/pull/7170) took an unusually long amount of time to get merged (69.2 days).
Check out the live dashboard with more stats:
https://app.databox.com/datawall/36dd3b071819692357099f6f52e6223205be31189

It runs across all the repo's concierge is watching. It's set up to be very easy to extend, so any other class could potentially call something like:
SlackBot.postMessage(userIDs['<username>'], 'Hello!')

To send a message to a user (or potentially a channel).

Thanks for the pull request @OmarShehata!

:heavy_check_mark: Signed CLA found.
:grey_question: CHANGES.md was not updated.

If this change updates the public API in any way, please add a bullet point to CHANGES.md.

:sparkles: :sparkles: :sparkles:I'm the Cesium Concierge and I'm here to test things. :sparkles: :sparkles: :sparkles:

It runs across all the repo's concierge is watching. It's set up to be very easy to extend, so any other class could potentially call something like:

The stat panel that is links to is just for CesiumJS though, correct? The stats reported in the message are for across all repos?

The stat panel that is links to is just for CesiumJS though, correct? The stats reported in the message are for across all repos?

That is correct. I changed the title on the Databox dashboard to say "CesiumJS" so we know that's what it is. I think we could aggregate multiple repo's like that if we pay (as well as have private dashboards).

That is correct. I changed the title on the Databox dashboard to say "CesiumJS" so we know that's what it is. I think we could aggregate multiple repo's like that if we pay (as well as have private dashboards).

:+1: Just make sure the wording is clear when you link out to the dashboard.


Minor grammer checks and revisions, add reference

Thanks for catching the typos and stuff.

Thanks for catching the typos and stuff.

I really appreciate how your brain works! 👍


Selection is disabled by default in password fields

It seems weird that you can't select in a password field.

There was an issue complaining about the opposite of this, that selection wasn't disabled by default: https://github.com/flutter/flutter/issues/24100
So I "fixed" it.  You can still set enableSelectionInteraction: true if you want to allow selection in a password field, but I think it is bad that you can't paste into it by default.
Maybe the full solution is to allow more fine grained control of the selection menu items?  So a password field should show "Paste" but not "Copy".

I could see not exposing "copy", but stopping selection and paste as well seems like overkill.

Disable/Enable individual action would require breaking change in my pending pr https://github.com/flutter/flutter/pull/32059

To sum up, we want to hide copy and cut, but keep paste, selectAll and basic selection when obscureText is set to true
Sounds good @Hixie @justinmc ?
This will have to wait for #32059, I will appreciate the if more people can review that pr :)

Yes, so in full my best guess of how this should work is this:
When obscureText is true, selection works, and the selection menu shows, but cut and copy are not shown.
When obscureText is false, selection works and the full selection menu is available.
enableInteractiveSelection always defaults to true (breaking change due to https://github.com/flutter/flutter/pull/24527).  When it is false, regardless of the value of obscureText, selection doesn't work at all and the selection menu can't be shown.
The main assumption in this is that people don't want to copy from password fields, because that will no longer be possible at all with the above changes.

One thing to keep in mind here is during selection, the whole content of the field should be considered one piece of text (word boundaries should be ignored).
So if the field contains foo bar, it's displayed as *******. When the user double taps somewhere within "bar" for example, the whole input field should be selected, not just "bar" like a normal text field would do.

Good point!  It looks like right now we only select one obscured character at a time on double tap or long press.  Native iOS and Android both select all the obscured text.

Personally I wish I could copy out of password fields, but I could live with not having copy.

We could do that too, but I think it would require involving more state than just obscureText and enableInteractiveSelection.  Do we have any plans to allow users to modify the contents selection menu?  Something like that might be a nice way to show/hide certain buttons like copy.

allowing user to disable/enable certain button should be trivial.

This issue was also reported (January 2019) here: https://github.com/flutter/flutter/issues/27353

reverted due to bad merge

relanded

reverted another time :(


The correct default project must be retrieved in the desktop application

When the desktop application starts up it retrieves the first project that the current user, alice, can access, based on the name default. This project might have been created by another user, bob who invited alice in order to share a service (with a role = Service).
Alice will then not be able to create enrollment tickets with that project since she is not an administrator of bob's project.
The fix consists in filtering the list of retrieved projects based on the UserInfo retrieved when the user authenticates:
// get the user email from the application state
let user_email = app_state
        .model(|m| m.get_user_info())
        .await
        .map(|u| u.email)
        .unwrap_or_default();

// only keep the projects where the user is an Admin
let project = match projects
        .iter()
        .filter(|p| {
            p.user_roles
                .iter()
                .any(|r| r.role == RoleInShare::Admin && r.email == user_email)
        })
        .find(|p| p.name == *PROJECT_NAME)
    {
....

Note: the code above can be refactored with  a Project::is_admin(user_info: UserInfo) -> bool function.

ℹ  The ordering returned by the backend for project listings is stable request-to-request as of last week - previously the SQL ordering was unspecified and would ultimately be decided by Postgres implementation details.


Titles & Headers Improvements

Based on PR#136

Add narrow-specific titles
Add isNarrow functions. Add tests
Improve titles
Improve subheaders
Improve message refresh
Fixes for narrowing

Automated message from Dropbox CLA bot
@borisyankov, it looks like you've already signed the Dropbox CLA. Thanks!


n64: change default deadzone from 4096 to 0

not sure it works 100% please reread/retest.
007 just becomes playable.
the pad is really more sensitve and precise for several games.
i've no soucy with a 0 deadzone.
But for people who go soucy, i make it customisable.
Please double check this commit while the n64 configuration looks wired to me,
so, i'm not sure to not add a bug, even if i've a tested several things.
Signed-off-by: Nicolas Adenis-Lamarre<EMAIL_ADDRESS>

who had a problem with the deadzone so far ?

i just guess that if that is here it is perhaps not hazard
Le jeudi 23 juin 2016, Subs<EMAIL_ADDRESS>a écrit :

who had a problem with the deadzone so far ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/recalbox/recalbox-configgen/pull/74#issuecomment-228146548,
or mute the thread
https://github.com/notifications/unsubscribe/AFGWYQtaGnVK1lc29P5rlLaO9u8_lspiks5qOtSBgaJpZM4I9AlT
.

the input.xml is not a bad idea : people unhappy with how buttons are set can customize it themselves, even more with the weirdest pad ever made on a console ;)
Anyway, in 4.1, i should rewrite a part of this configgen and try to set directly pads in the mupen64plus.cfg so we might be able to finally get a hand on players/pads order

this xml is used for kodi too.
note that this file is upgradable, because just in share_init by default.
note that the main subject of this issue is to default the deadzone to 0 to
make some games playable (007 for example).


Specify Custom Ports for IDE/VDI

What would you like to be added?
In robot/application creation section, user should be able to specify custom ports for custom services.
Here's the format: <PORT-NAME>-<NODE-PORT>:<CONTAINER-PORT>/<PORT-NAME>-<NODE-PORT>:<CONTAINER-PORT>
an example: pt01-31414:4978/pt02-31415:2136/pt03-31416:8444
as regex: ^([a-z0-9]{4}-[0-9]{5}:[0-9]{2,5}\/)*([a-z0-9]{4}-[0-9]{5}:[0-9]{2,5})$
Fields:

Port Name: 4 char long string, contains alphanumerical characters.
Node Port:  The port that will be reachable from outside of the cluster. (30000-32767) Orchestrator should check the empty node ports and give them to the UI.
Container Port: Port inside the container.

Why is this needed?
It's needed to extend user's control over a robot or an application.

The feature has been added successfully. This feature will be available for v0.26.0 and later.
Thank you for your interest.


ActionBar icons are not accessible when zoomed in

Issue Type: Bug
It seems that the behaviour of the ActionBar changed in the March 2019 release. It used to show an elipsis when you are zoomed in too far and it can't show all of the icons in the ActionBar. Now those icons are there, but you can't get to them unless you zoom out.

This makes it tough for doing screencasts because you need to the whole UI to be zoomed, not just the font.
Am I missing something? Perhaps this behaviour by design and I just don't understand how to use it since the change.

Duplicate of #71585


Least privelege Entra ID built-in role to microsoft.aadiam/diagnosticSettings/write?

What's the least privelege built-in role to write diagnostic settings, microsoft.aadiam/diagnosticSettings/write from https://portal.azure.com/#view/Microsoft_AAD_IAM/DiagnosticSettingsMenuBlade/~/General?

Least privilege role by task: https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/delegate-by-task
Build-in roles: https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/permissions-reference

Mentioned docs do not mention this.
Security Administrator could do it in my limited testing.

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

ID: 0f9558c0-abb6-24f8-81c8-9000b80539e8
Version Independent ID: a4739135-863b-27bb-1f2e-cf297f21b4cc
Content: Least privileged roles by task - Microsoft Entra ID
Content Source: docs/identity/role-based-access-control/delegate-by-task.md
Service: entra-id
Sub-service: role-based-access-control
GitHub Login: @rolyon
Microsoft Alias: rolyon

@o-l-a-v
Thanks for your feedback! We will investigate and update as appropriate.

@rolyon
Can you please check and add your comments on this doc update request as applicable.

@o-l-a-v
I'm going to assign this to the document author so they can take a look at it accordingly

Hi @o-l-a-v
Thanks for your feedback. It looks like this permission is in Azure RBAC instead of Microsoft Entra RBAC.
microsoft.aadiam/diagnosticSettings/write
https://learn.microsoft.com/en-us/azure/role-based-access-control/permissions/identity#microsoftaadiam
When I search for roles with this permission, I think the Contributor role includes this permission.
https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles/general#contributor

As an alternative to narrow the permissions, you should be able to create a custom Azure role that includes this permission.
https://learn.microsoft.com/en-us/azure/role-based-access-control/custom-roles-portal
Hopefully this helps.
thanks

#please-close

@rolyon You need Entra ID permissions too, else this would be a way to get access to Entra ID logs with no Entra ID permissions.

@PesalaPavan | @ManoharLakkoju-MSFT | @rolyon
This documentation request / issue was closed based on a wrong conclusion, please reopen.


Make validate_json accept memoryview.

Hello, would it be possible to make the validate_json function accept memoryview?
Currently, it doesn't and it means unnecessarily copying data to make a bytes object.

I believe a risk here is that memoryview doesn't prevent writes so we can't run any Python code while parsing JSON from memoryview, else we risk corruption. So I think we would need to copy the data internally anyway.

Seems like this is not planned for now, closing as such.


Loop scrolling... for fun!

Keep the page height down for this - it'll make the effect that much more crazy :dancers:

Done!


Bug: Crash in tee

Steps To Reproduce
the config works (with type:tcp ) for another container, but it crashed for the container that uses ldscope, the container is based form hashicorp/terraform:1.0.10 and as user terraform.
Environment
- AppScope:1.0.0-RC0
- OS: Alpine
- Architecture: x86_64
- Kernel: n/a

Requested priority
No response
Relevant log output
No response

To repro this, I started an alpine container:
docker run --rm -it --entrypoint /bin/ash --privileged -u 0:0 -v /home/ubuntu/jrc/appscope3:/opt/appscope hashicorp/terraform:1.0.10
Then in the container, ran these commands to install appscope, and configure it to send over tls to cribl cloud
mkdir -p /usr/local/scope
cd /usr/local/scope
cp /opt/appscope/bin/linux/x86_64/scope .
./scope extract .
mkdir /etc/scope
cp scope.yml /etc/scope
vi /etc/scope/scope.yml

In scope.yml, updated:
cribl->transport-> type to be "tcp"
cribl->transport->host to be in.logstream.my-instance.cribl.cloud
cribl->transport->tls->enable to be "true"

Here's the crash trace from gdb above:
#2759 0x00007ffff7647121 in __memcpy_chk (dest=0x7ffff6cda610, src=0x7ffff7be5d00, len=22, destlen=80) at src/wrap.c:5129
#2760 0x00007ffff7647121 in __memcpy_chk (dest=0x7ffff6cda610, src=0x7ffff7be5d00, len=22, destlen=80) at src/wrap.c:5129
#2761 0x00007ffff7647121 in __memcpy_chk (dest=0x7ffff6cda610, src=0x7ffff7be5d00, len=22, destlen=80) at src/wrap.c:5129
#2762 0x00007ffff7647121 in __memcpy_chk (dest=0x7ffff6cda610, src=0x7ffff7be5d00, len=22, destlen=80) at src/wrap.c:5129
#2763 0x00007ffff771ccec in ciphersuite_cb () from /usr/local/scope/libscope.so
#2764 0x00007ffff778da8a in CONF_parse_list () from /usr/local/scope/libscope.so
#2765 0x00007ffff771e6ce in SSL_CTX_set_ciphersuites () from /usr/local/scope/libscope.so
#2766 0x00007ffff7729e24 in SSL_CTX_new_ex () from /usr/local/scope/libscope.so
#2767 0x00007ffff7677d01 in establishTlsSession (trans=0x7ffff6f31e90) at src/transport.c:350
#2768 0x00007ffff76788c3 in checkPendingSocketStatus (trans=0x7ffff6f31e90) at src/transport.c:678
#2769 0x00007ffff7679293 in transportConnect (trans=0x7ffff6f31e90) at src/transport.c:950
#2770 0x00007ffff767f1f3 in ctlConnect (ctl=0x7ffff6f331d0, who=CFG_CTL) at src/ctl.c:1142
#2771 0x00007ffff765f204 in doConnection () at src/report.c:3360
#2772 0x00007ffff765f2d1 in doEvent () at src/report.c:3393
#2773 0x00007ffff7632a21 in periodic (arg=0x0) at src/wrap.c:1091
#2774 0x00007ffff7fba1bb in ?? () from /lib/ld-musl-x86_64.so.1
#2775 0x0000000000000000 in ?? ()

The cause was that the address that g_fn.__memcpy_chk resolved to was the __memcpy_chk that we define in src/wrap.c.  So when our openssl library called __memcopy_chk, it resulted in an infinite loop of __memcopy_chk.
The solution was to stop publishing the symbols for:
__fprintf_chk
__sprintf_chk
__memset_chk
__memcpy_chk
__fdelt_chk

We added these symbols originally because they're not provided by ld-musl-x86_64.so.1, and they're needed by our own static libcrypto and libssl libraries.  But they never needed to be publically visible.  Making them internal symbols allows this code to run so that the last (g_ismusl) case does not end up pointing to our own library for these symbols.
#define GETADDR(val, sym)                                \
    ares.in_symbol = sym;                                \
    if (checkEnv("SCOPE_EXEC_TYPE", "static") == TRUE) { \
        val = dlsym(RTLD_DEFAULT, sym);                  \
        /* GNU ld.so */                                  \
    } else if (dl_iterate_phdr(getAddr, &ares)) {        \
        val = ares.out_addr;                             \
        /* musl ld.so when loading an app from exec */   \
    } else if ((val = dlsym(RTLD_NEXT, sym))) {          \
        DBG(NULL);                                       \
        /* musl ld.so when attaching */                  \
    } else if (g_ismusl && (val = dlsym(RTLD_DEFAULT, sym))) {       \
        DBG(NULL);                                       \
    } else {                                             \
        val = NULL;                                      \
    }

I'm not positive why we're just seeing this now for the first time.  It's possible that the cloud resolved to a different ciphersuite than it previously had?  One that used ___memcpy_chk, where other ciphersuites had not?  It either has to be this, or that our last change to the GETADDR() macro is only just not getting a complete workout.  (?)

We want to have a integration test be able to detect any future regression in this area...
I've created #768 to track this.


feat: add 2 CSS helper methods

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)

Add two new methods to the CSSHelp class for testing challenges where multiple CSS selectors are valid. Example: https://github.com/freeCodeCamp/freeCodeCamp/pull/52379

This will need to be updated such that the tests pass.

Finally figured it out. No idea how the tests passed on my machine before...

This will require a new version of the package to be released.


AttributeError: 'Request' object has no attribute '_body'

First Check

[X] I added a very descriptive title to this issue.
[X] I used the GitHub search to find a similar issue and didn't find it.
[X] I searched the FastAPI documentation, with the integrated search.
[X] I already searched in Google "How to X in FastAPI" and didn't find any information.
[X] I already read and followed all the tutorial in the docs and didn't find an answer.
[X] I already checked if it is not related to FastAPI but to Pydantic.
[X] I already checked if it is not related to FastAPI but to Swagger UI.
[X] I already checked if it is not related to FastAPI but to ReDoc.

Commit to Help

[X] I commit to help with one of those options 👆

Example Code
from fastapi import FastAPI
import uvicornapp = FastAPI()

@app.get('/chain_detail/')
def read_chain_detail():
    return 'hello world'

if __name__ == '__main__':
    uvicorn.run(app=app, host="<IP_ADDRESS>", port=8000)

Description
I got "AttributeError 'Request' object has not attribute '_body'" error. As GET request doesn't have body, I have no idea how can I fix it.
Operating System
Windows
Operating System Details
Windows 10
Version No. 1809
FastAPI Version
0.73.0
Python Version
3.8.8
Additional Context
No response

In my case there's no problem like you. Just try to install fastAPI by use pip install "fastapi[all]

I reinstalled FastAPI by the way you recommended, but I still got the error...

Use uvicornapp in the decorator since that is your FastAPI app.
from fastapi import FastAPI
import uvicornapp = FastAPI()

@uvicornapp.get('/chain_detail/')
def read_chain_detail():
    return 'hello world'

if __name__ == '__main__':
    uvicorn.run(app=app, host="<IP_ADDRESS>", port=8000)

Use uvicornapp in the decorator since that is your FastAPI app.
from fastapi import FastAPI
import uvicornapp = FastAPI()

@uvicornapp.get('/chain_detail/')
def read_chain_detail():
    return 'hello world'

if __name__ == '__main__':
    uvicorn.run(app=app, host="<IP_ADDRESS>", port=8000)

I don't think it matters, as it is just the name of the app. I tried to run your code, but it doesn't work. At least, the last line should be  uvicorn.run(app=uvicornapp, host="<IP_ADDRESS>", port=8000) . Unfortunately, After I modified it, I still got the error. Anyway, thanks for your help~

Well, I think your original posted code has typing mistakes. I copied the code and ran it. It worked perfectly. See below:
from fastapi import FastAPI
import uvicorn # This line in your code just joined with the next line which is why I suggested to use uvicornapp in decorator.
app = FastAPI()

@app.get('/chain_detail/')
def read_chain_detail():
    return 'hello world'

if __name__ == '__main__':
    uvicorn.run(app=app, host="<IP_ADDRESS>", port=8000)

Can you share how you are calling the endpoint.

Well, I think your original posted code has typing mistakes. I copied the code and ran it. It worked perfectly. See below:
from fastapi import FastAPI
import uvicorn # This line in your code just joined with the next line which is why I suggested to use uvicornapp in decorator.
app = FastAPI()

@app.get('/chain_detail/')
def read_chain_detail():
    return 'hello world'

if __name__ == '__main__':
    uvicorn.run(app=app, host="<IP_ADDRESS>", port=8000)

Oh, I got it, and modified it. Thanks for that. But it is not the point which caused the error. I just used chrome to visit http://<IP_ADDRESS>:8000/chain_detail/ . One more thing, I can see the correct response in chrome. But at the same time, I can see the error in console.


Fix platform handling

Remove unused platforms tab on /crate page. We always show platforms, even on rustdoc pages.
Don't show the platform dropdown if it's empty.
Add a test

Fixes https://github.com/rust-lang/docs.rs/issues/1111.

This is ready for review.


Add documents for the math library

Hi @matz ! I created a document for the math library.

Thank you. I removed factorial() and updated math.md to follow up.

Thank you!


Use filtered endpoint to suppress trending/top/new views

The Issue
Spoke to @seanyesmunt about this - currently we have a way to hide inappropriate content on the trending page, but this changes with the new version since it's not longer produced by the API. The API team added a new endpoint, similar to the blocked_list, to help us do this: https://api.lbry.com/file/list_filtered
Most common use case will be improperly tagged content, non marked NSFW, or content that's inappropriate but not illegal.
This should hide content from any of the trending/top/new views. It should not block the URL from being accessed directly. We may want to block from search as well.
I think this will be removed from the desktop app eventually, but we'll need to continue doing it on lbry.tv.
System Configuration

LBRY Daemon version:
LBRY App version:
LBRY Installation ID:
Operating system:

Anything Else

Screenshots

Should this only happen on lbry.tv?

If someone posts unmarked porn on with a 500K LBC bid, you want all app users to see that?

So I think it needs to stay in the app until we have a solution for community tagging / blocking specific claims (even then, just seeing it will be a big deal if the viewers are underage/etc).

Thanks @jessopb !!! Completed in https://github.com/lbryio/lbry-desktop/pull/2621


Missing getRewardPool function implementation

In multiple places in the documentation, a function such as const rewardPool = await scallopQuery.getRewardPool('ssui'); is shown but the SDK does not implement getRewardPool(s). Is this a bug?

This is a writing error in the documentation, the correct function names should be getStakeRewardPool and getStakeRewardPools.
It would be fixed by this repo: https://github.com/scallop-io/sui-scallop-sdk/pull/59


FIX: support V2 for getPassportProfile (V1 deprecated)

Update passport/profile to V2. V1 endpoint returns 403

@bropat I have this pushed to my app already. I can say that it works.
Only thing what I did is remove the persistent.json on the first load of the app (only once) that fixes the bad decryption. See https://github.com/martijnpoppen/com.eufylife.security/blob/main/app.js#L59
Maybe this reset should be part of the library too and reset the persistent file once to update the server and private key for decryption.


WIP: layout base + routes

Codecov Report

:exclamation: No coverage uploaded for pull request base (IZE-575-docs-page-layout@5a8df5b). Click here to learn what that means.
The diff coverage is n/a.

@@                     Coverage Diff                     @@
##             IZE-575-docs-page-layout     #451   +/-   ##
===========================================================
  Coverage                            ?   21.63%
===========================================================
  Files                               ?       50
  Lines                               ?     5426
  Branches                            ?        0
===========================================================
  Hits                                ?     1174
  Misses                              ?     4171
  Partials                            ?       81

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


EMX - Expected to see an exception if enable Handshaking for port doesn't support HS.

When enable handshaking on a port that doesn't support HS, instead of raise an exception but it is quiet.
In native driver it is already return NotSupport.

Probably happens all devices, because  EMX native driver it is already return NotSupport.


List with "Available countries" is wrong for 2020

I took a list of countries and checked "Available countries" with the command
make_holidays_df([2020],  country)

where: country = 'Latvia' or  'LV' or 'LVA'...

Results:

Countries that are on this list, but their holidays are not available

['Burundi', 'Latvia', 'Morocco']

Countries that are not on this list, but their holidays are available

['China', 'Indonesia', 'Philippines', 'Thailand']

A list of country codes, the holidays of which are available, but it is difficult to find them there because of incorrect names (not according to ISO, see pycountry):

['DO', 'GB', 'KR', 'NZ', 'RU', 'US', 'ZA']

There is a problem with short country codes (according to ISO):

there are 'France', 'FRA', 'Honduras', 'HND', 'Turkey' but there are not 'FR', 'HD', 'TR', TUR'.

Please correct it.

I add my vote to be 100% ISO 3166-1 (alpha-2) code compliant.  I don't think there's much use of the alpha-3 codes so I'd just drop them all; otherwise they also need to be present for all countries.

I fixed all these problems and added 5 new countries (Europe). But the holidays' format doesn't fit me for solving the coronavirus problem (I found a bug in Prophet and suggested that to
Prophet team makes changes to their code, but they refused and offered to change the parameters of the library "holidays" - see issue). I decided not to beg anyone and made my dataset in Kaggle. It doesn't contain all these errors, it is adapted to the coronavirus task, and I plan to develop it further (for more countries). You can take and carry on to "holidays" all the information that you think is necessary. Good luck!

Thank you! Good luck to you too! 👍


webview improvements

courtesy of @MarshallOfSound

Will resolve conflicts on this today/tomorrow (what do you call today when it's 2am 🌵 )

All this action is on this PR now. :)
cc @miniak, @felixrieseberg, @omichelsen, @cifratila

That github-hosted types-publisher dep is very particular:

error<EMAIL_ADDRESS>The engine "node" is incompatible with this module. Expected version ">=6.10.0".

Gonna have to drop that dep in order to get CI passing and be able to use this in electron/electron.


mqtt-exporter: init at 1.5.0

Generic MQTT Prometheus exporter for IoT
https://github.com/kpetremann/mqtt-exporter

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 360486

x86_64-linux

:white_check_mark: 2 packages built:

mqtt-exporter
mqtt-exporter.dist


Creating with a changeset fails with Oracle

From @mrship on January 30, 2017 12:39
Using a changeset to create a record is failing for me when using Oracle, because (I think) you don't get the result of the INSERT statement back from Oracle using Sequel.
This is my code:
changeset_for_create = changeset(participant.to_hash)
  .map(:add_timestamps)
  .associate(participant.user, :users)
create(changeset_for_create(participant))

Which fails with:
2017-01-30 12:28:42 - Dry::Struct::Error - [ROM::Struct[Participant].new] :id is missing in Hash input:
	/Users/shipmana/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/dry-struct-0.1.1/lib/dry/struct/class_interface.rb:80:in `rescue in new'
	/Users/shipmana/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/dry-struct-0.1.1/lib/dry/struct/class_interface.rb:74:in `new'
	/Users/shipmana/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/transproc-1.0.0/lib/transproc/class.rb:30:in `constructor_inject'
	/Users/shipmana/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/transproc-1.0.0/lib/transproc/function.rb:47:in `call'
	/Users/shipmana/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/transproc-1.0.0/lib/transproc/function.rb:47:in `call'
	/Users/shipmana/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/transproc-1.0.0/lib/transproc/array.rb:41:in `block in map_array'
	/Users/shipmana/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/transproc-1.0.0/lib/transproc/array.rb:41:in `map'
	/Users/shipmana/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/transproc-1.0.0/lib/transproc/array.rb:41:in `map_array'
	/Users/shipmana/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/transproc-1.0.0/lib/transproc/function.rb:47:in `call'
	/Users/shipmana/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/transproc-1.0.0/lib/transproc/function.rb:47:in `call'
	/Users/shipmana/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/rom-mapper-0.5.0/lib/rom/mapper.rb:95:in `block in call'
	/Users/shipmana/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/rom-mapper-0.5.0/lib/rom/mapper.rb:95:in `each'
	/Users/shipmana/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/rom-mapper-0.5.0/lib/rom/mapper.rb:95:in `reduce'
	/Users/shipmana/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/rom-mapper-0.5.0/lib/rom/mapper.rb:95:in `call'
	/Users/shipmana/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/rom-repository-1.0.0.rc1/lib/rom/repository.rb:326:in `map_tuple'
	/Users/shipmana/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/rom-repository-1.0.0.rc1/lib/rom/repository/class_interface.rb:117:in `block in define_command_method'

This works fine with sqlite (in a test) but not with our production database of Oracle. I have had a similar issue in the past when expecting create to return a ROM::Struct but it does not with Oracle because of the issue with Sequel not using RETURNING as part of the INSERT query. As I understand it Sequel returns false for supports_returning? for Oracle.
My workaround is not to use changesets at all...
attributes = participant.to_hash.merge(user_id: participant.user.id)
create(attributes)

which is a real shame as I like the interface they provide and the convenience of the associate method and adding timestamps etc.
Can changesets be made to work without expecting a result from the underlying INSERT?
Copied from original issue: rom-rb/rom-repository#55

From @flash-gordon on January 30, 2017 12:54
I bet that's because rom-sql does not use returning statement for Oracle. Thanks for reporting this, I'll have a look. Actually, I'm going to add more full-featured Oracle support later this month. It seems Oracle's licensing policy does allow us to have XE on Travis and it can be downloaded & installed in acceptable time. I found other OSS projects that do so.

There was 0 work done for Oracle so far, so it doesn't surprise me :/

From @mrship on January 30, 2017 20:12
In reading the rom 3.0 blog post I realised that I can use the commit method on changeset instead of using create.
changeset_for_create = changeset(participant.to_hash)
  .map(:add_timestamps)
  .associate(participant.user, :users)
changeset_for_create.commit

That's a practical workaround for me for now.

From @mrship on January 31, 2017 11:50
It turns out that using commit is not a practical workaround as it doesn't actually work.
Per the code below if you call #commit on an updated changeset, it actually updates every record, rather than the one specified by id.
I feel like I'm doing something wrong though because I can't credit that this is the expected behaviour?
#!/usr/bin/env ruby
require 'bundler/inline'

gemfile do
  source 'https://rubygems.org'
  gem 'rom-sql', '~> 1.0'
  gem 'rom-repository', '~> 1.0'
  gem 'dry-types'
  gem 'sqlite3'
end

require 'rom-repository'
require 'rom-sql'
require 'dry-types'

class Participants < ROM::Relation[:sql]
  schema(:participants, infer: true) do
    associations do
      belongs_to :user
    end
  end
end

config = ROM::Configuration.new(:sql, 'sqlite::memory') do |container|
  default = container.default

  default.create_table :participants do
    primary_key :id
    string :name, null: true
  end

  default.connection.execute "INSERT INTO participants (name) VALUES ('Fred')"
  default.connection.execute "INSERT INTO participants (name) VALUES ('Bob')"

  container.register_relation(Participants)
end

module Repositories
  class Participant < ROM::Repository[:participants]

    def by_id(id)
      participants.by_pk(id).one
    end

    def update_name(participant, name)
      changeset(participant.id, participant.to_hash.merge(name: name)).commit
    end
  end
end

container = ROM.container(config)
repo = Repositories::Participant.new(container)
puts repo.by_id(1).inspect
puts repo.by_id(2).inspect

participant = repo.by_id(1)
repo.update_name(participant, "Jane")

puts repo.by_id(1).inspect
puts repo.by_id(2).inspect

#<ROM::Struct[Participant] id=1 name="Fred">
#<ROM::Struct[Participant] id=2 name="Bob">
#<ROM::Struct[Participant] id=1 name="Jane">
#<ROM::Struct[Participant] id=2 name="Jane">

@mrship seems like a weird and nasty bug, looking into it

From @mrship on January 31, 2017 12:29
Thanks for the quick response.

@mrship OK I fixed it in 1.0.1 (released already)

From @mrship on February 13, 2017 17:37
@flash-gordon Thanks for looking at this. I had a similar issue when trying to use changesets on a table that has no primary key; again it fails because there is, er, no primary key.
I can insert records directly into one of these tables, and tbh I'm not sure if changesets can/should be made to work without a primary key in the table definition, but this was not an Oracle-specific bug as it fails on sqlite too.
Let me know if you think this is worth reporting as a separate issue. I saw your comments in gitter today that changesets expect a primary_key of id, so perhaps this is beyond the current implementation?

From @flash-gordon on February 12, 2017 22:22
I have some news about this. Sequel currently does not support RETURNING for Oracle. Instead it queries the sequence associated with the table for the current value after running the insert statement. It works so far, but if two conditions are met:

You passed autosequence: true with connection options.
Your sequences are called "seq_#{table}_#{primary_key}". And otherwise you're out of luck.

Actually, Sequel's connection object can be hacked by setting a proper value for @primary_key_sequences instance variable which maps tables and sequence names. I've no idea why Sequel does not offer a public API for this provided that adding it is obviously a piece of cake.
It's still not perfect, i.e. won't work for composite PKs and requires a separate query (though a very fast one), but should do the trick for you @mrship
I'll be adding support for RETURNING to Sequel, these manipulations with @primary_key_sequences is a temporary workaround.

@flash-gordon you do what you gotta do :) I don't use Oracle so I don't have much to say. Feel free to push a release once this is sorted out

From @flash-gordon on February 26, 2017 18:36
heh, it took me a while https://github.com/jeremyevans/sequel/pull/1312/files

From @flash-gordon on February 14, 2017 13:58
@mrship I recently added a check for PK presence https://github.com/rom-rb/rom-sql/blob/40885890ef33f4c1cd23e71019a4a616985f7f0b/lib/rom/sql/relation.rb#L94-L97


nixos/rsyncd: convert module to an INI generator

Motivation for this change
The rsyncd module is currently more complicated than it needs to be.
Things done

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

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

[x] 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 nixpkgs-review --run "nixpkgs-review wip"
[ ] 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)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

FYI the ini generator is incorrect: rsyncd.conf expects to have the global settings first outside of any [section], but this generates a [global] section instead. This means that settings like the port or user are not taken into account by the daemon.
Given the way formats.ini works I don't think we can use it at all sadly.

Excerpts from Nadrieril's message of January 27, 2022 5:28 pm:

FYI the ini generator is incorrect: rsyncd.conf expects to have the global settings first outside of any [section], but this generates a [global] section instead. This means that settings like the port or user are not taken into account by the daemon.
Given the way formats.ini works I don't think we can use it at all sadly.

Man page says yes, but that could be wrong. In the worst case scenario we can
sed the generated output.
GLOBAL PARAMETERS
       The first parameters in the file (before a  [module]  header)  are  the
       global  parameters.  Rsync also allows for the use of a "[global]" mod‐
       ule name to indicate the start of one or more global-parameter sections
       (the name must be lower case).


feature: test job, add calico dual-stack test

test create a k8s cluster with calico dual-stack

ipv6 vxlanAlways mode may exist some problems

/kind test

https://github.com/kubean-io/kubean/pull/500


About Observers in the paper

Hi Mehri,
Thanks for your awesome work 'Example-Driven Intent Prediction with Observers', and your open sourcing codebase.
How did you add observers to bert model in your codebase? I can't find what is related to [OBS]. Did you use the [PAD] as the [OBS]? And how did you make Observers the tokens that are not attended to?
Looking forward to your reply.

@mihail-amazon  Hi, could you help?

Apologies for the extremely late reply. I'm not an official collaborator on this repo, so I did not get a notification about your issue. To answer your question, yes [PAD] tokens were used as [OBS]. By default, [PAD] tokens attend to all other tokens however they are masked by all other tokens. This line in the code is responsible for averaging over the necessary number of observers: https://github.com/alexa/dialoglue/blob/6836630dd6b0f40f755ce974f1628b1db5f0c50f/bert_models.py#L110

Got it! I have also noticed it. Thank you.


TensorFlow lite android example simply does not sync or build.

@gjsalot : Can you give more information, which example and how are you trying to build it?

Please reopen with more details.


New wording for some tag messages

I rewrote three tags for reasons described in the respective commit messages. The content I'm submitting is informed by my belief that tag messages should be specific so that we're not trying to address too many potential questions in the relatively small amount of space that we have.

Coverage remained the same at 56.675% when pulling d333a777aff579ac9d4f38467345fb946dd46bc3 on swfarnsworth/tag_messages into 383e47a8762aba88d6470a694bde9ac6769cc852 on master.


[2.0.0-preview1] Fix to #7499 - Where() on derived property fails with undefined property on base class exception

Problem was that we were not taking type differences and expression converts in various places during compilation. We sometimes remove converts when processing expressions, but then not accounting for them when we re-assemble the visited expression.
This caused many scenarios involving casts (e.g. accessing properties/navigations on derived types) to fail.
Fix is to start compensating for those where necessary. Created helper methods for EF.Property method call, member access and assignment and using them instead of regular Expression APIs.
Also fixed unrelated issue in the SqlTranslatingExpressionVisitor - when trying to translate MethodCall expression, we would force client evaluation, if arguments to the function was a subquery - this is not ideal, since we can translate some of the subqueries (ones that return single result).

Ideally we want this in preview, since the codepaths affected are quite common, and it's quite possible that I broke/missed something. Adding @divega @ajcvickers for assessment.

Any ideas on better fixing Convert issue via VisitUnary I.e. the more standard way.

@maumar I think we should get this in preview1, once @anpete has signed off on it and if he and @divega agrees.
/cc @Eilon This might cause regressions in query, which is why getting as much feedback as possible before RTM is desirable, but I think it is low risk with regards to breaking general infrastructure/build/stability etc.

Ok with me

new version up @anpete @smitpatel

        var expression = node.Expression.RemoveConvert();

If we remove this line and implement visit unary (only for convert type)
There are not many occurrences of remove convert in this file, but would like visit unary method.

Refers to: src/EFCore/Query/ExpressionVisitors/Internal/MemberAccessBindingExpressionVisitor.cs:245 in c37fb39. [](commit_id = c37fb398e485522e289cafe7e2904f35f848bd63, deletion_comment = False)

I agree we should get this in preview1 if possible.


page 5 is full of powerline

Title explains it good

URLS are interesting:

http://vimawesome.com/plugin/powerline-safe-and-sound
http://vimawesome.com/plugin/powerline-the-story-of-us
http://vimawesome.com/plugin/powerline-ours
http://vimawesome.com/plugin/powerline-enchanted
http://vimawesome.com/plugin/powerline-everything-has-changed
http://vimawesome.com/plugin/powerline-treacherous
http://vimawesome.com/plugin/powerline-mine
http://vimawesome.com/plugin/powerline-forever-and-always

Also reported here: #64

Closing as a duplicate of #64.


Fix broken Dependabot PRs

Normally, Github has a security model whereby secrets and vars are accessible to PRs from a branch in the main repo, but not to PRs from forks. This is to prevent a malicious PR from exfiltrating secrets. Why this should apply to vars (which are not masked) is unclear, but that's how it works.
Dependabot PRs, even though they're from the main repo, do not have access to secrets, for the same reason. See
https://github.com/dependabot/dependabot-core/issues/3253#issuecomment-852541544 . However, for some reason, dependabot PRs do have access to vars!
To prevent this from breaking Android signing, we'll move ANDROID_KEYALIAS_NAME back to a secret, instead of a variable, even though it's not intrinsically secret.
Fixes the broken tests in #649

See https://github.com/dependabot/dependabot-core/issues/9259


testdiscussion.

Fixes #issue

It's a good idea to open an issue first for discussion.

[ ] I have followed Sample Format Guide
[ ] pom.xml parent set to latest shared-configuration
[ ] Appropriate changes to README are included in PR
[ ] API's need to be enabled to test (tell us)
[ ] Environment Variables need to be set (ask us to set them)
[ ] Tests pass:   mvn clean verify required
[ ] Lint  passes: mvn -P lint checkstyle:check required
[ ] Static Analysis:  mvn -P lint clean compile pmd:cpd-check spotbugs:check advisory only
[ ] Please merge this PR for me once it is approved.

Since there isn't a signed CLA, and there is some kind of conflict. (of something that should be automatically updated), I'm going to close this.