Plugin fails when SVG files are required

When using this plugin and importing an SVG file for inclusion, rollup fails to build. Removal of the SVG file allows things to build normally again. Please advise.
import MyLogoSVG from '../../assets/images/logo.svg';

The error:
[!] (plugin preserve-directives) SyntaxError: Unexpected token (1:0)
src/assets/images/logo.svg (1:0)
    at Parser.pp$4.raise (/Users/mirigoye/Code/ids/node_modules/rollup/dist/shared/rollup.js:22778:13)
    at Parser.pp$9.unexpected (/Users/mirigoye/Code/ids/node_modules/rollup/dist/shared/rollup.js:19989:8)
    at Parser.pp$5.parseExprAtomDefault (/Users/mirigoye/Code/ids/node_modules/rollup/dist/shared/rollup.js:22149:8)
    at Parser.pp$5.parseExprAtom (/Users/mirigoye/Code/ids/node_modules/rollup/dist/shared/rollup.js:22144:17)
    at Parser.pp$5.parseExprSubscripts (/Users/mirigoye/Code/ids/node_modules/rollup/dist/shared/rollup.js:21928:19)
    at Parser.pp$5.parseMaybeUnary (/Users/mirigoye/Code/ids/node_modules/rollup/dist/shared/rollup.js:21894:17)
    at Parser.pp$5.parseExprOps (/Users/mirigoye/Code/ids/node_modules/rollup/dist/shared/rollup.js:21821:19)
    at Parser.pp$5.parseMaybeConditional (/Users/mirigoye/Code/ids/node_modules/rollup/dist/shared/rollup.js:21804:19)
    at Parser.pp$5.parseMaybeAssign (/Users/mirigoye/Code/ids/node_modules/rollup/dist/shared/rollup.js:21771:19)
    at Parser.pp$5.parseExpression (/Users/mirigoye/Code/ids/node_modules/rollup/dist/shared/rollup.js:21734:19)

Hey! Sorry for being a bit slow to reply, vacation mode. Sometimes errors seem to come from this plugin even though it's not the cause, just because it's the first plugin that parses the code (and it sometimes also swallows some error details). It might be that you need to reorder you plugins a bit to any plugin that handles svg imports comes before this plugin?
Created an issue to track here: https://github.com/Ephem/rollup-plugin-preserve-directives/issues/15

I honestly believe it is this plugin after toying with it for several hours last night. It doesn't matter where in the plugin list it goes, the error is always there and always the same. I was able to get a little more error information to output at one point that I captured here:
  pos: 0,
  loc: Position { line: 1, column: 0 },
  raisedAt: 1,
  code: 'PLUGIN_ERROR',
  plugin: 'preserve-directives',
  hook: 'transform',
  id: '/Users/mirigoye/Code/ids/src/assets/images/logo.svg',

I got to spend some more time with this last night. It turns out, I stupidly was not actually calling the SVGR plugin in the array. So, my apologies for blaming this plugin; you were correct.
I think a definite improvement would be to somehow indicate where the errors are coming from so you don't get so many false reports. Thanks for your work on this!

Sorry for not following up on this, just got back from vacation. I'm glad you found the solution, and thank you for reporting back! 😃


Add mechanism to add subcommands from plugins

Implement a mechanism to provide product-specific subcommands from the
plugin themselves. At the moment, there is only one example of this, the
spec subcommand provided by the openstack plugin. The plugins that add
subcommands must provide a list of functions that take an ArgumentParser
object as argument and add the subpbarser there. This list is collected
when the plugins are loaded and passed to the add_subparser method of
the Parser class to form the complete cli.

Sorry for the simple question, but, every plugin will be a different subparser? Will we still document them individually?

Not every plugin. With this change a plugin may introduce a new subcommand or not. In the case of the openstack plugin we had an option which was a great candidate for a new subcommand (the spec option) but I can imagine plugins that only add arguments for the query subcommands. Wrt documentation, we currently do have a separate page for each subcommand, with the spec one being included inside the openstack plugin, but I'm not sure if that's what you're asking.

Sorry for the simple question, but, every plugin will be a different subparser? Will we still document them individually?

Not every plugin. With this change a plugin may introduce a new subcommand or not. In the case of the openstack plugin we had an option which was a great candidate for a new subcommand (the spec option) but I can imagine plugins that only add arguments for the query subcommands. Wrt documentation, we currently do have a separate page for each subcommand, with the spec one being included inside the openstack plugin, but I'm not sure if that's what you're asking.

That's okay then. It's just to clarify this change. If we specify that some of them would have options in the subcomand then everything is okay.
Once the checks are completed I'll merge it. Thank you, Joan +1.


base64 image

is it possible to load a base64 image?

Not at present. Why do you want to?

thanks for the reply, i am creating a uxp panel for photoshop and i would like to send and receive images in base64

it is possible using the web api's "initimg" property, this is how I deal with image attachments via discord bot https://github.com/ausbitbank/stable-diffusion-discord-bot/blob/main/index.js#L239

I need a bit more information:

Are you saving the base64 image to disk and then using the command-line client?
Do you want to load the image into the Web GUI?
Are you making API calls against the web server backend?

Thanks for clarifying.

hi, I have created an electron panel, which works both independently with one click and am working on a photoshop panel that connects as a client. I would love to be able to write to you on an email, if you like we could collaborate together. I have the same goal as you of making everything free and I'd like to see if that's possible with licensing. sorry for my english.

hello, as I wrote above I have created an electron panel that has the function of server and a panel for photoshop that connects to it. I had thought about sending base 64 images from electron to photoshop. Then I found that the new UXPs don't import base 64 files ... so the image is exported locally and then imported.
the handy thing is that i created an exe to start electron panel, so it can work without any installation. I have little time in this period and I would like to be able to share it with everyone so that we can develop it together if you like the idea. I would have to tweak the code a bit first which is a bit messed up at the moment as I work on it at night after working all day: =).

Gotcha - so you have another solution for the base64 request sounds like?
You may want to hop onto discord and check out this conversation, were work is ongoing to make a portal one-click installer for InvokeAI: https://discord.com/channels/1020123559063990373/1029269452207960064
Discord is also a good place to chat about the project and any ideas.
Are you happy to close this GH issue?

thanks!

No worries, glad InvokeAI is doing some work for you!


Update to<EMAIL_ADDRESS>to support Node 19

This version fixes a bug that would have prevented the rust binary's from being downloaded successfully on Node 19.

PR that fixes the download: https://github.com/matrix-org/matrix-rust-sdk/pull/1164


Enhance S3 bucket to download from any bucket using any role

Description
This change makes the library flexible enough to download anything from any any S3 bucket using any role.
Issues Resolved
List any issues this PR will resolve, e.g. Closes [...].
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #135 (83fc7d7) into main (09ba828) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff            @@
##               main     #135   +/-   ##
=========================================
  Coverage     83.07%   83.07%
  Complexity       24       24
=========================================
  Files            70       70
  Lines           195      195
  Branches         11       11
=========================================
  Hits            162      162
  Misses           25       25
  Partials          8        8

Impacted Files
Coverage Δ

tests/jenkins/jobs/DownloadFromS3_Jenkinsfile
100.00% <ø> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Incorrect host.name for node system/host metrics

Currently when a pod is created, its hostname is the Pod's metadata.name value.

https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
The hostname should not be the collector agent pod name.

This should have been solved @srikanthccv with the latest release that we did.

The problem is with the resourcedetection being system and then sources as os.
We should replace this with the appropriate cloud platform the collector is running on for our usecase.

This is fixed now


Moya request call issue

Moya Version: 11.0.2 by cocoa pods
Hi, I am using RxSwift with Moya/RxMoya,  I found a thing that I can't decide if this is bug :
I have a networking wrapper :
final class NetService {
    fileprivate let networking = Networking<DeiAPI>()
    func req(name:String)->Single<Response> {
        return networking
            .request(.checkUseName(name: name))
            .do(onSuccess: { (r) in
                "1: \(r)".dd()
            }, onError: { (e) in
                "2 \(e)".dd()
            }, onSubscribe: {
                "3".dd()
            }, onSubscribed: {
                "4".dd()
            }).subscribe(onSuccess: { (r) in
                "subscribe r:\(r)".dd()
            })
    }
  }

//the dd() is a String extension method for printing thing in console.

// so if I do this is viewDidLoad:

NetService().req("Jim") // this doesn't send network request.

// but if I do this :

let netService = NetService()
netService.req("Jim") // this shows up the , 3,4,1,2 in the console, means the network request has sent.

I really wonder this behavior and would like to ask the help if
someone could point me out of this, what I think with 'let' it can keep alive the variable,
but in fact, once the scope exits viewDidLoad, neither those variables keep alive anymore.
or this is some bug that I am noticing it ?

@QiProject This looks like expected behavior to me, you need to retain your NetService object which causes your MoyaProvider to be retained as well.
By using NetService().req("Jim") your provider is deallocated immediately

This is what lack of my knowledge, thanks to point it me out !


riscv64: Initial SIMD Vector Implementation

👋 Hey,
This is the initial PR for implementing SIMD types with RISC-V Vectors, as described in #6118.
This PR implements only iadd,load,store for SIMD types, the minimum required to get an iadd runtest working.
We currently only support 128bit SIMD types, but It's really easy to change that to 64bit or 32bit or any other width SIMD types as long as they fit in a single register, so I'm also planning on doing that in a future PR.
I didn't include any calling conventions changes, so we have a non standard calling convention for now. The RISC-V Calling Convention passes everything via stack and does not use vector registers to pass arguments. We've inherited the Floating Point part of the calling convention, so we are passing arguments in vector registers. I didn't want to make the initial PR too large, so I decided to make that part of a future PR.
QEMU's register size is set to 256 bits to avoid accidentally depending on 128b vector registers in the future.
None of the vector instructions are recognized by capstone so they show up as .byte directives. I've been manually checking these against llvm-objdump.

Out of curiosity, @afonso360 do you have a planned reviewer or set-of-reviewers for the SIMD support for RISC-V?

Not really, I didn't have anyone in mind. So if anyone would like to volunteer it would be appreciated! Otherwise I'll merge this later today / tomorrow.

🎉


laravel 5.4 composer 失败

我用的环境
PHP 版本：5.6 (用的docker里面是7.0)
overtrue/wechat 版本：4.0
laravel 5.4
问题及现象
composer require "overtrue/wechat:~4.0" -vvv
描述你的问题现象，报错贴截图粘贴或者贴具体信息，提供必要的代码段
Reading /Users/yibo/.composer/cache/repo/https---packagist.org/provider-kodova$hamcrest-php.json from cache
Resolving dependencies through SAT
Dependency resolution completed in 0.117 seconds
Reading /Users/yibo/.composer/cache/repo/https---packagist.org/provider-overtrue$wechat.json from cache
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - The requested package overtrue/wechat ~4.0 is satisfiable by overtrue/wechat[4.0.0-alpha.2, 4.0.0-alpha1, 4.0.0-beta.1] but these conflict with your requirements or minimum-stability.

Installation failed, reverting ./composer.json to its original content.

4.0 还没有发布。。。


Parenthesized expression formatting

Consider the following code
type Foo() =
    let bar = (Some 42, "abc")
    member x.Baz = (fst bar).Value

When formatting this (using Ctrl-K Ctrl-D, for instance), the space in the parenthesized expression gets stripped. I.e. the result of formatting is
type Foo() =
    let bar = (Some 42, "abc")
    member x.Baz = (fstbar).Value

I think I have fixed it on master recently. Could you please check https://ci.appveyor.com/project/dungpa/visualfsharppowertools/build/artifacts?

It appears to be working! Thanks.:)


fix erroneous infos about DR in show neighbors/interfaces

Description of problem
Pimctl can show wrong information about the DR identity for a given subnet. (in both sh neighbors and sh interfaces).
If it is not itself, Pimd does not care about who is the DR but yet the information can be misleading. So even though the patch is mostly in pimd, it really just fixes info displayed by pimctl.
Solution
Fixing algorithm for electing the DR.
Fixing display bug in the neihgbor table.
Tests
Mounted a multicast network with 3 routers in parallel, with especially:

Router
IP
Prio

1
<IP_ADDRESS>
5030

2
<IP_ADDRESS>
5020

3
<IP_ADDRESS>
5010

Before :
_______________________________________________________________________________
PIM Interface Table
===============================================================================
Interface         State     Address          Nbr  Hello  Prio  DR Address
===============================================================================
vtnet1            Up        <IP_ADDRESS>     2      5  5030  <IP_ADDRESS>
vtnet2            Up        <IP_ADDRESS>     2      5     1  <IP_ADDRESS>

===============================================================================
vtnet1            Up        <IP_ADDRESS>     2      5  5010  <IP_ADDRESS>
vtnet2            Up        <IP_ADDRESS>     2      5     1  <IP_ADDRESS>

===============================================================================
vtnet1            Up        <IP_ADDRESS>     2      5  5020  <IP_ADDRESS>
vtnet2            Up        <IP_ADDRESS>     2      5     1  <IP_ADDRESS>

After:
_______________________________________________________________________________
PIM Interface Table
===============================================================================
Interface         State     Address          Nbr  Hello  Prio  DR Address
===============================================================================
vtnet1            Up        <IP_ADDRESS>     2      5  5030  <IP_ADDRESS>
vtnet2            Up        <IP_ADDRESS>     2      5     1  <IP_ADDRESS>

===============================================================================
vtnet1            Up        <IP_ADDRESS>     2      5  5030  <IP_ADDRESS>
vtnet2            Up        <IP_ADDRESS>     2      5     1  <IP_ADDRESS>

===============================================================================
vtnet1            Up        <IP_ADDRESS>     2      5  5030  <IP_ADDRESS>
vtnet2            Up        <IP_ADDRESS>     2      5     1  <IP_ADDRESS>

Fixing output of pimctl sh neighbors :

Before:
_______________________________________________________________________________
PIM Neighbor Table
===============================================================================
Interface         Address          Prio  Mode  Uptime/Expires
===============================================================================
vtnet1            <IP_ADDRESS>   5010  0h1m7s  0h1m7s/0h0m12s
vtnet1            <IP_ADDRESS>   5020  0h1m7s  0h1m7s/0h0m17s
vtnet2            <IP_ADDRESS>      1  DR    0h1m7s/0h0m17s
vtnet2            <IP_ADDRESS>      1  0h1m7s  0h1m7s/0h0m17s

After:
_______________________________________________________________________________
PIM Neighbor Table
===============================================================================
Interface         Address          Prio  Mode  Uptime/Expires
===============================================================================
vtnet1            <IP_ADDRESS>   5010        0h0m1s/0h0m17s
vtnet1            <IP_ADDRESS>   5020        0h0m1s/0h0m17s
vtnet2            <IP_ADDRESS>      1  DR    0h0m1s/0h0m17s
vtnet2            <IP_ADDRESS>      1        0h0m1s/0h0m17s

Wow, awesome work on this! :100::+1:
There are only some minor whitespace/coding style issues, but I'll fix them up myself when I merge this later tonight.


[Bug] discard redundant parameters

discard redundant parameters for function polar_apply_io_locked_page.

@PeiTingWei Please remove this commit in your PR, because the stable branch has already contained this commit.

@PeiTingWei Our workflow is: merge your PR into POLARDB_11_DEV, and then merge POLARDB_11_DEV into POLARDB_11_STABLE. Since POLARDB_11_STABLE has already contained this commit, turns out we will have two same commit on POLARDB_11_STABLE.


python312Packages.pyqt6-charts: 6.7.0 -> 6.8.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python312Packages.pyqt6-charts is: Python bindings for Qt6 QtCharts
meta.homepage for python312Packages.pyqt6-charts is: https://riverbankcomputing.com/
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 6.8.0 with grep in /nix/store/idhf41d87iijb7zbr0cmy4jpg5zn7myb-python3.12-pyqt6-charts-6.8.0
found 6.8.0 in filename of file in /nix/store/idhf41d87iijb7zbr0cmy4jpg5zn7myb-python3.12-pyqt6-charts-6.8.0

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

4 package rebuild(s)

First fifty rebuilds by attrpath

hydrus
python311Packages.pyqt6-charts
python312Packages.pyqt6-charts

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/idhf41d87iijb7zbr0cmy4jpg5zn7myb-python3.12-pyqt6-charts-6.8.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python312Packages.pyqt6-charts https://github.com/r-ryantm/nixpkgs/archive/86bfba76c76a07352d3cd5ae32c08b8ce7dac750.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/86bfba76c76a07352d3cd5ae32c08b8ce7dac750#python312Packages.pyqt6-charts

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/idhf41d87iijb7zbr0cmy4jpg5zn7myb-python3.12-pyqt6-charts-6.8.0
ls -la /nix/store/idhf41d87iijb7zbr0cmy4jpg5zn7myb-python3.12-pyqt6-charts-6.8.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 6 packages built:

hydrus
hydrus.doc
python311Packages.pyqt6-charts
python311Packages.pyqt6-charts.dist
python312Packages.pyqt6-charts
python312Packages.pyqt6-charts.dist

Maintainer pings
cc @dali99 for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

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

Part of https://github.com/NixOS/nixpkgs/pull/364735


Add README under docs folder

to make each doc's function clear to people and quickly retrieve the one wanted.

Fixed by #2189.


LibWeb: Restrict abspos grid item placement to stay in grid

As per the spec, abspos grid items don't contribute to the grid sizing, even implicitly. However we were blindly using whatever positioning values the resolve_grid_position() gave us. This was causing crashes when we tried to layout an abspos grid item that specified a grid position outside the grid (like grid-column: 5 in a grid with 2 columns).
This fixes all remaining WPT crashes in /css/css-grid/abspos, and a couple in other parts of the /css/css-grid suite! :^)

cc @kalenikaliaksandr


Deploy the application on Vercel

Completed here: https://github.com/Ayush-Kaushik/calculator/commit/091a641d4e3401e1cb9a06ad00d9dc001b70eb46


“fbconnect” links are blocked

🐛 Bug Report
Attempting to log in via Facebook with Android shows a browser error:
“fbconnect” links are blocked
The webpage at fbconnect://cct.com.APP.VARIANT#LONG_URL_WITH_DEFAULT_SCOPES
(fbconnect://cct.com.APP.VARIANT#LONG_URL_WITH_DEFAULT_SCOPES) might be temporarily down or it may have moved permanently to a new web address.

ERR_UNKNOWN_URL_SCHEME

To Reproduce

Expected Behavior

Code Example

Environment
System:
    OS: Linux 5.4 Ubuntu 18.04.6 LTS (Bionic Beaver)
    CPU: (16) x64 AMD Ryzen 7 2700X Eight-Core Processor
    Memory: 11.03 GB / 31.37 GB
    Shell: 5.4.2 - /usr/bin/zsh
  Binaries:
    Node: 16.10.0 - ~/.nvm/versions/node/v16.10.0/bin/node
    Yarn: 1.22.19 - /usr/bin/yarn
    npm: 7.24.0 - ~/.nvm/versions/node/v16.10.0/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  SDKs:
    Android SDK: Not Found
  IDEs:
    Android Studio: Not Found
  Languages:
    Java: 1.8.0_312 - /usr/bin/javac
  npmPackages:
    @react-native-community/cli: Not Found
    react: 17.0.2 => 17.0.2
    react-native: 0.66.4 => 0.66.4
  npmGlobalPackages:
    *react-native*: Not Found

I understand this is not an ideal bug report but I found no similar issues anywhere, including StackOverflow. That, and the behavior is bizarre.
If I take that link and copy it in a browser window, everything works correctly. The client is navigated back to the app and the user is logged in. My understanding of this package is too limited to know why links using the fbconnect protocol would be blocked when requested from the embedded browser, and not when copied directly into the browser itself.

I actually had these set previously, but there's a bit of a disconnect depending on which setup instructions you follow. If you use their Getting Started Guide, it documents changes to the AndroidManifest.xml and strings.xml of course, but only for the App ID and Client Token. If you use their Quickstart Guide (accessible from the app portal itself), it includes additional changes, like defining and setting the protocol scheme you mentioned above as well as a few other changes to the AndroidManifest.xml.
That said, I did test this with the protocol scheme set. I used just the App ID, like you have above, and it seems to fallback on fbconnect regardless. If I do what Facebook quickstart instructions suggest and preface the App ID with fb, or fb1523458767976650 in your example above, it uses that as the protocol scheme but runs into the same "links are blocked" issue.
I don't want to mire this issue in something that seems like it's directly related to my configuration, but I am fairly sure what I've done is standard. Either way, I appreciate your quick response!

Does our example app work for you?
If so, you might look at how it's integrated, we actually build the example from a script, it's automated with comments showing how an integration is supposed to go

Ran the example app - same issue.

that is....most unexpected. Thanks for reporting, I'm checking. If the example actually broke then I dunno :thinking:
If it just broke in your environment but works in mine then...still :thinking: !

Makes me think something is wrong with the configuration of my Facebook app, since that's the only thing that is the same between running my app and this example app. I don't think I changed anything there to cause this issue, but it might be worth running the example app with a completely fresh Facebook app.

I think this will work, it just worked for me:
git clone git@github.com:thebergamo/react-native-fbsdk-next
cd react-native-fbsdk-next
yarn
yarn example:devcopy  # <--- this bit here is different
yarn example:install
yarn example:start
yarn example:android

I lean towards something wrong with your facebook app config in the facebook developer console too though
I also just did a production release of one of my apps yesterday/today and just re-tested it with a logout/login cycle on my phone (which has facebook app installed, the emulators I test on usually do not) and that worked. So I can't reproduce this, sorry.

No luck unfortunately. I will mess around with the config in the FB developer console and see if I can isolate the issue. I appreciate the help!

@julien9999 currently no reproduction, no root cause, so no solution. Worth noting that if you post no details of your software versions and execution environment, no one can even begin to use your report as information to find commonalities and (ideally) determine root cause https://stackoverflow.com/help/how-to-ask


Why does helm use the mutable docker build label of canary rather then latest?

This is a general question about Helm.  While looking over the Makefile in Helm I noticed it uses the mutable docker build label of canary, rather then latest.  Why is that?  Why do you use canary rather then a more standard label like latest?

My best guess is that there are assumptions around latest that makes it confusing, such that it actually not latest at all time but latest at a given point in time.

Thank you.


Add Alert in Guestbook 🚨

It must be a MUI Snackbar.
Helping Hands: https://mui.com/material-ui/react-snackbar/

could you tell me the event after which snackbar's notification should appear


Remove app/presenters from autoload_paths since it's already there

@eclarizio @brandondunne Please review.

:+1:

:+1: LGTM


Update smoke_alarm.py

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.484%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
6733

Relevant Lines:
8065

💛  - Coveralls

Codecov Report
Base: 83.48% // Head: 83.48% // No change to project coverage :thumbsup:

Coverage data is based on head (692a4e8) compared to base (7788036).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@           Coverage Diff           @@
##              dev    #2063   +/-   ##
=======================================
  Coverage   83.48%   83.48%
=======================================
  Files         249      249
  Lines        8065     8065
=======================================
  Hits         6733     6733
  Misses       1332     1332

Impacted Files
Coverage Δ

zhaquirks/develco/smoke_alarm.py
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Duplicate of #2062

#2062 has already been closed.
Reopening this one


Add basic auth security handler

This does the following:

adds pytest as a dev dep
adds code for the basic_auth handler
adds supporting unit tests

Youch. From Vercel:
[14:42:53.368] Running build in Washington, D.C., USA (East) – iad1
[14:42:53.823] Cloning github.com/benjaminwoods/derek-connexion (Branch: feature/basic_auth, Commit: 6f721f3)
[14:42:54.124] Cloning completed: 299.911ms
[14:42:54.143] Found .vercelignore
[14:42:54.146] Removed 9 ignored files defined in .vercelignore
[14:42:54.349] Restored build cache
[14:42:54.428] Running "vercel build"
[14:42:54.926] Vercel CLI 33.0.1
[14:42:55.528] Installing required dependencies...
[14:43:00.291] Failed to run "pip3.9 install --disable-pip-version-check --target . --upgrade -r /vercel/path0/requirements.txt"
[14:43:00.292] Error: Command failed: pip3.9 install --disable-pip-version-check --target . --upgrade -r /vercel/path0/requirements.txt
[14:43:00.292]   error: subprocess-exited-with-error
[14:43:00.292]
[14:43:00.293]   × Getting requirements to build wheel did not run successfully.
[14:43:00.293]   │ exit code: 1
[14:43:00.293]   ╰─> [21 lines of output]
[14:43:00.293]       running egg_info
[14:43:00.293]       writing psycopg2.egg-info/PKG-INFO
[14:43:00.293]       writing dependency_links to psycopg2.egg-info/dependency_links.txt
[14:43:00.294]       writing top-level names to psycopg2.egg-info/top_level.txt
[14:43:00.294]
[14:43:00.294]       Error: pg_config executable not found.
[14:43:00.294]
[14:43:00.294]       pg_config is required to build psycopg2 from source.  Please add the directory
[14:43:00.294]       containing pg_config to the $PATH or specify the full executable path with the
[14:43:00.294]       option:
[14:43:00.294]
[14:43:00.294]           python setup.py build_ext --pg-config /path/to/pg_config build ...
[14:43:00.294]
[14:43:00.294]       or with the pg_config option in 'setup.cfg'.
[14:43:00.294]
[14:43:00.295]       If you prefer to avoid building psycopg2 from source, please install the PyPI
[14:43:00.295]       'psycopg2-binary' package instead.
[14:43:00.295]
[14:43:00.295]       For further information please check the 'doc/src/install.rst' file (also at
[14:43:00.295]       <https://www.psycopg.org/docs/install.html>).
[14:43:00.296]
[14:43:00.296]       [end of output]
[14:43:00.296]
[14:43:00.296]   note: This error originates from a subprocess, and is likely not a problem with pip.
[14:43:00.296] error: subprocess-exited-with-error
[14:43:00.296]
[14:43:00.297] × Getting requirements to build wheel did not run successfully.
[14:43:00.297] │ exit code: 1
[14:43:00.297] ╰─> See above for output.
[14:43:00.297]

Looks like a patch to the reqs is required. I'll do this now...

All working for me in the preview environment. I'm connecting to one database for prod, preview, and development for now -- I will patch this tonight/tomorrow.
I'm getting 200 back when authenticating via Swagger UI. I created a user for myself manually in a Supabase DB -- I used alembic to upgrade the DB to head, then added a user row manually. I built the user per what is expected by the auth.
Next step will be to add groups into the user identity, and then to scope access based on that. That should then allow for user administration via a set of endpoints.


turtlebot OpenCR + Jetson Nano Configuration - Dynamixel XM430 not spinnning

I swapped out the Raspberry Pi in the turtlebot for a Jetson Nano and followed the OpenCR setup steps outlined here: https://emanual.robotis.com/docs/en/platform/turtlebot3/opencr_setup/
I was able to upload the firmware successfully to the OpenCR (from both the Jetson and from my PC using the Arduino IDE). However, when I pressed the switches for the OpenCR test to observe if the Dynamixel motors were spinning upon pressing the switch buttons, they didn’t spin at all.
I then did the Dynamixel setup for the OpenCR (https://emanual.robotis.com/docs/en/platform/turtlebot3/faq/#setup-dynamixels-for-turtlebot3) and the motors spinned when I uploaded the test motor code to the board using the arduino IDE from my PC. I then uploaded the turtlebot3_core to my board and connected the OpenCR to my Jetson. However, the motors still didn’t spin after I pressed the buttons (the buttons are functional as I did another test using the IDE from the PC). I am not sure how to rectify this, and I could do with some help

Hi @PraveenElango
If you have uploaded ROS2 Arduino example on OpenCR via Arduino IDE, it may not work correctly as there are some issues with the current source code.
Please try uploading the ROS2 OpenCR firmware with the script described in the eManual
https://emanual.robotis.com/docs/en/platform/turtlebot3/opencr_setup/#opencr-setup-4
Thank you.

Hi @ROBOTIS-Will , thanks for getting back! I am using ROS Melodic on the Jetson and I did upload the ROS1 OpenCR firmware with the script described in the eManual on the OpenCR. The command line did return a successful firmware upload, but when I tried pressing the buttons for the OpenCR test, the Dynamixels didn't spin.

@PraveenElango
When testing the DYNAMIXEL with uploaded firmware, you may need to press the button a bit longer, like 2~3 seconds.
A brief click of the button won't activate the testing process.
Thanks.

@ROBOTIS-Will You're right, it works now! Thanks for the help :)

Hi, if uploading the firmware using Arduino IDE would not work since there are issues with the source code, how would I be able to upload the turtlebot3_core (https://github.com/ROBOTIS-GIT/OpenCR/blob/master/arduino/opencr_arduino/opencr/libraries/turtlebot3/examples/turtlebot3_burger/turtlebot3_core/turtlebot3_core.ino)  on the OpenCR for a ROS implementation?

@PraveenElango
Please refer to the eManual below.
Make sure to select the correct ROS version at the top of the page.
https://emanual.robotis.com/docs/en/platform/turtlebot3/opencr_setup/#opencr-setup

@ROBOTIS-Will Apologies for the late reply, and thanks for the help - it works now! One more question out of sheer curiosity - if I wanted to include custom ROS publishers and subscribers, would it be possible for me to do this by editing the firmware files like waffle.opencr? If I am still using ROS1, is using the Arduino IDE to upload the firmware on the OpenCR still an option? Thanks!

Hi @PraveenElango
No worries.
Yes, ROS1 OpenCR firmware can be uploaded via Arduino IDE.
In case you need to attach additional sensors to OpenCR, you may revise the firmware and upload it to OpenCR.
Thanks!

Great, thank you!


load-aware: role to launch load-aware scale test corresponding to Poisson distribution

This adds the role to launch load-aware scale tests according to a few different statistical distributions, specifically the Poisson. Options for gamma, uniform, normal, and a bimodal distributions are also included.
Currently this only launches test pods. The next step will be adding a real workload to the scale test.

fixed typo causing fail -> log

/test load-aware-light small_poisson_load

/test load-aware-light small_poisson_load

The visualization parser hasn't been able to find the relevant artifacts that provide data for the default plots. This last commit should fix the last artifact that it couldn't find.
parser log

/test load-aware-light small_poisson_load

plots are generating
test passed.
@kpouget Should be good to merge!

/test load-aware-light

tests passed
plots generated
@kpouget Fixed the default configuration issue. Should be good to merge now. I also fixed the defaults for the deploy_trimaran role as well since it suffered from the same issue.

thanks @drewrip , I rebase and merge


error when visiting localhost/pw/graphiql

i solved it, i just changed "$ProcessGraphQL->GraphQLServerUrl = '/graphql/';" To "$ProcessGraphQL->GraphQLServerUrl = '/pw-kit/graphql/';


Update Composer dependencies (2023-12-08-00-08)

Visual regression test passed!
View the visual regression test report


Footer on Docs page of website intersects sidebar on the left

When you scroll down to the bottom of the Docs page on the sButtons website, the footer intersects the sidebar list on the left.

One solution could be to change the height of the sidebar which would initiate the scroll feature since the list is so long (scroll feature similar to the sidebar on the Examples page).

Thank you @kcbelford . Would you like to work on it?

@shahednasser yes I would love to work on this. Thank you!

Great @kcbelford I've assigned you

Hello, I have a question, I am new to open source, to work on an issue do we need to get assigned or something?

Hello, I have a question, I am new to open source, to work on an issue do we need to get assigned or something?

Hi @WeryZebra-Yue,
Yes you need to be assigned to an issue. You can decide to create one, or pick anyone that is available.

Thanks, @Caleb335 for information


Removed CHANGE_ROUTE_* from docs.

Exchanged CHANGE_ROUTE_* for NAVIGATE_* in the API reference notes.
Issue #26.

Thank you for submitting this pull request, however I do not see a valid CLA on file for you. Before we can merge this request please visit https://yahoocla.herokuapp.com/ and agree to the terms. Thanks! :smile:

Coverage remained the same at 99.43% when pulling ae2d43f766a6e9d8642e5c57c77249839aee4d3e on mjurczyk:issue/26 into caab18457f321312498ef41ca8b33ee0c559a9c9 on yahoo:master.

Thanks @mjurczyk! We just need you to sign the CLA and we'll get this merged.

:>

Thanks!


PDI-19665 Hadoop Copy Files exposes password from Hadoop Cluster in c…

…lear-text on destination URL

:white_check_mark: Build finished in 57m 42s
Build command:
mvn clean verify -B -e -Daudit -amd -pl core,engine

:ok_hand: All tests passed!
Tests run: 5266, Failures: 0, Skipped: 14    Test Results

:information_source:  This is an automatic message


[Bug]: Profitwell doesn't load during development

What happened?
I'm not 100% sure if this is intended or not, but we wanted to get Retain setup and use the retain cancelation flow. However we're having a really hard time testing this as profitwell.js doesn't seem to be injected/loaded when in development mode at all. This means that both the initCancelationFlow and the Retain.demo functions simply error out. If I manually replace our token and pwCustomer in the initialization with production values however it does load, and I am able to use the demo and cancelation flow.
I do want to note that we use wildcard localhost domains for local development, so in this situation our dashboard is on ak.localhost when in development mode if this might have anything to do with this.
However if this is intended, is there any way to "correctly" test profitwell/retain features while in development mode?
I've also noticed that even on our staging domain, the profitwell script won't be loaded unless a pwCustomer ID is passed on the first call to initializePaddle, even though from my understanding the docs say to pass an empty pwCustomer object for any customer that is not signed in(which I would expect to load the profitwell/retain script)
Steps to reproduce

Initialize paddle via npm or script
Try to run any retain function

...
What did you expect to happen?
No response
How are you integrating?
Tried @paddle/paddle-js as well as the paddle script

Hi @ACPixel,
This is intentional as Retain internally uses data from the production environment. Unfortunately testing it with Sandbox data is not possible at the moment.
Please read through our testing guide to see if it helps.

I've also noticed that even on our staging domain, the profitwell script won't be loaded unless a pwCustomer ID is passed on the first call to initializePaddle, even though from my understanding the docs say to pass an empty pwCustomer object for any customer that is not signed in(which I would expect to load the profitwell/retain script)

We do not use pwCustomer to determine if the retain script should be injected. It relies only on the environment to be production and a valid token or pwAuth  is passed to Paddle.Setup function


Incorrect Import Statement

Describe the bug
The file 'document_report_source.py' includes the following: "from gpt_researcher.master.agent import GPTResearcher".
This should be "from gpt_researcher import GPTResearcher"
To Reproduce
Steps to reproduce the behavior:

Go to '/gpt_researcher/'
Confirm no master.agent folders

GPTResearcher class is found in /gpt_researcher/agent.py.

Thanks @JustlyAI just pushed a fix for this.


Favourites not showing with illuminated favourite icon

Describe the bug
The favourite icon is shown in its non-illuminated state even when a model is in the user's favourite list.
To Reproduce
Add an item to the favourite list
Expected behavior
The favourite "star" is expected to be illuminated (Golden) for a model in the favourite list
Screenshots

This issue now has a fix waiting for review. Alongside this, I have also updated the interactivity of the favourites change events, for example if adding/removing a favourite then the tree view and favourites list will update automatically to show the new state.


xSQLServer: Update Pester syntax to v4

Pull Request (PR) description
Update Pester flag syntax to v4
This Pull Request (PR) fixes the following issues:
Resolves #863
Task list:

[X] Change details added to Unreleased section of CHANGELOG.md?
[X] Added/updated documentation, comment-based help and descriptions in .schema.mof files where appropriate?
[X] Examples appropriately updated?
[X] New/changed code adheres to Style Guidelines?
[X] Unit and (optional) Integration tests created/updated where possible?

This change is

Codecov Report

Merging #888 into dev will decrease coverage by <1%.
The diff coverage is n/a.

@@         Coverage Diff         @@
##            dev   #888   +/-   ##
===================================
- Coverage    96%    96%   -1%
===================================
  Files        31     31
  Lines      3430   3430
===================================
- Hits       3311   3304    -7
- Misses      119    126    +7

@mnewswanger There are some failing tests in the AppVeyor run. Please see https://ci.appveyor.com/project/PowerShell/xsqlserver/build/6.0.1685.0#L3098
Not sure what the problem is. But one issue could be that it looks like that the string is formatted wrong and this new Pester syntax handles this correctly (by throwing). This has nothing to do with your change, but we need to solve this for me to be able to merge your changes.
See line 131:
'Got unexpected result from Get-TargetResource. No change is made. InnerException: Endpoint 'DefaultEndpointMirror' does not exist'

maybe see if escaping the single quotes around 'DefaultEndpointMirror' will solve the problem?
'Got unexpected result from Get-TargetResource. No change is made. InnerException: Endpoint ''DefaultEndpointMirror'' does not exist'

Let me know if you need any help with this one.

@mnewswanger Btw awesome work fixing all of these! Thanks a lot! 😄

These are resolved with proper variable escapes

@mnewswanger Awesome that you solved it. Thanks! Will review!

Some review comments of old typos (in existing code). Sorry for repeating the same comment. But it's just for me to be able to find it again :)

Reviewed 31 of 34 files at r1, 3 of 3 files at r2.
Review status: all files reviewed at latest revision, 16 unresolved discussions.

Tests/Unit/MSFT_xSQLServerAlwaysOnService.Tests.ps1, line 223 at r2 (raw file):

-be

Could you please change this to -Be.

Tests/Unit/MSFT_xSQLServerAlwaysOnService.Tests.ps1, line 235 at r2 (raw file):

-be

Could you please change this to -Be.

Tests/Unit/MSFT_xSQLServerConfiguration.Tests.ps1, line 199 at r2 (raw file):

-be

Could you please change this to -Be.

Tests/Unit/MSFT_xSQLServerConfiguration.Tests.ps1, line 203 at r2 (raw file):

-be

Could you please change this to -Be.

Tests/Unit/MSFT_xSQLServerReplication.Tests.ps1, line 41 at r2 (raw file):

-be

Could you please change this to -Be.

Tests/Unit/MSFT_xSQLServerReplication.Tests.ps1, line 57 at r2 (raw file):

-be

Could you please change this to -Be.

Tests/Unit/MSFT_xSQLServerReplication.Tests.ps1, line 61 at r2 (raw file):

-be

Could you please change this to -Be.

Tests/Unit/MSFT_xSQLServerReplication.Tests.ps1, line 157 at r2 (raw file):

-be

Could you please change this to -Be.

Tests/Unit/MSFT_xSQLServerReplication.Tests.ps1, line 288 at r2 (raw file):

-be

Could you please change this to -Be.

Tests/Unit/MSFT_xSQLServerReplication.Tests.ps1, line 421 at r2 (raw file):

-be

Could you please change this to -Be.

Tests/Unit/MSFT_xSQLServerReplication.Tests.ps1, line 549 at r2 (raw file):

-be

Could you please change this to -Be.

Tests/Unit/MSFT_xSQLServerReplication.Tests.ps1, line 676 at r2 (raw file):

-be

Could you please change this to -Be.

Tests/Unit/MSFT_xSQLServerReplication.Tests.ps1, line 806 at r2 (raw file):

-be

Could you please change this to -Be.

Tests/Unit/MSFT_xSQLServerReplication.Tests.ps1, line 934 at r2 (raw file):

-be

Could you please change this to -Be.

Tests/Unit/xSQLServerHelper.Tests.ps1, line 1507 at r2 (raw file):

-throw

Could you please change this to -Throw.

Tests/Unit/xSQLServerHelper.Tests.ps1, line 1511 at r2 (raw file):

-throw

Could you please change this to -Throw.

Comments from Reviewable

Review status: 29 of 34 files reviewed at latest revision, 16 unresolved discussions.

Tests/Unit/MSFT_xSQLServerAlwaysOnService.Tests.ps1, line 223 at r2 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

-be

Could you please change this to -Be.

Done.

Tests/Unit/MSFT_xSQLServerAlwaysOnService.Tests.ps1, line 235 at r2 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

-be

Could you please change this to -Be.

Done.

Tests/Unit/MSFT_xSQLServerConfiguration.Tests.ps1, line 199 at r2 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

-be

Could you please change this to -Be.

Done.

Tests/Unit/MSFT_xSQLServerConfiguration.Tests.ps1, line 203 at r2 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

-be

Could you please change this to -Be.

Done.

Tests/Unit/MSFT_xSQLServerReplication.Tests.ps1, line 41 at r2 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

-be

Could you please change this to -Be.

Done.

Tests/Unit/MSFT_xSQLServerReplication.Tests.ps1, line 57 at r2 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

-be

Could you please change this to -Be.

Done.

Tests/Unit/MSFT_xSQLServerReplication.Tests.ps1, line 61 at r2 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

-be

Could you please change this to -Be.

Done.

Tests/Unit/MSFT_xSQLServerReplication.Tests.ps1, line 157 at r2 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

-be

Could you please change this to -Be.

Done.

Tests/Unit/MSFT_xSQLServerReplication.Tests.ps1, line 288 at r2 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

-be

Could you please change this to -Be.

Done.

Tests/Unit/MSFT_xSQLServerReplication.Tests.ps1, line 421 at r2 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

-be

Could you please change this to -Be.

Done.

Tests/Unit/MSFT_xSQLServerReplication.Tests.ps1, line 549 at r2 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

-be

Could you please change this to -Be.

Done.

Tests/Unit/MSFT_xSQLServerReplication.Tests.ps1, line 676 at r2 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

-be

Could you please change this to -Be.

Done.

Tests/Unit/MSFT_xSQLServerReplication.Tests.ps1, line 806 at r2 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

-be

Could you please change this to -Be.

Done.

Tests/Unit/MSFT_xSQLServerReplication.Tests.ps1, line 934 at r2 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

-be

Could you please change this to -Be.

Done.

Tests/Unit/xSQLServerHelper.Tests.ps1, line 1507 at r2 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

-throw

Could you please change this to -Throw.

Done.

Tests/Unit/xSQLServerHelper.Tests.ps1, line 1511 at r2 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

-throw

Could you please change this to -Throw.

Done.

Comments from Reviewable

Reviewed 5 of 5 files at r3.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Ah, was to quick there. Just one more comment, then we are done. Saw it when I was about to merge.

Review status: all files reviewed at latest revision, 1 unresolved discussion, all commit checks successful.

CHANGELOG.md, line 6 at r3 (raw file):

- Changes to xSQLServer
  - Updated Pester command flags to v4

I missed this one. :/
Could we change this to Update Pester syntax to v4. as well (as you did in the xFailOverCluster  module).

Comments from Reviewable

Review status: 33 of 34 files reviewed at latest revision, 1 unresolved discussion.

CHANGELOG.md, line 6 at r3 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
I missed this one. :/
Could we change this to Update Pester syntax to v4. as well (as you did in the xFailOverCluster  module).

Done.

Comments from Reviewable

Reviewed 1 of 1 files at r4.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


HHH-11267 + HHH-11268 Infinispan testsuite failures

https://hibernate.atlassian.net/browse/HHH-11267
https://hibernate.atlassian.net/browse/HHH-11268

merged!
I changed the title of HHH-11268, as I had previously already merged another similar fix to disambiguate them.
thanks


spring-boot-jx to v0.0.2

Promote spring-boot-jx to version v0.0.2

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@abd6982: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

promotion-build
aa2698de6367bcb1e88145ac9ced66e9993f3c5b
link
/test this

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


Axes review

For future (maybe far future) reference, I am reviewing some elements, properties of axes with examples. @mkborregaard
Axes can be realised as special margins or be displayed in the plot.
Elements of an axis

Axis location (at one of the margins or within the plot)
Axis lines
(Axis) arrows with arrowhead
Axis label, attached to or detached from arrow-head, e.g. measured quantity and unit
Major and minor tick marks with tick direction and length
Major and minor tick labels
Axis limits and transformation (log)

Related objects

Grids (or in ggplot style a grid as negative space)
Other typical margins are color bars in heatmaps, facet labels and histogram margins.

Axes, multiple plots and facets
Multiple plots can have different axes, these can be at different margins or at the same margin side by side.
Axes between facets can be aligned, and actually shared. Finally, unrelated axis of different facets can share design elements like
location and label font size.
Examples
Axis within the picture, with axis labels at arrow heads and outside ticks.

Axis with major tick marks corresponding to negative space in grid, no axis arrow.

Histogram or density margins

Two axes, left and right, two axes on same side

An example for facets with y axis shared, x axes not aligned.

Mirrored axis sharing

Independent axes of same length, aligned, with same label font size

Great review, thanks! So it covers most things I'd thought of too, multiple axes, major/minor ticks, arrowheads, axis name location, linking and scaling.
Three details I view slightly differently: I don't see a colorbar as an axis but as a legend element. And I don't see the histograms as axes but as a different subscene with (in this case) no frames and linked axis to the main plot. And I don't see ggplot2 gridlines as empty space, but white lines on grey background.
In addition I'd add a distinction between frame and axis lines (your first image shows axis lines [with arrows], in the others the ticks lie on the frame; and it's possible to have both at the same time.)
E.g.

Thanks a lot, that's an amazing overview :) Let's turn this into a documentation page and try to implement those one by one!!

I think that a nice Makie-an solution would be to have attributes for all of these under Axis for fine-grained control, but then define Axis Themes to be merged with the overall Theme that can specify attribute combinations with a single symbol?

My proposal for multiple axes :

Function multiaxes :
Could be renamed, improved and integrated into Makie
"""
```
function multiaxes(n::Int=3, fig::Figure=Figure();
        ylabels=["Axis \$i" for i in 1:6],
        positions=[:left, :right, :right, :left, :right, :left],
        colors=Makie.current_default_theme().palette.color.val,
        ytickpositions=[:right, :left, :left, :right, :left, :right])
```

Generates `n` axes for the same figure `f` with defined `ylabels`
Axes `positions` are either `:left` or `:right`
Axes `colors` are supplied as a list of valid colors e.g. `[:blue, :red]`
Positions of y ticks are defined int `ytockpositions` vector

Returns a vector of `n+m` generated axes
    Axes `1` to `n` for plotting the graphs, these axes are x-linked together
    Axes `n+1` to `n+m` for scale bars reference

Axis 1 is the master axis which will be used for xlabels and zooming options

# Examples :
## Generate a new empty figure with 6 axes
```
axes = multiaxes(6); fig = axes[1].parent
```
Axis 6 / Axis 4 / Axis 1 [] Axis 2 / Axis 3 / Axis 5

## Generate a 3 axis figure with some plots :
```
fig = Figure()
axes = multiaxes(3, fig)
lines!(axes[1], 0..10, cos, color = axes[1].ylabelcolor)
lines!(axes[2], 0..10, sin, color = axes[2].ylabelcolor)
lines!(axes[3], 0..10, x->2sin(2x), color = axes[3].ylabelcolor)
fig = axes[1].parent
```
 Axis 1 (-1,1) [ ] Axis 2 (-1,1) / Axis 3 (-2,2)
"""
function multiaxes(n::Int=3, fig::Figure=Figure();
    ylabels=["Axis $i" for i in 1:6],
    positions=[:left, :right, :right, :left, :right, :left],
    colors=Makie.current_default_theme().palette.color.val,
    ytickpositions=[:right, :left, :left, :right, :left, :right],
    xlabel ="x")

    @assert all(x -> x ≥ n,
        length.([ylabels, positions, colors, ytickpositions])) "arguments lengths should at least match n"

    ax, ax2 = [], []

    # Central position of main axis where all plots are displayed
    centraln = sum(p == :left for p in positions[1:n])

    # Current position of left and right axes
    left, right = centraln .+ (1, -1)

    for i in 1:n
        # Update position for axis i
        if positions[i] == :left
            left -= 1
            pos = left
        else
            right += 1
            pos = right
        end

        c = colors[i]

        a = Axis(fig[1, centraln], yaxisposition=positions[i],
            ylabel=ylabels[i], xlabel=xlabel,
            yticklabelcolor=c, ytickcolor=c, ylabelcolor=c)

        if i > 1 # Hide x labels for other axes
            a.xticklabelsvisible = false
            a.xlabelvisible = false
        end

        ca = a
        if pos != centraln
            hidedecorations!(a)
            hidespines!(a)

            a2 = Axis(fig[1, pos], yaxisposition=positions[i],
                ylabel=ylabels[i],
                yticklabelcolor=c, ytickcolor=c, ylabelcolor=c)

            hidexdecorations!(a2)

            colsize!(fig.layout, pos, Auto(0))
            ca = a2

            linkyaxes!(a, a2)
            push!(ax2, a2)
        end

        if positions[i] == :left
            ca.leftspinecolor = c
            ca.rightspinevisible = false
            ca.ytickalign = ytickpositions[i] == :left ? 0 : 1
        else
            ca.rightspinecolor = c
            ca.leftspinevisible = false
            ca.ytickalign = ytickpositions[i] == :right ? 0 : 1
        end

        push!(ax, a)
    end

    linkxaxes!(ax...)

    return append!(ax, ax2)
end

And code to make the sample figure :
using CairoMakie
fig = Figure(colorsgroundcolor=:white, resolution=(600, 500))

ax = multiaxes(3, fig,
    ylabels=[L"Deposition Pressure (Torr)$$",
        L"Annealing Temperature $(^{\circ}$C)",
        L"$\Delta T_C$ $(^{\circ}$K)"],
    xlabel=L"Transition Temperature $(^{\circ}$K)",
    colors=[:green, :red, :blue],
    ytickpositions=[:left, :left, :left]
)
x = 90:0.1:91
s1 = scatter!(ax[1], x, x -> rand() * 10.0^rand(-2:2),
             marker=:utriangle, markersize=16, color=ax[1].ylabelcolor)
ax[1].yscale = log10
ax[1].yminorticksvisible = true
ax[1].yminorticks = [x*10^y for x in 1.0:9.0, y in -4.0:1][:]
ylims!(ax[1],1e-4, 100)

x = 84:90

y = @. 780 + 10sin(x-2)
low_eb = high_eb = fill(2, length(x))
errorbars!(ax[2], x, y, low_eb, high_eb, whiskerwidth=10, color=:black, linewidth=1)
s2 = scatter!(ax[2], x, y, marker=:rect, markersize=16, color=ax[2].ylabelcolor)
ylims!(ax[2], 765,795)

y = @. 0.6(x-82) + 0.2sin(x)
lines!(ax[3], x, y, color=ax[3].ylabelcolor)
s3 = scatter!(ax[3], x, y, marker=:circle, markersize=16, color=ax[3].ylabelcolor)
ylims!(ax[3], 0, 6)

for i in 1:3
    xlims!(ax[i], 93, 82)
    ax[i].xgridvisible = false
    ax[i].ygridvisible = false
end

axislegend(ax[1], [s1,s2, s3], [L"$$As Grown",L"$$Annealed",L"\Delta T_C"])

Label(fig[0, :], text=L"Characteristics of Samples Grown Under Different Conditions$$")
fig

Some comments regarding the making of this figure :

linkxaxes! does not work with xlims!  in "reverse" case
Underscore _ symbol does not subscript text this is the reason for using LatexStrings
On my system (Windows) LatexStrings do not display  degree ° character correctly (switch it to another symbol)
$^{circ}$ requires a symbol before to make it superscript, $(^{\circ}$ works

I hope this will be helpful for many


Add 19041 printf behavior changes

In Windows 10 19041, there is a change to the printf floating point behavior in the Universal C Runtime so that it conforms with IEEE 754.

@stwish-msft : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@corob-msft : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@TylerMSFT We probably want to copy this into the other printf articles, too.

After this has been "verified that no changes were made to meaning." please sign off @corob-msft . thanks.

Edits LGTM

Thanks, Steve. Merging.


Question about different Certs

hello guys,
I've been setting up opensearch and wanted to give each pod its own cert like shown in this documentation.
i couldn't find a way to do it with the current chart though.
Am i missing something? Did one you guys manage to come up with a good solution?
currently I'm mounting the keys

to then set it in the opensearch.yaml

I would appreciate it very much if you could help me out or give some inspiration :)

i didn't continue yet, but once i find a solution ill post it here :)


rewrite to remove opinions around filenames and refactor repeated cod…

…e into common command library

 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.Nicholas Beenham seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


load colors before loading "after"?

I noticed that colors are not defined before the after folders getting sourced, have to use autocmds to change the colors on load

Does it reproducable on base Vim (from https://github.com/vim/vim)?

No, with other color schemes I'm specifying colorscheme * in my rc file, but macvim uses a builtin colorscheme and it seems to be sourced after the after folders loaded

in file /Applications/MacVim.app/Contents/Resources/vim/gvimrc MacVim indeed loads it's colorscheme:
" Load the MacVim color scheme.  This can be disabled by loading another color
" scheme with the :colorscheme command, or by adding the line
"   let macvim_skip_colorscheme=1
" to ~/.vimrc.
if !exists("macvim_skip_colorscheme") && !exists("colors_name")
    colorscheme macvim
endif

I explicetly load my own colorscheme in my vimrc.


Regular TensorFlow ops are not supported by this interpreter. Make sure you apply/link the Flex delegate before inference.

Hi,
I'm getting the following error when initializing interpreter:
I/tflite  ( 6266): Initialized TensorFlow Lite runtime.
E/tflite  ( 6266): Regular TensorFlow ops are not supported by this interpreter. Make sure you apply/link the Flex delegate before inference.
E/tflite  ( 6266): Node number 0 (FlexPlaceholder) failed to prepare.
E/flutter ( 6266): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: Bad state: failed precondition
E/flutter ( 6266): #0      checkState (package:quiver/check.dart:73:5)
E/flutter ( 6266): #1      Interpreter.allocateTensors (package:tflite_flutter/src/interpreter.dart:150:5)
E/flutter ( 6266): #2      new Interpreter._ (package:tflite_flutter/src/interpreter.dart:31:5)
E/flutter ( 6266): #3      new Interpreter._create (package:tflite_flutter/src/interpreter.dart:42:24)
E/flutter ( 6266): #4      new Interpreter.fromBuffer (package:tflite_flutter/src/interpreter.dart:91:37)
E/flutter ( 6266): #5      Interpreter.fromAsset (package:tflite_flutter/src/interpreter.dart:114:24)
E/flutter ( 6266): <asynchronous suspension>
E/flutter ( 6266): #6      _MyHomePageState.loadModel (package:text_gen_gpu/main.dart:321:20)
E/flutter ( 6266): <asynchronous suspension>
E/flutter ( 6266): #7      _MyHomePageState.init (package:text_gen_gpu/main.dart:299:5)
E/flutter ( 6266): <asynchronous suspension>
E/flutter ( 6266): #8      _MyHomePageState.initState.<anonymous closure> (package:text_gen_gpu/main.dart)
E/flutter ( 6266): <asynchronous suspension>
E/flutter ( 6266):

Im initializing on cpu:
var interpreterOptions = InterpreterOptions()..threads = NUM_LITE_THREADS;
    _interpreter = await Interpreter.fromAsset(
      modelFile,
      options: interpreterOptions,
    );

How did you create your model? Have you gone through the docs for Running TF2 Detection API Models on mobile?

How did you create your model? Have you gone through the docs for Running TF2 Detection API Models on mobile?

How did you create your model? Have you gone through the docs for Running TF2 Detection API Models on mobile?

Hi,
Yes, I've created the tflite model as per documentation.
import tensorflow as tf

TF_PATH = "/content/tf_model.pb" # where the forzen graph is stored
TFLITE_PATH = "./model.tflite"

# make a converter object from the saved tensorflow file
converter = tf.compat.v1.lite.TFLiteConverter.from_frozen_graph(TF_PATH,  # TensorFlow freezegraph .pb model file
                                                      input_arrays=['input_ids'],
                                                      output_arrays=['logits'],
                                                      )

converter.experimental_new_converter = True

converter.target_spec.supported_ops = [tf.compat.v1.lite.OpsSet.TFLITE_BUILTINS,
                                       tf.compat.v1.lite.OpsSet.SELECT_TF_OPS]

tf_lite_model = converter.convert()
# Save the model.
with open(TFLITE_PATH, 'wb') as f:
    f.write(tf_lite_model)

I'm converting an onnx model to tflite (onnx -> tensorflow -> tflite). The onnx model is working as expected when using the onnx interpreter onnxruntime.
Also, the converted tflite model also works when using the tflite interpreter in python.
tflite_interpreter = tf.lite.Interpreter(model_path='/content/model.tflite')
tflite_interpreter.allocate_tensors()

input_details = tflite_interpreter.get_input_details()
output_details = tflite_interpreter.get_output_details()

I only get this error when using the tflite_flutter interpreter. :(

How did you create your model? Have you gone through the docs for Running TF2 Detection API Models on mobile?

Hi,
Yes, I've created the tflite model as per documentation.
import tensorflow as tf

TF_PATH = "/content/tf_model.pb" # where the forzen graph is stored
TFLITE_PATH = "./model.tflite"

# make a converter object from the saved tensorflow file
converter = tf.compat.v1.lite.TFLiteConverter.from_frozen_graph(TF_PATH,  # TensorFlow freezegraph .pb model file
                                                      input_arrays=['input_ids'],
                                                      output_arrays=['logits'],
                                                      )

converter.experimental_new_converter = True

converter.target_spec.supported_ops = [tf.compat.v1.lite.OpsSet.TFLITE_BUILTINS,
                                       tf.compat.v1.lite.OpsSet.SELECT_TF_OPS]

tf_lite_model = converter.convert()
# Save the model.
with open(TFLITE_PATH, 'wb') as f:
    f.write(tf_lite_model)

I'm converting an onnx model to tflite (onnx -> tensorflow -> tflite). The onnx model is working as expected when using the onnx interpreter onnxruntime.
Also, the converted tflite model also works when using the tflite interpreter in python.
tflite_interpreter = tf.lite.Interpreter(model_path='/content/model.tflite')
tflite_interpreter.allocate_tensors()

input_details = tflite_interpreter.get_input_details()
output_details = tflite_interpreter.get_output_details()

I only get this error when using the tflite_flutter interpreter. :(

Did you run it through export_tflite_graph_tf2.py as well? I'm pretty sure this was the exact error message I was seeing before I started using that guy. I was doing the same thing as you, just using the tflite Python API to convert my model to tflite, but it needs to go through export_tflite_graph_tf2.py before you do that. Check out my earlier issue for more details:
https://github.com/am15h/tflite_flutter_plugin/issues/59#issuecomment-751852081

Did you run it through export_tflite_graph_tf2.py as well? I'm pretty sure this was the exact error message I was seeing before I started using that guy. I was doing the same thing as you, just using the tflite Python API to convert my model to tflite, but it needs to go through export_tflite_graph_tf2.py before you do that. Check out my earlier issue for more details:
https://github.com/am15h/tflite_flutter_plugin/issues/59#issuecomment-751852081

Did you run it through export_tflite_graph_tf2.py as well? I'm pretty sure this was the exact error message I was seeing before I started using that guy. I was doing the same thing as you, just using the tflite Python API to convert my model to tflite, but it needs to go through export_tflite_graph_tf2.py before you do that. Check out my earlier issue for more details:
#59 (comment)

Thanks for the link, but from the export_tflite_graph_tf2.py:

NOTE: This only supports SSD meta-architectures for now.

Since my model is text generation, not object detection, I wont be able to use the exporter linked.  :(

Did you run it through export_tflite_graph_tf2.py as well? I'm pretty sure this was the exact error message I was seeing before I started using that guy. I was doing the same thing as you, just using the tflite Python API to convert my model to tflite, but it needs to go through export_tflite_graph_tf2.py before you do that. Check out my earlier issue for more details:
#59 (comment)

Thanks for the link, but from the export_tflite_graph_tf2.py:

NOTE: This only supports SSD meta-architectures for now.

Since my model is text generation, not object detection, I wont be able to use the exporter linked.  :(

Closing the issue as it does not seem to be directly related to this plugin.

Closing the issue as it does not seem to be directly related to this plugin.

Did you run it through export_tflite_graph_tf2.py as well? I'm pretty sure this was the exact error message I was seeing before I started using that guy. I was doing the same thing as you, just using the tflite Python API to convert my model to tflite, but it needs to go through export_tflite_graph_tf2.py before you do that. Check out my earlier issue for more details:
#59 (comment)

Thanks for the link, but from the export_tflite_graph_tf2.py:

NOTE: This only supports SSD meta-architectures for now.

Since my model is text generation, not object detection, I wont be able to use the exporter linked. :(

did you end up finding a solution around this? I am running into the same error

Did you run it through export_tflite_graph_tf2.py as well? I'm pretty sure this was the exact error message I was seeing before I started using that guy. I was doing the same thing as you, just using the tflite Python API to convert my model to tflite, but it needs to go through export_tflite_graph_tf2.py before you do that. Check out my earlier issue for more details:
#59 (comment)

Thanks for the link, but from the export_tflite_graph_tf2.py:

NOTE: This only supports SSD meta-architectures for now.

Since my model is text generation, not object detection, I wont be able to use the exporter linked. :(

@farazk86 did you end up finding a solution around this? I am running into the same error

No, but I ended up handling all tensorflow lite operations in Java using the flutter platform channel. Using the Java interpreter worked for me. But your error may be from using an incorrect converter. Make sure you know what tf version your main model was trained on. After tf==2.1 or tf==2.2 (dont exactly remember right now,),they changed how we convert models to tflite.

Thanks! I will take a look at that. I am using the prebuilt universal-sentence-encoder-multilingual model and I can't find what version they used to build it other than it was tensorflow 2.0.


Remove Extra " From All Welcome Mats

Remove the " after the word "processes"

Applies to all Welcome Mats.

@ashwaniYDV Could you fix this typo?

@interactivellama Yes sure.

Oh sorry. I meant to message Aswin Shenoy. Thank you for picking it up though.


Images for README

Problem description
Steps to reproduce
Versions

Resonance:
React:
Browser:

Image for donut chart example.

Image for updated component props:


Failed to list: couldn't get version/kind; json parse error

Hi,
since some days we get some json parse errors during execution of "helm ls" command.
We are using openshift and it occures randomly and not every time.
Has somebody an idea what can cause this issue?
Is this the full error message or is there a chance to get more information what's happening here?
Versions:
helm helm-v3.2.1-linux-amd64
oc v3.11.0+62803d0-1
kubernetes v1.11.0+d4cacc0
openshift v3.11.219
kubernetes v1.11.0+d4cacc0

Error:
helm3 ls --namespace ${RUNTIME_PROJECT_NAME} --debug

Error: list: failed to list: couldn't get version/kind; json parse error: invalid character 'T' after top-level value
helm.go:84: [debug] couldn't get version/kind; json parse error: invalid character 'T' after top-level value
list: failed to list
helm.sh/helm/v3/pkg/storage/driver.(*Secrets).List
	/home/circleci/helm.sh/helm/pkg/storage/driver/secrets.go:87
helm.sh/helm/v3/pkg/action.(*List).Run
	/home/circleci/helm.sh/helm/pkg/action/list.go:154
main.newListCmd.func1
	/home/circleci/helm.sh/helm/cmd/helm/list.go:80
github.com/spf13/cobra.(*Command).execute
	/go/pkg/mod/github.com/spf13/cobra@v1.0.0/command.go:842
github.com/spf13/cobra.(*Command).ExecuteC
	/go/pkg/mod/github.com/spf13/cobra@v1.0.0/command.go:950
github.com/spf13/cobra.(*Command).Execute
	/go/pkg/mod/github.com/spf13/cobra@v1.0.0/command.go:887
main.main
	/home/circleci/helm.sh/helm/cmd/helm/helm.go:83
runtime.main
	/usr/local/go/src/runtime/proc.go:203
runtime.goexit
	/usr/local/go/src/runtime/asm_amd64.s:1357

Regards and many thanks for your help!
Thomas

Looking at the stack trace it looks as though it occurs while reading helm’s release secrets in the given namespace. It looks as though there are invalid characters in the resource manifest.
Let us know what you find out.

Thanks for your response.
It was like a temporary issue and it's working again.
Seems like a timeout while calling the kubernetes api.
But this is only a guess, because the original response of the api is hidden. Even if I execute helm with --debug.
Would it be possible to add the original output in such cases?

Hi @bacongobbler
some news from my side...
I got the real error by executing:
helm3 ls --namespace ${RUNTIME_PROJECT_NAME} --v 10
This will cause an output of ~70MB.
I0714 12:44:44.637659    1285 round_trippers.go:443] GET https://xxx:8443/api/v1/namespaces/xxx/secrets?labelSelector=owner%3Dhelm 200 OK in 507 milliseconds
I0714 12:44:44.637701    1285 round_trippers.go:449] Response Headers:
I0714 12:44:44.637715    1285 round_trippers.go:452]     Audit-Id: 6338dde9-8065-4476-b891-2eccc09eb294
I0714 12:44:44.637727    1285 round_trippers.go:452]     Cache-Control: no-store
I0714 12:44:44.637739    1285 round_trippers.go:452]     Content-Type: application/json
I0714 12:44:44.637751    1285 round_trippers.go:452]     Date: Tue, 14 Jul 2020 12:44:44 GMT

This request caused apiserver to panic. Look in the logs for details.
Error: list: failed to list: couldn't get version/kind; json parse error: invalid character 'T' after top-level value`

Amount of secrets (helm history stores 10 releases)
$ oc get secret -l owner=helm --no-headers | wc -l
1846

Would it be possible to add this message to the normal helm output in such cases?
Is there a way to force helm not to get all secrets?
We try to find out which problem our api server has sometimes


Perform scale testing across LFH instances

Scale up the number of LFH instances and determine metrics, including message rate, with data synchronization between the LFH instances.

We'll do this after the exactly-once implementation #128


URL(filePath:) should not treat "~" as absolute

Paths beginning with ~ should not be treated as absolute for URL(filePath:). This is because when constructing a URLComponents for a file path we consider absolute, we do:
components.file = "file"
components.host = ""
components.path = path

This would create the string like file://~/. However, URLComponents rejects this string because the ~ is ambiguous--it looks like a host. This can lead components.url! to crash when force-unwrapping.
This PR changes the isAbsolute check to only consider / paths absolute. If the path starts with ~, we will try to expand the tilde, then ensure that the result is absolute.

@swift-ci please test


[IMP] Add option to automatically install repo requirements

This is a WIP & is temporarily based on #27 while I am testing, because I'm trying to be ultra lazy.
This PR adds an AUTO_REQUIREMENTS arg (currently defaults to True while I'm testing, but meant to be False). If the argument is true, requirements.txt files from addons defined in the addons.yml will be honored automatically.
As an added bonus, 80-requirements-txt is now Pythonified

@Yajo what do you think about this overhead?

This is mainly meant for dev boxes, where I don't want to have to worry about my engineers dealing with Ops. I would never recommend this to be used in a production instance.
Honestly the real solution is an auto-installer in Odoo based on the external_dependencies key. I've been playing with that idea for a while, but haven't actually written anything yet.

OK, then you should activate this by an environment variable only set on devel.yaml, not for all.

Is there a reason to dictate what someone does with a production server?
The ONBUILD ARGS are translated into env variables when the child image builds, right? I'll be setting that (AUTO_REQUIREMENTS) to false once I'm done testing, so that it's disabled by default.

set on devel.yaml,

Oh I didn't even think about updating the scaffold too. I'll submit a PR for that once this is merged!

 Sorry for the noise.

This is mainly meant for dev boxes

Problem is that for devel.yaml environment, no code exists at build time. Same as https://github.com/Tecnativa/docker-odoo-base/pull/27#issuecomment-307721552 and #26.

dev boxes, where I don't want to have to worry about my s/w engineers dealing with Ops

I don't feel that this is a good idea. Your developers should ensure the image includes required dependencies, or chances to get a red production build will be high.
Our approach with this project tries to be: provide tools that make developing easy and fast, and make production reproductible and stable. Adding autodiscovery in devel and removing it in prod adds chances to get different environments, so I'm not very positive with this feature.
OTOH, https://github.com/Tecnativa/docker-odoo-base/pull/28#issuecomment-307581714 would be awesome, but there's still the problem of #26, so we need a way to handle all of that. pip-installing in entrypoint is not an option IMHO (too slow for a boot process). Any ideas?

Your developers should ensure the image includes required dependencies, or chances to get a red production build will be high.

My developers don't have any idea what is done on a production server, including how to make it green or red. My goal here is to make it so that my devs only have to worry about the code they are currently working in, and not how to install dependencies correctly for modules that are required by other modules they may use.
We have a completely separate process for building out production instances, which would be a combination of many different modules that these developers are making. This process would not use wildcards, and any issues would be detected during that QA. The two processes create a logical isolation between our development and ops departments, which makes it easier to onboard engineers (particularly juniors).
Sure, I get that any Python developer should know how to pip install something. They should not, however, be required to know how to track down which virtualenv the Odoo instance is running in, and how to pip install things to it & not system Python. They should also not be required to rebuild their instance just to install something they didn't know they needed until after it was live. It is also a hardline requirement to have all dev instances operating under the same architecture as our prod ones, so simply having them install local Odoos is not an solution either.

Problem is that for devel.yaml environment, no code exists at build time. Same as #27 (comment) and #26.

I don't understand the problem here? Isn't the devel.yml just a docker-compose file? I'm not even using Docker compose at the moment, I'm simply trying to build an Odoo image using docker build. The docker-compose architecture does not work for us using Rancher, which does not have the capability of building images.
Is there a key in the devel.yml that is changing some operation of the way code is installed? Is that AGGREGATE=false?

Adding autodiscovery in devel and removing it in prod adds chances to get different environments, so I'm not very positive with this feature.

I am not proposing to change the way anything operates, I am merely stating a use case. IMO it is not up to us to determine whether someone wants to do this on a production instance or not. My use case is devel, and is recommending against using in prod, but there is nothing to stop you from doing so.

but there's still the problem of #26,

Yeah so I definitely feel like I'm missing something here. I think answers to above question about aggregate key might clue me in.

pip-installing in entrypoint is not an option IMHO (too slow for a boot process). Any ideas?

Agreed - also this goes against what I've read of Docker practices.

Followup now that I dug more for #27 - I totally get the problem now, so we can probably disregard most of my above.
Regarding the use of the manifest keys - I don't know of a reliable way to translate the Python Package we are provided in the manifest into to the PIP library that needs to be installed, do you?
And back to when we can perform this installation - I really don't like the entrypoint, because that's mutating the container after creation. We need something in the build process so that it can make its way into the images.
What if this feature were to be moved into the repo aggregation step instead? It's implicitly bound to this step, so it makes sense for the cutoff to be here. Looking at the scaffolds, it seems like the repo aggregation is the entrypoint as a setup script, so the installation would be performed there as well.

🤔 It could be at aggregation time, yes... But what if you have an additional dependency in your requirements.txt file that for some reason does not appear in any addon's external_dependencies? You still have the need to add requirements manually.
Besides, current design allows you to choose your pip-freezing method: Do you want to pin by version? Hash? not version-pinning? Do you want to install addons with pip instead of repos.yaml + addons.yaml? Just provide a valid requirements.txt file and let pip do the rest. It works pretty well as it is right now. So much that I was thinking on adding more of these:

npm_dependencies
gem_dependencies
apt_build_dependencies
apt_dependencies

So all you need, you write it there and all gets added at build time without the need of custom build scripts, no matter if you build for devel or prod...
Current problems in our dev team that would get fixed by this autodiscovery would be avoiding this:

I try to install addon A.
Odoo tells me that addon A needs dependency B.
I add B to requirements.txt.
I docker-compose build (which should take only some seconds usually).
I install addon A with no problem.

Not much hassle really...
But still I'd want to cover your case if possible without losing current feature set, so what about this? What if we add a new script autopip that just spits out a valid requirements.txt file? All you'd have to do is run it with docker-compose run --rm odoo autopip, copy the output into your requirements.txt and rebuild.
There's another option: always copy the code, also in devel, so you can inspect and install, even if later you replace that path by a volume. But that would really slow down devel builds, and quick building there is a requirement IMHO.

Ok so I've been thinking about this, and I'm not sure of a way that this feature can be supported in development environments that are not linking the addons during build time.
I don't think that this is a good reason to not support it in the other case though. Honestly I'm still even finding it easier in my dev environments to link the addons during build, then just mount my specific working addon as a volume.
In this way, I don't have to worry about 5 other repos being on the correct branches & instead we just use the same images that would be deployed to our customer prods.

I feel you shot yourself in the toe in #27 😕 . Now the addons get linked at run time, not build time, so not even production builds have a notion of "enabled addons". And pip-installing in entrypoint is out of question IMO. What would be your implementation strategy now on this?
Besides, I think I was a little bit wrong before. Devel images get addons in too, but they just get replaced by volumes at run time.
I'm thinking on a simple approach: add a script that outputs a valid requirements.txt file that you can copy-paste in dependencies/pip.txt. This way your developers don't need to care much about it, but still need to make sure the dependencies are in place. They can just:
docker-compose run --rm odoo addon-requirements > odoo/custom/dependencies/pip.txt
docker-compose build

The script works in run time after all entrypoints are processed, and the workflow produces git-versioned image-frozen dependencies, so it seems to cover all scenarios in a semi-automatic fashion that makes your life easier but still lets you have the control of the tool and is fully retrocompatible.

@Yajo - I'm not sure what you mean, addons are definitely still linked during build time. This doesn't involve the linking of the addons though, only the download of them. It's probably worth noting that this works fine on my forked image, which has had all of these features for a while.
The requirements implementation is dumb - it doesn't matter what addons are enabled, just that the addon header is in the addons file. We can't determine which of the requirements goes to which module, so selectively installing isn't going to work.
I would prefer to have the requirements installed in my built image, as opposed to building them in on entrypoint. The entrypoint solution still involves a developer, which I am eliminating from this equation.
These instances should self maintain IMO, including dependency installations as new requirements are added to repos & new addons are introduced to pre-existing instances that didn't previously have them.

I think the Travis is unrelated here too
Traceback (most recent call last):
  File "/opt/odoo/common/build", line 26, in <module>
    subprocess.check_call(command)
  File "/usr/lib/python2.7/subprocess.py", line 535, in check_call
    retcode = call(*popenargs, **kwargs)
  File "/usr/lib/python2.7/subprocess.py", line 522, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1335, in _execute_child
    raise child_exception
OSError: [Errno 26] Text file busy

I thought you were going to investigate external_dependencies on addons found in addons.yaml, not to read the requirements.txt files possibly in repos.

I haven't found a way to conquer this, but I am absolutely all ears if you have one. My issue is described here, but the TL;DR is that the PIP packages do not align with the Python packages they expose.

I'm reverting this as it causes images to not build, that we didn't anticipate.
The problem is the following:

all libraries declared on repositories are being installed.
some of them requires development headers to be present, but they are not automatically installed.
build failed then.

We should resubmit this thinking about this.


Read/Write binary data

The module binary adds services to Writer and Reader to read/write binary data.
The services offer different size for each kind of data. They can be used to save space on a stream or for compatibility with external programs. They use type names from C:

write_float write a Nit Float on 32 bits, with loss of precision.
write_double write a Nit Float on 64 bits.
write_int64 write a Nit Int on 64 bits, with usually no loss of data, but it may still happen per platform.
write_bool and write_bits to write booleans as a byte.
There's a TODO for other suggested methods.

The endianess of each stream is configurable.
I tried to avoid touching too much to the main stream code knowing that @R4PaSs is working on reading/writing bytes. The binary module will have to be updated when we have a Byte type. Also, all the others types of Writer must be modified to implement write_byte.
I'll use this to write a binary alternative to json_serialization.

This looks cool !
:shipit:

Rerolled with @R4PaSs comments and applying endianess to floats.


[SPARK-17074] [SQL] Generate equi-height histogram in column statistics

What changes were proposed in this pull request?
Equi-height histogram is effective in cardinality estimation, and more accurate than basic column stats (min, max, ndv, etc) especially in skew distribution. So we need to support it.
For equi-height histogram, all buckets (intervals) have the same height (frequency).
In this PR, we use a two-step method to generate an equi-height histogram:

use ApproximatePercentile to get percentiles p(0), p(1/n), p(2/n) ... p((n-1)/n), p(1);
construct range values of buckets, e.g. [p(0), p(1/n)], [p(1/n), p(2/n)] ... [p((n-1)/n), p(1)], and use ApproxCountDistinctForIntervals to count ndv in each bucket. Each bucket is of the form: (lowerBound, higherBound, ndv).

How was this patch tested?
Added new test cases and modified some existing test cases.

cc @sameeragarwal @cloud-fan @gatorsmile @ron8hu

Test build #82669 has started for PR 19479 at commit 31a852a.

Test build #82669 has finished for PR 19479 at commit 31a852a.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class EquiHeightHistogram(height: Double, ehBuckets: Seq[EquiHeightBucket]) extends Histogram

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/82669/
Test PASSed.

Also cc @juliuszsompolski @ala @hvanhovell

cc @bogdanrdc

Test build #82801 has started for PR 19479 at commit 83424e4.

Test build #82801 has finished for PR 19479 at commit 83424e4.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/82801/
Test PASSed.

Test build #82931 has started for PR 19479 at commit 6fe9985.

Test build #82931 has finished for PR 19479 at commit 6fe9985.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/82931/
Test PASSed.

Test build #83284 has started for PR 19479 at commit a0010b0.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/83285/
Test FAILed.

Test build #83284 has finished for PR 19479 at commit a0010b0.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/83284/
Test PASSed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/83343/
Test FAILed.

Merged build finished. Test FAILed.

retest this please

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/83369/
Test FAILed.

Test build #83477 has started for PR 19479 at commit 7f77516.

Test build #83477 has finished for PR 19479 at commit 7f77516.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class EquiHeightHistogram(height: Double, ehBuckets: Array[EquiHeightBucket])

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/83477/
Test PASSed.

Merged build finished. Test PASSed.

Test build #83545 has started for PR 19479 at commit 804b375.

Test build #83547 has started for PR 19479 at commit fa338dd.

Test build #83545 has finished for PR 19479 at commit 804b375.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class EquiHeightHistogram(height: Double, buckets: Array[EquiHeightBucket])

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/83545/
Test PASSed.

Test build #83547 has finished for PR 19479 at commit fa338dd.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

LGTM overall. We should also consider how to show the histogram in ANALYZE COLUMN, for debug purpose.

We should also consider how to show the histogram in ANALYZE COLUMN, for debug purpose.

Do you mean show the histogram in DESC COLUMN command?

Test build #83599 has started for PR 19479 at commit d9dee61.

Test build #83599 has finished for PR 19479 at commit d9dee61.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/83599/
Test PASSed.

Merged build finished. Test PASSed.

ah sorry for the typo, yea DESC COLUMN

Test build #83614 has started for PR 19479 at commit 72840a9.

@cloud-fan Yes, showing histogram in DESC COLUMN command is in the plan. I just created a JIRA for it.

Test build #83623 has started for PR 19479 at commit a96169e.

Test build #83614 has finished for PR 19479 at commit 72840a9.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Histogram(height: Double, buckets: Array[HistogramBucket])
case class HistogramBucket(lo: Double, hi: Double, ndv: Long)

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/83614/
Test PASSed.

Test build #83626 has started for PR 19479 at commit 72c46f8.

Test build #83623 has finished for PR 19479 at commit a96169e.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Histogram(height: Double, bins: Array[HistogramBin])
case class HistogramBin(lo: Double, hi: Double, ndv: Long)

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/83623/
Test PASSed.

Test build #83626 has finished for PR 19479 at commit 72c46f8.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/83626/
Test PASSed.

Test build #83645 has started for PR 19479 at commit 8af3868.

Test build #83645 has finished for PR 19479 at commit 8af3868.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/83645/
Test PASSed.

Test build #83726 has started for PR 19479 at commit 976acbe.

Test build #83726 has finished for PR 19479 at commit 976acbe.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/83726/
Test PASSed.

LGTM

Test build #83735 has started for PR 19479 at commit 7b6d211.

Test build #83735 has finished for PR 19479 at commit 7b6d211.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/83735/
Test FAILed.

Merged build finished. Test FAILed.

retest this please

Test build #83741 has started for PR 19479 at commit 7b6d211.

Test build #83741 has finished for PR 19479 at commit 7b6d211.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/83741/
Test PASSed.

thanks, merging to master!


Document hash functions

There are many functions that work directly on Hashes like rb_hash_aref().
I can write a PR if you can tell me where the text is to go.

I intentionally omitted such documentation. The Ruby headers are just too big: the resulting documentation would be massive and difficult to maintain as Ruby evolves.
And, for the most part, that stuff is easy to look up if you know how to look for it (which is what my guide intends to teach you). For example, look up the documentation for Hash#[] and click the source: it shows you that the internal call is rb_hash_aref and how the parameters are used. The amount of value added by including such documentation in my guide doesn't seem worth it considering the work involved.
If you feel up to the task, I'd say make your own separate documentation project. Let me know about it and I will happily link to it from my guide.

Ah ok. I'm considering adding it to the official ruby docs on ruby-doc.org.
See this issue: https://bugs.ruby-lang.org/issues/15074