[wip] Registration & authentication

[x] Add v2 firebase authentication
[x] Add registration / authentication client
[x] Update auth guard to verify app & claims
[x] Add per app claims
[x] Add login redirect to referrer

@chimon2000 Running locally I was able to get an auth token to register, and when I filled out the registration form I got:
{
  "error": {
    "code": 400,
    "message": "MISSING_EMAIL",
    "errors": [
      {
        "message": "MISSING_EMAIL",
        "domain": "global",
        "reason": "invalid"
      }
    ]
  }
}

when submitting the registration. Ever run into this?

@chimon2000 Yeah, it was when trying to submit the registration form in the auth app

@chimon2000 - Auth app falls into an infinite redirect loop when you run it using yarn start-client from the project root. If you run the app individually though it seems to work..

We'll also need a custom email handler
https://firebase.google.com/docs/auth/custom-email-handler
"You can now sign in with your new account" unfortunately isn't something valid to show our users since they need to be approved. :(

Good point, do we want to do that as part of this PR @AndrewNatoli ?

A few things missing from this PR:

[ ] Change auth from an app to a "mini-app" that can be plugged into any app

[ ] Get rid of server, each app is expected to use auth mini-app

[ ] setCustomUserClaims should set the app + role the user has access to.


Fix the typo issue

Why are the changes needed?

Fix the typo issue
How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[X] Run test locally before make a pull request

Codecov Report

Merging #982 (d6f6315) into branch-1.3 (6ccc00a) will not change coverage.
The diff coverage is 100.00%.

@@              Coverage Diff              @@
##             branch-1.3     #982   +/-   ##
=============================================
  Coverage         80.65%   80.65%
  Complexity           11       11
=============================================
  Files               146      146
  Lines              5370     5370
  Branches            636      636
=============================================
  Hits               4331     4331
  Misses              662      662
  Partials            377      377

Impacted Files
Coverage Δ

...he/kyuubi/engine/spark/events/StatementEvent.scala
83.33% <100.00%> (ø)

...uubi/engine/spark/operation/ExecuteStatement.scala
89.02% <100.00%> (ø)

Continue to review full report at Codecov.

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

thanks, merged to branch-1.3.0


breaks other plugins

this plugin breaks something in angular but works when removed. https://github.com/Strider-CD/strider-webhooks/issues/4#issuecomment-45784704

Not an issue anymore, it seems like.


Fixed lint errors

As reported here:  http://go-lint.appspot.com/github.com/golang/gddo/gddo-server

Done.

@afinkenstadt can you please run gofmt on these source files and update the pr?

Yes, once I re-create my go 1.4 environment.  Sorry for the delay.

The templates must be updated to match this change.

#239 solved, so this one can be closed


Narrow types to format specific (e.g. CBORMapper) when resolving via JAX-RS Providers

Currently, JacoksonCBORProvider (maybe others) use ObjectMapper when resolving the mapper via the JAX-RS Provider functionality. This leads to it choosing JSON (via default ObjectMapper) in a variety of ways, none of which Jackson can assume all the blame for.
Using CBORMapper (or other specific derivations) would allow much easier selection of mappers for media types without them getting confused. Notably, JacksonYAMLProvider already does this, resolving specifically a YAMLMapper.
The use case is motivated by our recent breakage revelation that our custom configured CBORMapper was not being applied even though we register a ContextResolver for CBORMapper; the use of ObjectMapper during resolution fails to find it.

Ok, this would make sense, especially given that by now every format module does have their own ObjectMapper sub-type -- in fact, there is even JsonMapper for explicit JSON-support (but plain ObjectMapper does, for legacy/compatibility reason, read/write JSON).
But the obvious question is whether change could be done in a backwards-compatible way. I think it can, will see if I can get a PR done.

Ah. This must have been due to legacy reasons: once upon a time CBOR- and Smile-formats did not have matching mapper sub-types, which is why configuration could not refer to those. This has long since (2.10?) been resolved, but things were not retrofitted.
I have #37 to fix this, for 2.19(.0).


Classification rule for test resource deployment failure in smoke tests.

Found an "unknown" failure in Pipeline Witness for a smoke test deployment failure. Our classifier is missing this scenario:
https://dev.azure.com/azure-sdk/internal/_build/results?buildId=611754&view=logs&j=f3570516-c8fe-5ce9-92b2-b737df25d5ea&t=4cd9f8c0-ceef-5c16-ba8a-2d031dabe732
Task display name: Deploy Smoke Test resources and prepare samples

No longer interesting now that we've changed how we do smoke tests.  Further, we'd leverage our new telemetry system in kusto rather than adding more classifications in webhook router.


Vite moves @import at the top leading to an erroneous layers order

Describe the bug
I am applying the following css:
@layer reset, bootstrap;
@import<EMAIL_ADDRESS>layer(bootstrap);

@layer reset {
  h1 {
    margin-top: 100px;
  }
}

to
Text

I am expecting:
bootstrap layer to take precedence over reset layer and h1 to have a top margin of 0px.
What is actually happening:
reset layer takes precedence over bootstrap layer and h1 has a top margin of 100px.
Reproduction
https://stackblitz.com/edit/vitejs-vite-ucaxjr?file=main.js,style.css&terminal=dev
Steps to reproduce
No response
System Info
Chrome and Firefox

Used Package Manager
npm
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

This seems to be an upstream issue: https://github.com/postcss/postcss-import/issues/567


ExecuteGETQuery returns null when a param is a list separated by comma

I am trying to get a query from the twitter ads api for 2 promoted tweet ids, but
ExecuteGETQuery returns null.
The url is https://ads-api.twitter.com/5/accounts/18ce51mthmp/promoted_tweets?count=10&promoted_tweet_ids=3cbjs5,3cab2r
But if the param promoted_tweet_ids only has one Id, for example, 3cbjs5, ExecuteGETQuery  returns the right tweet.

I have found a workaround. It must encode the url, so commas are sustituted by %2C and the methor retutns the right data.
I hope it helps!

Hello @rsdelapaz,
If you are working with the ads api, I would be happy to have you pushing some pull requests to add this feature within Tweetinvi.
Let me know what you think of it.
Cheers,
Linvi


fix: add mock library aliases

This change is

I think you are missing accessapproval

Good catch, fixed.


Improve short examples and do some linting

Thanks for your work on this. This PR does the following:

[x] "Improves" the short examples in the readme by adding ( ) around the new object instantiation (reference: https://stackoverflow.com/a/10072943/4608170)
[x] Does some phpcs linting (tabs to spaces)
[x] Adds a .gitignore with common Composer and VS Code entries
[x] Adds an .editorConfig with basic settings to enforce code style

Hi Michael, thank you for your contribution! I've merged your changes but also made some slight changes. I removed the short syntax from the readme.md and added a special section for it. I think the short syntax is not readable enough to use it as an example.

Awesome, thanks! I noticed this morning you had an update and planned to update my merge request so there were no longer conflicts but looks like you took care of that.  Was glad to find this class and appreciate your work on it!


How to create logging entities dynamically

Hi!
I am using NLogviewer WPF panel to show logs with NLog 4.0.3 in a .NET 4.6.2 framework application.
The user can create dynamically "Servers" that are inserted into a controller/listview. Severs can go from "0 ... N".
How can I create and isolate logs from each of these items inserted in the controller and logs trace separately?
In this picture you can see the use case ... each time that the user select an item form the list the NLogviewer should show only the log of the selected item.
Any help or example about how to consume logs dynamically/programmatically for at least 2 entities would be appreciated.

I would recommend to read this:
https://github.com/NLog/NLog/wiki/Configuration-file#rules
The same applies for configuration / creating log events from code.

I would recommend to read this:
https://github.com/NLog/NLog/wiki/Configuration-file#rules
The same applies for configuration / creating log events from code.

Hi, would you be so kind as to be a little bit more specific please? How can I to for example register targets programmatically? I assume that what I have to do is to create targets dynamically?  Thanks in advance.

 I would recommend to read the tutorials, all those topics are described there.
See
https://github.com/NLog/NLog/wiki/Configuration-file and
https://github.com/NLog/NLog/wiki/Configure-from-code
If you have a more specific question, feel free to open a new issue and fill in the template

Your question is too broad. I would recommend to read the tutorials, all those topics are described there.
See
https://github.com/NLog/NLog/wiki/Configuration-file and
https://github.com/NLog/NLog/wiki/Configure-from-code
If you have a more specific question, feel free to open a new issue and fill in the template

Hi,
thanks for reply I have read your link but still I can not get it working. Let me show my idea/code ... probably I am wrong in some concepts:
1.- My NLog.config does not define any rule/target, I need to do it programmatically since I don´t know how many "Instruments" the user will create.
       <extensions>           <add assembly="NlogViewer" />         </extensions\>         <targets>           </target>         <rules>             </rules>
2.- The main application creates at start up one "General" target and one "General" rule associated to this general defined target (Notice that I do not want to target to a file, I just want to target to the NLogViewer panels):
  ` private Logger log;
    private NLog.Config.LoggingConfiguration loggingConfig = new NLog.Config.LoggingConfiguration();

    public MainWindow()
    {
        // Targets where to log "NlogViewerTarget"
        var logNviewerTarget = new NlogViewerTarget();
        logNviewerTarget.Name = "logCtrl";

        // Rules for mapping loggers to target
        loggingConfig.AddTarget(logNviewerTarget);
        loggingConfig.AddRule(LogLevel.Info, LogLevel.Fatal, logNviewerTarget);

        // Apply config
        NLog.LogManager.Configuration = loggingConfig;

        //Get logger
        log = NLog.LogManager.GetLogger("logCtrl");`

3.- Additionally, I need to create dynamically "N" others targets each time that I create a new "Instrument" that I insert into a controller. I pass as argument the "loggingConfig" and "log" parameters.
      `public NewInstrument(LoggingConfiguration loggingConfiguration, Logger log)
      {
           // Creates a new isolate target with another name
           var logNviewerTarget = new NlogViewerTarget();
           logNviewerTarget.Name = "logCtrlInstrument";

           //Add new target to the current target list
           loggingConfiguration.AddTarget(logNviewerTarget);`

          // Add a new rule to existing rules
          loggingConfiguration.AddRule(LogLevel.Info, LogLevel.Fatal, logNviewerTarget);

          // Apply config
          NLog.LogManager.Configuration = loggingConfiguration;`

I am not able to get it woks. I am not able about that each new instrument logs their owns traces in his own panel, does it this mechanics the correct way to perform this action?
Thanks in advance.

There are many ways to route logs but this is the most simple way:
NLog.Config.LoggingConfiguration loggingConfig = new NLog.Config.LoggingConfiguration();

{
    var logNviewerTarget = new NlogViewerTarget();
    logNviewerTarget.Name = "target1"; // make sure this has an unique name

    // Rule for mapping loggers to target
    loggingConfig.AddTarget(logNviewerTarget);
    loggingConfig.AddRule(LogLevel.Info, LogLevel.Fatal, logNviewerTarget, loggerNamePattern: "logger1"); // filter on logger name
}

{
    var logNviewerTarget = new NlogViewerTarget();
    logNviewerTarget.Name = "target2"; // make sure this has an unique name

    // Rule for mapping loggers to target
    loggingConfig.AddTarget(logNviewerTarget);
    loggingConfig.AddRule(LogLevel.Info, LogLevel.Fatal, logNviewerTarget, loggerNamePattern: "logger2"); // filter on logger name
}

// Apply config
NLog.LogManager.Configuration = loggingConfig;

LogManager.GetLogger("logger1").Info("I'm going to target1");
LogManager.GetLogger("logger2").Info("I'm going to target2");

I don't know if your used library supports multi targeting, but mine does. Here is the link to the readme how you can configure it https://github.com/dojo90/NLogViewer#multi-targeting

@304NotModified PS: Please note that changing the NLog config isn't thread-safe

Pretty sure new NLog-config can be assigned without any issues with thread-safety. But one might notice the logging that occurs while closing one NLog-config and changing to new NLog-config will be lost.
But instead of assigning a new NLog-config, then one can also consider calling LogManager.Configuration.AddRule(..) followed by calling LogManager.ReconfigExistingLoggers().
But yes the issue here seems that @FMoralesLdG is missing proper configuration of Logging Rules routing: https://github.com/NLog/NLog/wiki/Filtering-log-messages#routing (Example shown by @304NotModified will work).


About Kinetic dataset

Hi, thanks for your great work!
I was wondering if you could tell me the specific training settings of GCN on Kinect dataset, such as pipeline(transformations) and so on. I didn't find the corresponding instructions on the original pyskl repo either.
Thank you very much for your help!

Thank you for your interest! I was out partying with friends yesterday, so sorry I couldn't respond in time.
I have updated the training settings for the Kinect dataset and also uploaded the checkpoints and training logs. Since the original pyskl repo didn't have the GCN setup, this is what I reproduced the setup.
Hope this is helpful for you. (^_^)


SPACE-2104: add LICENSE and NOTICE, fix copyright years

Build succeeded (check pipeline).

Sonar scan result
More detail, see in https://sonarqube-gate.intgdc.com/dashboard?id=gooddata-ui-apidocs-gate-PR12
To scan for vulnerabilities in dependencies and run unit tests (to get coverage report in sonar) please comment your PR with 'extended check sonar'.

Build succeeded (gate pipeline).

https://checklist.intgdc.com/job/compliance/job/gooddata-ui-apidocs-fossa-scanning-zuul-el7/18/ : SUCCESS in 58s (non-voting)
https://checklist.intgdc.com/job/compliance/job/gooddata-ui-apidocs-sonarqube-scan-zuul-gate/23/ : SUCCESS in 1m 21s
https://checklist.intgdc.com/job/compliance/job/gooddata-ui-apidocs-merge-compliance-check/18/ : SUCCESS in 21s


Dependency on pandas tslib

When attempting a fresh install, the library is non-functional due to a dependency on the not-available tslib from pandas
Minimal dockerfile to reproduce
FROM debian
RUN apt-get update && apt-get install -y python3 python3-pip python3-dev
RUN pip3 install blaze
RUN python3 -c "import blaze"

Traceback
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/local/lib/python3.7/dist-packages/blaze/__init__.py", line 9, in <module>
    from odo import odo, convert, append, drop, resource
  File "/usr/local/lib/python3.7/dist-packages/odo/__init__.py", line 29, in <module>
    from .backends.pandas import pd
  File "/usr/local/lib/python3.7/dist-packages/odo/backends/pandas.py", line 94, in <module>
    @convert.register((pd.Timestamp, pd.Timedelta), (pd.tslib.NaTType, type(None)))
  File "/usr/local/lib/python3.7/dist-packages/pandas/__init__.py", line 214, in __getattr__
    raise AttributeError("module 'pandas' has no attribute '{}'".format(name))
AttributeError: module 'pandas' has no attribute 'tslib'

This is actually a duplicate of https://github.com/blaze/odo/issues/621
Using the master branch of odo resolves the issue


Output an image buffer abstraction

This library should return image buffers instead of byte slices.

Yes, a higher level way to load and save animated GIFs (as a sequence of equally sized image buffers with their frame delays) would be very useful.

That would be great. As I've mentioned in #35 I'd love if the buffer element had a type of the pixel, rather than u8.
I've tried implementing this a couple of times:

Allow any Copy type and only require that size_of of it matches something sensible (i.e. 4 if it's RGBA) - https://github.com/pornel/lodepng-rust/blob/master/src/lib.rs#L592,L600 https://github.com/pornel/libimagequant-rust/blob/master/src/lib.rs#L178,L185

it works with any user-supplied type, whether they want MyRGBA or (u8,u8,u8,u8) or u32 for it.
type inference makes it work automagically. Most of the time the user doesn't have to declare the type explicitly and they can just use the bitmap wherever they wanted.

Require a common base crate for pixel types, e.g. https://crates.io/crates/rgb

this way the dependency on pixel type is minimal and decoupled from the decoder, so users can adopt the common crate without worrying about being tied to a bigger dependency/implementation detail.
trait orphan rules are annoying

There's probably a 3rd way, which could be an "adapter" sort of trait for the pixel type, so that users can make their own private RGBA type work with the library. The downside is that boilerplate is required to get started.

As I already mentioned, image_buffer will be used. Contributions/opinions are very welcome. 🙂

Any updates on this?


numericality_of with :allow_blank

validates_numericality_of :household_count, :greater_than_or_equal_to => 1, :only_integer => true, :allow_blank => true, :message => "If present, must be an integer greater than 0"
The :allow_blank seems to be ignored

+1 for allow_nil support

Will not support. Nil does not make sense for inputs that only produce strings.

Brian

Sent from my iPhone
On Oct 17, 2011, at 4:27 PM, Jesse<EMAIL_ADDRESS>wrote:

+1 for allow_nil support
--
Reply to this email directly or view it on GitHub:
https://github.com/bcardarella/client_side_validations/issues/60#issuecomment-2434330


Draft: Fix escaping of \ in string output of Regex

The \ character might need some extra escaping, but not when it's used for a character class. The old code had the following output:
/\d+/.to_s == "(?-mix:\\\\d+)"

This changed the behaviour: instead of matching one of more decimals, this regex would match a literal \ followed by one or more d's. This made it impossible to embed these kind of regexes into another regexp.
This scenario was not defined in the regex specs, but it did accidentally get caught in the spec for the case statement.

This is still not right, even though all the specs pass. The following works in Ruby:
/\\\d+/.to_s == "(?-mix:\\\\\\d+)"

But the output of Natalie is still different.
I'll probably make some improvements to the specs too, once I figured out what the actual rules are.

New version, this one passes the following extra specs:
it "herwin: missing test 1" do
  Regexp.new('\d+').inspect.should == "/\\d+/"
  /\d+/.inspect.should == "/\\d+/"
  /\d+/.to_s.should == "(?-mix:\\d+)"
end

it "herwin: missing test 2" do
  Regexp.new('\\d+').inspect.should == "/\\d+/"
  /\\d+/.inspect.should == "/\\\\d+/"
  /\\d+/.to_s.should == "(?-mix:\\\\d+)"
end

it "herwin: missing test 3" do
  Regexp.new('\\\d+').inspect.should == "/\\\\d+/"
  /\\\d+/.inspect.should == "/\\\\\\d+/"
  /\\\d+/.to_s.should == "(?-mix:\\\\\\d+)"
end

it "herwin: missing test 4" do
  Regexp.new('\\\\d+').inspect.should == "/\\\\d+/"
  /\\\\d+/.inspect.should == "/\\\\\\\\d+/"
  /\\\\d+/.to_s.should == "(?-mix:\\\\\\\\d+)"
end

The syntax Regexp.new(String) has the internal escape of string input, which is why these behave differently from the // syntax. I generated the expected values with some copy-paste into IRB, just to validate the behaviour was the same as MRI.


wip: Add support for SRIOV

This PR adds support for passing SRIOV supported NICs to the VM.
We check if the network interface passed in the network namespace is a physical device. If a physical network device is found, we skip the bridge creation flow and pass the device directly to the VM through VFIO passthrough. To do this, we unbind the network device from its network driver and bind it to VFIO driver. We do the opposite while stopping the VM.

lgtm.
Aside: I wonder if it's worth having an in-tree-document describing the available features.

Coverage decreased (-1.9%) to 61.578% when pulling 81fd131f9a1122765ad75b4bcf166c7196ace8bf on amshinde:vfio-networking into 45fe7975442461611854ddbf576f07a20a0b68ee on containers:master.

@jodh-intel Thanks for taking a look. Yes, I am planning to move the SRIOV documentation that we did for 2.1 here.

Coverage decreased (-1.9%) to 61.578% when pulling 7d34cc7b744a91416b51276ebf4249cec2490bca on amshinde:vfio-networking into 45fe7975442461611854ddbf576f07a20a0b68ee on containers:master.

Coverage decreased (-2.0%) to 61.495% when pulling 505149eeca5167958bd173e195d8bae5176682c4 on amshinde:vfio-networking into adc504e4132d10e0099e06239d92aa1f9ce36941 on containers:master.

Coverage decreased (-1.4%) to 62.054% when pulling 4ff9a17a0989c10413e6530955bbe9a7510cd5b9 on amshinde:vfio-networking into adc504e4132d10e0099e06239d92aa1f9ce36941 on containers:master.

Coverage decreased (-1.4%) to 62.054% when pulling 37cdeec5763260687eabfbe10b832b582c42a01b on amshinde:vfio-networking into adc504e4132d10e0099e06239d92aa1f9ce36941 on containers:master.

Coverage decreased (-1.4%) to 62.054% when pulling 37cdeec5763260687eabfbe10b832b582c42a01b on amshinde:vfio-networking into adc504e4132d10e0099e06239d92aa1f9ce36941 on containers:master.

Coverage decreased (-1.4%) to 62.054% when pulling 37cdeec5763260687eabfbe10b832b582c42a01b on amshinde:vfio-networking into adc504e4132d10e0099e06239d92aa1f9ce36941 on containers:master.

Coverage decreased (-1.4%) to 62.054% when pulling 37cdeec5763260687eabfbe10b832b582c42a01b on amshinde:vfio-networking into adc504e4132d10e0099e06239d92aa1f9ce36941 on containers:master.

Waiting for @mcastelino before to merge this

@sboeuf I will continue this review later today.

@sameo I have pushed changes to introduce switching on the endpoint type. Have left a comment on the interface names. Let me know if you have a preference on it, before I go ahead and make the changes.

@amshinde Thanks for the switch fixes, I also commented on the Endpoint interface getter. Once this is fixed, I'll approve that PR.

LGTM

@mcastelino do you expect more changes or can I merge this PR ?

@amshinde please update the SRIOV CNM plugin documentation to show that we can use SRIOV with CC 3.0. https://github.com/clearcontainers/sriov


Large RAM use for large messages

Our application uses some bigger messages. Those messages can get close to several gigabytes. We observed a fairly high RAM use related to those messages. I've created a test case at https://github.com/pgab/grpc-crash/tree/ram_use.
It clearly demonstrates that the more than double of RAM is being used on both server and client:
/usr/bin/time --verbose ../target/release/server --config config.toml
^CCommand terminated by signal 2
	Command being timed: "../target/release/server --config config.toml"
	User time (seconds): 8.37
	System time (seconds): 3.55
	Percent of CPU this job got: 65%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:18.31
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 6293996
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 0
	Minor (reclaiming a frame) page faults: 2359595
	Voluntary context switches: 115070
	Involuntary context switches: 978
	Swaps: 0
	File system inputs: 0
	File system outputs: 0
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 0

and on the client side:
/usr/bin/time --verbose ../target/release/client-test
3072 MiB
	Command being timed: "../target/release/client-test"
	User time (seconds): 2.81
	System time (seconds): 4.02
	Percent of CPU this job got: 43%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:15.81
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 7344300
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 1
	Minor (reclaiming a frame) page faults: 1835317
	Voluntary context switches: 173080
	Involuntary context switches: 259
	Swaps: 0
	File system inputs: 48
	File system outputs: 0
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 0

Thank you for the report, sometimes grpc does unnecessary message copies/allocations. That need to be dealt with.


Fix coordinate parameter for getegrid

Closes #210

Codecov Report

Merging #225 (146bf6b) into master (05d933b) will not change coverage.
The diff coverage is 0.00%.

@@          Coverage Diff           @@
##           master    #225   +/-   ##
======================================
  Coverage    9.19%   9.19%
======================================
  Files          52      52
  Lines        1273    1273
  Branches      165     165
======================================
  Hits          117     117
  Misses       1010    1010
  Partials      146     146

Impacted Files
Coverage Δ

oereb_client/static/src/api/egrid.js
0.00% <0.00%> (ø)

Continue to review full report at Codecov.

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


Use tox-travis

This first version sits on top of https://github.com/warner/python-versioneer/pull/157 , so it has a green build.
tox-travis sets TOXENV and manages the tox dependencies, such as virtualenv, for Python 3.2 automatically.  (Note I am an occasionally contributor to tox-travis.)
This implicitly fixes one of the problems with the pypy3 builds, but isnt fixed entirely.
I must say that the 'trick' of adding prefix py to all tox testenv names is new to me, and I quite like it as quite inventive, but IMO it is better to "bend" Travis to work with tox standard tox testenv names, and tox-travis also provides a project where tox users can collaborate on problems wrt getting tox to work neatly with Travis.

Looks good.. I was unaware of tox-travis, I'll have to give it a spin in my other projects. Thanks!


If help file modeline does not include "ft=help", text ftplugins take effect even though the filetype is reported as "help"

Describe the bug
If a help file does not end with a modeline that includes the text ft=help, text ftplugins take effect despite the fact that Vim reports the filetype as help.

Expected behavior
Spell-checking should not be enabled. pack/plugins/start/issue-8099/after/ftplugin/text.vim should not have executed because :set ft? reports help.
Environment:

Vim version: 8.2
OS: Ubuntu 20.10
Terminal: GNOME Terminal

Note that if ft=help is added to the modeline of issue-8099.txt, this does not happen.

So this is an interesting case. To shed the light on what's going on:

Vim reads in issue-8099.txt. BufRead event is triggered.
$VIMRUNTIME/filetype.vim sets FileType to text, because modeline is wrong.
Then ftplugin/text.vim sets spell option without filling in b:undo_ftplugin command.
Control return to Vim ex_help() function which sets help buffer up. Previous ftplugin (text) is undone except spell.

So we have:

User error 1: help file must have modeline with ft=help
User error 2: user's ftplugin should respect b:undo_ftplugin mechanism.

One question remains: if Vim should employ "force filetype set" mechanic to bypass $VIMRUNTIME/filetype.vim. Kind of, :e ++ft=help myplugin.txt where ++ft=help sets did_filetype before auto-commands being executed.


added databinding and list adapter

Changed RecyclerView.Adapter to ListAdapter which enhances recycler view performance. Also added data binding and made the adapter easier to read and understand.

Looks great. Thanks for contributing.


Why is the width of ~ different than ➜ on iTerm2?

On https://github.com/denysdovhan/spaceship-prompt/blob/master/docs/Troubleshooting.md#why-doesnt-my-prompt-look-like-the-preview, ~ has the same width as ➜ which looks amazing.
I am using iTerm2 and have installed the Fira Code font.

Ok, found what’s going on... SPACESHIP_CHAR_SYMBOL is set to ➜ (Heavy Round-Tipped Rightwards Arrow, unicode U+279C) by default vs → (Rightwards Arrow, unicode U+2192) which has the right width. PR in the making.

mine too! I can manage to fix this issue with changing font for non-ASCII text (you can set this in the iTerm preferences under Profiles > Text) and set Menlo as non-ASCII font.

...and of course, also can set manually SPACESHIP_CHAR_SYMBOL to the correct symbol 😀


MissingMethodException: No signature of method

In our jenkins shared library project we commonly reuse or invoke functions from other functions in the same library. I'm attempting to write unit tests for this scenario and keep hitting the MissingMethodException exception.
Here's a simplified example:

// file: vars/sayHello.groovy
def call(body) {
  def config = [:]
  body.resolveStrategy = Closure.DELEGATE_FIRST
  body.delegate = config
  body()

  echo 'say Hello!'
}

// file: vars/greetings.groovy
def call(body) {
  def config = [:]
  body.resolveStrategy = Closure.DELEGATE_FIRST
  body.delegate = config
  body()

  sayHello {}
}

// file: Jenkinsfile
@Library('sharedlib') _

node {
  greetings {}
}

When executing a test it throws:
groovy.lang.MissingMethodException: No signature of method: greetings.sayHello() is applicable for argument types: (greetings$_call_closure1) values: [greetings$_call_closure1@3407e97e]

Is this a limitation of the framework or am I doing something wrong?

Hi @roderickrandolph,
I modified an existing test and I cannot reproduce the case you are describing.
Could you look at the mentioned commit to see how it is different from your usage ?
Thanks.

Thank you @ozangunalp for the quick response and helping me find my problem. It turned out to be a user error on my part. I had set additional sourceSets paths in my Gradle build.gradle script and one of them affected the classpath. This test started working as soon as I discovered what I did wrong. Thank you again and sorry for the false alarm.
Also, thank you for creating this framework, it's awesome!!

@ozangunalp sorry, I'm back. Below is the test case I should have shared originally.
// file: vars/sayHello.groovy
def call(body) {
  def config = [:]
  body.resolveStrategy = Closure.DELEGATE_FIRST
  body.delegate = config
  body()

  echo 'say Hello!'
}

def hello(name) {
  echo "Hello, ${name}"
}

// file: vars/greetings.groovy
def call(body) {
  def config = [:]
  body.resolveStrategy = Closure.DELEGATE_FIRST
  body.delegate = config
  body()

  sayHello.hello("World!")
}

// file: Jenkinsfile
greetings {}

When greetings {}  runs and tries to call sayHello.hello("World!") it throws this exception: groovy.lang.MissingPropertyException: No such property: sayHello for class: greetings.
I believe this was the point where I originally started to muck around with the classpath so that sayHello.hello() would be recognized but then that caused other issues including the initial issue above. Is the call() method the only method supported at this time or is there a workaround to support other methods too?
One way around it is to explicitly load sayHello.groovy into greetings.groovy:
// file: vars/greetings.groovy
def call(body) {
  def config = [:]
  body.resolveStrategy = Closure.DELEGATE_FIRST
  body.delegate = config
  body()

  def sayHello = load 'vars/sayHello.groovy'
  sayHello.hello("World!")
}

But this won't work when the script is executed on Jenkins because in the Jenkins context load will look for a file named vars/sayHello.groovy in the project's job workspace (which won't exist) vs the shared library workspace. Thoughts?
Thank you!

Hi again @roderickrandolph,
I just verified and indeed it is a bug. Hopefully it is an easy fix.
I'll try to push the fix to the snapshot release today, so that you can confirm it.
As for the definitive release, I am planning to do it during this week as soon as I find some time.
Btw even though the framework has some limitations, It is never preferable to change your pipeline scripts so that you can test them.
Thanks for the heads up and please don't hesitate to report any other issue.


Automatic labeling of Github issues for GlideinWMS

This pull request is the starting step towards achieving automatic labeling of issues for GlideinWMS when they are newly created. Before merging this pull request, a secret needs to be created under the repository settings for the issue labeler workflow. Otherwise, the third-party action invoked as part of the auto-labeling workflow will fail.
Details:

The issue labeling workflow is based on the a third-party Github action found here that internally uses regular expressions.
Color coding of the labels is recognized/used from the list of existing labels created within the repository.
Requires a secret to be created under the repository settings for the workflow to succeed.
Supports additional, optional attributes that need to be enabled/toggled for more advanced handling of issues and labeling them. For more information on how to achieve advanced handling, click the URL listed under the first bullet point.

Known limitation(s):

If multiple stakeholders are listed in the issue, only the first stakeholder listed will be assigned as a label and the rest of them will be ignored.
A message UnhandledPromiseRejectionWarning: HttpError: Label does not exist occurs when observed in the workflow run log. Looks like this might be because the third-party Github action tries to remove all other labels, listed in regexes-for-issue-labels.yaml after assigning the appropriate ones as decided by the regular expressions when applied.

a known issue with the third-party Github action

The third-party Github action being used in this workflow uses GITHUB_TOKEN with read/write permissions set at the repository level. To determine if granting the RW permissions is safe, did a scan of the code that implements the underlying Github action as was suggested. No traces of security concerning code was found. It'd be great if another pair of eyes can give the code another look to be sure that anything critical or concerning has not been missed.
URL to the Github action: https://github.com/marketplace/actions/regex-issue-labeler


Docs and biopax

First of all, the initial implementation of the BioPAX API and processor.
Second, sphinx module documentation set up.
Third, many small changes to other parts of the project.

Should I put in anymore changes or can we merge?

Looks good.


Markdown formatted Text in rich cards

If rich card's Text property is set to a markdown formatted text it's displayed as a plain text.

Which channel?

I tried on Skype and Bot Framework Channel Emulator.

Hi @mitkodi, that's correct, markdown is not currently supported in cards in Skype.

Closing this issue, since it was answered. Feel free to reopen if needed. Thanks!

@dandriscoll what about teams? and what is a rich card? not seeing it referenced at either bot framework documentation or msteams

was attempting to use hero cards but discovered they don't seem to support markdown formatting

@james-lawrence you might want to open a top-level issue for your question.

@willportnoy any update on this? I know there must be a way to sent Markdown as I have seen it before, but I don't know how its done 😕

@ream88 what channel are you trying to send markdown in?

MS Teams

On 12 Jun 2017, at 18:05, Jason Sowers<EMAIL_ADDRESS>wrote:
@ream88 what channel are you trying to send markdown in?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@ream88 can you start a new question and/or post on stack overflow?  I'm unclear what exactly you're asking.  Are you trying to use markdown on a card or just trying to use markdown?

@JasonSowers https://github.com/Microsoft/BotBuilder/issues/3036 this the issue, explained.

Is markdown supported for hero cards using .Net SDK in web channel?

@poojashivach I don't think so. 3036 is another issue like this. Also, you may want to look at Adaptive cards.


ASMO term additions needed

There are some terms used in atomRDF which is not yet formally in the OWL file

[ ] Math operations

[ ] Addition
[ ] Subtraction
[ ] Multiplication
[ ] Division

[ ] Structure Operation

[ ] RotationOperation -> CMSO.hasVector
[ ] TranslationOperation -> CMSO.hasVector
[ ] ShearOperation -> CMSO.hasVector, CMSO.hasPlane, CMSO.hasDistance

[ ] DeleteAtom
[ ] SubstituteAtom
[ ]  AddAtom
[ ] QuasiHarmonicModel
[ ] ThermodynamicIntegration

[ ]  DeleteAtom
[ ]  SubstituteAtom
[ ]   AddAtom

Are these subclasses of something? I have "PointDefectCreation" as possible superClass. What ya think?

[ ]   DeleteAtom
[ ]   SubstituteAtom
[ ]    AddAtom

Are these subclasses of something? I have "PointDefectCreation" as possible superClass. What ya think? @srmnitc

Sounds good.

| type | subClassOf | domain | range/datatype
-- | -- | -- | -- | --
Mathematical Operation | Class | provo:Activity |   |
Structure Manipulation | Class |   |   |
Addition | Class | Mathematical Operation |   |
Subtraction | Class | Mathematical Operation |   |
Multiplication | Class | Mathematical Operation |   |
Division | Class | Mathematical Operation |   |
Spatial Transformation | Class | Structure Manipulation |   |
Rotation Operation | Class | Spatial Transformation |   |
Translation Operation | Class | Spatial Transformation |   |
Shear Operation | Class | Spatial Transformation |   |
Point Defect Creation | Class | Structure Manipulation |   |
Quasi-harmonic Model | Class | Simulation |   |
Thermodynamic Integration | Class | Simulation |   |
cmso:hasVector | OP |   | Rotation | cmso:Vector
cmso:hasVector | OP |   | Translation | cmso:Vector
cmso:hasVector | OP |   | Shear | cmso:Vector
cmso:hasPlane | OP |   | Shear | cmso:Plane
hasAddend | DP |   | Addition | float
hasSum | DP |   | Addition | float
hasMinuend | DP |   | Subtraction | float
hasSubtrahend | DP |   | Subtraction | float
hasDifference | DP |   | Subtraction | float
hasFactor | DP |   | Multiplication | float
hasProduct | DP |   | Multiplication | float
hasDivisor | DP |   | Division | float
hasDividend | DP |   | Division | float
hasQuotient | DP |   | Division | float
Delete Atom | Instance | Point Defect Creation |   |
Substitute Atom | Instance | Point Defect Creation |   |
Add Atom | Instance | Point Defect Creation |   |


feat(externals): make external dependency bundling more dynamic

Current dependencies on/for this PR:

main

PR #6

PR #7   👈

This comment was auto-generated by Graphite.


ES Indexing problem, expanded field uris for fields specified in the ES view mapping

Describe the bug
When I query an elastic search view that has a mapping, I get the appropriate results from the view, but the mapped fields are present twice, once with the expanded uri, once without the expansion. I have another query that fails applied to this very same view, that needs this mapping to define a field as a dense_vector
What part of Nexus is affected

[ ] Fusion
[x] Delta
[ ] CLI
[ ] Documentation

To Reproduce
Steps to reproduce the behavior, e.g. for Fusion:

Query the view https://bbp.epfl.ch/nexus/web/public/thalamus/resources/https%3A%2F%2Fbbp.epfl.ch%2Fneurosciencegraph%2Fdata%2Fviews%2Fes%2Fneurite_features_similarity_view
Derivation, embedding, and generation fields are present twice, once normally, once with the extended uri https://neuroshapes.org/___"

These 3 fields happen to be the only ones that are present in the mapping.
Expected behavior
I would expect the field to be present once, without being expanded.
API calls (requests/responses)
POST
url: https://bbp.epfl.ch/nexus/v1/views/public/thalamus/https%3A%2F%2Fbbp.epfl.ch%2Fneurosciencegraph%2Fdata%2Fviews%2Fes%2Fneurite_features_similarity_view/_search
body:
{
  "query": {
    "term": {
      "_deprecated": false
    }
  }
}

Additional context
I noticed this problem started to happen at a similar time as a querying problem that I have which is:
POST
url: https://bbp.epfl.ch/nexus/v1/views/public/thalamus/https%3A%2F%2Fbbp.epfl.ch%2Fneurosciencegraph%2Fdata%2Fviews%2Fes%2Fneurite_features_similarity_view/_search
body:
{
  "from": 0,
  "size": 10000,
  "query": {
    "script_score": {
      "query": {
        "bool": {
          "must_not": {
            "term": {
              "@id": "https://bbp.epfl.ch/neurosciencegraph/data/embeddings/19276114-caaa-4b0e-a9e2-70deb39983a2"
            }
          },
          "must": {
            "exists": {
              "field": "embedding"
            }
          }
        }
      },
      "script": {
        "source": "if (doc['embedding'].size() == 0) { return 0; } double d = l2norm(params.query_vector, doc.embedding); return (1 / (1 + d))",
        "params": {
          "query_vector": [
            -0.08260509371757507,
            -0.08260509371757507,
            -0.08920200914144516,
            -0.07583354413509369,
            -0.07291055470705032,
            -0.06836287677288055,
            -0.06377685070037842,
            -0.06357715278863907,
            -0.06084422767162323,
            -0.06160489469766617,
            0.1739482581615448,
            0.1739482581615448,
            -0.09933186322450638,
            -0.09933186322450638,
            0.034694548696279526,
            0.034694548696279526,
            0.028268376365303993,
            0.028268376365303993,
            0.04288502782583237,
            0.04288502782583237,
            0.020606422796845436,
            0.020606422796845436,
            -0.02916070818901062,
            -0.02916070818901062,
            -0.044178251177072525,
            -0.044178251177072525,
            -0.04115918278694153,
            -0.06349165737628937,
            -0.011873705312609673,
            -0.06435810029506683,
            -0.06141848489642143,
            -0.06166774407029152,
            -0.04553811252117157,
            0.014931158162653446,
            -0.04241690784692764,
            0.02023460529744625,
            -0.04855116084218025,
            0.02579980157315731,
            -0.07622093707323074,
            -0.08066285401582718,
            -0.009105970151722431,
            0.08463781327009201,
            0.005502933636307716,
            0.07585471123456955,
            -0.0870722308754921,
            -0.08159056305885315,
            -0.09245093166828156,
            -0.02511134184896946,
            -0.03884533792734146,
            -0.03554901108145714,
            -0.03346136957406998,
            -0.019801082089543343,
            -0.07444776594638824,
            -0.07599923014640808,
            -0.07427100092172623,
            -0.07645842432975769,
            -0.07219020277261734,
            -0.07093288749456406,
            -0.07786533236503601,
            -0.07931996881961823,
            -0.05971261113882065,
            -0.07173869013786316,
            -0.05890446528792381,
            -0.07718859612941742,
            0.04353219270706177,
            0.000733999942895025,
            -0.008859426714479923,
            0.020699823275208473,
            0.05576733499765396,
            0.05576733499765396,
            0.06826351583003998,
            0.06826351583003998,
            -0.09947890043258667,
            -0.09947890043258667,
            -0.09549856185913086,
            -0.09549856185913086,
            0.0,
            0.0,
            -0.09547697752714157,
            -0.09547697752714157,
            -0.08476231247186661,
            -0.08476231247186661,
            -0.07903534173965454,
            -0.07903534173965454,
            -0.0763164535164833,
            -0.0763164535164833,
            0.2143465280532837,
            0.0,
            0.2163686901330948,
            0.0,
            0.0,
            0.0,
            -4.335720451128143e-17,
            0.0,
            -9.476214184631987e-17,
            0.0,
            4.262625478247037e-17,
            -7.56397642571232e-17,
            -0.09334449470043182,
            0.0,
            0.026570839807391167,
            0.0,
            1.5078107609456685e-16,
            -1.6208158087190289e-16,
            -1.463564803805758e-16,
            0.0,
            0.0,
            -3.1348694671837576e-16,
            -1.435399734082246e-17,
            0.0,
            -1.9893198747021764e-16,
            0.0,
            -0.09278623759746552,
            -2.0932559789373014e-17,
            -0.09344613552093506,
            -2.0650343962343397e-17,
            0.0,
            -2.169402917406483e-17,
            -0.0940978080034256,
            1.758549420904662e-17,
            -0.0724826231598854,
            0.0,
            -0.023566843941807747,
            0.0,
            -0.03018305078148842,
            -2.1623525261734484e-17,
            -0.17308054864406586,
            9.727900760485742e-17,
            -0.15120118856430054,
            -0.04303601756691933,
            4.887112760883336e-17,
            0.0
          ]
        }
      }
    }
  }
}

leading to the following error message:
"cannot implicitly cast def [org.elasticsearch.index.mapper.vectors.DenseVectorScriptDocValues] to java.lang.String"
The query had been working for a while now, and when I started to notice the indexing problem, it started to fail.
(The query would also fail similarly if I didn't specify "embedding" to be of type dense_vector)

https://www.elastic.co/guide/en/elasticsearch/painless/7.17/painless-api-reference-score.html
https://www.elastic.co/guide/en/elasticsearch/painless/8.7/painless-api-reference-score.html
There does seem to be a change in the scripting method signatures, forget about the additional context section (although maybe this problem is also a consequence of the version update 🤔)

From the list of breaking changes it does seem like this was change in ES 8.0 (cf. Vector functions using (query, doc['field']) are no longer supported.).
For the main issue we will be taking a look into it

@ssssarah An initial look into the issue with @samuel-kerrien suggests that you can work around it by using the legacy view definition (the one without the pipeline field). I think in your case you should be able to convert what you have into the legacy format.
And on our end we will be looking into the root cause of this difference to be able to fix it.

With the new definition, there is a change that should have been better documented but using the new elasticsearch views api, you have to explicitly to add one of the defaultLabelPredicates / selectPredicates/ dataConstructQuery pipe:
https://bluebrainnexus.io/docs/delta/api/views/pipes.html


Improved Scheduling experience

Is your proposal related to a problem?
We have received feedback from several of our authors that the scheduling experience is not intuitive, specifically, the fact that you have to set a publishing schedule and then that doesn't have any effect until you actually hit Publish is confusing and "slightly nerve-wrecking" as that can give the impression that it will get published immediately.
Describe the solution you'd like
It'd be a lot more intuitive and predictable if there was a "Schedule" button that lets authors set the publishing schedule and doesn't require any further action for it to work.
Describe alternatives you've considered
We have tried documenting the behavior and clarifying this on trainings but it does continue to be a constant source of confusion.
Additional context
N/A
Anyone can contribute to this. View our contributing guidelines, add a comment to the issue once you’re ready to start.

Hi @luisvillalba, could you clarify what version of Wagtail you’re basing this feedback on?
We made a lot of changes to the scheduled publishing UX in Wagtail 5.1, with a very prominent "This publishing schedule will only take effect after you select the 'Publish' option". I don’t think this leaves too much room for confusion?

Even once the schedule has been saved, the UI says "Once published":

We considered what you describe as the ideal solution but decided against it, as it makes it impossible for an unpublished page to have its "go live" field set without also being scheduled.
Perhaps we could keep the current UX, but when a page has a saved schedule, change its "Publish" button label to "Schedule" or "Schedule for publishing"?

Closing due to lack of response.


Document how to configure HttpClient options

Such as timeout.
For reference, SimpleS3 (when using HttpClientFactory) uses a client named SimpleS3. It can be configured like such (I need infinite timeouts):
var builder = services.AddSimpleS3Core();
builder.UseHttpClientFactory();

services.AddHttpClient("SimpleS3", client => client.Timeout = Timeout.InfiniteTimeSpan);

... buuut.. there's a simpler way, apparently. The IHttpClientBuilder from UseHttpClientFactory() allows one to configure the client:
IHttpClientBuilder httpClientBuilder = builder
    .UseHttpClientFactory();

httpClientBuilder
    .ConfigureHttpClient(client => client.Timeout = Timeout.InfiniteTimeSpan);

That's honestly the fault of Microsoft. They attach a lot of extensions to the service collection once you add their dependency. They make it convenient to use their libraries, but it is not a good design and adds confusion.
I'm working on streamlining how you can configure proxy, timeout etc. Documentation comes after.

The streamlining is finished. Documentation can be found in the SimpleS3.ExamplesAdvanced project.

The streamlining is finished. Documentation can be found in the SimpleS3.ExamplesAdvanced project.


Plugin always scans all records

Expected to scan only shown or selected records.
Always scans the entire library.

A popup menu item labeled "Scan Attachments of Selected Items" has been added.
The caption for the item in the main "Tools" menu has been updated to "Scan All Attachments" to clarify that it applies to all items.

v 0.2.0:

A popup menu item labeled "Scan Attachments of Selected Items" has been added.
The caption for the item in the main "Tools" menu has been updated to "Scan All Attachments" to clarify that it applies to all items.


CustomShellRenderer class should be public

CustomShellRenderer class should be public so we can inherit from it

Im open for a PR, just created this library quickly to show how to implement badges

And name should be changed to BadgeShellRenderer

Hello @mohamadayash, starting from 1.0.9 version, renderers are public :3

Hello, @tkouba, your request is done 😃


OCS: use user from context when rendering self

Instead of querying the accounts service we can render the result by using the user in the context, which has been populated by the proxy. This is possible because the proxy can handle basic auth.
Note that this PR should have a positive effect on every login in the web ui, because phoenix fetches the  ocs /user endpoint as part of the login.
Fixes https://github.com/owncloud/ocis-ocs/issues/52

Rebased and removed a bug verification test for something that this PR fixes

please rebase

@butonic rebase or close please

:boom: Acceptance test settingsUITests failed. Further test are cancelled...

please rebase or close


Update HamlLint to fix a parse issue

HamlLint had a bug where it was erroring out on invalid attribute tags.
Example:
$div
  %p{ data-attribute: "foo" }

Since the above is not a valid symbol syntax, HamlLint was dying on it
with a message of:
undefined method `children' for false:FalseClass

The linter has fixed the issue in v0.16.0 version.

:+1:

Nicely found!


Persistent workspaces in hyprland/workspaces

Adds persistent_workspaces to the hyprland/workspaces module, based on the implementation from wlr/workspaces.
Apart from what's possible with wlr/workspaces (specifying an array of monitors a workspace should be shown on), you can also specify a fixed number of workspaces each monitor should have, like this:
"persistent_workspaces": {
  "*": 3,    // 3 workspaces by default
  "DP-1": 5 // but DP-1 gets 5 workspaces
}

CC: @MonstrousOgre @Anakael @MightyPlaza

This is great! Once this is merged, I can start using this over wlr/workspaces

I was not using window_, so I just created the var and parsed it on start.
We need to listen to windowCreate and windowDestroy (or more) to keep track of window count

It's possible to listen to (openwindow, movewindow, closewindow) but you'd have to keep track of which window are where for it to work.

Seems to work pretty well, though.

Nevermind, still a small bug when moving a window to another workspace: the workspace is not seen as empty until I go back to the empty workspace.
For example, here I move a window from workspace 1 to 4, one by one:
https://github.com/Alexays/Waybar/assets/4633209/51be6e13-2073-4315-97d3-2cb04aff3f33
A white background means the workspace is not empty, grey means persistent and empty.

Ok I think I fixed it for real this time: now it will update the window counts on openwindow, closewindow, and movewindow, and set it to 0 when the json received from hyprland's IPC does not include the workspace (meaning it is a persistent workspace).
Ready for review.

What about listening for destroyworkspace to know if it's empty? Don't empty workspaces get destroyed when not focused?


Interrupt infinite loop

First, congratulations for Tengo!
Hey guys! How can I interrupt a loop to avoid bad scripts to run in the host? I searched some example but I could not find.

You can set the timeout for the VM execution via Script.RunContext or Compiled.RunContext.
ctx, cancel := context.WithTimeout(context.Background(), timeout)
defer cancel()

if err := compiled.RunContext(ctx); err != nil {
	panic(err)
}


Move runtime from node v6 to node v10

Apparently Adobe Runtime now supports node v10. Moving from v6 to v10 means we can support async/await (amongst other goodies).
This issue is blocked by #33 - #33 must ship first.

We also need to tackle this issue as runtime is dropping support for node v6 and v8.


Set up wpiformat

Holy merge conflict batman... Will this be easier to just restart?

Was pretty easy to rebase. GitHub will claim a file conflicts even if it will automatically resolve with a 3-way merge.
Before merging this, we need to change cpplint's include guard pattern rules.

Does javah also align pointer asterisks to the right?

yes, but that part of it can't be compared anyway, as javah doesn't output parameter names.


[local_auth] canCheckBiometrics returns false after user fails face ID and PIN authentication multiple times on iOS

On iOS, if Face ID fails multiple times, the device falls back to PIN authentication, and if it fails 5 times it disables it temporarily. At this point, the widget is incorrectly returning false to canCheckBiometrics during that 1 minute period or so.
Plugin version: 1.1.8
Steps to Reproduce

Install app on iOS that uses local_auth
Fail authentication with Face ID multiple times, until the iOS device disables biometric authentication temporarily.
Restart the app.
Call canCheckBiometrics and it will return false.

Expected results:
canCheckBiometrics() should return true when biometric authentication is temporarily disabled by the iOS device for security reasons.
Actual results:
canCheckBiomterics() returns false when biometric authentication is temporarily disabled by the iOS device for security reasons.
An app depending on this function will misinterpret this as no biometrics are available.
If this is the intended behaviour of canCheckBiometrics() then the documentation needs to be updated to state this. Currently the doc only says:
Returns true if device is capable of checking biometrics. It does not specify that it only returns what is currently available.
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.5.3, on Mac OS X 10.15.7 19H15 darwin-x64, locale
    en-MT)
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for
      more details.
[✓] Xcode - develop for iOS and macOS
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.2)
[✓] IntelliJ IDEA Community Edition (version 2020.1.2)
[✓] Connected device (2 available)

Hi @jbx1, thanks for filing the issue.
Please provide the version of local_auth you're using and a complete minimal reproducible code sample unless the local_auth example app is enough to reproduce this issue.
Thank you

Version 1.1.8. It can be regenerated with the example app. I have updated the details.

Hi @jbx1, after failing Face ID until it is disabled and restarting the app, this is what I see when I try to authenticate.
I used the example app.

OK I think the confusing part comes from the canCheckBiometrics returning false during this period.
I think what is happening is that during this period it returns false, because the list of available biometrics becomes temporarily empty.  The description is not clear that this is referring to whether it can check biometrics now, since the description is just Returns true if device is capable of checking biometrics.

The description is not clear that this is referring to whether it can check biometrics now, since the description is just Returns true if the device is capable of checking biometrics.

I guess the documentation can be updated to state that it's true unless biometrics are not available.

canCheckBiometrics() should return true when biometric authentication is temporarily disabled by the iOS device for security reasons.

Can you confirm that this behaviour matches native behaviour?
Because once the biometrics is disabled, I believe the call to get available biometrics will return an empty list, which effectively means that biometrics is not available.

It seems this only happens on iOS. I am not sure what happens natively.
It could be that this is actually the intended behaviour, and it is just a question of clarifying the documentation because the description of isDeviceSupported() says:
/// Returns true if device is capable of checking biometrics or is able to fail over to device credentials.
while canCheckBiometrics() says:
 /// Returns true if device is capable of checking biometrics
One would think that the difference between both is just whether one can fallback to device credentials, and the other will not. When in fact the difference is more subtle in case of iOS. canCheckBiometrics() will change its return value depending on the current device locking situation, while isDeviceSupported() is consistent in its return value.

while isDeviceSupported() is consistent in its return value.

I believe this is due to the fact that for iOS, the plugin code just returns result(@YES), whereas canCheckBiometrics defers to getAvailableBiometrics and returns a value based on whether or not available biometrics is empty.
Android has a different implementation for isDeviceSupported.
But I believe it shouldn't be that much of an issue to update the docs so it is more clear as to what the actual behavior for canCheckBiometrics should be.
I'll do some investigation to see what the native behavior is, because the plugins do try to match native behaviour. If you can also confirm, that will be appreciated.


Depreciate puppet 3 and winlogbeat less than 5

Example: https://github.com/pcfens/puppet-filebeat/pull/118
I will be sending you a MR eventually to do the same. I think you should release a 1.0.0 soon as the last release to support puppet 3 and beat less than 5 and then cut a 2.0.0 after this.

@edestecd my primary employer (not Skynet-Solutions) isn't using puppet to manage Windows servers anymore like we were when I first released this module. I'm migrating our Linux stuff to Docker and the Windows servers are now being maintained by admins who don't utilize source control or config management.  As such I don't really have a way to use this on more than a couple servers so I'm thinking of seeing if it should be transferred to https://github.com/voxpupuli.

If that doesn't work MiamiOH will take it


Update JSON Schema Store with version 1.3

Submitted: https://github.com/SchemaStore/schemastore/pull/1077
I'll update this issue when it is (hopefully) merged.

Looks done.


bug of IS_CONSTANT in php 7

srm_oparray.c:448:8: error: 'IS_CONSTANT' undeclared (first use in this function)
case IS_CONSTANT:       return vld_dump_zval_constant (val.value)
IS_CONSTANT type and Z_CONST_FLAGS() are removed. Now constants are always represented using IS_CONSTANT_AST
so it's undeclared

In which PHP version is that? It still compiles with PHP 7.2.0-dev.

PHP 7.3.0-dev
the newest version in https://github.com/php/php-src

This is been resolve in the meanwhile.


Input allows invalid entries from API

Harden Routes and Repository, to check Person (json, object) and ID (string --> integer).

sanitize

See commits


Pre-compile HAR schema for validation

Ajv is currently used in httpsnippet for validating the HAR schema passed. Using complete Ajv dependency makes httpsnippet require 'unsafe-eval in the CSP policy, which is a security concern. (https://github.com/ajv-validator/ajv/blob/c3e203c2696e42ec107fe6a5a659fca54b2e4993/docs/security.md#content-security-policy).
As a workaround, since the schema for HAR is known (and already included), it can be pre-compiled into a validation function as part of the build. The Ajv Docs have details on the same.
This would move Ajv from a runtime dependency to a optional developer-dependency (as Ajv-cli) - only needed when har-schema is updated. This would bring a lot more benefits, including performance and bundle size improvements.
This request comes via the Stoplight Elements project, which uses httpsnippet internally. Since httpsnippet doesn't offer a way to pre-compile schemas, this ends up breaking Elements in configurations which limit unsafe-eval via CSP.

I did exactly this and published the library to https://npmjs.com/package/har-validator-compiled, should help out with a few of the places that use har-scheme validation.
I just put up a diff to move over to this validator. https://github.com/Kong/httpsnippet/pull/297


Test case failing due to syntax error

When I run the test I got the following error
Uncaught TypeError: expect(...).to.be.null is not a function

It coming from the following lines
https://github.com/werk85/node-html-to-text/blob/master/test/html-to-text.js#L48
https://github.com/werk85/node-html-to-text/blob/master/test/html-to-text.js#L51
The correct syntax will should be
expect(err).to.be.null;

Just realized that it was happening because I was skipped dev dependencies. SO closing this issue


Early stopping

I added a parameter in the algorithms for early stopping : ES=False

Codecov Report

Merging #28 (2a9a077) into master (2f68b9f) will decrease coverage by 3.99%.
The diff coverage is 8.69%.

@@            Coverage Diff             @@
##           master      #28      +/-   ##
==========================================
- Coverage   42.52%   38.53%   -4.00%
==========================================
  Files           9        9
  Lines         388      436      +48
  Branches       57       72      +15
==========================================
+ Hits          165      168       +3
- Misses        215      257      +42
- Partials        8       11       +3

Flag
Coverage Δ

unittests
∅ <ø> (∅)

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

Impacted Files
Coverage Δ

iterreg/sparse/solvers.py
39.70% <8.69%> (-9.99%)
:arrow_down:

iterreg/utils.py
30.50% <0.00%> (+0.87%)
:arrow_up:

Continue to review full report at Codecov.

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


rebuild necessary items based on changes to viz.yaml non-file options

first task: split the viz.yaml into pieces, write files behind the scenes that only include those pieces
second task: get dependencies hooked up so that items depend on their baby viz.yaml files
supports #103

OK, for step 1, I'm thinking of doing the save in getContentInfo...does that sound correct?

It needs to be called before the make targets that might depend on it; otherwise, they'll use old information. When & how would getContentInfo get called?

Ohhhhh right, I think that is post-make

Actually, if I run createMakefiles with debug(getContentInfo), then I get pushed into the getContentInfo debugger, so I guess that is being called...

Just remember that getContentInfo also gets called lots of other times, e.g., every time you run a fetch/process/visualize function (via as.viz).
What about creating a new target in the main Makefile that depends on viz.yaml and is depended on by fetch, process, etc.?

Talking myself through this....
I was thinking something like this:
getContentInfo <- function(viz.id, block=c('fetch','process','visualize','publish','resource'), no.match=c('stop','NA')) {
  if(length(viz.id) != 1) stop("viz.id must have length 1; see getContentInfos for alternatives")
  infos <- getContentInfos(viz.id, block=block)
  if(length(infos) == 0) {
    if(!missing(no.match) && is.na(no.match)) no.match <- 'NA'
    no.match <- match.arg(no.match)
    switch(
      no.match,
      'stop' = stop("no matches for viz.id '", paste0(viz.id, collapse="', '"), "' in block[s] ", paste0(block, collapse=", ")),
      'NA' = return(NA))
  }
  if(length(infos) > 1) stop("multiple matches for viz.id ", paste0(viz.id, collapse=", "), " in block[s] ", paste0(block, collapse=", "), ":\n", paste0("  ", names(infos), collapse="\n"))

  return.info <- checkConfig(info=infos[[1]], viz.id)

  return(infos[[1]])
}

checkConfig <- function(info,viz.id){
  file.config <- paste0(viz.id,".rds")
  full.config <- file.path("cache","config",file.config)
  if(file.exists(full.config)){
    orig.info <- readRDS(full.config)
    if(!all(orig.info %in% info)){
      saveRDS(info, full.config)
    }
  } else {
    saveRDS(info, full.config)
  }
}

Then need to get the cache/config/viz.id.rds file pushed into the make files.

Ah, it's starting to become clearer! This is very helpful.
It looks like checkConfig() uses getContentInfo() for two things; (1) to get itself called, and (2) to use its output as the contents of the file to be checked/written. However, getContentInfo() gets called really often - more often than makefiles would ever use the information - so I think you can and should flip the order so that checkConfig gets itself called in another way and then makes a call to getContentInfo() to get the config block.
To serve purpose 1, making sure checkConfig() gets called, I'm increasingly liking the idea of a separate target in the top-level Makefile. That makefile gets used once per call to make - i.e., always at the right frequency for make to decide about updates. If it's a symbolic target (i.e., not a filename), and if the fetch, process, visualize, and publish targets all depend on it, then it will get run every time, which would be fine for a first cut. It could also write an indicator output file after checking all targets so that it only gets run as often as viz.yaml changes, which would be even more optimized.

I'd prefer another name for checkConfig() that communicates that the function often writes files, and that can't be read as "I confirm that the info is well formatted", which is how i first read it. What about writeContentInfo or updateContentInfoFile or something like that?

I really don't understand the idea of "a separate target in the top-level Makefile" (although that's exactly what I'm thinking for the global issue). Won't that cause the whole thing to rebuild if any part of the yaml is changed?

It will cause the whole thing to reconsider building, yes, which I think is what we want. But it won't necessarily cause every step to be refetched or reprocessed or anything. By "reconsider" I mean it'll check timestamps for each of those fetch/process/visualize/publish targets - if the content info file for any particular target has a more recent timestamp than the target, then that target and its downstream dependencies will be rebuilt. but if you didn't change the timestamp on the content info file, then the target shouldn't get touched.

https://github.com/USGS-VIZLAB/vizlab/pull/206

Further needs for this issue are coming up as I'm playing with USGS-VIZLAB/example.

Can we make it so config is a dependency of more targets than just all?  For example, I'd like to be able to edit the viz.yaml, run make fetch, and see my updates take effect. (Really really ideally, I'd be able to edit the viz.yaml, run make -f vizlab/make/fetch.make iris-data, and see my updates...but that would require every single target to depend on config, which seems like a headache...but maybe worth it?) Whatever we choose, I think we only need the dependency at the finest granularity where we have the dependency - i.e., if we have vizlab/make/fetch.make depend on config, then all doesn't need to depend on config.

Can we make config be a file that gets written (probably tucked into vizlab/make somewhere) so that it only gets updated when viz.yaml has changed? This will help prevent the above change[s] from slowing down the build process a bunch.

Optional change, but now that I'm thinking about making the dependency more granular, I'm wondering which is faster from a vizlab user perspective: to only build the config .rds file for the specific target[s] being requested, just in time to build them, or to build all config .rds files the first time any one of them is noticed to be out of date (as currently implemented)? I guess this comes down to whether the maximum build time for a complex project is a noticeable wait or not - it might always be too fast to matter.

There's a scenario where having all fetch items depend on their respective config files is a problem: when the fetch item is a file in data and therefore never gets copied into the cache, its timestamp never changes. So if it depends on cache/config/xx.rds, it gets 'fetched' every time. The fetch is just a few shell & function calls, no real action, but it still adds to every build time by a second or two. My example is iris-data in USGS-VIZLAB/example; it may be less common in real vizzies, but it didn't take long to find this real example: https://github.com/USGS-VIZLAB/water-use/blob/master/viz.yaml#L121.

I'm noticing that we save internal timestamp-checking files to vizlab/make/timestamps. Would it make sense to move cache/config/xx.rds over into vizlab/make/config/xx.rds? i don't feel strongly about this, but it might be nice to hide those .rds files from view since users shouldn't edit or commit them.

on it. I thought if all depended on it, then it would cascade, but I understand now.
I don't follow what you are asking. I can't fathom that we're adding much time to writing these tiny files.
Again....I really can't fathom that building these new files and then checking if they are different is taking enough time that anyone would notice relative to the rest of the viz...but haven't benchmarked. If it somehow adds a noticeable affect, then we could look into using feather, but, (a) they are generally only made once, and (b) they are tiny tiny files....So,
Yeah, I don't understand the fetch timestamping stuff at all. I'll try re-reading this after I do (1)
I think it would make sense to move those. That is, hiding all the "vizlab-logistics" files in a single place.

So for (1) above, I think you are saying go back to the original Makefile:
all: \
	fetch \
	process \
	visualize \
	publish

Then the simpler way:
add to each fetch.make, process.make, etc:
all: \
	config \
	iris-data \
	cars-data \
	Cuyahoga \
	MakeMessages

config: viz.yaml
	export R_LIBS_USER=$(RLIBSUSER);\
	${RSCRIPT}  -e 'library(vizlab); updateConfig()'

iris-data: data/iris2.csv
data/iris2.csv: vizlab/make/timestamps/iris-data cache/config/iris-data.rds
...

2. In the case where updateConfig() checks all files every time and is depended on by multiple targets, then a single call to make all would call updateConfig maybe 4 times, maybe 30 times (depending on where you put the dependencies) - having updateConfig write a single tiny file once it's complete would cut that number down to exactly once per make call, and done.
3. I think you're actually headed this way with your mo'better approach above: iris_data depends on its own personal iris-data.rds and updateConfig(iris-data), rather than having just one or a few calls to updateConfig at the top levels (all, fetch, etc.) that update all the configs all at once. We might need to make some implementation tweaks to the above, but it's close.
4. I think the cleanest fix might be on the target side, separate from this config-writing task, even though it emerged here. Let's just get it on the table and talk about it once this issue (and maybe also globals) is done.

Tweaks: just one, actually: I think we could do with a single generic target cache/config/%.rds that would define dependencies of each individual config/xx.rds on viz.yaml and updateConfig(). For now we'd need to copy it so it appears once in fetch.make, once in process.make, etc., but with a little further adjusting (for https://github.com/USGS-VIZLAB/vizlab/issues/88) we can probably collapse it down to just a single appearance.
fetch.make
cache/config/%.rds : viz.yaml
	${RSCRIPT}  -e 'library(vizlab); updateConfig("$*")'

iris-data: data/iris.csv
data/iris.csv: cache/config/iris-data.rds
	export R_LIBS_USER=$(RLIBSUSER);\
	${RBATCH} "--args fun=fetch funargs=list(viz='iris-data')" \
	vizlab/make/callFunction.R vizlab/make/log/fetch/iris-data.Rout

cars-data: cache/cars.csv
cache/cars.csv: vizlab/make/timestamps/cars-data cache/config/cars-data.rds scripts/fetch/cars.R
	export R_LIBS_USER=$(RLIBSUSER);\
	${RBATCH} "--args fun=fetch funargs=list(viz='cars-data') scripts=c('scripts/fetch/cars.R')" \
	vizlab/make/callFunction.R vizlab/make/log/fetch/cars-data.Rout
vizlab/make/timestamps/cars-data: cars-data_timestamp
cars-data_timestamp: scripts/fetch/cars.R
	export R_LIBS_USER=$(RLIBSUSER);\
	${RBATCH} "--args fun=fetchTimestamp funargs=list(viz='cars-data') scripts=c('scripts/fetch/cars.R')" \
	vizlab/make/callFunction.R vizlab/make/log/fetch/cars-data_timestamp.Rout

$* is an "automatic variable" in make - see https://www.gnu.org/software/make/manual/html_node/Automatic-Variables.html. It gives the stem of the target, which in this case should be things like iris-data and cars-data

made a new issue (#207, linked just now) to capture number 4 above.

The core issue is addressed thoroughly. Ideas 1, 3, and 5 above are addressed thoroughly. Point 4 now has its own issue and point 2 is partly addressed by #208, partly tabled until build time for this implementation becomes concerning (which may not ever happen). So I think we're good to go!


Disable Uptime Attribute

Hello,
first of all, thank you for this great integration.
Would it be possible to (optionally) disable the uptime attribute of the "binary_sensor.fritzbox_connectivity"
The binary sensor generates a lot of rows in the "home-assistant_v2.db" Database. It seems like, that the only reason is the changing uptime attribute.
Thanks in advance

Good point. Maybe we could change it to the date of the last boot. This way the uptime could be calculated but we don't need to store each update.

This sounds like a good solution :)

I just had a look at fritzconnection. There is no attribute for the timestamp of last reconnect and it seems like, that it won't be implemented. https://github.com/kbr/fritzconnection/pull/47
Does it makes sense to calculate the timestamp inside the binary sensor?
Maybe we could do something like this. We just have to replace the "UPTIME" with the uptime attribute.

timestamp_lastreconnect = datetime.datetime.now() - datetime.timedelta(seconds="UPTIME")
return timestamp_lastreconnect.strftime("%Y-%m-%d %H:%M")

I just don't know how to implement this into the binary sensor.
Maybe you also know a better solution for it.

Closed by latest release.


Multiple selection in virtualized ListBox lose one of selected items

Describe the bug
When trying to extend the selection when the selected items are out of view, they may lose their selected state. When ItemsPanel=StackPanel works correctly.
To Reproduce
Steps to reproduce the behavior:

Run the VirtualizationDemo sample
Enable Multiple Selection
Select the first item in the ListBox (or multiple items)
Scroll to the end of the list
Select the last item with Ctrl key pressed
Scroll to the top of the list
The item (one of the items if more than one item was selected) selected at step 3 is not selected

Expected behavior
Selecting items in a ListBox works the same way as without virtualization.
Desktop (please complete the following information):

OS: Windows 10
Version 11.0.0-rc1.1

@reejk can you double-check with latest nightly if the issue is solved?

Can't reproduce on 11.0.999-cibuild0036924-beta


Few core tests

Coverage increased (+3.69%) to 87.02% when pulling d6d7164d20373a0661936897ed7e22f1f0013dd5 on few-core-tests into f86ccaad86421d555c769a30f52dfe49b5e1c19a on master.

Coverage increased (+6.27%) to 89.6% when pulling 61fb9506ba879d1d0283f6c451437266ef8fa5a9 on few-core-tests into f86ccaad86421d555c769a30f52dfe49b5e1c19a on master.

Coverage increased (+6.25%) to 89.58% when pulling 599806bb7ae525a266f94b267d1dd35b4e7f204d on few-core-tests into f86ccaad86421d555c769a30f52dfe49b5e1c19a on master.

Coverage increased (+8.81%) to 92.15% when pulling be257043ccb9a52b1f2475393e55113f1036c406 on few-core-tests into f86ccaad86421d555c769a30f52dfe49b5e1c19a on master.


Permission denied on calculation item... because it references a secured object

Hi there,
I've just introduced a calculated item to conditionally format a column in Power BI.
The first user to be granted access to the new report set cannot see the data in the report as a result of an error "Permission denied on calculation item 'x' because it references a secured object". It works fine for those with admin access.
To my knowledge, only RLS has been applied (no OLS - certainly not intentionally). This user has access to everything and as such their role has no conditions set. The Role is blank against every table therefore implicitly allowing access to everything.
Until now, this has worked perfectly.  Can you pls advise what I can look at in my model to resolve this or alternatively documentation that will assist.
Cheers
Kaycee

The error message indicates that the model does in fact have OLS applied. So I recommend that you take a look at each table permission within the relevant role, to see if there is any OLS applied:

Brilliant, thank you for the quick reply.
To confirm, "default" is what it should be but "None" or any other option would imply OLS?

Correct

@otykier ,
Thanks again for your advice. Unfortunately this hasn't resolved the issue.  I've popped in a mock up role for testing.
As you can see, everything says default.  I also took a quick look at every table and every column of every table and they all say 'Default' on the OLS.
Are there any other areas that could be affecting this?

What about the model permission on the role itself?

@otykier , it also states "Read" as your image says above.
For reference, I have currently removed all Roles so that my client can see the data while we continue through development and test.
When I re-add the role, the same issue occurs.  I thought this might be useful to know in that it isn't being 'added' to the role. It is either happening by default, or its a setting somewhere else that remains even when I have no roles in the model.

@otykier just floating this back to the top.  I see it's been marked as closed but as yet I've not been able to use security roles due to this issue.
Would you be able to reopen and advise if there is anything else I can consider that might be triggering an OLS issue?

Did you assign the user in question to the role? (As soon as a role is created on a dataset, a user will either need admin permission, or be a member of one of the roles on the dataset, before they are able to see anything)
https://docs.tabulareditor.com/te3/tutorials/data-security/data-security-about.html#3-assign-users-to-roles

@otykier. Yes, it definitely was assigned.
In an attempt to narrow down the object causing the issue, I simplified the code in the offending calculation group until the error disappeared.
As it turns out, there code used the ISSELECTEDMEASURE function.  2 of the measures in that function had been deleted. Instead of offering an error, it worked fine until RLS was applied in which case the OLS error was returned.
I assume this was because the object (measure) didn't exist.  The error was unfortunately misleading.
My apologies that I have used your time on this - it was frustrating for me so I can imagine it isn't ideal for you.
Thank you though for your support. It's improved my understanding of an area of PBI/Tabular Editor I didn't realise existed.

No worries - glad to hear the issue was resolved.


In history tab 1st version should say "created_by"

currently all versions say "updated by"
This is easy polish.

on production.


Rendering Algorithms of Regular and Curvilinear are Reversed

When changing the Rendering Algorithms under Raytracing Patterns from Curvilinear to Regular, I noticed that the renders were mirrored. This Isosurface Renderer is a flipped mirror image of itself when changed from regular to curvilinear and back again.

Helpful additional information
(Please click check boxes AFTER submitting ticket)

[ ] Did VAPOR crash?
[x] Did you get wrong results?

Impact

[ ] High - User productivity significantly degraded
[x] Medium - User productivity partially degraded
[ ] Low - User productivity trivially degraded

Desktop

OS and version: [Linux Redhat Enterprise 7]
Version: VAPOR 3.2.0 alpha

file:///home/jvalancy/Desktop/curvilinear.png
Curvilinear is the correct direction

But regular is the wrong direction.

file://home/jvalancy/Desktop/curvilinear.png

Curvilinear is the correct direction

Whereas Regular is inverted and in the opposite direction.

Furthermore, is the curvilinear renderer supposed to pixelate when clicking and dragging the camera?


Example: Reporting Measured Capacity (i.e. Practical Capacity)

Continued discussion from Issue #109
"[How can we imply how a capacity was measured]: (half/full cell, upper cut-off voltage, C-rate, temperature, …). I am not quite sure how to implement this. May be having another row something like Method of measurement where the user will have to specify how the measurement of the capacity was done. What do you think about this? and if so, is there an ontology to describe this new row: 'Method of measuring capacity'?"

We have added the term RatedCapacity: https://w3id.org/emmo/domain/electrochemistry#electrochemistry_9b3b4668_0795_4a35_9965_2af383497a26
Rated Capacity is the IEC defined term for "capacity value of a battery determined under specified conditions and declared by the manufacturer"
https://www.electropedia.org/iev/iev.nsf/display?openform&ievref=482-03-15

@NukP Here is an example for one way you could describe this.
{
"@context": "https://w3id.org/emmo/domain/battery/context",
"@type": "BatteryMeasurement",
"@id": "https://example.com/namespace#MyCapacityMeasurement",
"rdfs:label": "MyCapacityMeasurement",
"rdfs:comment": "This is a capacity measurement of a battery cell at a rate of 1C at 20 degrees Celsius.",
"hasMeasurementSample": {
"@type": ["BatteryCell", "chameo:Sample"],
"@id": "https://example.com/namespace#MyBatteryCell"
},
"hasTemporaryParticipant": {
"@type": "chameo:CharacterisationInstrument",
"@id": "https://example.com/namespace#MyCharacterisationInstrument",
"rdfs:label": "MyCharacterisationInstrument"
},
"hasCharacterisationEnvironment": {
"@type": "chameo:CharacterisationEnvironment",
"@id": "https://example.com/namespace#MyCharacterisationEnvironment",
"hasCharacterisationEnvironmentProperty": {
"@type": "AmbientThermodynamicTemperature",
"hasNumericalPart": {
"@type": "Real",
"hasNumericalValue": 293.15
},
"hasMeasurementUnit": "emmo:Kelvin"
}
},
"hasOperator": {
"@type":"chameo:Operator",
"@id": "https://orcid.org/XXXXXXXXX"
},
"hasLab": {
"@type": "chameo:Lab",
"@id": "https://example.com/namespace#MyLab",
"rdfs:comment": "The lab on the 3rd floor of Building A"
},
"hasMeasurementParameter": [
{
"@type": "DRate",
"hasNumericalPart": {
"@type": "Real",
"hasNumericalValue": 1
},
"hasMeasurementUnit": "emmo:UnitOne"
},
{
"@type": "DischargeCurrent",
"hasNumericalPart": {
"@type": "Real",
"hasNumericalValue": 1
},
"hasMeasurementUnit": "emmo:Ampere"
},
{
"@type": "LowerVoltageLimit",
"hasNumericalPart": {
"@type": "Real",
"hasNumericalValue": 3
},
"hasMeasurementUnit": "emmo:Volt"
}
],
"hasOutput": [
{
"@type": "BatteryTimeSeriesDataSet",
"@id": "https://example.com/namespace#MyDataset",
"schema:url": "https://zenodo.org/.../files/MyDataset.csv"
},
{
"@type": "RatedCapacity",
"@id": "https://example.com/namespace#MyCapacity",
"hasNumericalPart": {
"@type": "Real",
"hasNumericalValue": 1
},
"hasMeasurementUnit": "emmo:AmpereHour"
}
]
}


Added some improvements

Hey i'm working on some improvements. Take a look and tell me !

[x] Improve accuracy of zoomer to avoid smaller images than viewport
[x] Add possibility to control maxZoom, minZoom and initialZoom (#47) - (#48) ?
[x] Correct deepExtend

Thanks for the PR.  I'm fine with the first item.
Why did deepExtend need correcting?
The second one referring to minZoom, maxZoom, and iniitalZoom is really what's causing me hesitation.  You're definitely not the first person to request control of these values, either.  So, that's why I'd like to take this opportunity to open a discussion.
I'll agree that our maxZoom property needs a lot of work.  Right now I think it's either 150% of the image width or 100% of the min width.
The problem I have is setting these values in the constructor of croppie.  I don't think it makes sense there.  Shouldn't the min and max zoom be based on the image that you're binding to the croppie?  If you're binding a very small image, would you want to limit that maxZoom so you're not zooming in on a pixel-y image?  Do you know what size image you're going to bind to the croppie when you're initializing croppie?  Take the upload demo, for example, I think you'd want to adjust those properties after you know the size of the image.
There's a lot of different ways to go with the min/max zoom stuff.  I just want to discuss it before we choose a direction to go.  What're you thoughts on this?

Why did deepExtend need correcting?

If you set a new Croppie object and console.log it in _create method you will see that properties aren't properly copied from Croppie.defaults. Properties are copied when boundary is not set, but if you set boundary.height deepextend don't copy with property from defaults. My deepExtend fix that.

The problem I have is setting these values in the constructor of croppie. I don't think it makes sense there. Shouldn't the min and max zoom be based on the image that you're binding to the croppie? If you're binding a very small image, would you want to limit that maxZoom so you're not zooming in on a pixel-y image? Do you know what size image you're going to bind to the croppie when you're initializing croppie? Take the upload demo, for example, I think you'd want to adjust those properties after you know the size of the image.

I have done that PR in order to manage my images upload. At the base i don't wanna zoom on image, only dezoom, for example my settings on init are : initialZoom: 1, minZoom: 0, maxZoom: 1.

If you're binding a very small image, would you want to limit that maxZoom so you're not zooming in on a pixel-y image?

You talk here to me about Validation, Croppie don't handle that, so maybe add validation on init params to allow/disallow image width/height/types ? But for me, when you init a new croppie it is to create many image on the same width/height/ratio (i use the size viewport), so changing params on the fly is not a good idea to me, bcz i don't have any use of that, but that shoul'd be good to allow that if our image width/height/ratio/minZoom, ... is not the same depending on a form select option element for example.

If you set a new Croppie object and console.log it in _create method you will see that properties aren't properly copied from Croppie.defaults.

I'm not seeing the problem that you're describing.  deepExtend seems to be working exactly how I'd expect it to work.  If I initialize a croppie with
{
boundary: { width: 400, height: 325 },
showZoomer: false
}

Then log out self.options in _create, I get:
{
boundary: {
   height: 325,
   width: 400
},
customClass: "",
enableZoom: true,
mouseWheelZoom: true,
showZoomer: false,
viewport: {
    height: 100,
    type: "square",
    width: 100
}

That seems right to me.

At the base i don't wanna zoom on image, only dezoom, for example my settings on init are : initialZoom: 1, minZoom: 0, maxZoom: 1.

This makes sense to me - I can see the desire to restrict zooming to only zoom out.  You're right, Croppie shouldn't be responsible for validating.  At least not right now.  Let me try to explain what I meant a little better...
For your use case, you only want users to zoom out images.  Let's say your viewport is 100x100.  Someone uploads an image that is 50x50.  The minZoom is going to be 2.0, because croppie requires that the image is at least as wide as the viewport.  Then, what croppie currently does, is set your maxZoom to 3.0.  I'm not saying I like the functionality it's currently performing.  What I'm trying to say is you passed in min: 0, max: 1, initial: 1, and those values will not apply to this smaller image.
That's why it seems like we should be doing something with these zoom values when you're binding each image, I just don't know what.

About deepExtend try to do the test but with only
boundary: {width: 400}

You will see the following in the _create :
{
boundary: {
   width: 400
},
customClass: "",
enableZoom: true,
mouseWheelZoom: true,
showZoomer: false,
viewport: {
    height: 100,
    type: "square",
    width: 100
}

The height params of boundary is missing.
What i'm doing with this PR it's to add params on image result not on image upload/binded, because that's we want it's image result on the same size/ratio. What's the interest of bindinf params on each image, do we have an interest of having many image with different ratio ?

@Aerue Sorry - I've dropped off the radar on this one.  Been busy with a lot of other stuff.  I cherry picked your deepExtend changes from this branch.  Good call on those.  I also modified the zoom decimal points to 4 (I couldn't cherry pick that due to other changes).
I'd like to continue the discussion on the zoom changes, but I'm not ready for those to be part of the stable release yet.  I realize that they won't break anything being in there, but I'd rather make a collaborative decision on how those parameters should be handled.  I'll jump back in this topic a little later, there's some other changes I need to focus on first.
Just wanted to touch base on this one.

Any progress on it?

That would be helpful.


missing livy server upon 2.6.5 stack install with spark2 only service installed.

Hello,
we used this ansible script to install an on premise (static) cluster of HDP 2.6.5. with Spark2 only (no Spark).
It went all good, but i Spark2 service we noticed that there was no "livyserver for spark2" installed, though the livy2_2_6_5_0_292 system package is installed.
As a work arround from ambari we installed spark service.
fixed the issue where HDFS and YARN config got poluted by some unexpected paths like :

HDFS's (namenode directory)

/hadoop/hdfs/namenode (OK)
/boot/efi/hadoop/hdfs/namenode (NOK - removed manually)
/home/hadoop/hdfs/namenode (NOK - removed manually)

YARN's ( yarn.nodemanager.local-dirs)

/hadoop/yarn/local (OK)
/boot/efi/hadoop/yarn/local (NOK - removed manually)
/home/hadoop/yarn/local (NOK - removed manually)

Anyway after fixing manually from ambari, above paths, Spark/Livy was fine.
Then reinstalling Spark2 from ambari, where where presented with a choice where to put the livy for sark2 server, and not of the NN/DN was selected. We opted to set it on one of the NN, and eventually it got setup correctly.
The overall question we have, is how can we specify in the ansible scripts and/or blueprints to install the livy server for spark or spark2?
looking forward your feedback.
best regards

Hi @madiot
Sorry about the late reply.
You simply have to add it your blueprint, like another service on your host group of choice in the blueprint_dynamic variable:
      - LIVY2_SERVER

It's not by default in the examples, sorry.
About those weird paths, that's a bit annoying, Ambari does that sometimes, when it "automatically" discovers the paths.
You can specify some static paths in the blueprint, under hdfs-site and yarn-site like in these examples:
https://github.com/objectrocket/ansible-hadoop/blob/master/playbooks/roles/ambari-server/templates/blueprint-multi-node-1-master.j2#L106
https://github.com/objectrocket/ansible-hadoop/blob/master/playbooks/roles/ambari-server/templates/blueprint-multi-node-1-master.j2#L315


[Svelte] Table wont update on new data when sorted

Describe the bug
In Svelte when new data is provided for the table while it is sorted, instead of the new data rendering, it renders the old data
To Reproduce
Steps to reproduce the behavior:

Create a table with data
Sort any of the columns
Provide the table with new data

Expected behavior
The table should render the new data

Good find 👍🏽
Should this be an opt-in prop? I could see a case for one time eagerly loaded data where you may not want the data fully reloaded each time. Thoughts?

So how would that look? In my mind, if you don't want to reload the data you would manage that yourself by controlling what data goes into the rows property, but maybe I'm missing a use case here

Ok per our discussion we won't worry about the edge case I mentioned and as you put it that's probably something the consumer can control anyway. THanks for thinking that through with me and helping me understand. PR merge so closing this out -- as always thank you so much of your contributions @Croug


Suggestion: Add pre-run hooks to flutter tool

It would be handy for code generation purposes to have a form of pre-execution hook to perform code generation and other forms of build tasks that are required for proper execution of your application. It can also open the possibility for other libraries/tools to extend the flutter execution system.
As a suggestion, maybe a flutter project could have a hooks directory (could be something else, obviously) where a developer can add dart files (somewhat like how tests are defined). Any code in that directory would then be automatically executed before the run command is executed.
I'd be happy to work on a more concrete specification if you think something like this would be helpful.

We use gradle for building on Android, and something similar on iOS; presumably those already support something like this?

@sethladd see https://github.com/flutter/flutter/issues/10387

@Hixie yes, you can hook into the platform build systems but that is a pretty indirect way of doing it if you want to do something cross-platform, for example code injection of Dart.

I've re-titled this issue to better reflect the overall user journey. There are many use cases that could be solved with a developer-customizable (or, developer extensible) build system.

code generation before a hot reload
image resizing
downloading and processing data before a build
hooking into specific APK optimization tasks in gradle

We don't necessarily have to build anything, but we probably want to document some paths here so our developers know what works and doesn't when trying to produce real apps that require customized pre and post processing. That is, it may be sufficient to document how to use gradle and xcode with Flutter, and document how to pre and post process your code for hot reload.

Closing as a dup of https://github.com/flutter/flutter/issues/25377


feat: update captcha rule when the login page component is mounted

fix: https://github.com/casdoor/casdoor/issues/3279

@dacongda plz review