fix: support MacOS in scripts

Overview

As of https://github.com/celestiaorg/celestia-app/pull/2329#discussion_r1303409135, we need to remove the s suffix as it's not supported by mac
Checklist

[ ] New and updated code has appropriate documentation
[ ] New and updated code has new and/or updated testing
[ ] Required CI checks are passing
[ ] Visual proof for any user facing features like CLI or documentation updates
[ ] Linked issues closed with keywords

Hahaha good one


SDC: Handle input clock phase shift on clock generators

Opening this PR for discussion purposes.
For the initial version of the SDC plugin we had a discussion around phase shift and validation of the waveform.
In the current implementation we have a 1ns delay on BUFGs and clock synth's (like MMCM and PLL) output a clock with the computed frequency, and a phase shift equal to the phase specified. For example if the PLL input has a 20 degree phase shift, and the request to the PLL is to add another 45 degree phase shift, the output waveform will have a 65 degree phase shift.
However, this sometimes leads to sanity checks being raised:
`8. Executing Verilog-2005 frontend: /tmpfs/src/github/symbiflow-arch-defs-presubmit-xc7/env/conda/envs/symbiflow_arch_def_base/bin/../share/yosys//plugins/fasm_extra_modules/BANK.v
ERROR: Phase shift on clock sys4x_dqs_clk exceeds 360 degrees
Rising edge: 3.041667, Falling edge: 5.125000, Clock period:4.166667

Not sure how vivado handles these situations though.

On page 66 in https://www.xilinx.com/support/documentation/user_guides/ug472_7Series_Clocking.pdf are details on how the phase detector of a PLL works. Judging from that I conclude that the whole thing behaves as an "integrating regulator" so it can synchronize both phases and frequencies of CLKINn and CLKFB.
I also think that just adding phases is wrong as the frequency of a PLL output may be different than of CLKINn. With that phases on both clocks have different meanings and cannot be added/compared directly.

I also think that just adding phases is wrong as the frequency of a PLL output may be different than of CLKINn. With that phases on both clocks have different meanings and cannot be added/compared directly.

The PLL's output phase should be related to one of the input phases in some way.  I agree that it isn't a straight summation isn't the right answer, but having the output clocks have no relation to the input phase is wrong too?  The output of the VCO in a PLL matches the phase of the input clock.  The VCO output can then be phase shifted as needed.
See page 74 and eq 3-3, 3-4, 3-5.  They are all speaking about shifting phase with respect to the input clock.

So I think I understand the problem, and what the solution is.  Let's ignore frequency changes for a minute.  If a 10 ns period, 0 deg 50% wave form enters a PLL that is the following create clock:
create_clock -period 10 -waveform {0 5} clk

So the clock raises on 0 and 1period and 2period, etc.
The clock falls on 5 and 5+1*period, etc.
If we apply a 270 degree phase shift to clk, it will be:
create_clock -period 10 -waveform {7.5 2.5} clk

So the clock raises at 7.5 and 7.5+1period and 7.5+2period, etc.
The failing clock case is interesting.  It could be thought as having either a 12.5 falling edge, or a 2.5 falling edge, they are equivalent.  I believe SDC requires the edge time be modulus the period.  For clarity: 2.5 + 1*period == 12.5 + 0*period.
So one bug that needs to be fixed is the waveform values need to be modulus the period.
That still leaves the meaning of the phase relationship through a PLL when there is a frequency shift.  I believe I know the answer, but want to think on it more.

I've done some work, and I believe I understand how to relate the input clock phase and the output clock phase on the PLL.
If the PLL output phase shift = 0 deg, then the rising edge of the output clock matches the rising edge of the VCO.  When FBCLKOUT phase shift = 0, this implies that the VCO and input clock rising edge are phase matched.
If the PLL output phase shift != 0, the output clock is phase shifted per it's output frequency, with respect to the output phase shift = 0 case.
So for example:
If the input clock is 100 MHz, with a phase shift of 90 degree, that implies the following create clock:
create_clock -period 10 -waveform {2.5 7.5} clk

An output clock of 200 MHz with an output phase shift of 0 should have a rising edge at 2.5 ns, so the create clock is:
create_clock -period 5 -waveform {2.5 0} clkout

An output clock of 200 MHz with an output phase shift of 90 deg would have a create clock of:
create_clock -period 5 -waveform {3.75 1.25} clkout

So I believe this is how to apply input phase to output phase:

Compute the input clocks rising edge time
Create a non-phase shifted output at the new frequency that shares that rising edge, e.g. the remainder of the rising edge time and the new output clock period
If the PLL is apply a phase shift, shift the non-shifted waveform by (phase shift / 360) * period ns.  If either the rising or falling edge are greater than period, then subtract one period from that wave form.
3a.  For output clocks with duty cycle != 50%, compute the falling edge time from the rising edge time + duty cycle * period

@mkurc-ant / @tmichalak Do you disagree with anything here?  I'm going to do some testing to figure out how to accommodate feedback phase shifts.

Okay, looks like CLKFBOUT_PHASE works pretty much like CLKOUT<n>_PHASE, but on the input clock frequency and negative.
So I think the equations for the output clock wave forms are:
output clock period = CLKFBOUT_MULT / DIVCLK _DIVIDE / CLKOUT<n>_DIVIDE * input clock period
output clock rising edge = (input clock rising edge - (CLKFBOUT_PHASE / 360) * input clock period + (CLKOUT<n>_PHASE / 360) * output clock period) % output clock period
output clock falling edge = (output clock rising edge + CLKOUT<n>_DUTY_CYCLE * output clock period) % output clock period

@litghost All of the above makes sense. Thanks a lot for the analysis. Judging from it the only things missing in the original implementation were the period modulo and negative phase shift from the CLKFBOUT_PHASE.
BTW in the equation for the period:
output clock period = input clock period * (CLKFBOUT_MULT / DIVCLK_DIVIDE) / CLKOUT<n>_DIVIDE
it should be more like:
output clock period = input clock period * (DIVCLK_DIVIDE * CLKOUT<n>_DIVIDE) / CLKFBOUT_MULT
otherwise bigger frequency multiplier values would result in bigger periods

BTW in the equation for the period:
output clock period = input clock period * (CLKFBOUT_MULT / DIVCLK_DIVIDE) / CLKOUT<n>_DIVIDE
it should be more like:
output clock period = input clock period * (DIVCLK_DIVIDE * CLKOUT<n>_DIVIDE) / CLKFBOUT_MULT
otherwise bigger frequency multiplier values would result in bigger periods

Of course.  Higher period -> more division.

Why is the delay through a Bufg still 1 ns?  We should either set it to 0, or a more reasonable value.  0 is probably better for now.

Should have a FIXME/TODO about the CLKFBOUT_PHASE not being supported.  Maybe we should error if CLKFBOUT_PHASE is non-zero?

Added support for CLKFBOUT_PHASE and addressed all above mentioned comments regarding shift calculations.
The period and waveform is calculated according to the equations discussed in the discussion above.
Removed the temporary delay values on IBUF, BUFG (set them to 0).
Updated the references of all tests and added new ones for DIVLK_DIVIDE and CLKFBOUT_PHASE.

For future developers I feel like this could benefit from a write up with a few diagrams (maybe wavedrom based)?

For future developers I feel like this could benefit from a write up with a few diagrams (maybe wavedrom based)?

Wavedrom looks awesome!
I think at some point we will have to document what we have done in all of the Yosys plugins.
Wavedrom for explaining the SDC plugin will be indispensable.


npm-lockfile-fix: 0.1.0 -> 0.1.1

Signed-off-by: lucasew<EMAIL_ADDRESS>
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

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

x86_64-linux

:white_check_mark: 2 packages built:

npm-lockfile-fix
npm-lockfile-fix.dist

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

x86_64-linux

:white_check_mark: 2 packages built:

npm-lockfile-fix
npm-lockfile-fix.dist

aarch64-linux

:white_check_mark: 2 packages built:

npm-lockfile-fix
npm-lockfile-fix.dist

x86_64-darwin

:white_check_mark: 2 packages built:

npm-lockfile-fix
npm-lockfile-fix.dist

aarch64-darwin

:white_check_mark: 2 packages built:

npm-lockfile-fix
npm-lockfile-fix.dist


controller: minimize related object list

the oc adm inspect machinery tries first to gather the related objects, then gathers the object itself: https://github.com/openshift/oc/blob/release-4.15/pkg/cli/admin/inspect/resource.go#L188 Thus, if any of the the related objects can't be collected, neither can the parent object.
In our case, the nfs object were meant as forward-looking extra, but our attempt backfired. Let's remove them from the list, focusing only on what the operator is guaranteed to provide.

/cherry-pick release-4.14

/lgtm


gofmt'd integration_test.go for consistency

I wonder if this should be part of the (CI) build? In the same way that we lint the puppet repo.


test puente with django 1.7 and jingo 0.8.1

jingo 0.8.1 support django 1.7+. Given that, we should test puente with it and update the documentation where appropriate.

We're dropping support for Jingo, so I'm going to close this out.


Can't view data and print figures at the same time.

I just add a .Rprofile according to this. I can view data in vscode now. However, the function of printing figures vanished. Before adding the .Rprofile, Quartz will provide the function to show figures but I can't view data via X11. The X11 support of my R seems incomplete because I installed R via brew. BTW, I' m using httpgd to show figures in vscode. May I ask why there is such a problem? Is there a way to fix this?

May reinstall R from CRAN is an alternative way to solve this problem.

From personal experience, this extension does not work well with httpgd + vscode-R. In my personal .Rprofile I have therefore disabled httpgd in debug sessions:
if(Sys.getenv('VSCODE_DEBUG_SESSION')=='1'){
	options(vsc.plot = FALSE)
	options(vsc.use_httpgd = FALSE)
}

Thanks for your reply! I solved this problem by adding it to my .Rprofile.


feat: Toast on user disconnect

Added a toast when a user disconnect from collaboration

Issue #5994

I like the idea of this.  From classroom experience, I suggest making this optional.  Eg the toasts might become distracting when a couple dozen students have connected to the board during lectures if the building has weak wireless.
cc @dwelle Could an option for this go in some "advanced settings" section?

Sure, that sounds like a nice idea. Should that setting be global for de collab or personal?

I like the idea of this. From classroom experience, I suggest making this optional. Eg the toasts might become distracting when a couple dozen students have connected to the board during lectures if the building has weak wireless.

Yes, I think it will be a distraction problem. We'll also be shipping auto-disconnection if you're idle (and not looking at the canvas, such as when you tab out) for a longer period of time.
I'm not sure the benefits outweigh the costs here, especially the cost of adding another setting.
But a good thing to add to the API. First we must make the connection/disconnection more robust. Sockets hang too often when leaving.


Typescript TSX and generic parameters

Typescript introduces support for the JSX syntax. So I have an expression that works quite well with traditional *.ts files but no with *.tsx ones:
const f = <T1>(arg1: T1) => <T2>(arg2: T2) => {
   return { arg1, arg2 };
}

This is an unfortunate side effect of syntax ambiguities. You need to either have an extends clause or multiple type parameters. You can write an extends clause that is functionally equivalent (albeit annoying):
const f = <T1 extends {}>(arg1: T1) => <T2 extends {}>(arg2: T2) => {
   return { arg1, arg2 };
}


Add new message types

Pull Request Etiquette

[x] I have checked the PRs for upcoming features/bug fixes.
[x] I have read the contributing guidelines.

Changes

[ ] Internal code
[x] Library interface (affecting end-user code)
[ ] Documentation
[ ] Other: _____

Closes Issue: NaN
Description
These are new types of messages.
References:

discord/discord-api-docs#5724
discord/discord-api-docs#5815

We might need to split this PR into one for the premium and role purchase types vs the stage related ones as the stage stuff shouldn't have been merged into the docs and was rolled back. It'll get there eventually.


Memoize while computing distributions, equations

If computing the distribution of the same variable, node etc with a higher cutoff than a previous computation, we should just truncate the previous computation and use the previous set of equations.
To keep things clean, we can move the time limit to the class/trait, instead of per method.

Note: There are tasks that run in parallel - for now these can run with previous memo and the new results can be aggregated.

Done in f1cf26749c62867d1aac96350ce03b78c6859


macro module is not resolved

The following configuration
resolvers += "jitpack" at "https://jitpack.io"
libraryDependencies += "com.github.kory33" % "CSO-mirror" % "main-c4cc806962-1"

only resolves the lib module for some reason. It should also resolve the macro module.

dependencyTree does list the macro module as expected.
[IJ]dependencyTree
[info] oxcs-conc-programming-2022:oxcs-conc-programming-2022_2.12:0.1.0 [S]
[info]   +-com.github.kory33:CSO-mirror:main-SNAPSHOT
[info]     +-com.github.kory33.CSO-mirror:build_2.12:main-SNAPSHOT [S]
[info]     +-com.github.kory33.CSO-mirror:cso-mirror-lib_2.12:main-SNAPSHOT [S]
[info]     | +-com.github.kory33.CSO-mirror:cso-mirror-macros_2.12:main-SNAPSHOT [S]
[info]     |   +-org.scala-lang:scala-reflect:2.12.3 [S]
[info]     |
[info]     +-com.github.kory33.CSO-mirror:cso-mirror-macros_2.12:main-SNAPSHOT [S]
[info]     | +-org.scala-lang:scala-reflect:2.12.3 [S]
[info]     |
[info]     +-com.github.kory33:CSO-mirror:main-c4cc806962-1 (evicted by: main-SNAPSHOT)
[info]
[success] Total time: 0 s, completed 2022/01/25 19:24:26

This could just be IntelliJ not showing the up-to-date external libraries. More information needed.

I cleared IntelliJ cache and reloaded a fresh project, and all modules are being shown now. yay!


Updating import on boot section of definition.md in order to mention …

…importing from URL over https

@DanielePalaia Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

Thank you!


fix: marked gcode.CodeInternalPanic for panic

Codecov Report
Patch coverage: 36.84% and project coverage change: +0.03% :tada:

Comparison is base (35a326e) 79.17% compared to head (d8c1746) 79.20%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2860      +/-   ##
==========================================
+ Coverage   79.17%   79.20%   +0.03%
==========================================
  Files         634      627       -7
  Lines       52428    52123     -305
==========================================
- Hits        41508    41285     -223
+ Misses       8858     8798      -60
+ Partials     2062     2040      -22

Flag
Coverage Δ

go-1.18-386
?

go-1.18-amd64
79.20% <36.84%> (-0.01%)
:arrow_down:

go-1.19-amd64
?

go-1.20-386
?

go-1.20-amd64
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Changed
Coverage Δ

errors/gcode/gcode.go
100.00% <ø> (ø)

net/ghttp/ghttp_server_handler.go
66.53% <0.00%> (-1.20%)
:arrow_down:

os/gcmd/gcmd_command_run.go
63.74% <0.00%> (ø)

os/gfsnotify/gfsnotify_watcher_loop.go
81.81% <0.00%> (-1.38%)
:arrow_down:

os/gtimer/gtimer_entry.go
80.88% <0.00%> (ø)

util/gconv/gconv_maptomap.go
72.47% <0.00%> (ø)

util/gconv/gconv_maptomaps.go
54.90% <0.00%> (ø)

util/gconv/gconv_structs.go
62.71% <0.00%> (ø)

util/gconv/gconv_struct.go
82.62% <33.33%> (ø)

net/ghttp/ghttp_func.go
65.38% <50.00%> (ø)

... and 3 more

... and 12 files with indirect coverage changes

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

这应该需要标记 #2852 以关联相关 issue


progress report for each block

Could we have download status for each block,
something like this
fun onProgressBlock(download:Download,blockIndex:Int,offset:Long,endBytes:Long)
so that we can debug each block progress...

let me intergrate it, will give you a feedback

thanks alot, it works very well.

Could the block info be persisted in the database, such that we can get the information about each block
for example . also
ArrayListblocks  = fetch.getBlockInfoList();

@duncanokeyo New release version of Fetch 2.1.0-RC13 has a new method fetch.getDownloadBlocks(downloadId: Int, func: Func<List<DownloadBlock>>)


libdvdcss: 1.4.0 -> 1.4.1

Semi-automatic update. These checks were performed:

built on NixOS
found 1.4.1 with grep in /nix/store/vc0dcpqiashz0c0ihd4n2bj7jhawnpf3-libdvdcss-1.4.1
found 1.4.1 in filename of file in /nix/store/vc0dcpqiashz0c0ihd4n2bj7jhawnpf3-libdvdcss-1.4.1

Built fine locally on NixOS.


POST err500 with angularjs

I've updated FTP credentials in handler.php (except for the hostname field), made the configuration point to php-local in index.html, and for some reason, the only thing I have is read access to files and nothing else.

Hi @wiiliam seems you are using php-local connector instead php connector (that is for ftp use)

Ahh. Thank you for pointing that out.

@joni2back Although renaming, deleting and such works now, I'm unable to change the permissions and for some reason, the menu from the three dots turned into a blank bar as shown below:

Seems so weird... Could you create a PR with your changes to check it ?


Alias IPs are not shown in service role VM details

Description
The alias IP is missing in the role VM information in Sunstone.
To Reproduce
Create a service with a NIC alias.
Expected behavior
The alias should appear along with the parent NIC.
Details

Affected Component: Sunstone
Version: 5.12.7

Additional context
5.12.6

5.12.7

Progress Status

[ ] Branch created
[ ] Code committed to development branch
[ ] Testing - QA
[ ] Documentation
[ ] Release notes - resolved issues, compatibility, known issues
[ ] Code committed to upstream release/hotfix branches
[ ] Documentation committed to upstream release/hotfix branches

backport to 5.12

backport to 5.12

PRs to merge:

one: https://github.com/OpenNebula/one-ee/pull/749
doc: pending


aursync: prepare without vcs depends installed

For example:
==> Making package: cmake-elementary-bzr 0.1.0-1 (Sa 19. Mär 21:04:49 CET 2016)
==> Retrieving sources...
  -> Branching lp:~elementary-os/+junk/cmake-modules...
/usr/share/makepkg/source/bzr.sh: line 48: bzr: command not found
==> ERROR: Failure while branching lp:~elementary-os/+junk/cmake-modules
    Aborting...

via 9f5e721ea798de2ccfbd75b2021be1341b23f6a2. I have the nagging feeling this whole thing needs a rewrite, though.


Align Explore Page AppBar with Home Page Style

This pull request modifies the ExplorePage to ensure that its AppBar is consistent with the AppBar used on the Home Page. Specifically, the scrollable SliverAppBar was replaced with a fixed AppBar.

Changes Made
Removed SliverAppBar: The SliverAppBar was removed from the ExplorePage.
Added Fixed AppBar: A standard AppBar was added to ensure it remains fixed while the page content scrolls.
Updated Body Content: The main content was encapsulated in a SliverList to maintain the scrollable content area without affecting the fixed AppBar.

https://github.com/VaibhavCodeClub/learn/assets/98540540/b811a59a-03de-4a4b-8276-d5c8388bcc50
@sapatevaibhav ,Please review these changes and merge them into the master branch if everything looks good. Thank you!
fixes issue: Make explore page better #193

remove option 1 (mentioned in screenshot) as it is same as 3rd one as well make no 2 similar to others like 3 as it doesn't look proper.

@sapatevaibhav , oky....

@sapatevaibhav , I have made the changes in the explore_page_better branch, kindly review,

it is working fine now...

fixes issue: Make explore page better #193

@sapatevaibhav , Please, let me know, why are you not merging this pull request, Is there any need to do some more changes???

I'll merge it tonight after testing on my device as I'm busy with some other stuff that is being late😕.
I hope you will understand.

Okay, Thanks for informing....


Bump version to 0.1.0

Following the discussion on #410, I think we should merge this and push the resulting release to PyPI. @dcolligan, would you like to do the honours?
+1.

Alright, I uploaded 0.1.0 to pypi

Excellent - can we tag this in github as well please?

Done https://github.com/ga4gh/server/releases/tag/v0.1.0

Excellent! Thanks @dcolligan.


connectivity: Report IP families that are being tested

The objective is to improve the connectivity reporting by displaying which IP families (i.e., v4 or v6) are being tested.
Additionally, each Action description should contain the family too. E.g., we could report curl-v4-1, curl-v6-2, etc.
Fixes #1410
cc: @brb, @gandro
Signed-off-by: Pratyay Banerjee

@brb Can you please provide some feedback on where I'm going wrong? 😅

Even one of the error log state this? → could not import github.com/cilium/cilium-cli/connectivity/tests

@gandro I think it's fine now. Phew!
The implemented code could be optimized using the ternary operator. I tried this:
t.ForEachIPFamily(func(ipFam check.IPFamily) {
    ipFamStr = ipFam == check.IPFamilyV4 ? "v4" : "v6"
})

instead of
t.ForEachIPFamily(func(ipFam check.IPFamily) {
    if ipFam == check.IPFamilyV4 {
        ipFamStr = "v4"
} else if ipFam == check.IPFamilyV6 {
    ipFamStr = "v6"
}
//...

It should work, but apparently, I was getting an error log stating "?" as illegal character. On doing some research, I found this on StackOverflow. Hence, I proceeded with the previous one. Also, instead of performing two checks, we can simply check whether it's ipv4 or not, else it should be ipv6.
If the above one sounds fine to you, then this can be implemented:
t.ForEachIPFamily(func(ipFam check.IPFamily) {
    if ipFam == check.IPFamilyV4 {
        ipFamStr = "v4"
    } else {
        ipFamStr = "v6"
    }
// ...

Once you confirm, then I'll format the indentation & push the final changes.
Refer to this. And apologies for creating this simple thing a mess. 😅

@gandro Tests are passing successfully! Once you approve the changes, I'll squash all the commits together along with the DCO.

@gandro All the tests ~are~ were passing (including EKS(ENI) & Multicluster). But after I squashed all the commits together (after adding the DCO), those two are specifically failing. Might be a fluke, would you mind re-triggering this job again? And if everything checks out, please merge :)

@gandro I underestimated how simple it was, and as a result, I delved deeply into every aspect, leading me into all this unnecessary trouble lol. Hopefully this time it should be fine.

GKE failed connecting to google.com - possibly due to external factors. Restarting
https://github.com/cilium/cilium-cli/actions/runs/4449884381/jobs/7814654455?pr=1440

Please do not remove automatically assigned code-owners, since not every reviewer (like myself) belongs to all codeowner teams.

@gandro Sorry about the confusion, but as far as I can remember, I'm pretty sure I didn't unassign anyone 😅, but it seems like GitHub auto-removes any other reviewers when we select this 👇🏼

Please do not remove automatically assigned code-owners, since not every reviewer (like myself) belongs to all codeowner teams.

@gandro Sorry about the confusion, but as far as I can remember, I'm pretty sure I didn't unassign anyone sweat_smile, but it seems like GitHub auto-removes any other reviewers when we select this 👇🏼

Oh, interesting, thanks for the clarification!


flutter build appbundle keeps on crashing

Steps to Reproduce

Create new Flutter App
Set up for release
run flutter build appbundle

Logs

flutter build appbundle
Initializing gradle...                                              3.2s
Resolving dependencies...                                           9.9s
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
Running Gradle task 'bundleRelease'...
Running Gradle task 'bundleRelease'... Done                         9.5s

Oops; flutter has exited unexpectedly.
Sending crash report to Google.
Crash report sent (report ID: 3939b360e40cdc23)

flutter doctor -v
[√] Flutter (Channel stable, v1.5.4-hotfix.2, on Microsoft Windows [Version 10.0.18362.145], locale en-US)
    • Flutter version 1.5.4-hotfix.2 at C:\Users\Munene\flutter
    • Framework revision 7a4c33425d (6 weeks ago), 2019-04-29 11:05:24 -0700
    • Engine revision 52c7a1e849
    • Dart version 2.3.0 (build 2.3.0-dev.0.5 a1668566e5)

[√] Android toolchain - develop for Android devices (Android SDK version 29.0.0)
    • Android SDK at C:\Users\Munene\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.0
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
    • All Android licenses accepted.

[√] Android Studio (version 3.4)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 35.3.1
    • Dart plugin version 183.6270
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)

[√] IntelliJ IDEA Community Edition (version 2019.1)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.3.3
    • Flutter plugin version 35.3.3
    • Dart plugin version 191.7141.49

[√] VS Code, 64-bit edition (version 1.35.0)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Flutter extension version 3.1.0

[!] Connected device
    ! No devices available

! Doctor found issues in 1 category.

The crash log says that there's a process using the file but even after restarting my laptop I'm still getting the crash
crash log
flutter_01.log

If you are deploying the app to the Play Store, it's recommended to use app
bundles or split the APK to reduce the APK size.
To generate an app bundle, run:
flutter build appbundle --target-platform android-arm,android-arm64
Learn more on: [https://developer.android.com/guide/app-bundle]
To split the APKs per ABI, run:
flutter build apk --target-platform android-arm,android-arm64
--split-per-abi
Learn more [on:]( https://developer.android.com/studio/build/configure-apk-splits#configur
e-abi-split)

Hi @newtonmunene99
are you still experiencing this issue with the latest version of Flutter?
If so please reply attaching your flutter doctor -v

Thank you for your answer @newtonmunene99
given your last message I feel safe to close this issue,
if you disagree please write in the comments
and I will reopen it


Video via RTC not reliably working (workaround available)

Version

Patreon name: Matthias Hopf
Phaser Version: 3.55.2
Operating system: Ubuntu 20.04.4 LTS
Browser: Chrome 102.0.5005.61, Vivaldi 5.2.2623.48

Description
Opening a RTC video stream in an phaser video object is not working always; in particular, streaming a screen share seems to work, streaming a webcam doesn't. Opening the according streams on the local computer always works. I tested this with 2 different web cams on linux, on windows and on android, consistent behavior.
I have the RTC remote stream always working when creating the video DOM object myself, so it's probably a minor issue to fix, however, I'm lost in phaser's code regarding this (I guess this has even something to do with the webgl renderer).
Unfortunately, a fully working example is - as typical with RTC - about 650 LoC, plus the signaling server. I can setup one in the near future if required for reproduction, but due to a cyber attack at our university, the currently running server is not accessible from the outside.
Example Test Code
This is how I setup the phaser video object; v is the storage object for a single video element.
The update function is used to scale the video to a maximum of 200x200, and indicates that the video is actually available.
For remote WebCam RTC streams, video size remains at 2x2, and nothing is displayed. For all other video variants, video size is updated after a few ticks, and the video is played (video is displayed a little earlier than the update function is called, thus too large on screen for a few frames).
v.phaser_vid  = mainScene.add.video ();
v.phaser_cont = mainScene.add.container (Math.random()*660, Math.random()*300, v.phaser_vid);
v.phaser_cont.setSize (140, 140);
mainScene.physics.world.enable (v.phaser_cont);
v.phaser_cont.body.setVelocity (10 + Math.random() * 200, Math.random() * 100)
.setBounce (1, 1) .setCollideWorldBounds (true);
    // Following 2 lines are to be replaced by the code in the next snippet for a workaround
    v.phaser_vid.loadMediaStream (stream);
    v.phaser_vid.play();
v.phaser_vid.video.addEventListener ('timeupdate', updateSize);
function updateSize () {
    if (v.phaser_vid.width > 3 && v.phaser_vid.height > 3) {
        console.log ('updateSize '+v.phaser_vid.width+'x'+v.phaser_vid.height);
        var width  = v.phaser_vid.width / v.phaser_vid.height * 200;
        var height = 200;
        if (width > 200) {
            width = 200;
            height = v.phaser_vid.height / v.phaser_vid.width * 200;
        }
        v.phaser_vid.setDisplaySize (width, height);
        v.phaser_vid.video.removeEventListener ('timeupdate', updateSize);
    }
}

If I setup the video object the following way (instead of using .loadMediaStream() and .play()), everything works as intended. Interestingly enough, I don't need to send any signals to phaser, it automatically detects the video size change, indicating that the video truely wasn't setup correctly.
v.video_ready = false;
v.dom_vid = dom_setup_video (stream, muted, function () { v.video_ready = true; });
v.phaser_vid.video = v.dom_vid;             //instead of .loadMediaStream() and .play()
function dom_setup_video (src, muted, cb) {
    const video    = document.createElement ('video');
    var playing    = false;
    var timeupdate = false;
    // Wait for video frames to be accessible
    video.addEventListener ('playing', playingCB, true);
    function playingCB () {
        playing = true;
        checkReady();
    }
    video.addEventListener ('timeupdate', timeupdateCB, true);
    function timeupdateCB () {
        timeupdate = true;
        checkReady();
    }
    video.autoplay  = true;
    video.muted     = true;
    video.loop      = true;
    video.srcObject = src;
    video.play();
    return video;
    function checkReady() {
        if (playing && timeupdate) {
            cb();
            video.removeEventListener ('playing',    playingCB,    true);
            video.removeEventListener ('timeupdate', timeupdateCB, true);
        }
    }
}

Additional Information

It seems like there might be an issue with the loadMediaStream() and play() functions when trying to stream a webcam video in Phaser. You mentioned that you were able to create a video DOM object yourself and have the RTC remote stream working, so it seems like the issue might be with how Phaser is handling the video object.
One thing you can try is to use the srcObject property of the video element directly instead of using the loadMediaStream() and play() functions provided by Phaser. Here's an example of how you can modify your code to use srcObject:
v.phaser_vid  = mainScene.add.video ();
v.phaser_cont = mainScene.add.container (Math.random()*660, Math.random()*300, v.phaser_vid);
v.phaser_cont.setSize (140, 140);
mainScene.physics.world.enable (v.phaser_cont);
v.phaser_cont.body.setVelocity (10 + Math.random() * 200, Math.random() * 100)
.setBounce (1, 1) .setCollideWorldBounds (true);
v.phaser_vid.video.srcObject = stream;
v.phaser_vid.video.muted = true;
v.phaser_vid.video.autoplay = true;
v.phaser_vid.video.addEventListener ('timeupdate', updateSize);
function updateSize () {
if (v.phaser_vid.width > 3 && v.phaser_vid.height > 3) {
console.log ('updateSize '+v.phaser_vid.width+'x'+v.phaser_vid.height);
var width  = v.phaser_vid.width / v.phaser_vid.height * 200;
var height = 200;
if (width > 200) {
width = 200;
height = v.phaser_vid.height / v.phaser_vid.width * 200;
}
v.phaser_vid.setDisplaySize (width, height);
v.phaser_vid.video.removeEventListener ('timeupdate', updateSize);
}
}
Here, we set the srcObject property of the video element to the stream object directly and then set the autoplay and muted properties to true. We also add the timeupdate event listener to update the size of the video once it becomes available.
Give this a try and see if it resolves the issue you're experiencing with streaming a webcam video in Phaser.
Hope this helps!

SlimHR

The Video Game Object has been fully recoded in v3.60 and now works very differently from before. It's based on the Request Video Frame API and no longer tries to preload video data. The new loadMediaStream method works great with webcams (you can see a demo of this here: https://labs.phaser.io/view.html?src=src\3.60\game objects\video\stream video from webcam.js&v=dev) and I'm happy this is now working as intended.


defaultTargetPlatform on web thinks it's Android

defaultTargetPlatform returns TargetPlatform.android for web builds.
Ran using flutter run -d chrome.
Tested on macOS Google Chrome.
Flutter version 1.9.1+hotfix.6
Google Chrome version 77.0.3865.120

You can see some a related issue here: https://github.com/flutter/flutter/issues/36126
Here's a workaround: https://github.com/flutter/flutter/pull/36135

We don't have a real implementation of defaultTargetPlatform on the web. It would need to be implemented here:
https://github.com/flutter/flutter/blob/7442eeafe52e7fc9510ef73af45ef8183732732d/packages/flutter/lib/src/foundation/_platform_web.dart#L8

cc @yjbanov

defaultTargetPlatform is a different dimension from Platform and kIsWeb. defaultTargetPlatform dictates platform idioms, such as scroll physics, over-scroll effect, back gestures, etc. We should fully implement this on the Web.

This makes gallery.flutter.dev look wrong on iOS devices (with the wrong overflow physics).

@clocksmith : engine fixes are in, please close issue once you deploy latest gallery.


[ci][distributed] move test gptq_marlin to distributed with tp = 2

follow-up pr of https://github.com/vllm-project/vllm/pull/6007

Thanks for the PR! You need to move the test from models to distributed:
https://github.com/vllm-project/vllm/blob/main/.buildkite/test-pipeline.yaml
In addition, because of some limitations, you might only test the tp=2 case. It is not safe to test two vLLM instances together.

Imo we should keep the original tp=1 test and add a new file in distributed test for the tp=2 case.

Imo we should keep the original tp=1 test and add a new file in distributed tests for the tp=2 case.

make sense - so is it better to abstract the common following test codes into a new code block (e.g. test_gptq_marlin_common) to avoid duplicate and let tp=1 (under tests/models) and tp=2 (under tests/distributed) to call test_gptq_marlin_common respectively, or just copy the original tests/models/test_gptq_marlin.py to tests/distributed/ but only change tp=2 (with small amount of duplicate)?
    # test_gptq_marlin_common()
    # Run marlin.
    with vllm_runner(model_name=model_name,
                     revision=revision,
                     dtype=dtype,
                     quantization="marlin",
                     max_model_len=MAX_MODEL_LEN,
                     tensor_parallel_size=2,
                     distributed_executor_backend=distributed_executor_backend
                     ) as gptq_marlin_model:

        gptq_marlin_outputs = gptq_marlin_model.generate_greedy_logprobs(
            example_prompts[:-1], max_tokens, num_logprobs)
    _ROPE_DICT.clear()  # clear rope cache to avoid rope dtype error

    # Run gptq.
    # The naive gptq kernel doesn't support bf16 yet.
    # Here we always compare fp16/bf16 gpt marlin kernel
    # to fp16 gptq kernel.
    with vllm_runner(model_name=model_name,
                     revision=revision,
                     dtype="half",
                     quantization="gptq",
                     max_model_len=MAX_MODEL_LEN,
                     tensor_parallel_size=2,
                     distributed_executor_backend=distributed_executor_backend
                     ) as gptq_model:
        gptq_outputs = gptq_model.generate_greedy_logprobs(
            example_prompts[:-1], max_tokens, num_logprobs)

Let's abstract out the code (similar to what I did for the multimodal distributed tests)

@DarkLight1337 it looks like the new unit test (test_distributed_gptq_marlin with tp=2) failed with following info. I may grab a box with 2 GPU and install the current main to test in real env.

[2024-07-02T04:45:17Z] (VllmWorkerProcess pid=22301) Process VllmWorkerProcess:
--
  | [2024-07-02T04:45:17Z] (VllmWorkerProcess pid=22301) Traceback (most recent call last):
  | [2024-07-02T04:45:17Z] (VllmWorkerProcess pid=22301)   File "/usr/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
  | [2024-07-02T04:45:17Z] (VllmWorkerProcess pid=22301)     self.run()
  | [2024-07-02T04:45:17Z] (VllmWorkerProcess pid=22301)   File "/usr/lib/python3.10/multiprocessing/process.py", line 108, in run
  | [2024-07-02T04:45:17Z] (VllmWorkerProcess pid=22301)     self._target(*self._args, **self._kwargs)
  | [2024-07-02T04:45:17Z] (VllmWorkerProcess pid=22301)   File "/usr/local/lib/python3.10/dist-packages/vllm/executor/multiproc_worker_utils.py", line 210, in _run_worker_process
  | [2024-07-02T04:45:17Z] (VllmWorkerProcess pid=22301)     worker = worker_factory()
  | [2024-07-02T04:45:17Z] (VllmWorkerProcess pid=22301)   File "/usr/local/lib/python3.10/dist-packages/vllm/executor/gpu_executor.py", line 67, in _create_worker
  | [2024-07-02T04:45:17Z] (VllmWorkerProcess pid=22301)     wrapper.init_worker(**self._get_worker_kwargs(local_rank, rank,
  | [2024-07-02T04:45:17Z] (VllmWorkerProcess pid=22301)   File "/usr/local/lib/python3.10/dist-packages/vllm/worker/worker_base.py", line 311, in init_worker
  | [2024-07-02T04:45:17Z] (VllmWorkerProcess pid=22301)     self.worker = worker_class(*args, **kwargs)
  | [2024-07-02T04:45:17Z] (VllmWorkerProcess pid=22301)   File "/usr/local/lib/python3.10/dist-packages/vllm/worker/worker.py", line 87, in __init__
  | [2024-07-02T04:45:17Z] (VllmWorkerProcess pid=22301)     self.model_runner: GPUModelRunnerBase = ModelRunnerClass(
  | [2024-07-02T04:45:17Z] (VllmWorkerProcess pid=22301)   File "/usr/local/lib/python3.10/dist-packages/vllm/worker/model_runner.py", line 196, in __init__
  | [2024-07-02T04:45:17Z] (VllmWorkerProcess pid=22301)     self.attn_backend = get_attn_backend(
  | [2024-07-02T04:45:17Z] (VllmWorkerProcess pid=22301)   File "/usr/local/lib/python3.10/dist-packages/vllm/attention/selector.py", line 45, in get_attn_backend
  | [2024-07-02T04:45:17Z] (VllmWorkerProcess pid=22301)     backend = which_attn_to_use(num_heads, head_size, num_kv_heads,
  | [2024-07-02T04:45:17Z] (VllmWorkerProcess pid=22301)   File "/usr/local/lib/python3.10/dist-packages/vllm/attention/selector.py", line 151, in which_attn_to_use
  | [2024-07-02T04:45:17Z] (VllmWorkerProcess pid=22301)     if torch.cuda.get_device_capability()[0] < 8:
  | [2024-07-02T04:45:17Z] (VllmWorkerProcess pid=22301)   File "/usr/local/lib/python3.10/dist-packages/torch/cuda/__init__.py", line 430, in get_device_capability
  | [2024-07-02T04:45:17Z] (VllmWorkerProcess pid=22301)     prop = get_device_properties(device)
  | [2024-07-02T04:45:17Z] (VllmWorkerProcess pid=22301)   File "/usr/local/lib/python3.10/dist-packages/torch/cuda/__init__.py", line 444, in get_device_properties
  | [2024-07-02T04:45:17Z] (VllmWorkerProcess pid=22301)     _lazy_init()  # will define _get_device_properties
  | [2024-07-02T04:45:17Z] (VllmWorkerProcess pid=22301)   File "/usr/local/lib/python3.10/dist-packages/torch/cuda/__init__.py", line 279, in _lazy_init
  | [2024-07-02T04:45:17Z] (VllmWorkerProcess pid=22301)     raise RuntimeError(
  | [2024-07-02T04:45:17Z] (VllmWorkerProcess pid=22301) RuntimeError: Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you must use the 'spawn' start method

This happens because you indirectly initialized CUDA too early (probably via imports). Try to avoid importing torch-related stuff in the top level code of your test.

If the issue persists, #6056 should help you.

Please merge the latest main into your branch as it fixes some issues with distributed tests.

Also it's really difficult to keep track of your changes if you keep force-pushing.

Also it's really difficult to keep track of your changes if you keep force-pushing.

thanks for your suggestion 👍  I will pay attentions in future. BTW - I have merged the latest main into this PR and we will see the result

with latest main, distributed tests were still failed because of
RuntimeError: Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you must use the 'spawn' start method

I think it's because you initialized CUDA via is_quant_method_supported. Try running it inside the test function instead of calling it at the top level.

looks like the distributed tests still failed

Hmm maybe we can't even call is_quant_method_supported before initializing vLLM runner. How should we solve this @youkaichao ?

if you merged the latest main, is_quant_method_supported should not initialize cuda.
the problem might be you are testing with multiple models, and pytest is using a single process to test multiple models. after you test one model, the process has cuda initialized.

if you merged the latest main, is_quant_method_supported should not initialize cuda.
the problem might be you are testing with multiple models, and pytest is using a single process to test multiple models. after you test one model, the process has cuda initialized.

Thanks so much for the details. If we have to pick up one model for distributed test, which following is better to use?
MODELS = [
    # act_order==False, group_size=channelwise
    ("robertgshaw2/zephyr-7b-beta-channelwise-gptq", "main"),
    # act_order==False, group_size=128
    ("TheBloke/Llama-2-7B-GPTQ", "main"),

    # act_order==True, group_size=128
    ("TheBloke/TinyLlama-1.1B-Chat-v1.0-GPTQ", "main"),
    # act_order==True, group_size=64
    ("TheBloke/TinyLlama-1.1B-Chat-v1.0-GPTQ", "gptq-4bit-64g-actorder_True"),
    # act_order==True, group_size=32
    ("TheBloke/TinyLlama-1.1B-Chat-v1.0-GPTQ", "gptq-4bit-32g-actorder_True"),

    # 8-bit, act_order==True, group_size=channelwise
    ("TheBloke/TinyLlama-1.1B-Chat-v1.0-GPTQ", "gptq-8bit--1g-actorder_True"),
    # 8-bit, act_order==True, group_size=128
    ("TheBloke/TinyLlama-1.1B-Chat-v1.0-GPTQ", "gptq-8bit-128g-actorder_True"),
    # 8-bit, act_order==True, group_size=32
    ("TheBloke/TinyLlama-1.1B-Chat-v1.0-GPTQ", "gptq-8bit-32g-actorder_True"),

    # 4-bit, act_order==True, group_size=128
    ("TechxGenus/gemma-1.1-2b-it-GPTQ", "main")
]

if you can locally reproduce the problem, it would be easier to debug.
here is a simple script you can put in the test code, to find out which function initializes cuda:
import torch

import sys
found = False
import traceback

def _trace_calls(frame, event, arg=None):
    if event in ['call', 'return']:
        # for every function call or return
        try:
            global found
            # Temporarily disable the trace function
            sys.settrace(None)
            # check condition here
            if not found and torch.cuda.is_initialized():
                found = True
                traceback.print_stack()
            # Re-enable the trace function
            sys.settrace(_trace_calls)
        except NameError:
            # modules are deleted during shutdown
            pass
    return _trace_calls
sys.settrace(_trace_calls)


succeed when directories already exist

What do you think about adding an option to make it so if the directories already exist, it doesn't throw EEXIST?
Perhaps that's what it should without any options.

That is the present behavior. Just like mkdir -p.

I think there's an issue if some of the directories exist, but not the ones at the end. For example, assume that /foo exists and I ask mkdirp to create /foo/bar/baz. I think that doesn't work.

Can you write a failing test of this? There are unit tests that cover exactly that scenario, although it might be skipping some cases.

Here's a simple test, written using tap. It does work when dirPath is set to 'foo', but it doesn't when it is set to '/tmp'. I'm not sure why. I can run "mkdir /tmp/foo" from a terminal window.
var path = require('path');
var mkdirp = require('mkdirp');
var test = require('tap').test;

test('some exist', function (t) {
  //var dirPath = 'foo';
  var dirPath = '/tmp';
  var mode = '750';
  mkdirp(dirPath, mode, function (err) {
    t.notOk(err);
    t.ok(path.existsSync(dirPath));
    mkdirp('foo/bar', mode, function (err) {
      t.notOk(err);
      t.ok(path.existsSync(dirPath + 'bar'));
      t.end();
    });
    t.end();
  });
});


Update elf module with new syscall prefixes

Our kprobes based syscall framework depends on gobpf's elf module and it worked fine till kernel v4.16. Since 4.17, syscalls have been prefixed with __x64_ which may be causing the probes to not be inserted by our framework. We need to update the elf module to attach to proper functions by dynamically selecting the syscall name based on the version. A reference is here: https://github.com/iovisor/gobpf/pull/134
You can assign this to me as I am on it

@tuxology any progress on this?

@rabbitstack It's awaiting a merge by maintainers. Almost there!

@tuxology thanks for the heads up!
I'm experiencing a strange behavior with __x64_ syscall kprobes. For instance, attaching a kprobe on __x64_sys_kill results in an invalid argument values when accessed via PT_REGS_* macros (following with the __x64_sys_kill example, signo is always equal to 0 and the pid comes to be a random negative number). Pretty much the same nasty situation is exhibited in other syscalls. Tested on kernel 4.20.11. On kernel 4.15 and with the old syscall naming convention all work as expected.
Any ideas?

@tuxology thanks for the heads up!
I'm experiencing a strange behavior with __x64_ syscall kprobes. For instance, attaching a kprobe to __x64_sys_kill results in an invalid argument values when accessed via PT_REGS_* macros (following with the __x64_sys_kill example, signo is always equal to 0 and the pid comes to be a negative random number). Pretty much the same nasty situation is exhibited in other syscalls. Tested on kernel 4.20.11. On kernel 4.15 and with the old syscall naming convention all work as expected.
Any ideas?

Years late, but maybe someone out there finds it useful. When using  __x64_ syscall kprobes you need to access the current tasks pt_regs like so:
void handle_pre_kill(struct kprobe *p,struct pt_regs *regs)
{
    struct pt_regs *task_regs = task_pt_regs(current);
    ..
}

task_regs->di, task_regs->si will give you the pid and sig value respectively in _x64.


Add cosine similarity and maximal marginal relevance functions

Porting the cosine similarity and maximal marginal relevance functions from the Python package

Excellent, thank you!


only use PjaxResponseNegotiator in GridFieldDetailForm if the Request is actually AJAX

Can't remember which branch I should PR against. Let me know if I should go against 3.1 or 3.4 instead.

Please use fully declared array syntax

oh, damn. Are we still supporting 5.3? Or is it just for 3.0 back-port compatibility?

v3 supports 5.3.3+

alright. could have sworn we decided to drop it. but might remember wrong.
Anyway, was PRing against 3 the right move for this bugfix?

This will be released in the 3.5 line (which has no release date at the moment). It looks like it could go in 3.2 if you want it to go into one of the existing release lines...

yes, given that it's a bugfix, I feel like we should roll it out in all 3.x releases that are still maintained. So re raise against 3.2? Very well then.


interaction.Modify tests and bugfix

see commit messages
resolves #3935

/cc @bjornharrtell

Thanks @Turbo87.  Could you summarize the issue in the pull request description and title?  This makes it easier for those generating a changelog (easier than reading all commit messages).

@tschaub I hope the PR is now more descriptive. Please let me know if you need anything else.

Thanks @Turbo87.  I'm merging this to get it in to the 3.8 release.


adding the ability to specify the key and keyserver for an apt repo

This allows a user to specify which key and keyserver they would like to use to sign their packages.
Also, we use a standard mariadb PPA instead of ftp.igh.cnrs.fr, which has a tendency to go down every once and a while.

Please correct all rubocop Offenses, so i can merge your PR, thx.

+1 it looks like the key is hardcoded and suddenly i'm getting a key failure and https://downloads.mariadb.org/mariadb/repositories/#mirror=digitalocean-nyc&distro=Ubuntu&distro_release=xenial--ubuntu_xenial&version=10.1 does not mention the key here.

I am resistant to changing this as we are using the URL mentioned in the MariaDB documentation about importing the signing key.
As you generally find your closest mirror using the MariaDB Repository Generator, it makes sense to be able to configure the URL using the ['mariadb']['apt_repository']['base_url'] attribute.
Because the MariaDB suggested key and key server is used for testing and the tests are passing, my suggestion would be to set ['mariadb']['use_default_repository'] to false and configure your own repository in a wrapper cookbook if you are having problems with it.


Error Loading Multiple MySQL Slow Log Files from a Directory using Clicktail

I am trying to load multiple MySQL Slow Log Files from a directory using Clicktail into ClickHouse.
For Ex:
Directory- /home/logs/
Log Files available in /home/logs/-
1. slow-query_1.25-02-2019
2. slow-query_2.25-02-2019
3. slow-query_3.25-02-2019
When I try to parse it using-      clicktail -p mysql -f /home/logs/* -d clicktail.mysql_slow_log
It parse it as- clicktail -p mysql -f /home/logs/slow-query_1.25-02-2019 /home/logs/slow-query_2.25-02-2019 /home/logs/slow-query_2.25-02-2019 -d clicktail.mysql_slow_log
and it gives error- "Unexpected parameter"

Hello singla26.
This is not clicktail parsing it to a list of files it is you operating system. You need to escape the path with quotes in order to get glob-alike pattern be passed properly to clicktail.


--Config parameter seems to be ignored

It looks like this parameter is being ignored currently.
[root@mdm2 rexray]# mv /etc/rexray/config.yml /etc/rexray/config.yml-old
[root@mdm2 rexray]# rexray --config=/etc/rexray/config.yml-old volume
FATA[0000] Error: Driver Volume discovery failed: AWS was not able to validate the provided access credentials (AuthFailure)
[root@mdm2 rexray]# mv /etc/rexray/config.yml-old /etc/rexray/config.yml
[root@mdm2 rexray]# rexray --config=/etc/rexray/config.yml-old volume
- name: ""
  volumeid: vol-5e0144a7
  availabilityzone: us-west-1b
  status: available
  volumetype: standard
  iops: 0
  size: "8"
  networkname: ""
  attachments: []
- name: ""
  volumeid: vol-4d0045b4
  availabilityzone: us-west-1b
  status: available
  volumetype: standard
  iops: 0

Hi @clintonskitson,
This should have been a quick fix, but I uncovered another bug. This one I call a Viper bug, but since I can work around it, and we're so close to release, I will. To replicate it set an environment variable for the log level or os drivers and then create a config file in your home directory. The config files are completely blowing away existing data. The way Viper reads in the files apparently completely nukes the existing config instead of overwriting non-empty values (which is what I expect). I can fix it on my end.


persistent sqlite example produces an error in MflowPersistent.hs

Stuart • 2 days ago
This doesn't seem to work. The "click here" after the blog post goes to page not found
http://mflowdemo.herokuapp.com/noscript/databasesamples/mflowpersist#comment-1452941811

On trying to find the exact request that caused this, I think I may have broken the server. This is the command line I used:
while exec 5>&1; stat="$(curl -s -vvvvv -o /dev/null --trace-ascii - --trace-time 'http://mflowdemo.herokuapp.com/noscript/databasesamples/mflowpersist' -H 'Cookie: flow=1423997006; cookieuser=user;' --data 'p0=a&p1=1&p2=enter' |tee /dev/fd/5)"; [[ "$(echo $stat | head -n1 | tr -d '\r')" == "HTTP/1.1 200 OK" ]]; do sleep 20; done
It seems like leaving out &p2=enter is what broke it, but I'm not sure. If you get the server running again, and the omission of &p2=enter no longer kills it, the script should provoke the 404 within 5 requests.
Here's the output of a previous, less verbose version:
$ while stat="$(curl -s -o /dev/null -D /dev/stdout 'http://mflowdemo.herokuapp.com/noscript/databasesamples/mflowpersist' -H 'Cookie: flow=1423997006; cookieuser=user;' --data 'p0=a&p1=1&p2=enter' | head -n1 | tr -d '\r')"; echo "$stat" | xxd; [[ "$stat" == "HTTP/1.1 200 OK" ]]; do sleep 20; done
0000000: 4854 5450 2f31 2e31 2032 3030 204f 4b0a  HTTP/1.1 200 OK.
0000000: 4854 5450 2f31 2e31 2032 3030 204f 4b0a  HTTP/1.1 200 OK.
0000000: 4854 5450 2f31 2e31 2034 3034 204e 6f74  HTTP/1.1 404 Not
0000010: 2046 6f75 6e64 0a                         Found.

I´m looking at it. Some problems with cabal for rebuilding the examples with the latest Yesod stuff

@agocorona The problem seems to have been fixed?

Hi Janus:
All the Yesod framework seems to change from version to version in
incompatible ways. and it is hard to keep compatibility from one version to
other.
Currently I'm implementing MFlow and hplayground over Transient, a new
monad that have many advantages.
https://www.fpcomplete.com/user/agocorona/EDSL-for-hard-working-IT-programmers
If you absolutely need it, I can take a deeper look at the bug. I think
that the best option to interface TCache with a SQL database is to target
it directly instead of using an intermediate layer such is Persistent.
2015-07-09 0:32 GMT+02:00 Janus Troelsen<EMAIL_ADDRESS>
@agocorona https://github.com/agocorona The problem seems to have been
fixed?
—
Reply to this email directly or view it on GitHub
https://github.com/agocorona/MFlow/issues/42#issuecomment-119750132.

--
Alberto.

I do not need it, I am just asking for curiosity and to understand. I am glad the project is progressing.


Integration with pelias, openpoiservice

For a fully offline deployment, how to integrate openrouteservice-app with

pelias (geocode)
openpoiservice (pois)
mapsurfer
landmarks
fuel
shortenlink(?)

Basically: How can one re-build and deploy your wonderful service https://maps.openrouteservice.org offline?

Hi @OleMussmann - you would have to combine all the repositories into a - e.g. docker setup (docker-compose file) - which would obviously take some time and effort.


Error CS0012: The type 'QuantizedColor' is defined in an assembly that is not referenced. You must add a reference to assembly 'ColorThief.Forms, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'.

Hi @KSemenenko
I'm trying to follow your suggestion in the prior issue:

create proxy for ColorThief platform specific implementation using Xamarin Forms DependencyService.

In my PCL Xamarin project I have an interface and added reference to ksesmenenko.ColorThief.Forms v<IP_ADDRESS>:
using ColorThiefDotNet;
...
public interface IColorThiefHelper
{
    List<QuantizedColor> GetPalette(string sourceImage, int colorCount);
    QuantizedColor GetColor(string sourceImage);
}

and then also in my PCL Xamarin project call it using dependency service:
var colorTask = DependencyService.Get<IColorThiefHelper>().GetPalette(Logo, 8);
var backgroundColor = Color.FromHex(colorTask.FirstOrDefault().Color.ToHexString());
var foregroundColor = Color.FromHex(colorTask.LastOrDefault().Color.ToHexString());
BackgroundColor = backgroundColor;
TextInverseColor = foregroundColor;

Finally in my iOS project I have added reference to ksesmenenko.ColorThief.Forms v<IP_ADDRESS> again and then made the dependency service implementation like so:
[assembly: Dependency(typeof(ColorThiefHelper))]
namespace IOSNameSpace
{
    public class ColorThiefHelper : IColorThiefHelper  {
        private ColorThief Thief { get; set; }
        public ColorThiefHelper()
        {
            Thief = new ColorThief();
        }

        static UIImage FromUrl(string uri)
        {
            using (var url = new NSUrl(uri))
            using (var data = NSData.FromUrl(url))
                return UIImage.LoadFromData(data);
        }

        public List<QuantizedColor> GetPalette(string sourceImage, int colorCount)
        {
            UIImage image = FromUrl(sourceImage);
            return Thief.GetPalette(image,colorCount,10,true);
        }
        public QuantizedColor GetColor(string sourceImage)
        {
            UIImage image = FromUrl(sourceImage);
            return Thief.GetColor(image, 10, true);
        }
}

And here I get the error on the ColorThiefHelper class :

Error CS0012: The type 'QuantizedColor' is defined in an assembly that is not referenced. You must add a reference to assembly 'ColorThief.Forms, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null'. (CS0012)

The bug is strange as there is no Version=<IP_ADDRESS> of ColorThief.Forms in nuget.
Do you know what might be the problem?

Hello @afbase, thanks for your detailed description.
most likely I did not correctly make a nuget for PCL.
I will fix it)
You are already using .net standard?

I am using .NET Portable  PCL 4.5 - Profile111, not .net standard.

@afbase, why do you need DI?
For Xamarin.Forms you need only
await CrossColorThief.Current.GetPalette(sourceImage);

or you want use new method like FromUrl?

@KSemenenko

For Xamarin.Forms you need only

await CrossColorThief.Current.GetPalette(sourceImage);

If I write this line of code in my PCL project, I get a System.NotImplementedException error.  The error message for me is not clear.  If I write this line of code in my PCL project, do I need to add a colorthief package to my iOS project and android projects as well?

I think where this issue is coming up is ColorThief reference/object confusion between PCL and platform projects.
I think what we want in the PCL project is using ColorThiefDotNet.Forms;:
using ColorThiefDotNet.Forms;
...
public interface IColorThiefHelper
{
    List<QuantizedColor> GetPalette(string sourceImage, int colorCount);
    QuantizedColor GetColor(string sourceImage);
}

instead of what I originally had here:
using ColorThiefDotNet;
...
public interface IColorThiefHelper
{
    List<QuantizedColor> GetPalette(string sourceImage, int colorCount);
    QuantizedColor GetColor(string sourceImage);
}

If I try using ColorThiefDotNet.Forms;, I get an error stating that QuantizedColor could not be found.  I think this is where quantizedcolor should be instead of just the ColorThiefDotNet namespace. If that is the case I think that resolves the problem.  I just forked over the repo,  I may try to play with it a bit and see if it works this weekend.

@afbase I think I found a problem, it's still in the structure of the project.
apparently I need to do the refactoring

@ksemenenko
I may follow up on this later in my development near the end of March as I have reprioritized my development as this became a bit of a blocker.  I am working on other features but what I am now thinking is to refactor the Shared library's implementation to a dependency service onto interfaces implemented in the various platform libraries.


render('human') and visualization=True render shadows and background both in the GUI and in the robot camera

If you use env.render('human') or put visualization=True in the evaluate function it will open a GUI showing the environment. The GUI renders the environment using shadows and also shows a bluish background.
As a side effect, using the GUI will also make the environment render the shadows and the background on the robot camera.
This means that robots trained on images with the GUI on might have a different performance than when the GUI is off, since images will be different.
It is possible to disable shadows from the GUI using the shortcut s or also by setting shadows off using pybullet.configureDebugVisualizer(pybullet.COV_ENABLE_SHADOWS,0), however the background will still be bluish on the robot camera (without the GUI it will be white).

Do I understand right that we can disable shadows in my_controller.py? And in which mode (GUI on/off) will be final evaluation?

Dear @sokovnik ,
the evaluation will be run without GUI, so it will be without shadows.
The command pybullet.configureDebugVisualizer(pybullet.COV_ENABLE_SHADOWS,0) can be put anywhere after the GUI has started and it is useful for when you want to test your algorithm on your computer with the GUI on and shadows off.
Notice that you will still have a different background compared to GUI off, so testing with the GUI on might still be not representative of what you will get during evaluations.

Fixed by 966c3e1404b3c01f55cb4eb85492815af4479c74, 414f955fc8f84a1301caf611691de118747d1209, c8466a1d92efa579dd9f94ca01b1a13f3d870fad.


Use AM_CPPFLAGS also for compilation of all sources

It was not used for all sources before. Therefore some parts of the code (especially the code for training) used different compiler options. For example NDEBUG was not defined, and so the training code was built with debug assertions (resulting in potentially slower execution).

This change also reduces the size of the generated binaries.


Feature/default lookup if none specified

Closes: #86

Codecov Report

Merging #112 into master will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master      #112   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            4         4
  Lines          261       260    -1
=========================================
- Hits           261       260    -1

Impacted Files
Coverage Δ

django_property_filter/filters.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Adjust When Nav Bar Collapses

By default, the nav bar collapses when the screen resolution is tablet landscape size (980px). Not every site has a lot of links in the nav bar.
It'd be great if this could be easily adjusted. i.e. If I could set it so the navbar only collapses at tablet portrait resolution (768px).

Move all the styles from the media query @media (max-width: 980px) into the @media (max-width: 768px) one, than recompile responsive.less into bootstrap-responsive.css . You can do the same thing in the  bootstrap-responsive.css directly.

Yup, what @wpbrains said. We'll see if we can improve this in the future.


I am facing a crash issues. When the list is at the top, try to open and close the 4th item i.e. Re-island coast. There is no crash message except this "A/libc: Fatal signal 11 (SIGSEGV), code 2, fault addr 0x7fa8fa342ff8 in tid 5616 (hwuiTask1)". The app only crashes in this particular case so its not a big issue still would like to know why is it happening

Hi,
Please format clearly your issue and re open.
Best regards


Bug - Running with OpenAI

Description
Was unable to run the bee-stack using openAI credentials.
Additional requirements
Update .env file to include all LLM inference providers supported.

https://github.com/i-am-bee/bee-stack/pull/15

Hey @jezekra1, I had the same issue and came up wit this solution https://github.com/i-am-bee/bee-stack/pull/15


Support for webpack 4 prefetch and preload

The current version of laravel-mix (2.1.11) brings webpack (3.11.0) into the project. I was wondering if there are any plans (ETA maybe) to support webpack 4 which comes with prefetch and preload functionality.
This is interesting in combination with code splitting...

Webpack 4 is in the works #1495


CSS function with SCSS interpolations inside is no longer a correct CSS function

Since the release of v6.2.0 we get an error function-no-unknown with CSS functions like calc. In v6.2.0 this rule has been extended with a detection if interpolations are present.
We do not understand why a CSS function with SCSS interpolations inside is no longer a correct CSS function. Unfortunately, we now have to extend the scss/function-no-unknown rule to exclude (ignore) the CSS functions.
Example for the reproduction:
$test-sass-variable: 5rem;

.test-rule {
  width: calc(100% - #{$test-sass-variable});
  max-width: calc(100% - 5rem);
}

Before v6.2.0
New is an error

Would be nice if you could correct this again. Thank you.

New version out that should fix the bug:
https://github.com/stylelint-scss/stylelint-scss/releases/tag/v6.2.1


⚠ Turnos 24x7 has degraded performance

In e7b7bc6, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 1175 ms

Resolved: Turnos 24x7 performance has improved in 72e9656.


Issue with decoder.py unable to handle BGP open send and receive bytes strings

When querying BGP neighbor telemetry using the GRPCClient, the __postProcess method in the Decoder class (decoder.py) is unable to handle decoding the BGP OpenSent and OpenReceive bytes strings.
Exception: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa0 in position 2: invalid start byte
Telemetry path: analytics/Devices/%<deviceId>/versioned-data/routing/bgp/status/vrf/%<vrf>/bgpPeerInfoStatusEntry/%<peer>
An option to resolve this would be to add the replace parameter in the decode method, this will keep the method from raising an exception. It will replace the unrecognized/malformed characters with the official replacement character when decoding. The issues in the data can then be handled outside the GRPCClient.
https://docs.python.org/3/library/codecs.html#codec-base-classes
    def __postProcess(self, b):
        if isinstance(b, bytes):
            # return b.decode('utf-8')
            return b.decode('utf-8', 'replace')  # possible fix
        elif isinstance(b, list):
            return self.decode_array(b)
        elif isinstance(b, (dict, FrozenDict)):
            return self.decode_map(b)
        else:
            return b

Thanks for opening the issue 😀
Yes, replace should work for this. We'd previously encountered encoding issues like this before but that was when the connector was only using the ascii codec. We haven't encountered any issues with the new codec until now
Will discuss with the team if we want to use replace or ignore here, and I will make a change for this 👍

Awesome, thank you very much!

Would you at all be able to share with us with the contents of the two fields in the path using something like apish so that we can confirm that the fix works as intended?
We so far haven't been able to find any instance of those fields with the data internally to be able to verify the solution rigorously
e.g. on your cluster, run /cvpi/tools/apish get -d analytics -p Devices/<deviceId>/versioned-data/routing/bgp/status/vrf/<vrf>/bgpPeerInfoStatusEntry/<peer> -k "OpenSent" -k "OpenReceive" --pretty

You can email me at<EMAIL_ADDRESS>if that's acceptable.

Added ignore as part of commit: #a64442dafe8c622e7b566468ad911ad78f9467d1
Should be in the latest release which you can download now 👍

Downloaded and tested, it works! Thank you again for fixing this so quickly!


[BEAM-12356] Make sure DatasetService is always closed

R: @jklukas
R: @apilloud

Run Java PreCommit

Run Java PreCommit

Run Java PreCommit


Fix ~ipad specific bundle loading

~ipad should be lower case. Also fixes setStartupDisplayMode: called too late (tablet mode must be configured to load ~ipad resources).

Note that reloading the main bundle in response to changing tablet mode after startup isn't supported.

@Ramu-msft is added to the review. #Closed

@bdrlamb-ms is added to the review. #Closed

:shipit:

Let me know if I should squash the second commit addressing @bviglietta's comment. That code actually won't be called in either case. There is some commented out code in pathForResource:ofType: that would call it -- so looks like ~ipad resources won't be handled correctly when using that API. My use case is just to have ~ipad specific xib files chosen on startup which is fixed by this pull.

@ehren - squash is fine.  We will merge squash anyway.

squashed

:shipit:

Waiting for CI build to finish.

In reply to: 218510109 [](ancestors = 218510109)

:shipit:

:shipit:

Thanks for your contributions! :100:


dnx-watch web -> 100% CPU load caused by mono-sgen

I'm seeing 100% CPU load on a MacBook Pro 2014, El Capitan caused by mono-sgen. Fan is rotating like hell, device is heating up.
Any ideas?

Sorry, probably unrelated. Closed


feat: Add random timezone to aggregate fuzz test

Which issue does this PR close?

Closes #13302 .
Rationale for this change

What changes are included in this PR?
Added random timezones to fuzz test for timestamps

@LeslieKid Yeah I can definitely add a comment, as using generate_timezone() directly in the function makes it difficult to pass into the generate_primitive_array, as that function is used for other primitive types.


How to see full warnings/errors?

environment

vim: 8.1
vim-airline: 0.10 / [unreleased]
OS: Debian buster
Have you reproduced with a minimal vimrc: y
What is your airline configuration: solarized theme
if you are using terminal:
terminal: gnome 3.30.2
$TERM variable: xterm-256color
color configuration (:set t_Co?): [nothing]
if you are using Neovim:
does it happen in Vim: n/a

actual behavior
This isn't a bug, just a question (might be good for the FAQ, and for the point in the docs where you mention the "additional sections" for the first time): when I open some files, there's a bit of text in the additional warnings/errors section at the right hand side, but only a tiny bit (e.g. "[1]trail…" when I've some trailing whitespace at the end of the line in a CSV).  How do I see the full warning/error please?  Tried searching for "additional", "error" and "warning" in your docs and FAQ...
Best,
Conrad

airline does not provide this functionality. Except for the formatting warnings, most of those come from external plugins, so it is best to make use of those external plugins to show all errors (using the quickfix list).

Thanks for the response — so what I'm seeing isn't quickfix errors I think (:cc says No Errors).  It looks as if whitespace checks are a feature of airline?  This stackoverflow thread suggests that there isn't a way to see any more detail about them — is that right?

Yes, those come from the whitespace plugin. The help has a bit more on that:
https://github.com/vim-airline/vim-airline/blob/master/doc/airline.txt#L1223-L1228
I'll have a look at implementing a command that outputs the messages more clearly (in the statusline it looks a bit squeezed sometimes for small window sizes).

@chrisbra
It seems to me that this problem has been solved.

How is that?

Am 04.10.2019 um 04:58 schrieb IK<EMAIL_ADDRESS>
@chrisbra
It seems to me that this problem has been solved.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

I'm sorry, it was my misunderstanding.

vim: 8.2.219
vim-airline: 0.12 / Unreleased
OS: OpenSUSE Tumbleween
What is your airline configuration:

dark theme
branch
fugitiveline
keymap
netrw
po
quickfix
searchcount
term
whitespace
wordcount

terminal: konsole-20.12 & terminator-1.92
$TERM variable: xterm-256color
color configuration (:set t_Co?): nothing

I'm not a poweruser of vim or airline, just a programmer that likes fine tools. Still, I have the same problem with the warnings/errors/extras section. Few notices fit in the section, even with a 132 char-wide terminal.
Is there some way to add a command or key binding, to (temporarily) expand the section, or show its contents in a wildmenu type display? Mixed indentation, and trailing spaces are the most common in my limited use thus far. Without knowing where the message comes from, I wouldn't even know how to query said plugin for its notices.

vim: 8.2.219
vim-airline: 0.12 / Unreleased
OS: OpenSUSE Tumbleween
What is your airline configuration:

dark theme
branch
fugitiveline
keymap
netrw
po
quickfix
searchcount
term
whitespace
wordcount

terminal: konsole-20.12 & terminator-1.92
$TERM variable: xterm-256color
color configuration (:set t_Co?): nothing

I'm not a poweruser of vim or airline, just a programmer that likes fine tools. Still, I have the same problem with the warnings/errors/extras section. Few notices fit in the section, even with a 132 char-wide terminal.
Is there some way to add a command or key binding, to (temporarily) expand the section, or show its contents in a wildmenu type display? Mixed indentation, and trailing spaces are the most common in my limited use thus far. Without knowing where the message comes from, I wouldn't even know how to query said plugin for its notices.

It's good to remind people, in the readme, to read the original post and set
set list
set listchars=tab:▷⋅,trail:⋅,nbsp:⋅

otherwise it's best to turn of this whitespace functionality

otherwise it's best to turn off this whitespace functionality

I like this whitespace functionality.  I just want to be able to read its warnings!


Fixed Issue 37 "Unable to build project run example"

@nuwanarti @bennobos
Hi, thanks for the PRs. But if I merge them, there will be errors when I run the npm run build command.

@StephenChou1017 I think the package-lock is outdated, try clean install npm clean-install


Fix EOS issue with bootfile-name in /var/log/messages when dhcp_ip != tftp_ip

When DHCP and TFTP server are on different machines, there is an issue in the way EOS writes the DHCP_SUCCESS Bootfile Name value in /var/log/messages.
Assuming you have this DHCP configuration
...

class "eos-switch" {
   match if (substring(option vendor-class-identifier, 0, 6) = "Arista");
   option bootfile-name "ztp-eos.sh";
}

subnet <IP_ADDRESS> netmask <IP_ADDRESS> {
   range <IP_ADDRESS> <IP_ADDRESS>;
   option tftp-server-name "<IP_ADDRESS>";
   option routers <IP_ADDRESS>;
   option domain-name-servers <IP_ADDRESS>;
}

On Arista's /var/log/messages, the "Boot File" string is composed in the following way:
tftp://<dhcp-ip/
while it should be
tftp://<tftp-server-name/
This is causing ztp-eos.sh scripts to fail when DHCP and TFTP are on different VMs. The workaround is to specify in the bootfile-name the whole URI, e.g. option bootfile-name "tftp://<IP_ADDRESS>/ztp-eos.sh";
After this change, the option tftp-server-name can be completely ignored for Arista, so I moved that option in the Cisco class to limit its scope.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Alessandro Carpi seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.

@jeremyschulman Can you approve so I can merge in with the upcoming release?


Unrelated code block in Math protocols section.

We need to remove this.

I believe the issue has already been resolved.


feat: [M3-7686] - Restricted access UX for Databases

Description 📝
To prevent unauthorized access to specific flows and provide clearer guidance, we aim to restrict entry to users without the required permissions.
The views under /databases have been updated to disable controls for restricted users
Changes  🔄

"Create Database Cluster" button on the landing page (with or without entries) is disabled for users without "add_databases" access
All buttons & inputs in the Summary, Backups, Resize, Settings tabs under Database details have been disabled for users with "read_only" access
Added a notification for restricted access users on the database details page

Target release date 🗓
NA
Preview 📷

Before
After

How to test 🧪
Verification steps

Login as a user with full access and add databases. Grant read_only permissions to these new resources to the restricted user
Login as the restricted user and navigate to the databases page. The "Create Database Cluster" button should be disabled
Navigate to the details page for any database - You should see a notification. Besides that, all form inputs, buttons should be disabled.
Login again as the user with unrestricted access and remove all access to all the databases for the restricted user. Login as the restricted user - the empty landing page for Databases should have the create button disabled.

As an Author I have considered 🤔
Check all that apply

[ ] 👀 Doing a self review
[ ] ❔ Our contribution guidelines
[ ] 🤏 Splitting feature into small PRs
[ ] ➕ Adding a changeset
[ ] 🧪 Providing/Improving test coverage
[ ] 🔐 Removing all sensitive information from the code and PR description
[ ] 🚩 Using a feature flag to protect the release
[ ] 👣 Providing comprehensive reproduction steps
[ ] 📑 Providing or updating our documentation
[ ] 🕛 Scheduling a pair reviewing session
[ ] 📱 Providing mobile support
[ ] ♿  Providing accessibility support

Changes look good!
Should we also disable the "Remove" buttons on Access Controls when the user has read-only permission?

Hi Banks, thanks for pointing this out! I've updated the PR


Use Telefunc without transformer

In principle, Telefunc can be used without any transfomer.
The current design for this should be relatively quick to implement.
This is important for stacks that don't have a Telefunc plugin yet (e.g. SWC), or that won't implement any plugin system (e.g. Remix).
Write a reply here if you need this.

But still with validation, or how do you mean it ? Or how would it work ?

Without automatic type validation.

I would like to have this for a minimal-build setup. What would it take to implement?

@earlAchromatic It isn't a priority at the moment to implement this.

I understand it's not a priority but would you be open to adding it if I opened the PR?

The issue is that it requires non-trivial design decisions which means it's going to be time consuming for me as well. It's important that I stick to Vike's overall roadmap (implementing new Telefunc features is part of it but not a top priority at the moment).


allow the use of themes from outside the aiohttp_login directory

allow users to create their own themes inside their own packages

Hey @nihlaeth :) Why don't you use jinja-app-loader? You can change (and add) any templates of aiohttp-login. I think, I have to mention this in the docs..

Docs would be great, I couldn't get it to work... But there's another reason why I prefer this method. From a quick source code inspection, it doesn't look like jinja-app-loader supports running from gzipped packages.

@nihlaeth you, sure, actually I don't know anything about gzipped packages :)

There is some info about it in the setuptools docs if you're interested. It's possible to run Python packages from inside of archives, and pip will try to install packages compressed if possible. But that means the resources inside the package directory won't have a path in any real sense, nor does any module inside the package. To access resources you have to use the ResourceManager API from pkg_resources.

@nihlaeth look at example now, you'll see how to change base template of aiohttp-login. This way you can just extend templates/aiohttp_login/bootstrap-4/base.html with your project base template.

That was clear to me, just not how to get  jinja-app-loader working. Jinja kept complaining about not being able to find my templates. And with my own loader, aiohttp-login couldn't find its templates, so before I wrote my own theme I just used the chained loader provided by jinja and fed it both  jinja-app-loader and the regular file loader with a resource manager directory. Only that method doesn't work when you want aiohttp-login to use a non-built-in template. Hence this pull request.
I prefer not to make changes inside third party package directories anyway, since it makes keeping everything up to date with pip a pain.

You know, my real intention of this project is to find a way to write reusable apps (like django apps) for aiohttp. I think the absence of built-in abilities to write such apps is the main reason of why aiohttp is still not so popular.

That, and probably that most people find asynchronous stuff really confusing. Plus it's exclusive to Python 3 users, which doesn't help matters with Python 2 still being the default in Linux systems. aiohttp is better suited for people who like to get their hands dirty, and don't mind reading documentation or even source code instead of tutorials.
You're doing awesome work here in any case, a login library like this makes writing websites with aiohttp so much easier.

Have you seen sanic? It got more stars in a month than aiohttp in the all this years :) I think it's not because its "speed", but because of its flasky. So it seems like py3 and async is not so big problem for people anymore.

I still don't understand why jinja-app-loader doesn't work for you. Maybe you could change example of aiohttp-login to make it nonworking this way?

Sanic looks promising, if those benchmarks  scale well to heavier pages, I'm definitely transferring my projects. Maybe you're right and the lack of apps is the problem for aiohttp.
I'll show you how I used your example: early version of my website
I didn't make a nonworking commit, but if you remove rule 23 and 24, you should see the failure.

I'm just curious, why do you want to install your site like a pip package?

Because then I can install dependencies automatically, easily create scripts to run it as a daemon (which work on both Linux and Windows), and it's put in the right place automatically (meaning in the Python path). And I can easily share my site  this way, by publishing it on pypi. Plus you can make use of the plug-in system that setuptools provides. Basically tons of reasons, and I'm probably forgetting to mention a couple of important ones.

Haven't you forgotten about inability to use virtualenv this way? I think this drawback negates all the tons of reasons :)

Why couldn't you use virtualenv this way? I'm using it that way right now.

Do you mean, it possible to install two different version of package within the same environment?

Anyway, have you tried to provide root_dir parameter to jinja_app_loader?

I have, it didn't work for me. It's entirely possible that I did that wrong though, I didn't spend very long debugging it.

Do you mean, it possible to install two different version of package within the same environment?
yes

If I remember right, the inability to install different versions of packages was the main reason of creating virtualenv. Maybe you confusing pip with npm? I've made a little research right now, and don't see any changes, could you give me link to any mentions of this in docs?

I think we misunderstand each other, I didn't mean that virtualenv is obsolete now, what I meant is that you can use pip together with virtualenv. Although to be precise, virtualenv is deprecated in python 3, and we should now use python -m venv my_environment. But together with a separate python binary, a pip binary is installed there are also, so you can use it to install packages into the virtual environment.
$ python -m venv test
$ ls test/bin
activate  activate.csh  activate.fish  easy_install*  easy_install-3.5*  pip*  pip3*  pip3.5*  python@  python3@  python3.5@

And I can easily share my site this way, by publishing it on pypi.

If you meant here to install your site without virtualenv, it's a bad idea. Because any updates of any package it rely, may cause problems.

We're talking about different things here. Publishing on pypi has nothing to do with using virtualenv. You can use pip both with the system python and with a virtual environment.
Usually a virtual environment is used in development. In deployment situations you want to use the system Python. To make sure dependencies have the right versions, you can indicate specific versions or even version ranges in the setup.py file.

@nihlaeth Don't waste your time with sanic, there is already https://github.com/squeaky-pl/japronto/
They are fucking crazy that guys :)

I am aware, but thanks for the tip anyway

Anyway I don't see any sense to write usual sites on something except of aiohttp. Sanic follows this wierd syntax of flask and don't have a lot of aiohttp functionality. Japronto seems good for thin service modules, but not more. Have you tried to profile your site? What part of the resources aiohttp takes?

Well actually, I stole a trick from sanic and started using uvloop. I didn't run any actual benchmarks, but it felt a LOT faster. Unfortunately aiosmtplib doesn't integrate with that yet, due to starttls being poorly supported by asyncio.
aiohttp is fine for my purposes, but I have a weak spot for cool projects like sanic and japronto.


Redirection to Stack Overflow for general questions seems problematic

Hi,
I tried to ask a general question concerning VSCode on Stack overflow, with explanation, all information concerning the tool and my OS, even videos.
Still get disliked and a member in the comment told me this is not the place to ask for such question.
I also came across this: https://meta.stackoverflow.com/questions/297170/visual-studio-code-encouraging-users-to-ask-questions-on-stack-overflow
Where some people tend to feel that this platform isn't made for this.
Edit : The question eventually get closed with the following note:

Closed. This question is not about programming or software development. It is not currently accepting answers.

So now, how can I properly get an answer to my question?
-> When I try to open a question here, it sends me to Stack Overflow.
-> When I ask my question on Stack Overflow, people tell me this is not the place and downvote my question.
-> There is no other forum/support where I could ask, or at least I didn't find any.
Describe the feature you'd like.
Ideally, maybe allow to post questions here to avoid bashing on external support and confusions.

Maybe https://superuser.com/questions/tagged/visual-Studio-code would be a less controversial recommendation.

I see 0 reason as to why Microsoft, the owners of GH, don't have discussions enabled in their repos like this one. They should be the most aware of the functionality and its advantages.


Flash property default needs to be false

Whoopsie, the default value of the Flash property should be false, not true.  It was causing the flash animation to run when you would use the map point tool.

@dhagens please review and merge.  This will address part of #178  I was also seeing some exceptions on geometry calls but I'm having trouble reproducing ATM.

Looks good


Copy CSS and JS sourcemaps if they exist

Summary of changes:
Copies sourcemaps for CSS and JS into the public folder if they exist. This should help in the situation where pattern-lab is used as a development tool, as in-browser tools can pinpoint the affected lines in the source files.
There is no effect when none such .map files exist.
Should I also make a corresponding PR to the gulp project?

Nice addition. Will get it into the next push of changes.

Should I also make a corresponding PR to the gulp project?

Sure


mac: re-enable macOS ci

I'll keep an eye on the pull request CI.

@zuercher FTR can you provide a quick summary of "what's changed" to make this now work. Also, let me know when you want a merge.

In our Friday call with Circle they said it was two problems: 1) their macOS host cluster for 2.0 builds was very small and they needed time to bring more hosts online, 2) a bug that caused queuing of the linux-based builds even though only the macOS builds were resource constrained.
They thought their macOS cluster would have sufficient capacity on Friday, but asked that we wait till Monday.
Meantime, Homebrew seems to have a bug where updating the version of ruby that homebrew requires while installing a formula fails, so I split out the Homebrew update from the formula installation.

I think we can merge this. It built twice today and the queuing appeared to work correctly both times.

@zuercher SGTM. Please keep an eye on things and submit a rollback if things go pear shaped.


_blast.py suggestions

I strongly recommend making all of the parameters required (i.e., don't define defaults) in the private functions in quality_control.py (and elsewhere, if applicable). Otherwise, it's really easy to accidentally forget to pass one of these when you call one of these functions from elsewhere in the code base, which in turn would make it not possible to override defaults. Defining defaults on private functions is something I now try to avoid.
https://github.com/nbokulich/q2-quality-control/blob/6d89fbebe9557fde5c7a1ffef1c542564d8e551d/q2_quality_control/_blast.py#L15
For clarity, rename _blast_seqs.py to something else (e.g., _search_seqs.py) - I thought this only supported BLAST.
https://github.com/nbokulich/q2-quality-control/blob/6d89fbebe9557fde5c7a1ffef1c542564d8e551d/q2_quality_control/_blast.py#L14
Could _extract_hits just return a set of ids that hit the reference? I don't think you use the other information at this time.
https://github.com/nbokulich/q2-quality-control/blob/6d89fbebe9557fde5c7a1ffef1c542564d8e551d/q2_quality_control/_blast.py#L59

thanks @gregcaporaso ! I removed all defaults from ALL private functions (including those for the other methods in q2-qc, so some unexpected functions may pop up in the PR)
_extract_hits just returned a list of ids that hit the ref, no other information. Still, I like your suggestion to use a set instead, just in case an ID is listed twice (should not occur, since maxhits=1, but just in case).


Install on host machine->  Build GVA plugin

cmake ..
......
CMake Error at gst/elements/CMakeLists.txt:52 (add_library):
Target "elements" links to target "IE::inference_engine_legacy" but the
target was not found.  Perhaps a find_package() call is missing for an
IMPORTED target, or an ALIAS target is missing?
CMake Error at gst/inference_elements/CMakeLists.txt:35 (add_library):
Target "inference_elements" links to target "IE::inference_engine_legacy"
but the target was not found.  Perhaps a find_package() call is missing for
an IMPORTED target, or an ALIAS target is missing?
CMake Error at gst/registrator/CMakeLists.txt:21 (add_library):
Target "gstvideoanalytics" links to target "IE::inference_engine_legacy"
but the target was not found.  Perhaps a find_package() call is missing for
an IMPORTED target, or an ALIAS target is missing?
CMake Error at inference_backend/image_inference/openvino/CMakeLists.txt:23 (add_library):
Target "image_inference_openvino" links to target
"IE::inference_engine_legacy" but the target was not found.  Perhaps a
find_package() call is missing for an IMPORTED target, or an ALIAS target
is missing?

Did you try to build GVA only (by calling "cmake .." in the GVA folder) or tried to build OpenCV including GVA? Can you describe your folder-structure, please?
GVA either needs OpenVINO to be installed via the pre-built OpenVINO installation package (from software.intel.com) or that you build the OpenCV's DNN/InferenceEngine (first or in addition).

Hi @kqchen,
I assume you built OpenVINO IE from sources on GitHub. Am I right? If yes what version of IE did you use?

@: brmarkus
I am a CW working with Intel IOTG. I try to make gst based demo/exercise 1/exercise 2  working before I move on a customer project.
https://github.com/opencv/gst-video-analytics/wiki/GStreamer Video Analytics Tutorial#section-2-exercise-1-build-simple-pipelines-
I downloaded OpenVino toolkit   2020.1.023 on Linux 18.04 with a IOT tank machine. Here is what I got.
''' *******************************
I try to build the GVA plugin following those steps under:
2.2. Install on host machine (https://github.com/opencv/gst-video-analytics/wiki/Install-Guide#22-install-on-host-machine-)
tank-18@tank18:~/gva/gst-video-analytics/build$ cmake ..
-- CMAKE_BUILD_TYPE is undefined. Set default build type Release.
CMake Warning at CMakeLists.txt:25 (message):
VERSION_PATCH is undefined.  Set default value 0.
CMake Warning at CMakeLists.txt:30 (message):
GIT_INFO is undefined.  Set default value 0.
ENABLE_PAHO_INSTALLATION=OFF
ENABLE_RDKAFKA_INSTALLATION=OFF
MQTT support will not be available. Ensure required libraries (Paho MQTT) are installed, and rebuild plugin with -DMQTT=1 before attempting to use MQTT
Kafka support will not be available. Ensure required libraries (librdkafka) are installed, and rebuild plugin with -DKAFKA=1 before attempting to use Kafka
-- Checking for module 'pygobject-3.0'
--   No package 'pygobject-3.0' found
-- Found OpenCV: /opt/intel/openvino_2020.1.023/opencv (found version "4.2.0") found components:  core imgproc imgcodecs
-- Found OpenCV: /opt/intel/openvino_2020.1.023/opencv (found version "4.2.0") found components:  core imgproc
-- Configuring done
CMake Error at gst/elements/CMakeLists.txt:52 (add_library):
Target "elements" links to target "IE::inference_engine_legacy" but the
target was not found.  Perhaps a find_package() call is missing for an
IMPORTED target, or an ALIAS target is missing?
CMake Error at gst/inference_elements/CMakeLists.txt:35 (add_library):
Target "inference_elements" links to target "IE::inference_engine_legacy"
but the target was not found.  Perhaps a find_package() call is missing for
an IMPORTED target, or an ALIAS target is missing?
CMake Error at gst/registrator/CMakeLists.txt:21 (add_library):
Target "gstvideoanalytics" links to target "IE::inference_engine_legacy"
but the target was not found.  Perhaps a find_package() call is missing for
an IMPORTED target, or an ALIAS target is missing?
CMake Error at inference_backend/image_inference/openvino/CMakeLists.txt:23 (add_library):
Target "image_inference_openvino" links to target
"IE::inference_engine_legacy" but the target was not found.  Perhaps a
find_package() call is missing for an IMPORTED target, or an ALIAS target
is missing?
-- Generating done
-- Build files have been written to: /home/tank-18/gva/gst-video-analytics/build

@adranit
I downloaded openvino_2020.1.023, and installed it under /opt/intel/openvino
I am not sure about the IE version.

@brmarkus
I try to build GVA only. Here is the folder structure:
tank-18@tank18:~/gva/gst-video-analytics$ ls
build           docker    inference_backend  python     thirdparty
cmake           docs      intro.gif          README.md  third-party-programs
CMakeLists.txt  gst       LICENSE            samples
CODESTYLE.md    gst-libs  patches            scripts

@kqchen,
Sorry for the late response. I recommend to use the latest version of GVA(v1.1) and OpenVino (2020.4).
The previous version of GVA (v1.0) is compatible with OV2020.3 and OV2020.2. If you need to use OV2020.1 then you should use the appropriate version of GVA - v0.7.
Please find the list of versions here: https://github.com/opencv/gst-video-analytics/releases

Hi @kqchen
Thanks for using our product and help us to improve.
Back to your original question, did your problem resolved by our information?
Mark

I am not pursue this build issue at this point. We can close this issue.


chore(deps): upgrade runtime dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-runtime-dependencies-k8s-27-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 2992

Questions ?
Please refer to the Backport tool documentation


Change WiFi::connectAP() to return outcome.

When we perform a connectAP() we return when either we succeed or fail.  What we need to do is augment the function so that when we return with a failure, we know we are not connected.

Code changes made.  The WiFi::connectAP() now returns true if we succesfully connected and false otherwise.