Update to ActiveRecord 4.2

Baby steps, trying to update to the most recent ActiveRecord 4 series here, which is currently <IP_ADDRESS>. Right now, it breaks with <module:Visitors>': superclass mismatch for class ToSql (TypeError). Can you help here, @hammerhead?
/home/runner/work/activerecord-crate-adapter/activerecord-crate-adapter/lib/arel/visitors/crate.rb:35:in `<module:Visitors>': superclass mismatch for class ToSql (TypeError)
	from /home/runner/work/activerecord-crate-adapter/activerecord-crate-adapter/lib/arel/visitors/crate.rb:23:in `<module:Arel>'
	from /home/runner/work/activerecord-crate-adapter/activerecord-crate-adapter/lib/arel/visitors/crate.rb:22:in `<top (required)>'
	from /home/runner/work/activerecord-crate-adapter/activerecord-crate-adapter/vendor/bundle/ruby/2.4.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:274:in `require'
	from /home/runner/work/activerecord-crate-adapter/activerecord-crate-adapter/vendor/bundle/ruby/2.4.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:274:in `block in require'
	from /home/runner/work/activerecord-crate-adapter/activerecord-crate-adapter/vendor/bundle/ruby/2.4.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:240:in `load_dependency'
	from /home/runner/work/activerecord-crate-adapter/activerecord-crate-adapter/vendor/bundle/ruby/2.4.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:274:in `require'
	from /home/runner/work/activerecord-crate-adapter/activerecord-crate-adapter/lib/arel/arel_crate.rb:23:in `<top (required)>'
	from /home/runner/work/activerecord-crate-adapter/activerecord-crate-adapter/vendor/bundle/ruby/2.4.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:274:in `require'
	from /home/runner/work/activerecord-crate-adapter/activerecord-crate-adapter/vendor/bundle/ruby/2.4.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:274:in `block in require'
	from /home/runner/work/activerecord-crate-adapter/activerecord-crate-adapter/vendor/bundle/ruby/2.4.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:240:in `load_dependency'
	from /home/runner/work/activerecord-crate-adapter/activerecord-crate-adapter/vendor/bundle/ruby/2.4.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:274:in `require'
	from /home/runner/work/activerecord-crate-adapter/activerecord-crate-adapter/lib/active_record/connection_adapters/crate_adapter.rb:25:in `<top (required)>'
	from /home/runner/work/activerecord-crate-adapter/activerecord-crate-adapter/lib/activerecord-crate-adapter.rb:22:in `require'
	from /home/runner/work/activerecord-crate-adapter/activerecord-crate-adapter/lib/activerecord-crate-adapter.rb:22:in `<top (required)>'
	from /home/runner/work/activerecord-crate-adapter/activerecord-crate-adapter/spec/spec_helper.rb:24:in `require'
	from /home/runner/work/activerecord-crate-adapter/activerecord-crate-adapter/spec/spec_helper.rb:24:in `<top (required)>'

Hi Niklas. You added two commits here, but I accidentally destroyed them. Can you have a look at your local repository, if you still have it, and just git push --force on this branch once again? Thank you!

Hi @hammerhead. You added two commits here, but I accidentally destroyed them, apologies. Can you have a look at your local repository, if you still have it, and just git push --force on this branch once again? Thank you!

No problem, I just force-pushed.

Now, not to make the same mistake again, pulling stuff first ;]. Thanks!

$ git pull
remote: Enumerating objects: 26, done.
remote: Counting objects: 100% (26/26), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 26 (delta 13), reused 26 (delta 13), pack-reused 0
Unpacking objects: 100% (26/26), 2.42 KiB | 123.00 KiB/s, done.
From github.com:crate/activerecord-crate-adapter
   735730f..96a8da2  activerecord4 -> origin/activerecord4
Updating 735730f..96a8da2
Fast-forward
 activerecord-crate-adapter.gemspec                                   |  2 +-
 lib/arel/visitors/crate.rb                                           |  2 +-
 spec/activerecord/connection_adapters/crate/table_definition_spec.rb |  4 ++--
 spec/data_types/array_spec.rb                                        | 20 ++++++++------------
 spec/data_types/object_spec.rb                                       | 14 +++++---------
 spec/dummy/app/models/post.rb                                        |  2 ++
 spec/models/post_spec.rb                                             | 32 ++++++++++++--------------------
 7 files changed, 31 insertions(+), 45 deletions(-)

Those are really valuable updates. It would have been so sad if they would have been lost. I am really relieved about it, that you have been able to restore them. Thanks and sorry again.


Add note to FAQ about tx.origin

🟡 Heimdall Review Status

Requirement
Status
More Info

Reviews

🟡
0/1

Denominator calculation

Show calculation

1 if user is bot
0

1 if user is external
0

From .codeflow.yml

1

Additional review requirements

Show calculation

Max
0

0

From CODEOWNERS

0

Global minimum
0

Max

1

1

1 if commit is unverified
0

Sum
1

Review Error for eric-ships @ 2024-12-06 22:53:46 UTC
User failed mfa authentication, see go/mfa-help


⚠ Bofrost.at has degraded performance

In 2be7e70, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1500 ms

Resolved: Bofrost.at performance has improved in b6628a8.


deprecation warning re !global assignments when build

I'm getting the deprecation warning
Start building sites …
DEPRECATION WARNING on line 4 of /Users/andy/Devel/hugo_tests/quickstart/themes/zzo/assets/sass/abstracts/_mixins.scss:
!global assignments won't be able to declare new variables in future versions.
Consider adding `$theme-map: null` at the top level.

each time I serve or build with Hugo.  Is there a fix for this?

It is fixed in 71d26cb
In this documentation - https://sass-lang.com/documentation/variables#shadowing

Older Sass versions allowed !global to be used for a variable that doesn’t exist yet. This behavior was deprecated to make sure each stylesheet declares the same variables no matter how it’s executed.

So, I declared the global variable at the top of the scss file
$theme-map: null;
@mixin themify($themes) {
...

And it breaks nothing


chore(tests): make e2e junit results names unique

What this PR does / why we need it:
Only two JUnit xmls are reported for e2e tests due to overlapping names. Let's use matrix values in order to make the names unique.
Sample run which reported only 2 files: https://github.com/Kong/kubernetes-ingress-controller/actions/runs/3190367410/jobs/5206110000
Which issue this PR fixes:

Special notes for your reviewer:

PR Readiness Checklist:
Complete these before marking the PR as ready to review:

[ ] the CHANGELOG.md release notes have been updated to reflect any significant (and particularly user-facing) changes introduced by this PR

https://github.com/Kong/kubernetes-ingress-controller/actions/runs/3190889872 appeared stuck in indefinite limbo, probably from the Actions incident earlier, with no way to cancel it and retry.
I fetched, rebased onto origin/main, and pushed to start a new run.


Rename dotenv to load

This PR renames the primary function that loads the dotenv file to load.
dotenv is still around with a deprecation warning.
The renaming is discussed in #39.
This renaming follows the naming convention in Ruby and Go implementations, which use Dotenv.load and godotenv.Load respectively.

I opened this but I would wait for further discussion in #39

@allan2 Are you wishing to follow a more reserved or a more aggressive approach when it comes to getting these PRs merged and issues solved?

It depends on the issue. The next release is a new API with lots of breaking changes.

I have been making a lot of comments in the recent days. If I'm doing too much, please let me know. I do not want to overstep my role as a user of this repo.

Not at all. PRs and discussions are welcome :)
Closing because this PR is no longer relevant

@aidenfarley I marked some issues with a good first issue label. Docs can always be improved as well.
If you do see something you would like to take on, just comment on the issue to let others know.


Installer gets stuck on "Attempting to kill Discord"

Describe the bug
Installer gets stuck on Attempting to kill Discord once started, even if discord is already killed
To Reproduce
Steps to reproduce the behavior:

Run Installer
Click on Install
Select discord
See error

Expected behavior
The installer should proceed without issue, especially when discord is not even running
System Information:

OS: Windows 7 64 bit (With ESU)
Discord Version: Stable

Same for me, in any situations, installing or repairing Discord
One-time solution for this is kill powershell script, but that's won't work if you repair it
I think problen is in powershell.exe /c "Get-CimInstance -className win32_process | select Name,ProcessId,ParentProcessId,CommandLine,ExecutablePath"command which don't work on Win7 cuz it don't have that commndlet
Creators should propably fix that...

The way the process is killed changed in this installer release (v1.1.2). This is due to Win11 having dropped the "wmic" tool which was part of previous windows releases and thus the same issue would happen there without this change. Win7, while a great OS, has reached end of life  as you should be aware. As a consequence more and more software vendors drop support too.
Maybe we can get this addressed upstream: https://github.com/yibn2008/find-process/issues/54
As a workaround you can use the v1.1.1 installer and dismiss the update notice or manually kill all discord instances.

Getting the same bug. FindProcess should've used taskkill which has the one job of listing processes and killing them, instead of the complete management 'interface'.
Can the issue be solved in: https://github.com/BetterDiscord/Installer/blob/fa31f1a177ee41067666470dba2f8d4aa8a8a33b/src/renderer/actions/utils/kill.js
I'm not a javascript programmer, but there's clearly an issue with:
            const results = await findProcess("name", processName, true);             if (!results || !results.length) {                 log(✅ ${processName} not running);                 progress.set(progress.value + progressPerLoop);                 continue;             }
Discord isn't running. I don't have the environment to test what's going on at the moment, but this should not be succeeding. If FindProcess isn't reporting an error for not being able to run it's Powershell scripts, that's not being communicated properly. There's clearly no timeout, so could that be added? If, for any reason, the find/kill process fails, it doesn't seem right to lock up the application.

The way the process is killed changed in this installer release (v1.1.2). This is due to Win11 having dropped the "wmic" tool which was part of previous windows releases and thus the same issue would happen there without this change. Win7, while a great OS, has reached end of life  as you should be aware. As a consequence more and more software vendors drop support too.
Maybe we can get this addressed upstream: https://github.com/yibn2008/find-process/issues/54
As a workaround you can use the v1.1.1 installer and dismiss the update notice or manually kill all discord instances.

Yes, it's definitely a good one (that's why I'm using it, but there's no real reason to drop support for it
At least 1.1.1 works whenever is is installed above 7, and I don't know why you broke what was working

Yes, it's definitely a good one (that's why I'm using it, but there's no real reason to drop support for it
At least 1.1.1 works whenever is is installed above 7, and I don't know why you broke what was working

absolutely agree. This breaking change was not intended from our side and there's no plans to drop support for win7 at this time. which is also why i didn't close this issue as 'wont-fix'.
the new find-process version closed the issue with win11 and no testing for win7 was done then apparently.

v1.1.2 stil wont works trhough installation proccess at Win7.

Same issue for me, on Windows 10.
Discord just got updated and when I attempted to reinstall BD it gets stuck at attempting to kill the process.

I can't install it either. I've often had this issue and then forget how to fix it when it happens again..
Win 11 21H2.
What I've tried:
-Deleting C:\Users\Administrator\AppData\Local\Discord and reinstalling Discord.

Adding C:\Windows\System32 to Environment Variables 'Path'.
-Running as Admin.

This is still happening.

Yeah, still a problem. I have to keep installing 1.1.1 when BD randomly decides not to be launching with Discord.

This wasn't happening for me before on previous installers, but it's definitely happening now (on Windows 10 LTSC).

Came here to report this issue. Found it's been a known issue for a month. On windows 11 here discord is closed before I run the installer and it still gets stuck on that step.  Doing "repair", haven't tried "install" because I don't know if it would wipe my settings/plugins.

So is there no dev input on this? Even a fresh install doesn't seem to work. 1.1.1 doesn't seem to be working now. The installer finishes, but my Discord is still default.

This is a problem with one of our dependencies on Windows 7, we are looking into workarounds.


server: compatibility with prost-codec

Signed-off-by: kennytm<EMAIL_ADDRESS>What problem does this PR solve?
Issue Number: close #11479
Problem Summary:
TiKV cannot be compiled in prost-codec.
What is changed and how it works?
What's Changed:
Call a codec-independent method.
Related changes
Check List
Tests

No code

Side effects
Release note
None

/cc @andylokandy @iosmanthus

@kennytm Maybe you want to close the issue #11479, not the current PR #11480.

@Mini256 Thanks + It's really hard to notice 😓

/merge

/auto-merge

/merge


docs: add missing

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[ ] Have you successfully run brew tests with your changes locally?

:+1:

Thanks again @penman!


how to close?

I want to close row when I click the button

As I understand use onRef prop and get ref to Swipeable:
<Swipeable onRef={ref => this.$swipe = ref} ... >
.....

and after that somewhere in action handler:
if (this.$swipe) {
this.$swipe.recenter();
}
it works for me, but I'm not sure if it's hack or it's a good way)

@Elf2707
thank you very much !
is works so deft

Don't forget to add the key prop to your rendered rows 👍

@lanten let me know if you have any other issues.  @Elf2707 yeah it's kinda hacky, open to good ways to approach this without forcing people to use some custom ScrollView.

The solution doesn't seem to work for me, here's my code:
`
export default class Images extends Component {
constructor(props) {
super(props);
this.swipe = null;
this.state = {
gallery: api
}
}
render() {
    return (
        <View>
            <List
                dataArray={this.state.gallery}
                renderRow={(database) =>
                    <Swipeable onRef={(swipe) => this.swipe = swipe}  rightButtons={[
                        <TouchableOpacity onPress={() => {
                            this.deleteImage(database.id);
                        }}>
                            <Text>Delete</Text>
                        </TouchableOpacity>,
                        <TouchableOpacity onPress={() => {
                            this._setFeaturedImage(database.id);
                        }}>
                            <Text style={{color: 'white', paddingLeft: 23}}>Set Featured</Text>
                        </TouchableOpacity>,
                    ]}>
                        <ListItem>
                            <Thumbnail square source={{ uri: database.url }} />
                            <Body>
                                <Text note>Attachment ID: { database.id }</Text>
                            </Body>
                        </ListItem>
                    </Swipeable>
                }>
            </List>
        </View>
    );
}

_setFeaturedImage(){
    this.swipe.reset();
}

}
`
Help please?

@carlo-fontanos You need to call this.swipe.recenter() in your handler, not reset()


Incorrect signatures for span indexers

The signatures for indexers of Span<T> and ReadOnlySpan<T> don't show correctly in API reference.
For Span<T>, it shows as:
public T this[int index] { get; }

When it should be:
public ref T this[int index] { get; }

For ReadOnlySpan<T>, it shows as:
public T& this[int index] { get; }

When it should be:
public ref readonly T this[int index] { get; }

This seems to be caused by incorrect behavior of mdoc, so I have created and issue about this there: https://github.com/mono/api-doc-tools/issues/249. But I thought it might make sense to also track fixing the output here (if and when mdoc is fixed), which is why I created this issue.
Moved from dotnet/docs#5208
/cc @svick

@dend Please follow up with this bug.

Also, for some types, the return type incorrectly includes namespace.
Specifically, the API reference page for ImmutableList<T>.ItemRef shows its return type as System.Collections.Immutable.T& when it should be ref readonly T.

Will work with @joelmartinez on addressing this.

Tracked here https://github.com/mono/api-doc-tools/issues/260

As pointed out by @joelmartinez, issue https://github.com/mono/api-doc-tools/issues/260 was not exactly for this, so I've created a new one to track this particular issue:
https://github.com/mono/api-doc-tools/issues/422


⚠ Samsung has degraded performance

In fbdc0d9, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2516 ms

Resolved: Samsung performance has improved in 329cf7a.


fixing the alignment for email input for never miss an update

Pull Request Template

Please provide all of the details below. Pull requests missing any of the information below will be closed!
Providing the issue number/url helps us identify the problem being solved and keep the issues tab clean and tidy

What issue does this fix?
Fixing the input field for email address alignment issue in the Never miss an update section
What issue is it attached to?
Fixes #405
Checklist
(Add an x between the brackets to check the items)

[x] I have summarize what this PR fixes above
[x] I have provided the issue ID/URL above
[x] I have not added Bootstrap or jQuery and used correct styling guide.
[x] This PR fixes only the issue mentioned above (create separate PRs for separate issues)
[x] I was the first one to claim the issue or I created the issue

Looks much better!


All of the 'demo' links on readme are still pointing to v1 store.

All of the 'demo' links on readme are still pointing to v1 store.

Miss-read that - sorry.


Fix transition events with zero accuracy.

Description:
Zero accuracy checks prevented beacon transitions working properly
Related issue (if applicable): fixes #2830
Pull request in home-assistant.io with documentation (if applicable): home-assistant/home-assistant.io#
Example entry for configuration.yaml (if applicable):

Checklist:
If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.io

If code communicates with devices, web services, or a:

[ ] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[ ] New dependencies have been added to the REQUIREMENTS variable (example).
[ ] New dependencies are only imported inside functions that use them (example).
[ ] New dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[ ] New files were added to .coveragerc.

If the code does not interact with devices:

[ ] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[ ] Tests have been added to verify that the new code works.

Having a bad day - picked up the gui commit!


[Linux] Make sure we install libexec.

We weren't installing the libexec component for Linux.
rdar://112662487

@swift-ci Please smoke test

@swift-ci Please smoke test Windows platform

I'm not confident that this has actually fixed the problem; it should have, but testing locally I still don't see the installed content. Going to keep looking at this.

Looks like there's a typo in stdlib/cmake/modules/AddSwiftStdlib.cmake. Testing now to make sure that's the final piece of the puzzle. Will raise a separate PR to fix that as well.

See also #67505


Update curl to 7.40 or later so you can curl the docker unix socket

Curl version installed is 7.33.0 (Using Boot2Docker 1.11.1), which does not have the --unix-socket option.
It would be nice if you could curl the /var/run/docker.sock unix socket and use the docker api from inside the boot2docker vm.
This would require a newer version of curl, at least 7.40.0

The newest release for docker 1.12.1 has curl 7.49.1. :tada:


snapshot's index_hash has wrong value when deleting only

Hi,
I found strange issue.
When I call /backup after I deleted some data, snapshot name might have index_hash (date) older than loaded snapshot.
I noticed it when I was debugging my pipeline.
It was doing this:
Loaded index (via /restore): snapshot ...snapshot-381491d61fb89706392f04870616b40c/2023-04-05#14:31:11-SNAPSHOT
Deleted data (vid /delete), then /backup ... and snapshot gets name ...snapshot-381491d61fb89706392f04870616b40c/2023-04-05#12:07:54-SNAPSHOT
and next time when I restored snapshot it gets "older" snapshot without data deletes.
Actually when I indexed some new data then call /backup it will create correct snapshot with current date 2023-04-27.
Please note that this can only happen on a certain circumstances so I propose to redesign this function:
    @property
    def index_hash(self):
        latest_commit = self.meta_table.get_latest_commit()
        date_time = latest_commit[-1] if latest_commit else None
        if date_time:
            if platform.system() == 'Windows':
                return date_time.isoformat('#', 'hours')
            return date_time.isoformat('#', 'seconds')
        else:
            import datetime

            return (
                datetime.datetime.utcnow().isoformat('#', 'hours')
                if platform.system() == 'Windows'
                else datetime.datetime.utcnow().isoformat('#', 'seconds')

@tommykoctur Thanks for pointing it out. It seems that the delete operation does not change the commit hash. We will fix this issue ASAP. Thank you again.


Node.js Foundation Outreach Meeting 2020-02-04

Time
UTC Tue 04-Feb-2020 17:00 (05:00 PM):

Timezone
Date/Time

US / Pacific
Tue 04-Feb-2020 09:00 (09:00 AM)

US / Mountain
Tue 04-Feb-2020 10:00 (10:00 AM)

US / Central
Tue 04-Feb-2020 11:00 (11:00 AM)

US / Eastern
Tue 04-Feb-2020 12:00 (12:00 PM)

London
Tue 04-Feb-2020 17:00 (05:00 PM)

Amsterdam
Tue 04-Feb-2020 18:00 (06:00 PM)

Moscow
Tue 04-Feb-2020 20:00 (08:00 PM)

Chennai
Tue 04-Feb-2020 22:30 (10:30 PM)

Hangzhou
Wed 05-Feb-2020 01:00 (01:00 AM)

Tokyo
Wed 05-Feb-2020 02:00 (02:00 AM)

Sydney
Wed 05-Feb-2020 04:00 (04:00 AM)

Or in your local time:

http://www.timeanddate.com/worldclock/fixedtime.html?msg=Node.js+Foundation+Outreach+Meeting+2020-02-04&iso=20200204T17
or http://www.wolframalpha.com/input/?i=05PM+UTC%2C+Feb+04%2C+2020+in+local+time

Links

Minutes Google Doc: https://docs.google.com/document/d/1YPUZqd7D214zKHO75Px91g5V1d9GDb_Xs4mjhAm2-FQ/edit

Agenda
Extracted from outreach-agenda labelled issues and pull requests from the nodejs org prior to the meeting.
Invited

Outreach Members: @nodejs/outreach

Observers/Guests
Feel free to follow along on the YouTube live stream, or attend meeting as a guest
by calling in to Zoom, using the links below. If you will be attending as a guest,
please comment on this issue to let us know you'll be joining.
Notes
The agenda comes from issues labelled with outreach-agenda across all of the repositories in the nodejs org. Please label any additional issues that should be on the agenda before the meeting starts.
Joining the meeting

Link for participants: https://zoom.us/j/526318636
For those who just want to watch: https://www.youtube.com/nodejs-foundation

I will be running late and might not be able to make it to the meeting today.


Initial stab at GitHub actions for some simple PR checks

Creates a GitHub Workflow, which runs on every PR - which uses the danger JS GitHub Action to adds the following automation on a PR:

If someone on the team opens a PR, assign it to themselves
If someone not on the team opens a PR, if the title or body of the PR doesn't reference an Issue with an assigned Milestone, comment in the PR and add a label for it

I had two options for setting up danger. Either add it as an nom dependency, or use the GitHub action. Conceptually the trade of is:

via GitHub Action: runs danger completely self hosted in a docker container, and doesn't influence the tsc codebase at all

via npm run danger: adds all of danger's dependencies to typescript's dev env (boo) but is probably a minute faster on CI.

Because this isn't going to be the slowest part of the CI process, I figure it's fine to go with the lack of dependencies for a longer run. It doesn't have to be instant-instant. To make that work, I added the GitHub subset of the Danger d.ts file into the repo in the .github folder. The DTS changes very very rarely, and has never broke backwards compatibility.

@DanielRosenwasser you should tell @orta about fabric bot

I'd prefer long-term we get off Fabric bot; now that there are (good?) native tools available we should prefer them for stability, lack of dependence on another team's infrastructure, and for the sake of having our auto rules be publicly viewable/PR-able.

@orta in thaaaaaat case.... Shall we start migrating the rest of the automation tasks, then?

No rush, but yeah, eventually. I wanted to run a few Actions here while the Beta's going to see how it goes before going all-in

Coming back to this, it looks like this isn't really feasible to do for everyone. The access tokens for setting labels will be readonly when it's not from a contributor. Meaning we can't make the API call to add the label.
I've worked around this before in a different context, and in theory we can make a cheap azure function which can have a allowlisted set of labels which this can trigger instead?

I've worked around this before in a different context, and in theory we can make a cheap azure function

Isn't the github action essentially an azure function itself? What's preventing use from using a more privileged token? Is it just the issue of the code for the action being in the repo itself? If that's so - don't actions always execute their code from master branch, and not PRs, so it's not a problem? (And if they don't: can we make it so they can, somehow?)

Under the hood - yeah probably azure functions.
The built-in secrets support I'd think of it a lot more like a traditional CI service like Travis, this is the permission model for the GitHub Access token they generate per run for you. Basically if you push a branch from the same repo you get write access, otherwise your token is read-only (which can comment).
It doesn't always run master, it runs whatever version is in your current PR - so you could edit and work on it

Basically if you push a branch from the same repo you get write access, otherwise your token is read-only (which can comment).

That's for the push trigger, yeah? But what about the "new issue" (which should include PRs) trigger? That should still be keyed off master, no?

I would hope so, great thinking! I'll refactor this up to do that. 💯 / 💯

Hrm, so - running the work on issues could work, but I can't confirm it until this is merged and can see the results. Will try on my own repo.

Looks like the underlaying security model for GH actions just isn't very useful in these cases - https://github.com/actions/labeler/issues/12
Might have to build on top of the existing bot infra

Closing this out in favor of some serverless functions on azure.
Because of the security model of Actions, we couldn't make changes like assignments or adding labels to PR which come from forks without doing some pretty funky stuff:

use a scheduled task for anything related to pull requests
use a normal action for issues

This was because pull requests from forks don't have access to secrets.
This mess was just a bit meh. In response I've cut down most of the useful abstractions in Peril into a small function app in https://github.com/microsoft/TypeScript-repos-automation/pull/1
Here is the equivalent of this Dangerfile and it's tests


EFO3 obsolete/deprecated changes

Deprecated terms are no longer children of obsolete class (http://www.geneontology.org/formats/oboInOwl#ObsoleteClass), instead, they are given the annotation property owl:Deprecated (http://www.w3.org/2002/07/owl#deprecated).

We need to make sure that this change will be reflected in our handling of the ontology and that it won't cause any problemss.

Reply from EFO:

All previously deprecated/obsoleted terms from EFO2 have automatically been given the owl:Deprecated true annotation property and have been removed from the obsolete class subclass. This is done through an automatic “fixer” script that we run as part of the pipeline. Currently our pipeline takes the latest version of efo-edit.owl available on our GitHub repo and converts it into a “fixed” version of EFO that we then import the MONDO terms into. Any changes outlined in our documentation take place in these “fixing” scripts.
We still plan to include "replaced by" annotations for all deprecated terms. As a strict rule, no term should be deprecated without a replacement or a clear “reason for obsolescence” annotation stating why there is no replacement (these instances should be rare).
Our obsolescence policy for EFO3 (and should automatically include obsolete EFO2 terms) therefore is:
Annotate with owl:Deprecated True
Annotate with term_replaced_by and the URI of the replacement term
Obsoleted in version and the current version of EFO (currently we’re only editing EFO 2 and therefore all terms obsoleted until the switch will carry obsoleted in version 2.xxx annotations)
Reason for obsolescence - E.g. Duplicate term. Use: URI Label: Label.
All axioms and class usage removed
Label changed to have the “obsolete_” prefix


[zh]content/zh/docs/tasks/administer-cluster/developing-cloud-controller-manager.md content not sync

This is a Bug Report

Problem:
content/zh/docs/tasks/administer-cluster/developing-cloud-controller-manager.md hyper link under 开发 -> Out of tree section didn't sync from en.
Page to Update:
https://kubernetes.io/zh/docs/tasks/administer-cluster/developing-cloud-controller-manager/

https://github.com/kubernetes/website/pull/32032

/assign


(PDB-2791) Add tests (detritus, exceptions, etc.) [RFC]

RFC: regarding the new "orphan" exception

This is based on #11 and shouldn't be merged yet.


⚠ Aither has degraded performance

In 1a71709, Aither ($AIH) experienced degraded performance:

HTTP code: 200
Response time: 2267 ms

Resolved: Aither performance has improved in a5e3769.


Cloud NL score and magnitude values have way more decimal points than they should?

If you use language.detectSentiment, it seems like the numbers that come back are super duper long, but the NL team says they round them to a single decimal point.
Can we confirm that we're not doing some jumbled parsing here? I'm guessing that this is an issue with floats and may lie upstream in Node's gRPC implementation...

Binary can only represent half integers exactly.

Yep:
> 0.1 + 0.2
0.30000000000000004
> parseFloat('0.3')
0.3
> JSON.parse('{"score": 0.3}')
{ score: 0.3 }
> JSON.parse('{"score": 0.3}').score - 0.1
0.19999999999999998

It seems like just blindly parsing the results from the API (ie, 0.3) shouldn't show up as float-related issues, though I'm not 100% certain on that.

This is how the gax API returns it to us:
{
  documentSentiment: {
    magnitude: 0.20000000298023224,
    score: 0.20000000298023224
  },
  language: 'en',
  ...
}

// cc @jmuk @murgatroid99

So could be in gRPC world. No biggie then.  Though it does produce one bit of difference. The "standard" rep is:
>>> (0.3 - 0.1).hex()
'0x1.9999999999999p-3'
>>> (0.2).hex()
'0x1.999999999999ap-3'

So in Javascript, if you manually scale by 2^(-exponent) and convert to hex, you get the same thing:
> (8 * (0.3 - 0.1)).toString(16)
'1.9999999999999'
> (8 * (0.2)).toString(16)
'1.999999999999a'

The problematic value is from a float (i.e. "single precision", i.e. 32-bit precision) rather than a double:
> (8 * (0.20000000298023224)).toString(16)
'1.99999a'

The 6 hex digits 99999a don't actually represent 24 bits of a mantissa, but 23, since a = 1010 in binary.


Add Test Replicator

This PR completes the integration test for the acceptance criteria "Given a data point subscription for a time series in CDF, when timeseries data is pushed to CDF and the Fabric replicator processes the subscription, then timeseries data is populated in a Fabric lakehouse."
Code additions:

Test Replicator Fixture - Configures a test version of the replicator that uses a local state store
Create Subscription Function - Creates a data point subscription in CDF for testing
Dataframe preparation functions for test comparison
Import sorting and fix of a bug in timeseries replicator with outdated reference to self.logger

You removed LAKEHOUSE_BASE_URL which is good, but there are still references to it in example_az_deploy.py. You should replace those with LAKEHOUSE_ABFSS_PREFIX

Verified that the integration test passes

Verified the test ran successfully

Also verified that the assertion works as expected:


Touch events

Will probably need to implement them as a subscription. touchstart, touchend, etc.

've looked into this a bit. As one might expect, creating the listeners is quite trivial. The main issue comes when you try to decode the event. Unlike other events (like mouse and keyboard), with touch events, the data resides within objects nested within the event object. I attempted modifying the objectToJSON function so as to extract some of this info, which is where I'm currently stuck at. I've tried but not so sure as to how to modify the jsvalToValue function so that it is capable of parsing nested objects. I keep getting TypeError: Cannot read property 't' of undefined. Not really sure how to proceed.
function objectToJSON (at, obj) {
  for (var i in at) obj = obj[at[i]];
  console.log(obj);
  var newObj = objToJSON(obj, 2);
  console.log(newObj);
  return (newObj);
}

function objToJSON (obj, rec) {
  var newObj = {}
  for (var i in obj) {
    if (typeof obj[i] == "string" || typeof obj[i] == "number" || typeof obj[i] == "boolean")
      newObj[i] = obj[i];
    else if (typeof obj[i] == "object" && rec != 0 && i == "changedTouches") {
      newObj[i] = objToJSON(obj[i], rec - 1);
    }
  }
  return (newObj);
}```

Thanks to @dmjio, the following code resolves this issue and enables reading the first touch event. In the situation where only a single touch is required, the following code should suffice.
touchDecoder :: Decoder Touch
touchDecoder = Decoder {..}
  where
    decodeAt = ["touches", "0"]
    decoder = withObject "touch" $ \o ->
          Touch <$> o .: "clientX" <*> o .: "clientY"

onTouchMove :: (Touch -> action) -> Attribute action
onTouchMove = on "touchmove" touchDecoder

awesome, 👌


ubuntu 17.10 编译出错

➜  brpc git:(master) ✗ make
Compiling src/mcpack2pb/generator.o
In file included from src/mcpack2pb/generator.cpp:27:0:
./src/idl_options.pb.h:12:2: error: #error This file was generated by a newer version of protoc which is
#error This file was generated by a newer version of protoc which is
^~~~~
./src/idl_options.pb.h:13:2: error: #error incompatible with your Protocol Buffer headers. Please update
#error incompatible with your Protocol Buffer headers.  Please update
^~~~~
./src/idl_options.pb.h:14:2: error: #error your headers.
#error your headers.
^~~~~
In file included from src/mcpack2pb/generator.cpp:27:0:
./src/idl_options.pb.h:25:10: fatal error: google/protobuf/generated_message_table_driven.h: No such file or directory
#include <google/protobuf/generated_message_table_driven.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Makefile:241: recipe for target 'src/mcpack2pb/generator.o' failed

➜  brpc git:(master) ✗ protoc --version
libprotoc 3.0.0
➜ vim /usr/include/google/protobuf/stubs/common.h
// The current version, represented as a single integer to make comparison
// easier:  major * 10^6 + minor * 10^3 + micro
#define GOOGLE_PROTOBUF_VERSION 3000000

libprotoc和protobuf-compiler在ubuntu上是两个库，看看是否兼容


How do we run this?

Could you be so kind as to give instructions for running the GUI? Thank you.

Okay, I managed to ask ChatGPT for help and it gave me this batch file. Hopufully it'll help others like me who are not too experienced with command line and python.
@echo off cd %~dp0 start cmd /k ".\invoketraining\Scripts\activate && invoke-train-ui"
Just create a .txt file, put that code in there, then change the extension from .txt to .bat. Double click to run it. After it loads, CTRL + Click the url and you're good.


How to keep transparency

Is your feature request related to a problem? Please describe.
When upscaling an image that have transparent part , it appears black
Describe the solution you'd like
make the trasparent parts still transparent

Any solution ?


API: Get roster should include information about alternates

i.e. Which players are alternates for which boards.

Implemented and wiki updated.


Sign FSharp.Compiler.Service using Test key

We need a signed version of this package from NuGet. If someone else can't use a package signed with this key, then they can sign it with their own key.

Note that strong naming would make this package incompatible with semantic versioning - for everyone.

@auduchinok Why do you need a strong-named package?  Almost no one needs strong-named packages these days?

@auduchinok If you do need a strong-named version of this package, can you just build it yourself from your own fork?

@dsyme We reference it from a signed project, so we need a strong-named package. I asked for a signed package on NuGet and @tpetricek suggested opening a PR.
We can use our internal signed build, but what's point of not having a signed assembly on NuGet?

@auduchinok The problem with strong named assemblies is that if forces every dependent assembly to be compiled against exactly the same version, which is hopeless for something as central as this (a lot of libraries will depend on) if it is released often. There are workarounds like binding redirects, but they can quickly become very painful to maintain and don't always work.
There are some popular NuGet packages that are indeed strong named, but they typically use the same assembly version for every release to work around these issues - which is not only a very questionable practice in itself but also completely negates the the point of strong naming, which is to have a unique assembly identity for each version.

@auduchinok I see.  So the thing driving this is Microsoft's internal requirement to strong name?

I suggested opening PR that would extend the build process so that it produces another NuGet package (which could be called FSharp.Compiler.Service.Signed). Then we can simply continue releasing the normal unsigned package for usual projects, but there is a signed alternative for those who need it.
Changing the existing NuGet release to be signed would, indeed, break everything.

@cdrnet

@auduchinok The problem with strong named assemblies is that if forces every dependent assembly to be compiled against exactly the same version

I think this is effectively the case for non-strong-named assemblies too, isn't it?  AFAIK you still need binding redirects in an application A when consuming two libraries C and D that were compiled against different-but-binary-compatible versions of library B.

Changing the existing NuGet release to be signed would, indeed, break everything.

I don't think this is really the case, is it?  Recently we've been doing major version increments on each release, because integrations from Microsoft/visualfsharp have been effectively been changing the API of the AST part of FCS.  Simply adding a strong name in the next major version increment shouldn't break anyone - it's effectively like an entirely new thing, like any major version release.
@cdrnet Note that the relatively frequent use of major version releases makes it hard for client libraries to agree on a common version to use to build on top of this component. That's just in the nature of things for this component at the moment.  Right now that's ok because client libraries tend to ultimately be consumed by a single app. or editor extension  It's possible a broader ecosystem of libraries relying on binary compat will develop in time though, and I've seen bugs where we failed to do major version increments and busted binary compat.
I'm not in favour of two packages - either we strong-name or we don't.

The problem with strong named assemblies is that if forces every dependent assembly to be compiled against exactly the same version

I think this is effectively the case for non-strong-named assemblies too, isn't it? AFAIK you still need binding redirects in an application A when consuming two libraries C and D that were compiled against different-but-binary-compatible versions of library B.

@dsyme I've just verified this scenario. This works well without any need for binding redirects as long as no strong naming is involved, but everything breaks down without binding redirects as soon as B is strong named. I can't even replace a weakly named B with a strong named on without breaking it. Indeed, if this scenario would require binding redirects, semantic versioning would essentially not work at all in .Net.

I can't even replace a weakly named B with a strong named one without breaking it.

@cdrnet Yes, I agree with that.  But I wasn't meaning that case - I'd be looking for an example where using an assembly with no strong names (from the outset), and without binding redirects, allows more successful binds than using an assembly with strong names (from the outset).

The scenario I tested was as follows:
B: subject lib - either with a strong name (BS) or a weak name (BW)
C: lib, references and compiled against either BS or BW, v1.0
D: lib, references and compiled against either BS or BW, v1.1
A: console app, references all C, D and BS or BW.

If B has a weak name, i.e. all reference BW, then I can copy either BW v1.0 or BW v1.1 to the bin folder, both will work without binding redirects or recompilation. But it will fail if I copy any of the BS. In short, the version is ignored, is not part of the identity.
If B has a strong name, i.e. all reference BS, then it seems impossible to make this example work without binding redirects, because it either fails to load BS v1.1 or BS v1.0. In short, the version is part of the identity and it refuses to load any other version.
So in this example, B having a weak name allows more successful binds than if it had a strong name. Is this what you were looking for as an example?

@cdrnet Yes.  Is that on Windows (i.e. Microsoft .NET Framework)

@dsyme Yes, I've only tested on Windows, with .Net 4.5 on Win7 and VS 2013 (C#, ToolsVersion=14.0). I can upload the code it if it helps.

@cdrnet Yes, please upload.  I hadn't expected that to work.

Closing as we don't plan to strong-name this assembly - if you need a signed copy for your own purposes then please fork and build


gather stream temperature data

The model proposed in #56 includes stream temperature so that we can calculate the DO saturation level. So we will need to gather water temp data too.

There is stream temperature data in Alison's data release (see #57), so we don't need to gather separately at least for now.


Lite mode is not reading favicon files

Hi there! I was just trying the new Lite mode that was recently introduced. I've been trying to make it work with a favicon file, but it doesn't show the image on the Minecraft server list.

I've done a bit of debugging and I think it is because the code for Lite mode is never calling the Favicon parsing function as it does with the normal mode.
As you can see here, the value for Favicon in the fallbackPong is still the filename, not the image in base64:

The code from the screenshot is from pkg/edition/java/lite/forward.go.
I tried setting a debug point in the Favicon parse function, but it's never called when using Lite mode.

This is the config file I've been using:
config:
  bind: <IP_ADDRESS>:25568
  debug: true
  lite:
    enabled: true
    routes:
      - host: '*'
        backend: localhost:25565
        fallback:
          motd: |
            Server is offline
          version:
            name: 'Offline'
            protocol: -1
          favicon: favicon.png

connect:
  enabled: false

The image is a valid 64x64 PNG file:

And this is the logs generated by Gate with debug mode enabled:
2023-07-10T01:16:37.795-0500    INFO    gate/root.go:93 logging verbosity       {"verbosity": 127}
2023-07-10T01:16:37.796-0500    INFO    gate/root.go:94 using config file       {"config": "/home/dab12/gate/config.yml"}
2023-07-10T01:16:37.823-0500    INFO    java    proxy/proxy.go:157      running in debug mode
2023-07-10T01:16:37.824-0500    INFO    java    proxy/proxy.go:160      running in lite mode
2023-07-10T01:16:37.828-0500    INFO    java    proxy/proxy.go:457      listening for connections       {"addr": "<IP_ADDRESS>:25568"}
2023-07-10T01:16:49.773-0500    LEVEL(-2)       java.client.decoder     codec/decoder.go:97     decoded packet  {"context": "PacketContext:direction=ServerBound,Protocol=4,KnownPacket=true,PacketID=0,PacketType=*packet.Handshake,Payloadlen=21"}
2023-07-10T01:16:49.774-0500    INFO    java.client.statusSession       proxy/session_status.go:57      got server list status request  {"inbound": "[initial connection] <IP_ADDRESS>:51154 -> <IP_ADDRESS>:25568", "protocol": "757"}
2023-07-10T01:16:49.774-0500    LEVEL(-2)       java.client.decoder     codec/decoder.go:97     decoded packet  {"context": "PacketContext:direction=ServerBound,Protocol=757,KnownPacket=true,PacketID=0,PacketType=*packet.StatusRequest,Payloadlen=1"}
2023-07-10T01:16:49.775-0500    DEBUG   java.client.statusSession.lite  lite/forward.go:341     resolving status        {"inbound": "[initial connection] <IP_ADDRESS>:51154 -> <IP_ADDRESS>:25568", "protocol": "757", "clientAddr": "<IP_ADDRESS>", "virtualHost": "<IP_ADDRESS>", "protocol": "757", "route": "*", "backendAddr": "localhost:25565"}
2023-07-10T01:16:49.781-0500    INFO    java.client.statusSession.lite  lite/forward.go:79      failed to try backend   {"inbound": "[initial connection] <IP_ADDRESS>:51154 -> <IP_ADDRESS>:25568", "protocol": "757", "clientAddr": "<IP_ADDRESS>", "virtualHost": "<IP_ADDRESS>", "protocol": "757", "route": "*", "backendAddr": "localhost:25565", "error": "failed to dial route: failed to connect to backend localhost:25565: dial tcp <IP_ADDRESS>:25565: connect: connection refused"}
2023-07-10T01:16:49.781-0500    INFO    java.client.statusSession.lite  lite/forward.go:290     failed to resolve status response, will use fallback status response    {"inbound": "[initial connection] <IP_ADDRESS>:51154 -> <IP_ADDRESS>:25568", "protocol": "757", "clientAddr": "<IP_ADDRESS>", "virtualHost": "<IP_ADDRESS>", "protocol": "757", "route": "*", "error": "all backends failed"}
2023-07-10T01:16:49.786-0500    DEBUG   java.client.statusSession.lite  lite/forward.go:303     using fallback status response  {"inbound": "[initial connection] <IP_ADDRESS>:51154 -> <IP_ADDRESS>:25568", "protocol": "757", "clientAddr": "<IP_ADDRESS>", "virtualHost": "<IP_ADDRESS>", "protocol": "757", "route": "*", "status": "{\"description\":{\"text\":\"Server is offline\"},\"version\":{\"protocol\":-1,\"name\":\"Offline\"},\"favicon\":\"favicon.png\",\"modinfo\":{\"type\":\"\",\"modList\":null}}"}
2023-07-10T01:16:49.786-0500    LEVEL(-2)       java.client.encoder     codec/encoder.go:93     encoded packet  {"context": "PacketContext:direction=ClientBound,Protocol=757,KnownPacket=true,PacketID=0,PacketType=*packet.StatusResponse,Payloadlen=0", "bytes": 151}
2023-07-10T01:16:49.790-0500    LEVEL(-2)       java.client.decoder     codec/decoder.go:97     decoded packet  {"context": "PacketContext:direction=ServerBound,Protocol=757,KnownPacket=true,PacketID=1,PacketType=*packet.StatusPing,Payloadlen=9"}

If you use a base64 image, it does work correctly in Lite mode.
I'm not really experienced with Go but I do use other languages so that's why I was able to debug the source. I'd love to contribute to this but I haven't done any Go programming before.

Turns out UnmarshalYAML is never called in any mode due to https://github.com/spf13/viper/issues/338#issuecomment-382376136.
I'm on it...


bootstrap is not defined using the latest beta

I'm currently trying to use bootstrap-select in a Power BI Visual (a self contained typescript app).
I'm using:

bootstrap-select: 1.14.0-beta2
bootstrap: 5.1.3
jQuery: 3.6.0

When I try to load the app the following error occurs:
Uncaught ReferenceError: bootstrap is not defined
    dropDownSearchafeb36a4713049c88e660b96c9f9ce89_DEBUG https://app.powerbi.com/13.0.17993.49/cvSandboxMinimal.html?locale=it-IT line 19 > injectedScript:66864
    dropDownSearchafeb36a4713049c88e660b96c9f9ce89_DEBUG https://app.powerbi.com/13.0.17993.49/cvSandboxMinimal.html?locale=it-IT line 19 > injectedScript:69450
    dropDownSearchafeb36a4713049c88e660b96c9f9ce89_DEBUG https://app.powerbi.com/13.0.17993.49/cvSandboxMinimal.html?locale=it-IT line 19 > injectedScript:66127
    dropDownSearchafeb36a4713049c88e660b96c9f9ce89_DEBUG https://app.powerbi.com/13.0.17993.49/cvSandboxMinimal.html?locale=it-IT line 19 > injectedScript:66131
    dropDownSearchafeb36a4713049c88e660b96c9f9ce89_DEBUG https://app.powerbi.com/13.0.17993.49/cvSandboxMinimal.html?locale=it-IT line 19 > injectedScript:69452
    __webpack_require__ https://app.powerbi.com/13.0.17993.49/cvSandboxMinimal.html?locale=it-IT line 19 > injectedScript:21
    dropDownSearchafeb36a4713049c88e660b96c9f9ce89_DEBUG https://app.powerbi.com/13.0.17993.49/cvSandboxMinimal.html?locale=it-IT line 19 > injectedScript:16380
    __webpack_require__ https://app.powerbi.com/13.0.17993.49/cvSandboxMinimal.html?locale=it-IT line 19 > injectedScript:21
    dropDownSearchafeb36a4713049c88e660b96c9f9ce89_DEBUG https://app.powerbi.com/13.0.17993.49/cvSandboxMinimal.html?locale=it-IT line 19 > injectedScript:40995
    dropDownSearchafeb36a4713049c88e660b96c9f9ce89_DEBUG https://app.powerbi.com/13.0.17993.49/cvSandboxMinimal.html?locale=it-IT line 19 > injectedScript:41021
    __webpack_require__ https://app.powerbi.com/13.0.17993.49/cvSandboxMinimal.html?locale=it-IT line 19 > injectedScript:21
    dropDownSearchafeb36a4713049c88e660b96c9f9ce89_DEBUG https://app.powerbi.com/13.0.17993.49/cvSandboxMinimal.html?locale=it-IT line 19 > injectedScript:40986
    __webpack_require__ https://app.powerbi.com/13.0.17993.49/cvSandboxMinimal.html?locale=it-IT line 19 > injectedScript:21
    dropDownSearchafeb36a4713049c88e660b96c9f9ce89_DEBUG https://app.powerbi.com/13.0.17993.49/cvSandboxMinimal.html?locale=it-IT line 19 > injectedScript:85
    <anonymous> https://app.powerbi.com/13.0.17993.49/cvSandboxMinimal.html?locale=it-IT line 19 > injectedScript:88
    <anonymous> https://app.powerbi.com/13.0.17993.49/scripts/customVisualsHost.bundle.min.js:19
    f https://app.powerbi.com/13.0.17993.49/scripts/customVisualsHost.bundle.min.js:20
    loadWithoutResourcePackage https://app.powerbi.com/13.0.17993.49/scripts/customVisualsHost.bundle.min.js:20
    executeMessage https://app.powerbi.com/13.0.17993.49/scripts/customVisualsHost.bundle.min.js:20
    onMessageReceived https://app.powerbi.com/13.0.17993.49/scripts/customVisualsHost.bundle.min.js:20
    m https://app.powerbi.com/13.0.17993.49/scripts/customVisualsHost.bundle.min.js:20
    invokeHandler https://app.powerbi.com/13.0.17993.49/scripts/customVisualsHost.bundle.min.js:19
    dispatchMessage https://app.powerbi.com/13.0.17993.49/scripts/customVisualsHost.bundle.min.js:19
    onMessageReceived https://app.powerbi.com/13.0.17993.49/scripts/customVisualsHost.bundle.min.js:19
    windowMessageHandler https://app.powerbi.com/13.0.17993.49/scripts/customVisualsHost.bundle.min.js:19
    dispatch https://app.powerbi.com/13.0.17993.49/scripts/visualsandbox.minimal.externals.min.js:146
    handle https://app.powerbi.com/13.0.17993.49/scripts/visualsandbox.minimal.externals.min.js:146
    add https://app.powerbi.com/13.0.17993.49/scripts/visualsandbox.minimal.externals.min.js:146
    ke https://app.powerbi.com/13.0.17993.49/scripts/visualsandbox.minimal.externals.min.js:146
    each https://app.powerbi.com/13.0.17993.49/scripts/visualsandbox.minimal.externals.min.js:146
    each https://app.powerbi.com/13.0.17993.49/scripts/visualsandbox.minimal.externals.min.js:146
    ke https://app.powerbi.com/13.0.17993.49/scripts/visualsandbox.minimal.externals.min.js:146
    on https://app.powerbi.com/13.0.17993.49/scripts/visualsandbox.minimal.externals.min.js:146
    n https://app.powerbi.com/13.0.17993.49/scripts/customVisualsHost.bundle.min.js:19
    createWindowMessageProxy https://app.powerbi.com/13.0.17993.49/scripts/customVisualsHost.bundle.min.js:19
    createSandboxHost https://app.powerbi.com/13.0.17993.49/scripts/customVisualsHost.bundle.min.js:20
    createSandboxHost https://app.powerbi.com/13.0.17993.49/scripts/customVisualsHost.bundle.min.js:20
    <anonymous> https://app.powerbi.com/13.0.17993.49/cvSandboxMinimal.html?locale=it-IT:28
    EventListener.handleEvent* https://app.powerbi.com/13.0.17993.49/cvSandboxMinimal.html?locale=it-IT:26
cvSandboxMinimal.html:66864:20

Sadly I cannot use bootstrap <5 because I can't make it compile (i always get an error on the CSS compilation, that I don't get with bootstrap 5)

I was seeing a similar issue when loading bootstrap-select in an import with webpack.  I get this error only on the v2 beta as well.  Not sure if it's the same issue, but hopefully it helps.
It was failing on this line:   var Dropdown = window.Dropdown || bootstrap.Dropdown; in bootstrap-select.js.
I was able to work around it for the time being using the ProvidesPlugin to assign bootstrap's Dropdown directly to the window object.
webpack.config.js
new webpack.ProvidePlugin({
	'window.Dropdown': ['bootstrap','Dropdown'],
})

myModule.js:
import 'bootstrap-select'
import 'bootstrap-select/dist/css/bootstrap-select.css'

same issue in beta 2 and beta 3
 var Dropdown = window.Dropdown || bootstrap.Dropdown;
Uncaught ReferenceError: bootstrap is not defined
using:
bootstrap-select: 1.14.0
bootstrap: 4
jQuery: 3.6.0

window.Dropdown = $.fn.dropdown; doesn't seem to solve the issue.
In beta 3, we still have this issue

I'm sharing the solution that worked for me for anyone who might still be struggling.
In the file where you import bootstrap-select, first import bootstrap and assign it to the window object.
const bootstrap = require('bootstrap');
window.bootstrap = bootstrap;
require('bootstrap-select');

This was tested with Bootstrap v5.2.3 and Bootstrap-select v1.14.0-beta3.

Anyone found a workaround using Vite ?
The solution proposed by morgan doesn't work in this context.

Hi there! I'm having problems to run bootstrap-select v1.14.0-beta3 in vite laravel. Could anyone help me with this?

I'm sharing the solution that worked for me for anyone who might still be struggling.
In the file where you import bootstrap-select, first import bootstrap and assign it to the window object.
const bootstrap = require('bootstrap');
window.bootstrap = bootstrap;
require('bootstrap-select');

This was tested with Bootstrap v5.2.3 and Bootstrap-select v1.14.0-beta3.

Can you help to implement in vite laravel?

Hi.
Any solution for laravel+vite?


Bignums are corrupted when using parameters binding

Some bignums are got corrupted when binding them as parameters.
The issue is reproduced at Mac OSX 10.6 and 10.7. The issue is NOT reproduced at 32 bit ubuntu and 32 bit Windows 7.
I've created tests to reproduce the issue. You can find them here: failing-int8-with-sqlite3-gem
Description
Suppose we have schema like:
CREATE TABLE "employees" ("token" integer(8), "name" varchar(20) NOT NULL)

When executing SQL like:
INSERT INTO Employees(name, token) VALUES('employee-1',<PHONE_NUMBER>125087844)

The result will be as expected. Token’s value will be:<PHONE_NUMBER>125087844
When doing the same using parameters binding like:
db.execute "INSERT INTO Employees(name, token) VALUES('employee-1', ?)", [4907021672125087844]

Token’s value will be:<PHONE_NUMBER>125087744 (note last last three digits expected: 844, actual 744). The same result will be with other numbers as well.

I just had a chance to test it under 32-bit assembled ruby in OSX and the issue is not reproduced. It seems like the issue is purely 64-bit specific.

@nurse would you mind looking at this?  I can't seem to figure out the problem.  I've added a failing test case at 92dd775d4d3d7cfbe6c98900c1510d0f53857749

@nurse, btw, forgot to mention, but you can use a local build of SQLite3 (<IP_ADDRESS>) instead of the system version if you do:
rake ports:sqlite3 compile instead of default compile task.

@luislavena actually @evgeny-myasishchev reported this bug. I just assigned it to @nurse because I'm not sure how to fix it.  I am able to reproduce the error on my machine though.

@tenderlove, ups, sorry, fields in GitHub are confusing sometimes.
What version of SQLite3 you have in your system? can you try using <IP_ADDRESS> locally build? Asking this because the version on Windows uses latest SQLite3 and I believe version from OSX is older than that.

Lion ships with 3.7.7.  I tried with <IP_ADDRESS> (via rake ports:sqlite3 compile), but the problem persists.  Apparently it only happens on 64bit builds of ruby and sqlite3.

(I might be wrong about Lion shipping with 3.7.7, it could be homebrew.  I haven't really looked)

I just started tests under 64bit ubuntu: uname -a says: Linux hiddenx64 3.0.0-12-server #20-Ubuntu SMP Fri Oct 7 16:36:30 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
SQLite version that is installed via apt-get is not the latest but it is: 3.7.7 2011-06-23 19:49:22 4374b7e83ea0a3fbc3691f9c0c936272862f32f2
rake test:
  1) Failure:
test_bignum(SQLite3::TestDatabase) [./test/test_database.rb:20]:
<4907021672125087844> expected but was
<4907021672125087744>.

So it's not OSX specific.
Also I have done some digging into the code. I don't have much C experience, but found one suspicious part in statement.c:
    case T_BIGNUM:
#if SIZEOF_LONG < 8
      if (RBIGNUM_LEN(value) * SIZEOF_BDIGITS <= 8) {
          status = sqlite3_bind_int64(ctx->st, index, (sqlite3_int64)NUM2LL(value));
          break;
      }
#endif
    case T_FLOAT:
      status = sqlite3_bind_double(ctx->st, index, NUM2DBL(value));
      break;

Looks like SIZEOF_LONG is 8 if platform is 64 bit so binding is done by the next case case T_FLOAT:. Maybe it drops (or shifts) last part of the number?

Can you guys test against master?
@evgeny-myasishchev, thank you for the pull request, merged a different version but really appreciate the effort finding the issue.

Just pulled master and started tests. All tests are passed. Executed tests using ruby 1.8.7 and 1.9.3, both 64 bit. No errors. Nice to hear that my pull request helped :)


Update Readme

Originally we only have the spark-shell usage example, now we add a spark-submit version and added more detailed instructions with execution result.

@Novemser I created a example for how to use TiSaprk with Spark-Submit.  Including usage of TiSpark in README usually does not end well. When project changes, README could grow very large and messy. The better practice could create a example directory which can help people figure out how to use tisaprk with spark-submit.

No need to modify readme file for now.


Fix support for img width

Fixes #480

Ready for review @regisphilibert

@budparr I've got a good feeling about this PR, but I'd rather you and your tachyon experience double check.

@budparr?


Feature/#68

Issue

close #68

Overview (Required)

Add the CLI for check whether a particular version of a lint rule is identical to a previous version of the rule.
Add a GitHub workflow to check if the Lint Rule added by automatic update is the same as the previous version.
Added environment variable AUTO_UPDATE_BRANCH_NAME to repository.

Links

https://github.com/marketplace/actions/auto-approve

You can check the operation of GitHub workflow here. (There is a slight difference from this PR)

https://github.com/Yamasaki-pan961/flutter-yumemi-lints-fork/pulls

@blendthink
Re-review please.


Issue on upload a folder

Select the SuiteCloud tool where you encountered the issue
SuiteCloud CLI
Version of the SuiteCloud Tool
1.2.0
Operating system
Windows 11
Node Version / VSCode Version
v20.10.0
JAVA Version
java 17.0.5+9-LTS-191
Bug description
I cannot update entire folder, its always ask me for a specific files.
For example I have this structure:
src >
FileCabiner >
SuiteScripts >
Folder One >
Folder Two >
Script 1
Script 2
Script 3
In Webstom suite cloud, when I click Ctrl + Shift  + U I can update an entire folder, for example -  Folder Two and its files.
But here, in vscode it ask me to choose specific files to upload.
How can I achieve that?
Steps To Reproduce

When trying to update a folder/file

Actual Output
No response
Expected Output
No response
Anything else?
No response

@Davidna92 Its not exactly the same in webstorm but in CLI, you can select the folder you want to update, then it shows you all the files of that folder.
You can select all files by pressing a on the keyboard

How do I open the CLI ? this is not the extension  ?

What is the command to update from CLI? (I used the UI method...)

@Davidna92 you can see all available command by just executing suitecloud
The command to upload files is suitecloud file:upload -i


About self-correction of ONT

Hi @holtjma,
I am wondering whether FMLRC2 could correct ONT reads themself by apply multiple sequence alignment based correction ?
There are 200X depth ONT reads. Half of them  QV ~ 13.44 (95.47%).

Multiple sequence alignment-based correct: The short answer is no, that would require a fundamental algorithm change since FMLRC is k-mer based and those algorithms tend to factor in full sequences (i.e. reads).
As for whether you can do self-correction with ONT: This probably depends on your data.  In theory, you can use any dataset as the correction set regardless of whether it's short- or long-read technology.  The reason we focused on short-reads as the correction set is because they were less noisy (~1% error rate), so you could have relatively low coverage and perform correction with them fairly accurately.  With 200x, you certainly have a lot of coverage, so it's a question of how bad is the ONT error rate.
I remember I tinkered with this once with some PacBio CLR data, but I don't remember it working particularly well at the time.  I might not have had enough coverage though.  If you have compute time and a method to measure the result, your best bet is just to try it.

I got that idea from the human chrY article. But the reads they sequencing containing vector sequence to sure the well alignment.
---Original---
From: "Matt @.>
Date: 2022/2/28 22:34:20
To: @.>;
Cc<EMAIL_ADDRESS>Subject: Re: [HudsonAlpha/rust-fmlrc] About self-correction of ONT (Issue #23)
Multiple sequence alignment-based correct: The short answer is no, that would require a fundamental algorithm change since FMLRC is k-mer based and those algorithms tend to factor in full sequences (i.e. reads).
As for whether you can do self-correction with ONT: This probably depends on your data.  In theory, you can use any dataset as the correction set regardless of whether it's short- or long-read technology.  The reason we focused on short-reads as the correction set is because they were less noisy (~1% error rate), so you could have relatively low coverage and perform correction with them fairly accurately.  With 200x, you certainly have a lot of coverage, so it's a question of how bad is the ONT error rate.
I remember I tinkered with this once with some PacBio CLR data, but I don't remember it working particularly well at the time.  I might not have had enough coverage though.  If you have compute time and a method to measure the result, your best bet is just to try it.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.Message ID: @.***>


Error after form submission

Using the following directive I'm able to successfully use Recaptcha:
<div vc-recaptcha ng-model="fields[RECAPTCHA_FIELD]" key="RECAPTCHA_PUBLIC_KEY"></div>

RECAPTCHA_FIELD and RECAPTCHA_PUBLIC_KEY are both in my $scope.
But after submitting the form (which includes a valid recaptcha token that I validate server side), I see the following error in my JS console:
Error: You need to set the "key" attribute to your public reCaptcha key. If you don't have a key, please get one from https://www.google.com/recaptcha/admin/create

This doesn't happen when I hardcode the key. Also doesn't happen when those variables are in the $rootScope.

Sounds like the key, when in the local scope is removed from the scope after the form is submitted. Can you post your controller and any relevant code or recreate this in a plunkr or fiddle?


clean up the plot space

scatterz function from plots.py to it's own file predict_scatter.py and move to /plots
accuracy() to it's own file mlp_acc.py and move to /plots
lstm_plots to /plots and name it lstm_acc.py

Thanks @konchokdolma for taking care of this!


Grid buckets are not generated correctly with the newest version of PorePy

In particular, loading the .geo files corresponding to the 3D benchmark, case 2, does not generate 1D (and 0D) fractures and mortars. This might be due to changes in the way physical lines and points are tagged/accessed.

Thanks. This is likely related to an update to tagging of physical lines in PorePy some time ago. I will try to look into it, but it take at least a few days.

@jhabriel Did you end up modifying the files here, or using an older version of PorePy?

@keileg: I did not manage to make this work, and I ended up using an older version of PorePy to make the 3D Geiger work. For the record, I also tried to pass constraints as an optional parameter for meshing the 3D geometry directly from the CSV. Unfortunately, this does not work either; PorePy complains when constraints are specified on the boundaries.
Bottom line, the only feasible solutions are: (1) specify the boundary lines and points in the new geo files manually, or (2) update the tags of the old geo files so it is compatible with the newest version of PorePy.
Due to limited time, I did not pursue any of the above solutions.


WSUS or SCCM?

Hi -
Working with a customer right now where they have, the SQL person didnt know about, WSUS setup and tried to use the IaaS extension to do auto patching. It did not work, and WSUS wins. Can we update the docs to call out this sort of thing?
Thanks,
Paul

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

ID: b5fc1e80-5a56-3850-cb63-7c882950c4e6
Version Independent ID: ee5da592-4c95-f38d-6f9f-7787fff9ff70
Content: Automated Patching for SQL Server VMs (Resource Manager) - SQL Server on Azure VM
Content Source: articles/azure-sql/virtual-machines/windows/automated-patching.md
Service: virtual-machines-sql
Sub-service: management
GitHub Login: @MashaMSFT
Microsoft Alias: mathoma

@pmpopovichjr
Thanks for the feedback! I have assigned the issue to content author to check and update the document as appropriate.

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

Hi @pmpopovichjr , thanks so much for contacting Microsoft! The "winner" as you put it is dependent on how WSUS is configured, and timing. As such, this behavior may vary from environment to environment. However, if something is behaving in a way that is unexpected, I would encourage you to reach out to the support team or the community to see if there is something circumstantial causing the behavior.
I hope that helps! I'm going to close out this Git Issue for the time being, but please feel free to comment should you need anything further.
Thanks again for reaching out and I hope you have a wonderful rest of your day!
Masha from the SQL Docs team
#please-close


Added rate assigning by tags to container images

Needed for #10677 so we can charge rates according to image tags

@gtanzillo Please review
cc @simon3z
@miq-bot add_label providers/containers, chargeback

@miq-bot assign zeari

@dclarizio @gtanzillo Please review

Euwe Backport details:
$ git log
commit 5f177e54dc16c31ba2ee73d6789addf907061aa6
Author: Dan Clarizio<EMAIL_ADDRESS>Date:   Thu Sep 22 07:29:23 2016 -0700

    Merge pull request #11015 from zeari/attach_rates_to_images

    Added rate assigning by tags to container images
    (cherry picked from commit f163736e5c5919ba6faeacad45f6f466d2253984)

@simon3z @simaishi Need a BZ for Darga

@dclarizio It says this PR is needed for https://github.com/ManageIQ/manageiq/pull/10677, but PR 10677 isn't marked as darga/yes. Can you confirm this PR is in fact needed for Darga?

@simon3z see comment from @simaishi

@chessbyte no need for this in darga
@miq-bot remove_label darga/yes


Test set for Zero-shot Benchmark Datasets

Hi,
For zero-shot classification results, some datasets don't have specific test sets. In order for us to compare RemoteCLIP and reproduce the results, do you plan to provide more information on the test sets of various datasets? It would definitely be helpful. Thanks.

Since some remote sensing classification datasets do not have official test sets, we adopt an 8:2 train/test split ratio for our zero-/few-/full-shot classification experiments on RemoteCLIP. This follows the common practice in related studies, such as “Do We Still Need ImageNet Pre-Training in Remote Sensing Scene Classification?” and “An Empirical Study of Remote Sensing Pretraining,” among others.
Specifically, for datasets without an official test split, we sort the images within each class by file name. We then use the first 80% of the images as the training set and the remaining 20% as the test set.
To further facilitate comparison of experimental results, we are planning to prepare and release the test set file name list in the near future.

That's helpful. Thank you!


Change Font Size Mod

This is a customizable mod that allows the user to change the font size of posts, comments, or both simultaneously.
https://github.com/aclist/kbin-kes/assets/137783738/a436c923-e398-4a6f-9bde-f1bca4b09c7e

Take a look at this: https://github.com/aclist/kbin-kes/issues/72
I think it makes sense to incorporate as many elements as possible here, such as headers, posts, names, comments, description.
I would also take a look at the number input type: https://developer.mozilla.org/en/docs/Web/HTML/Element/input/number and map it to a point size increment.
This gives the user very granular control over their preferred point size and you don't have to set predefined sizes ahead of time, plus you can arrow up/down and increment/decrement on the fly. Maybe start it at a default size between 12pt or whatever is the equivalent to the default size in rem

o i missed that discussion, thanks for letting me know. ill try to apply this 👍🏽

@aclist maybe im wrong but is there no way to add steps for the number input within the manifest? for now i was just gonna add them using the dom but i thought maybe this would be good to have available. i didnt see anything for it in kes.user.js

We didn't implement steps, now that you mention it :crying_cat_face:
Nor min/max... Number input seems like one of the more common ones to be used, so we should definitely extend this

I am adding this now, should be quick to do.

Added in 2.0.0-rc.25, just tested the helpbox and increments appearing in localstorage, didn't test it end to end, but should be good to go


Update CUDA versions listed in README

Currently we support CUDA 11.0 and 11.2. Newer CUDA versions are not yet supported. Also CUDA 11.1 was skipped.

@gpucibot merge


Incorrect validation of addresses

In src/address/use-add-address.tsx the validation checks that there is state_or_province  and postal_code, yet neither of these are required within BC. So I am hitting an issue of adding an address, that does not have a state, and it is erroring.
This also affects useUpdateAddress

Hey @andrewf414, based on the BigCommerce documentation that fields are required when you create a new address.
https://developer.bigcommerce.com/api-reference/store-management/customers-v3/customer-addresses/customersaddressespost


Support Request:

Describe Your Problem:
I have logged in and no devices are showing up. according to the Homebridge Logs, it seems to find both of my devices (i7 and m6) but neither are under "Accessories".
Expected behavior:
No response
Logs:
[17/02/2022, 19:19:56] [iRobot] Logging into iRobot...
[17/02/2022, 19:19:59] [iRobot] Configuring roomba: Braava jet M6
[17/02/2022, 19:20:00] [iRobot] Configuring roomba: Roomba i7 Vacuum
[17/02/2022, 19:20:01] [iRobot] Disabling Unconfigured Roomba: Braava jet M6

Config:
{
            "name": "iRobot",
            "email": "Redacted",
            "password": "Redacted",
            "roombas": [
                {
                    "autoConfig": true,
                    "info": {
                        "ver": 2
                    }
                }
            ],
            "manualDiscovery": false,
            "lowBattery": 20,
            "offAction": "pause:dock",
            "status": "cycle:clean",
            "eveStatus": "inverted:cycle:clean",
            "bin": "filter:contact",
            "ignoreMultiRoomBin": true,
            "hideStuckSensor": false,
            "disableMultiRoom": false,
            "platform": "iRobotPlatform"
        },

Node Version:
\v16.13.2
NPM Version:
8.3.1
Homebridge Version:
V1.4.0
Plugin Version:
/usr/local/lib └──<EMAIL_ADDRESS>Operating System:
Raspberian

This is a known bug. I will be releasing version 3 soon which will fix this.

Please try the latest beta:


New adhoc parameter

Added new parameter 'uri'  which overrides the 'uri' in manifest - allowing complete run against arbitrary uri.  It can optionally works in conjunction with 'app' param, allowing running from the specified manifest, and also overriding its uri attribute.
Code is commented.
Readme is updated.

Thank you Terje :)


Access Rights?

Learning about Azure Functions here, and I am a little confused on "Access rights", in particular the "Function" and what that means.  It is not explained here, at least not what I see.
Also, the "Get started with Azure Functions" link takes you to here:
https://docs.microsoft.com/en-us/visualstudio/?AzureFunctions
Where there is no mention of Azure Functions.  Additionally, typing in "Azure Functions" in the top right search results in this page:
https://docs.microsoft.com/en-us/search/index?search=Azure+Functions&scope=VS+IDE
Where there is no mention of Azure Functions, either.

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

ID: 6e88ea08-81ef-2b5a-b9d6-539e85592672
Version Independent ID: f2d8b7b4-906a-d1f5-5201-fc22a7890955
Content: Create your first function in Azure using Visual Studio
Content Source: articles/azure-functions/functions-create-your-first-function-visual-studio.md
Service: functions
GitHub Login: @ggailey777
Microsoft Alias: glenga

@Mike-EEE Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

Cool, thanks @Adam-Smith-MSFT.  FWIW I realize that the "Get started with Azure Functions" link issue and the subsequent search issue is not documentation-specific, but I was hoping to take advantage of all the new GitHub magic to perhaps link in MSFT resources who might be able to look into it. 😄

Hey @Mike-EEE is the link you are referring to in a topic or in the product? It’s not clear from this issue.

Hi @ggailey777 sorry about that.  The link is from the product seen in the lower left corner here:

Incidentally, in the old documentation system you could make comments along specific paragraphs.  It would be valuable to have that again to help provide content.  I've actually gone ahead and requested exactly this here: https://github.com/MicrosoftDocs/Docs/issues/68

Thanks @Mike-EEE I’ll check with the VS folks about that link.

FWIW @ggailey777 I believe I found the right area for my tooling-related issue(s):
https://github.com/Azure/Azure-Functions/issues/724

@ggailey777 @tdykstra I've created a Work Item for a possible conceptual topic https://mseng.visualstudio.com/TechnicalContent/AzureApps/_workitems/edit/1219756

@Mike-EEE we've made it confusing by using different terminology in the UI (Access Rights) than we do in the HTTP trigger (authLevel). The problem is that this UI has to support many triggers, and Access Rights only applies to HTTP triggers, so I'm not sure how we can best do that. In the meantime, this section of the HTTP trigger and binding reference may be useful.
#in-process

OK thank you for that link, @ggailey777.   IMO it doesn't help that we're being lazy here and shortening the word authorization to auth, which could also mean authentication. 😉 This was adding to my confusion from the outset, FWIW.
My suggestion is to rename Access Rights -> Authorization Level and provide a link in the UI to the link you provided above, either by making the text a link, or by way of a nifty information icon of some sort.

LOL b0h... sorry @ggailey777 I just now realized that I got my streams crossed here in regards to documentation vs. product 😞
I was going to get all fancy and try looking into doing a PR for you (if that is even possible?) but the linked page here in the first post doesn't seem to have the content available.
For the documentation 😉 I do believe I did click on that link, but it wasn't obvious to me that "Function" meant "Function key".  It also doesn't help help that the product lists "Admin" and the documentation lists "Host key".  From a scanner's glance, it's easy to overlook this.
Additionally, my first impression upon seeing the product dialog was that "Access rights" defines the external resources that were allowed to call this function.  But what this is really asking/setting is what type of authorization key is required to access this function you are creating, if I understand correctly.

@Mike-EEE 1) you are welcome to submit PRs to this repo for documentation updates. The Content Source: field should have the GitHub link to the topic you commented on. You can also click the Edit button in the top right corner of the Azure topic.
2) I agree that the various terminologies around HTTP endpoint authorization are confusing, which is why I opened Azure/Azure-Functions#739. 😁

Hehe yeah @ggailey777 I didn't see https://github.com/Azure/Azure-Functions/issues/739 until after I spewed forth all my intelligent blather, naturally. 😛  In any case, I believe this is more of a product problem than a documentation problem.  The product should be presenting all of this information to the user in a way that keeps them from having to consult the documentation in the first place.

Hey @Mike-EEE, unless you have any other feedback on this specific topic, can we #please-close this thread?
Thanks!


Enable typing in cmd/

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew typecheck with your changes locally?
[x] Have you successfully run brew tests with your changes locally?

Following through on https://github.com/Homebrew/brew/pull/14880#discussion_r1125251114 and enabling typing in this folder.

Review period will end on 2023-03-07 at 22:18:55 UTC.

Review period skipped due to critical label.

Looks good, thanks again @dduugg!


Upstart service manager doesn't work

I'm using your great docker testing setup for some Ansible roles, but am having issues with this Ubuntu 12.04 image.
Upstart doesn't work, because the image has an outdated initctl.
See here for deeper explanation and a possible solution:
https://stackoverflow.com/q/28596795

@geerlingguy  any chance of adding:
RUN rm -rf /sbin/nitctl && ln -s /sbin/initctl.distrib /sbin/initctl

as you do in the 14.04 docker image you maintain?
That should solve this problem as well.

Thanks for the PR! I'm looking back at my Ubuntu 14.04 project now (https://github.com/geerlingguy/docker-ubuntu1404-ansible/blob/master/Dockerfile#L24), and forgetting a little about why I needed that 'hack'; it looks fine to me, but is there any chance this could break things for anyone not using Upstart with Ubuntu 12.04?

Hi, the only side-effect is an unused upstart process but since this is designed for testing, that should be an acceptable compromise.
I originally did this to make the container work with test-kitchen over ssh (before docker-cli was available) but abandoned that in favour of your simpler (and faster) approach.


How to configure crackend to listen to a specific interface.

I set up a crackend gateway to listen on port 8080. But when I access my server on port 8080 from an external network, my requests are processed by a gateway.
I would like to be able to access the gateway only from localhost. Is it possible? Of course I can configure the IP tables on my server. But can I somehow avoid this?
I found only such settings:
"github_com/devopsfaith/krakend-cors": {
      "allow_origins": [ "http://localhost:8080", "http://localhost:80" ],
      "allow_methods": [ "POST", "GET" ],
      "max_age": "12h"
    },

But after their application, nothing happened
My configuration file
{
    "version": 2,
    "name": "My lovely gateway",
    "host": [ "http://<IP_ADDRESS>:8080" ],
    "cache_ttl": "3600s",
    "timeout": "3s",
    "extra_config": {
      "github_com/devopsfaith/krakend-gologging": {
        "level":  "DEBUG",
        "prefix": "[KRAKEND]",
        "syslog": false,
        "stdout": true
      },
      "github_com/devopsfaith/krakend-metrics": {
        "collection_time": "60s",
        "proxy_disabled": false,
        "router_disabled": false,
        "backend_disabled": false,
        "endpoint_disabled": false,
        "listen_address": ":8090"
      },
      "github_com/devopsfaith/krakend-cors": {
        "allow_origins": [ "http://localhost:80", "http://localhost:8080" ],
        "allow_methods": [ "POST", "GET" ],
        "max_age": "12h"
      }
    },
    "endpoints": [
        {
        .....
        }
    ]
}

Commands used
krakend run -c krakend.json

the CORS component is just responsible for dealing with OPTION requests sent by the browsers before processing any other request from the JS
there is no way no bind the service to an interface but maybe you could use https://github.com/devopsfaith/krakend-httpsecure in order to restrict the allowed host headers


Could we only allow enabled user login through Oauth?

Add user from github is awesome, but for security concerns, Oauth login should not open to everyone...How you deal with this problem?

you can choose to allow only known users to login - http://www.go.cd/documentation/user/current/configuration/configuration_reference.html#security

thanks again, really help a lot, btw I got some trouble when I use user api to delete user,
when the user name is a email address, I will get this :
curl -k<EMAIL_ADDRESS>     -u ':**'       -H 'Accept: application/vnd.go.cd.v1+json'       -X DELETE
{
"message": "Either the resource you requested was not found, or you are not authorized to perform this action."
}
the user is not admin and disabled...why we just have a delete user button?

welcome!
the delete user api issue is Go's issue. can you raise an issue for that in https://github.com/gocd/gocd?
thanks.

Can you try:
curl -k 'https://******.com/go/api/users/********%40gmail%2Ecom' -u '******:******' -H 'Accept: application/vnd.go.cd.v1+json' -X DELETE

Hi Srinivas
I have successfully installed and configured the plug-in, however, it still allows anonymous logins, even with the config set as you suggested:
  <server ...

    <security allowOnlyKnownUsersToLogin="true">
      <admins>
        <user>pejvan</user>
      </admins>
    </security>
  </server>

Any suggestions?

yes. thats a limitation currently. to enable authentication you will need to add a dummy (with no valid users) LDAP / password file authentication. this is just to enable authentication in Go. once its enabled GitHub authentication will kickin.


Support accepting arguments and passing them to commands

Problem Description
I typically write command-line utilities in Rust using clap which have required positional arguments. (eg. command_name [options] <path> ...)
Currently, I use just's +args="" to implement commands like run-memstats +args="" (MALLOC_CONF=stats_print:true cargo run -- {{args}}) or kcachegrind +args="" (run the command inside valgrind, then open up the resulting log in kcachegrind).
While it's not perfect (just doesn't provide an equivalent to "$@" so the choices are to only support one argument or not support paths with spaces), cargo-make doesn't seem to provide any mechanism at all for this... which greatly limits its utility to me.
If I use it, I'll probably wind up writing a shell wrapper which handles certain commands itself and then passes the rest through to cargo-make.

could you please give an example usage that you were looking for?
that would help me better understand.

ssokolow@monolith rdbackup-excludes-indexer [master] %% cargo make run-memstats /srv/fservroot /mnt/buffalo_ext/games
error: Found argument '/srv/fservroot' which wasn't expected, or isn't valid in this context

USAGE:
    cargo make [FLAGS] [OPTIONS] [--] [TASK]

For more information try --help

There should be a way to expose the [args]... from the end of the cargo run [OPTIONS] [--] [args]... that I call inside that task.

ok, i would recommend as env vars for now as part of the cli using the -e cli arg.
lets say cargo-make gets those extra args and keeps them, how would you see them being using in tasks? $CARGO_MAKE_ARG1 $CARGO_MAKE_ARG2 and so on...?
[tasks.something]
command = "something"
args = ["${CARGO_MAKE_ARG1}", "${CARGO_MAKE_ARG2}"]

I don't mind adding that support, but question is if its readable.

I was thinking something equivalent to "$@" in Bourne shell script. (A special token which expands to multiple arguments, preserving their quoting, and is omitted if empty.)
If you have "a b" "c d" as input, Bourne shell interprets things like this:

$@ --> "a" "b" "c" "d"
"$@" --> "a b" "c d"
"$*" --> "a b c d"

I'd need to see a more thorough reference of your grammar to be sure it's the best fit, but here's one idea:

Have ${*} and ${+} as special variables that expand to more than one argument.
${*} would be omitted if no positional arguments are specified (by analogy to .* in a regex), allowing commands where foo is valid and foo /path/to/bar is valid, but foo "" is an error.
${+} would refuse to run the task unless there's at least one positional argument (by analogy to .+ in a regex).
You could either require that they be the only things in the argument or, to make them really versatile, you could allow people to write --input=${+} and have it expand to --input="foo" --input="bar" --input="baz" if the user wrote cargo make something foo bar baz.

Suppose I had a frobnicate that looked like this:
[env]
OUTDIR = "target/frobs/"

[tasks.frobnicate]
command = "frobnicate"
args = ["--verbose", "--include=${+}", "${OUTDIR}"]

If I typed cargo make frobnicate foo.md "bar baz.md" quux.md, then the command that gets run would be ["frobnicate", "--verbose", "--include=foo.inc", "--include=bar baz.inc", "--include=quux.inc", "target/frobs/"]
...and, if I used ["${*}"] for the args, then commands would resolve like this:

cargo make frobnicate --> ["frobnicate"]
cargo make frobnicate foo.md "bar baz.md" quux.md --> ["frobnicate", "foo.md", "bar baz.md", "quux.md"]

thanks, let me think about it a bit.

which of these use cases you actually need? I prefer not implement too complex rules that are not readable.

${*} expanding to multiple args sounds great. I'll definitely implement that.
${+} not crazy about this one. input validations should be done by the actual command and not the task runner. just like bash doesn't do it for you.
--input=${+} expanding to multiple --input=arg1 --input=arg2 is cool but I'm not sure if its a common use case and might hurt readability.
I can also concat all args and serve them as an env var to be used in commands/scripts so you can do more complex stuff if needed

${*} is now support, you can see the docs
you can test it by using branch 0.12.0
please tell me if it works good for you and if you really need those other features.
they are not hard to implement, just need to really think if I should over complicate the usage.
You also have an env var CARGO_MAKE_TASK_ARGS which will hold all those args with ; between them.

${+} not crazy about this one. input validations should be done by the actual command and not the task runner. just like bash doesn't do it for you.

Fair enough... though, before I built on it, my originally idea was actually to have only ${+} with the + implying "additional".
Having only $(*) could be counter-intuitive in two ways:

* already means "wildcard" in many contexts.
In Bourne-compatible shells, $* expands to a single arg when quoted, while "$@" is the one that expands to the kind of handling you implemented.

--input=${+} expanding to multiple --input=arg1 --input=arg2 is cool but I'm not sure if its a common use case and might hurt readability.

How so?
Also, sorry I haven't tested the 0.12.0 branch yet. Today was very distracting. I'll try to make time for it tomorrow.

the *->@ is a good point. I'll update that.

you can still have it all args as a single arg if you do

cargo make mytask "arg1 arg2 arg3"

in this case, "arg1 arg2 arg3" is considered as a single arg and ${@} would not split it.

if you really feel the --input=${+} expanding to multiple --input=arg1 --input=arg2  is important, I can add it. its not really hard, just worried if people will understand it.

please tell me if it works good for you

I did a little testing and I like it.

you can still have it all args as a single arg if you do [...]

Yeah. The $* variable is sort of a niche thing in Bourne shell script and I've never needed to use it.

if you really feel the --input=${+} expanding to multiple --input=arg1 --input=arg2 is important, I can add it. its not really hard, just worried if people will understand it.

I don't think it'll be a problem. In Bourne shell scripting, it's all space-delimited, so the meaning of --input="$@" is unclear (only the "$@" gets repeated) but, in Makefile.toml, the user specifies exactly where the argument boundaries lie and no additional splitting is used, which means that the most intuitive behaviour for --input=${@} is as a template that gets repeated for each argument.
As for its utility, there are various commands where something like -i<path> or -f<path> allows input or supplementary data to be loaded from file and it can be specified more than once. I've actually seen some where that's the only way to not read from stdin.

On that note, there's one other thing I'd like to suggest.
For script tasks, it'd be nice if there was a way to just pass ${@} to the script via argv, rather than having to parse CARGO_MAKE_TASK_ARGS and hope that none of the arguments need to contain ;.
Then it'd be possible to use "$@" in Bourne shell script tasks, std::env::args_os in @rust scripts, etc.

--input=${@} and $@ for scripts are now also supported. you can checkout the same dev branch 0.12.
builds are failing due to travis or rust issue with beta but it should work fine for you.

--input=${@} and using "$@" in shell scripts both work well under the basic testing I put them through.
Was there a specific reason you chose to limit the argv pass-through to only shell scripts? (I also tested under @rust and python script runners.)

didn't want to enable for runners that I cannot be 100% sure of their cli definition.
meaning, you can put there python/node/perl/whatever, and if any of them decide to accept cli args differently they would fail to work or if the cli args would conflict with what they use, they would also fail.
so decided to leave it out (for example I can't support php cli for now, but it wasn't important enough to handle specifically).
I think its good enough for now.

Fair enough in the case of arbitrary values, but @rust hardly seems arbitrary, given that:

It's a built-in special-case handler for cargo-script.
It seems like an excellent way to get portable task scripts when someone outgrows what your Bourne Shell to cmd.exe translator is capable of.

yet to see that specific one in use in projects but I'll test it to see it will work well, if so will add official support.

I worry that might be a chicken-and-egg situation, but OK.
@rust seems like a good way to support both UNIX and windows for complex stuff like commands which need an explicit input and output filename for each thing processed, so you'd want to make two arguments from each argument provided, one of which strips the extension and then adds on a new one.
I know your script translator can't understand bash's ${X%.*} construct for getting the contents of environment variable X up to just before the final period. (eg. if $X were foo.bar.baz, then ${X%.*}.zip would be foo.bar.zip.)

@rust now supported as well.

I'll have to test it tomorrow, but that's good to hear.
One situation I can imagine it being useful for is certain kinds of resource-building.
For example, in one older project, I wrote a shell script which generates web-ready PNGs from SVG source files by the following process:

Use ${X%.*}.png to generate a PNG filename for each input SVG (Using Inkscape's --export-png in this case, but every SVG renderer I've used has required manually-specified output filenames)
Optionally call svgo if serving an SVG variant is desired.
Call OptiPNG to optimize the PNG pre-compression (it's the best open-source one)
Call AdvanceCOMP to optimize the DEFLATE compression (best open-source one before zopflipng came around)
Use pngcrush to strip unwanted ancillary chunks (pngcrush annoyingly lacks a "modify in place" option so I have to do some renaming and/or deleting to get the desired output filename.)

As you might guess, even with Inkscape, optipng.exe, advpng.exe, and pngcrush.exe on the PATH, that isn't usable on Windows because it's written in shell script.
I've also done something similar in a Python project where I combined AdvanceCOMP and UPX to crunch down py2exe output and, to simplify making it work on Windows, I just included upx.exe and advzip.exe in the repository. (In that case, I used Python like the rest of the project. If I were doing some kind of similar post-build processing for a Rust project, I'd want to do it in Rust.)

I just tested it and it looks good. :)

closing as it is now officially released.


Supply hash for --version flag when from source, rather than HEAD

TL;DR
Currently when you install with go install you get:
$ abc --version
abc source (HEAD, linux/amd64)

It would be helpful to get the git hash of the commit, as HEAD tells you nothing about the version of the CLI you are running. An additional improvement would be to also show the date of the commit.
Detailed design
No response
Alternatives considered
No response
Additional information
No response

Currently commits/versions come from goreleaser https://github.com/abcxyz/abc/blob/main/.goreleaser.yaml#L37

It should be coming from https://github.com/abcxyz/abc/blob/07104eadd948b2e70bed256ade2b5949d4415051/internal/version/version.go#L32-L41 but something seems to be failing so its falling back to HEAD for some reason.

It comes from that func, unless the LDFLAG is set by goreleaser. Perhaps that function isn't working as intended? Are you building with go build or using an IDE?

I am using  go install github.com/abcxyz/abc/cmd/abc@latest in my terminal

@pdewilde I think that makes sense. The VCS information is only injected when you're building from a local repo. Can you try with go build from a clone of this repo?

I just sent #149 which I think resolves this by printing the module version from the buildinfo.