Add diamond kata exercise

This PR adds the diamond kata as an exercise. This kata has become popular as a means to show how property-based testing can help you implement an algorithm correctly. See e.g http://blog.ploeh.dk/2015/01/10/diamond-kata-with-fscheck/.

Have you also prepared an example for one of the live tracks?
Erik Schierboom<EMAIL_ADDRESS>schrieb am Di., 8. März 2016
09:13:

This PR adds the diamond kata
http://claysnow.co.uk/recycling-tests-in-tdd/ as an exercise. This kata
has become popular as a means to show how property-based testing can help
you implement an algorithm correctly. See e.g
http://blog.ploeh.dk/2015/01/10/diamond-kata-with-fscheck/.
You can view, comment on, or merge this pull request online at:
https://github.com/exercism/x-common/pull/191
Commit Summary

Add diamond kata exercise

File Changes

A diamond.md
https://github.com/exercism/x-common/pull/191/files#diff-0 (50)
A diamond.yml
https://github.com/exercism/x-common/pull/191/files#diff-1 (4)

Patch Links:

https://github.com/exercism/x-common/pull/191.patch
https://github.com/exercism/x-common/pull/191.diff

—
Reply to this email directly or view it on GitHub
https://github.com/exercism/x-common/pull/191.

@NobbZ I do, for the F# track.
This is the implementation:
module Diamond

let make letter =

    let makeLine letterCount (row, letter) =
        let outerSpaces  = "".PadRight(letterCount - row - 1)
        let innerSpaces = "".PadRight(if row = 0 then 0 else row * 2 - 1)

        if letter = 'A' then sprintf "%s%c%s" outerSpaces letter outerSpaces
        else sprintf "%s%c%s%c%s" outerSpaces letter innerSpaces letter outerSpaces

    let letters = ['A'..letter] |> List.mapi (fun x y -> x, y)

    letters @ (letters |> List.rev |> List.tail)
    |> List.map (makeLine letters.Length)
    |> List.reduce (fun x y -> sprintf "%s\n%s" x y)

These are the tests:
module DiamondTest

open Diamond
open System
open NUnit.Framework

let split (x: string) = x.Split([| '\n' |], StringSplitOptions.None)

let trim (x:string) = x.Trim()

let leadingSpaces (x:string) = x.Substring(0, x.IndexOfAny [|'A'..'Z'|])

let trailingSpaces (x:string) = x.Substring(x.LastIndexOfAny [|'A'..'Z'|] + 1)

[<TestCase('A')>]
[<TestCase('C')>]
[<TestCase('F')>]
[<TestCase('Z')>]
let ``First row contains 'A'`` (letter:char) =
    let actual = make letter
    let rows = actual |> split
    let firstRowCharacters = rows |> Seq.head |> trim

    Assert.That(firstRowCharacters, Is.EqualTo("A"))

[<TestCase('A')>]
[<TestCase('C')>]
[<TestCase('F')>]
[<TestCase('Z')>]
let ``Last row contains 'A'`` (letter:char) =
    let actual = make letter
    let rows = actual |> split
    let lastRowCharacters = rows |> Seq.last |> trim

    Assert.That(lastRowCharacters, Is.EqualTo("A"))

[<TestCase('A')>]
[<TestCase('C')>]
[<TestCase('F')>]
[<TestCase('Z')>]
let ``All rows must have symmetric contour`` (letter:char) =
    let actual = make letter
    let rows = actual |> split
    let symmetric (row:string) = leadingSpaces row = trailingSpaces row

    Assert.That(rows, Is.All.Matches(symmetric))

[<TestCase('A')>]
[<TestCase('C')>]
[<TestCase('F')>]
[<TestCase('Z')>]
let ``Top of figure has letters in correct order`` (letter:char) =
    let actual = make letter

    let expected = ['A'..letter]
    let rows = actual |> split
    let firstNonSpaceLetters =
        rows
        |> Seq.take expected.Length
        |> Seq.map trim
        |> Seq.map Seq.head
        |> Seq.toList

    Assert.That(expected, Is.EqualTo(firstNonSpaceLetters))

[<TestCase('A')>]
[<TestCase('C')>]
[<TestCase('F')>]
[<TestCase('Z')>]
let ``Figure is symmetric around the horizontal axis`` (letter:char) =
    let actual = make letter

    let rows = actual |> split
    let top =
        rows
        |> Seq.takeWhile (fun x -> not (x.Contains(string letter)))
        |> List.ofSeq

    let bottom =
        rows
        |> Array.rev
        |> Seq.takeWhile (fun x -> not (x.Contains(string letter)))
        |> List.ofSeq

    Assert.That(top, Is.EqualTo(bottom))

[<TestCase('A')>]
[<TestCase('C')>]
[<TestCase('F')>]
[<TestCase('Z')>]
let ``Diamond has square shape`` (letter:char) =
    let actual = make letter

    let rows = actual |> split
    let expected = rows.Length
    let correctWidth (x:string) = x.Length = expected

    Assert.That(rows, Is.All.Matches(correctWidth))

[<TestCase('A')>]
[<TestCase('C')>]
[<TestCase('F')>]
[<TestCase('Z')>]
let ``All rows except top and bottom have two identical letters`` (letter:char) =
    let actual = make letter

    let rows =
        actual
        |> split
        |> Array.filter (fun x -> not (x.Contains("A")))

    let twoIdenticalLetters (row:string) =
        let twoCharacters = row.Replace(" ", "").Length = 2
        let identicalCharacters = row.Replace(" ", "") |> Seq.distinct |> Seq.length = 1
        twoCharacters && identicalCharacters

    Assert.That(rows, Is.All.Matches(twoIdenticalLetters))

[<TestCase('A')>]
[<TestCase('C')>]
[<TestCase('F')>]
[<TestCase('Z')>]
let ``Bottom left corner spaces are triangle`` (letter:char) =
    let actual = make letter

    let rows = actual |> split

    let cornerSpaces =
        rows
        |> Array.rev
        |> Seq.skipWhile (fun x -> not (x.Contains(string letter)))
        |> Seq.map leadingSpaces
        |> Seq.toList

    let spaceCounts =
        cornerSpaces
        |> List.map (fun x -> x.Length)

    let expected =
        Seq.initInfinite id
        |> Seq.take spaceCounts.Length
        |> Seq.toList

    Assert.That(spaceCounts, Is.EqualTo(expected))

This is nice, thanks!

Should it be policy that implementing tracks should use the property-based tests, instead of the "check that the output is exactly this" (maybe called value-based tests)?

Well, policy is maybe a bit strict, but I would strongly be in favor that we mention that people should try to solve it using property-based tests (if their language has such a library).


merge package from arlac77/npm-package-template

package.json

chore(package<EMAIL_ADDRESS>chore(package<EMAIL_ADDRESS>

Codecov Report

Merging #315 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master   #315   +/-   ##
=====================================
  Coverage      75%    75%
=====================================
  Files           1      1
  Lines           8      8
=====================================
  Hits            6      6
  Misses          2      2

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 7c48b29...ebd26f1. Read the comment docs.

Coverage remained the same at 70.0% when pulling ebd26f17512af30b0a6d20da49dc031048bf72d7 on template-sync-1 into 7c48b299613ef85ea4d783c8a83ca25df27548c6 on master.


Add Planswell.com

Add Planswell.com to Fintech:

[x] Company name
[x] Company description
[x] Company location
[x] GitHub link
[ ] How Elixir is used
[x] Sorted alphabetically

Checking white listed URLs: ??
White listed:
  1. [L019]  https://www.agilion.com SSL_connect SYSCALL returned=5 errno=0 state=unknown state
  2. [L282]  https://ride.com SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

Issues :-(
Links
  1. [L124]  https://www.brighterlink.io SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
Dupes
  1. [L54] http://nebo15.com/

[…]

The command "awesome_bot README.md --allow-redirect -w ride.com,agilion.com" exited with 1.

Thanks @mariusbutuc!  The build failures aren't your fault, I need to make a decision about what to do with those bad links.


Inconsistency between V8/Node and Javet runtime with unicode properties in regular expressions

While trying to use an NPM package, I came across this weird bug.
Considering the following (minimal) example, which should create a regular expression that matches all unicode characters that have the letter property:
test.js
const regex = /\p{L}/u;

Running the code using node (node test.js) does not run into an issue.
However, when trying to run it using Javet and the following Kotlin code:
import com.caoccao.javet.interop.NodeRuntime
import com.caoccao.javet.interop.V8Host
import java.io.File

fun main() {
    val runtime = V8Host.getNodeInstance().createV8Runtime<NodeRuntime>()
    val file = File("./test.js")

    runtime.getExecutor(file).executeVoid()
}

I get the following error:
Exception in thread "main" com.caoccao.javet.exceptions.JavetCompilationException: SyntaxError: Invalid regular expression: /\p{L}/: Invalid property name
	at com.caoccao.javet.interop.V8Native.scriptExecute(Native Method)
	at com.caoccao.javet.interop.V8Runtime.execute(V8Runtime.java:922)
	at com.caoccao.javet.interop.executors.V8StringExecutor.execute(V8StringExecutor.java:107)
	at com.caoccao.javet.interop.IV8Executable.executeVoid(IV8Executable.java:170)
	at MainKt.main(Main.kt:9)
	at MainKt.main(Main.kt)

If I instead use the RegExp("\\p{L}", "u") syntax in the JS file, I get a JavetExceptionException that has the exact same message and stack trace.
The problem is also the same if I use a V8Runtime instead of a NodeRuntime.
Javet is up to date (2.2.3).

That feature belongs to i18n which is disabled in both Node.js and V8 mode.
It's possible to enable i18n in V8 mode with a private build. However, it's impossible to enable i18n in Node.js mode because that would result in JVM crash. As Javet will support Node.js V20 soon, that could be revisited in case the Node.js architecture was changed. Please let me know if this makes sense to you.

Thank you for the explanation!
Considering that the package I'm trying to use would be very beneficial to me, if there is any way you could make this work I would greatly appreciate it. Not mentioning the fact that it would remove the probability of other packages being incompatible for that reason.
However, if it is too much of a hassle to get it working, don't spend days on this issue, I may have an alternative solution that would not involve this particular package.

i18n on/off is not a flag that can be turned on/off easily. Actually, it's a set of C++ preprocessors. Turning it on implies:

The whole Intl is loaded.
Binary size increases.
Performance downgrades.
There's no way of turning it off.
The work on dedicated packaging + maintenance is not trivial (proper sponsorship is a must-have).

The majority of Javet users don't ask for i18n and avoid libraries that depend on i18n to work. I think as you pointed out it's better to look for an alternative solution without i18n.
Very few Javet users maintain their private builds with i18n by themselves. That shall work as well.

That would indeed not be ideal. However, having a private build that enables this feature would be a possibility for me, as simply forking and maintaining the fork up-to-date with a simple flag added won't be much work.
However, I have a few questions:

Do you have any insight about the performance impact? Is it minimal?
Is there any other side-effect that I should be aware of?
Is it a guarantee that it could be enabled in Node.js mode with Node 20?

Specifically about that, if that is something that must be worked on before being possible, is there any way I could help you on this issue, maybe contribute? I do not know the structure of the project, maybe that wouldn't be very efficient

Could you join the discord to discuss with me? That's quite complicated and changes from time to time.

I would also be interested in this. I wanted to use some dependencies which use regular expressions like /\p{Lu}/gu which currently crash Javet.

I would also be interested in this. I wanted to use some dependencies which use regular expressions like /\p{Lu}/gu which currently crash Javet.

This was discussed in #222. You will need to create private builds with i18n enabled. If you want me to do that for you, please contact me at discord.

i18n has been officially supported since v4.0.0.


[UI] improve UX for select namespace during installing Apps

What kind of request is this (question/bug/enhancement/feature request):
enhancement
Steps to reproduce (least amount of steps as possible):

Install an app from the catalog
User might missed the Use an existing namespace on the right-hand side, and straight type the namespace into the text input box

Result:
User received an error due to the namespace was already created
namespaces "kube-system" already exists
Other details that may be helpful:
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): v2.4.5
Installation option (single install/HA): HA

The old UI has reached EOL. Future UI/UX enhancements will all be make to the v2.6.x UI

This has been addressed in later versions, so we'll close this ticket. If you still have questions when using a newer version of Rancher, let us know.


Add cflinxufs4-compat-release repo and give sophiewigmore admin access

I will need admin access while I am working on getting initial automation out the door the first release. I may need to amend secrets while we're ironing out any kinks in out automation so it's easier to have the repository access this way
I also added an entry for the cflinuxfs4-compat-release here, because I assumed we'd need one.

This is a follow-up to https://github.com/cloudfoundry/community/pull/441


Cannot get client via StrictRedisCluster.from_url

RedisCluster.from_url('http://localhost:30001')

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/.../pypy/site-packages/rediscluster/client.py", line 174, in __repr__
    servers = list({'{0}:{1}'.format(nativestr(info['host']), info['port']) for info in self.connection_pool.nodes.startup_nodes})
AttributeError: 'ConnectionPool' object has no attribute 'nodes'

I am trying to integrate redis-py-cluster as a flask extension. However, I cannot get the client object this way.

When working with Flask, if the object cannot be instantiated at app creation time, it is impossible to instantiate it at a later time when a cluster is reachable. If you try and set the RedisCluster Client Object, it will not persist, and upon every single request the object will be created and removed.
Ideally, it would be useful, if there are no reachable nodes, then client object is still instantiated, and reconnects at a later time if the cluster is reachable.
Forcing the cluster to be reachable upon client instantiation makes it impossible to work with Flask and redis-py-cluster in a reliable manner.

@dominicfollett I would say that you should really look at the standard solution for using the regular redis-py client inside flask becuase that should already be a solved problem.
I googled quickly and found this extension to flask https://github.com/underyx/flask-redis that provides a redis client in the flask server. If you use that extension and just change the redis client from using the default client to use this cluster client and it should work our of the box.
I will close this issue becuase it has no relation to this client and is something that should be fixed within a flask extension scope and not in here.

Hi Grokzen.
Thanks for the reply. My post above is showing that redis-py-cluster does not work out the box with flask-redis because of the from_url method throwing the error above. redis-py allows you to instantiate a client without an endpoint available, redis-py-cluster requires at least one node to be reachable; for clarity see the init method here.

@dominicfollett Thanks for the clarifications. The only way that exists to stop the client from querying the cluster at creation time would be to create the client this way StrictRedisCluster(startup_nodes=..., init_slot_cache=False) and that will stop the client from querying the cluster at creation time. I do not however remember if that will make it so when the client querys the cluster the first time it will do the cluster discovery part and fail at that time, please try this out and see what happens.
Becuase this client do not override the method from_url from redis-py you should be able to use something like this to make it work RedisCluster.from_url('http://localhost:30001', init_slot_cache=False). If this do not work then it might be a case for reimplementing it and fixing any problems that exists or find a different solution that do not requires from_url.
Based on the following https://github.com/andymccurdy/redis-py/blob/ac9370f05a86e59f46ad8bf492ece891b4cbb097/redis/client.py#L454

Hi Grokzen
I've tried StrictRedisCluster(startup_nodes=..., init_slot_cache=False) which returns a client object, but does not initiate client discovery  when calling get or set.
I get around this by catching the related exception, and then calling redis_client.connection_pool.nodes.initialize(), and I keep doing this until a node becomes available.

@dominicfollett pushing fixing this to next release as i am currently doing a new update release.

@dominicfollett It was abit easier to implement then i thought. Please have a look at this commit a0b45359fa34fc495813650f971371a9c1acb72b and try it out yourself in the unstable branch. I am currently able to run this piece of code without any issues on my test cluster that i have inside docker
url_client = StrictRedisCluster.from_url('http://<IP_ADDRESS>:7000')

Note that same rules that startup_nodes has applies to this case also.
Closing this issue as fixed for now and will be part of next release 1.3.2

@Grokzen great! :)
Thanks for the update, I will give it go soon.


Add optional overrides file to services

Adding an optional overrides file to the services will allow us to
override service environment variables easily.
Signed-off-by: johnsonw<EMAIL_ADDRESS>

This change is

rust-iml-agent.service needs an override as well?
Should this patch also update settings.py to override the log_level?

Sure, I can update settings.py as well. Are there any other agent services I am missing besides rust-iml-agent?

Are there any other agent services I am missing besides rust-iml-agent?

the chroma-agent.service but that is in a separate repo.

I will open a separate patch to address chroma-agent.repo.

I did not add the overrides to the settings-populator or docker service files as it doesn't look like it would make a difference in either of those services. Does that sound right?


Unable to build multi-module project with fmp 3.5.34

Description
When trying to build this multi module project with fmp 3.5.34 I get the following error
[ERROR] Failed to execute goal io.fabric8:fabric8-maven-plugin:3.5.34:build (fmp) on project spring-boot-configmap-parent: Failed to execute the build: Unable to create the build archive: Failed to create assembly for docker image  (with mode 'dir'): Error creating assembly archive docker: You must set at least one file.. If you include the build artifact please ensure that you have built the artifact before with 'mvn package' (should be available in the target/ dir). Please see the documentation (section "Assembly") for more information.

I should not that when building other non multi-module projects, everything worked just fine.
In order to bypass the problem, I downgraded to fmp 3.5.33, where everything worked as expected
Info

f-m-p version : 3.5.34
Maven version (mvn -v) : 3.5.2

Kubernetes / OpenShift setup and version : Openshift 3.7
If it's a bug, how to reproduce : Run mvn clean verify -Popenshift,openshift-it on the sb-1.5.10

Notes
You can easily switch versions of fmp in the project by setting the fabric8-maven-plugin.version Maven property

Hi @geoand
I am not able to produce the bug. I may be doing something wrong. Can you please check or explain more clearly.
Here is what I did:
In file spring-boot-configmap-booster/tests/pom.xml
After the line 87 and 102, I added this
<version>3.5.34</version>
It looks like this now
<groupId>io.fabric8</groupId>
<artifactId>fabric8-maven-plugin</artifactId>
<version>3.5.34</version>

I am running openshift v3.7.0
and after that from root(spring-boot-config-map) folder, I hit
mvn clean verify -Popenshift,openshift-it
Then it works fine for me like project is build, it says BUILD SECCESS.
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO]
[INFO] --- maven-failsafe-plugin:2.20:verify (default) @ spring-boot-configmap-tests ---
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Spring Boot - ConfigMap Booster .................... SUCCESS [  5.970 s]
[INFO] Spring Boot - ConfigMap Booster - Greeting Service . SUCCESS [ 36.750 s]
[INFO] Spring Boot - ConfigMap Booster - Tests ............ SUCCESS [ 50.904 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:33 min
[INFO] Finished at: 2018-02-14T20:55:38+05:30
[INFO] Final Memory: 72M/668M
[INFO] ------------------------------------------------------------------------

Can you please check and reply back if i am doing something wrong or explain more clearly your issue.

Hello @piyush1594,
The easiest way to reproduce the issue is to make this single modification to the project:
Add the following lines in pom.xml (the pom in the root directory, not the child ones)
<properties>
  <fabric8-maven-plugin.version>3.5.34</fabric8-maven-plugin.version>
</properties>

Please let me know if I can help any further.
Regards

@piyush1594 You can also reproduce the problem by not making any modifications at all to the project and issuing:
mvn clean verify  -Dfabric8-maven-plugin.version=3.5.34 -Popenshift,openshift-it from the root

Hey @geoand
I tried building this project both using FMP 3.5.34 and FMP 3.5.33
Project build 3 module when I hit the command mvn clean verify -Popenshift,openshift-it
So for FMP 3.5.34 first is getting failed for Opesnhift version 3.6.0, 3.7.0 and 3.7.1
And for FMP 3.5.33 second is getting failed for Openshift version 3.6.0, 3.7.0 and 3.7.1
So this problem is not specific to openshift. For every openshift version, it is giving the same error for a single specified version.
Thanks

Hello @piyush1594,
That is good information to know. I didn't test with fmp 3.5.33, but I know the project was working when we were using 3.5.30.
I also checked with 3.5.35 and the issue still exists.
Thanks

Hi @piyush1594,
Anyway to prioritize this issue? This is really blocking for RHOAR as we need OpenShift 3.7+ support and multi-module support ASAP… Do you have an ETA on availability of a fix for this (and/or new FMP release)?
Thanks in advance.

I bisected this issue; This seems to have begun at the e69dfc9
Adding cc @rhuss, Could you possibly take a look at this one and share your thoughts?
Thanks.
Bisect on linux.
e69dfc902b22a8119849be24393c7001ed3a57c9 is the first bad commit
commit e69dfc902b22a8119849be24393c7001ed3a57c9
Author: Roland Huß<EMAIL_ADDRESS>Date:   Fri Nov 24 10:54:38 2017 +0100

    feature: Don't use a default for skipBuildPom

    Instead, try to detect the default by checking whether there has been
    some image configurations with build sections resolved.

    This can always overwritten by explicitly specifying fabric8.skip.build.pom

:040000 040000 d02414af604d22fe851f8addb2bc5520f8a21efd 5a2e37051721387c1484fd3d86336856ce55778b M	plugin

Git bisect log
git bisect start
# good: [fad3a38f521005b25dddc5dd4236348bc9ace9b0] Fixes #1040 by turning validation errors into warnings
git bisect good fad3a38f521005b25dddc5dd4236348bc9ace9b0
# bad: [533f8445eb143425928ad7a2f469cb2bab4438ec] Merge pull request #1101 from apupier/1100-FixStartupScriptForWindows
git bisect bad 533f8445eb143425928ad7a2f469cb2bab4438ec
# good: [bc48668dff0bdb91103a92ceb0ffb9a8d47a0e27] Fix for stall build; let's remove PodWatcher and try with normal sleep()
git bisect good bc48668dff0bdb91103a92ceb0ffb9a8d47a0e27
# bad: [89abcae3019d2bcbd05142f83353165e581a49b2] More Refactoring of Test with proper naming and Exception Handling
git bisect bad 89abcae3019d2bcbd05142f83353165e581a49b2
# good: [7b82d5d7d0d022ef6d699ba205df2582e58dfb8b] Merge pull request #1115 from rohanKanojia/ISS-1111/os-regression-test
git bisect good 7b82d5d7d0d022ef6d699ba205df2582e58dfb8b
# bad: [fd9bdfe01a87a86f7fa331180b85e5ee5809992b] Added Test for Container Handler
git bisect bad fd9bdfe01a87a86f7fa331180b85e5ee5809992b
# bad: [f6fb470aea627dfc1a182c4c71f92489fe1ca6bb] Merge pull request #1112 from rhuss/pr/skip-pom-refined
git bisect bad f6fb470aea627dfc1a182c4c71f92489fe1ca6bb
# bad: [a5a72194e8789812a048145e1fffc46839950c56] fix: Remove bogus import and update documentation for skipBuildPom
git bisect bad a5a72194e8789812a048145e1fffc46839950c56
# bad: [e69dfc902b22a8119849be24393c7001ed3a57c9] feature: Don't use a default for skipBuildPom
git bisect bad e69dfc902b22a8119849be24393c7001ed3a57c9
# first bad commit: [e69dfc902b22a8119849be24393c7001ed3a57c9] feature: Don't use a default for skipBuildPom

Hi @geoand
I just locally checked by building the above-mentioned project using FMP 3.5.34 You need to just change the command. You need to add one more flag for this.
mvn clean -Dfabric8.skip.build.pom=true verify -Popenshift,openshift-it
Before FMP 3.5.34 this flag was defaulted to true, so it was working fine. Now default value for this flag is not set. You need to set this flag to true while executing the command.
So for FMP 3.5.34, above command will work I just checked locally and for FMP 3.5.33, both the commands will work as it was default set to true.
Hope this helps. Let us know if this does not resolve your problem. Please give this a try.
Thanks

Hello @piyush1594,
Although the addition of -Dfabric8.skip.build.pom=true does allow the project to build, it doesn't seem to reasonable to expect users of FMP to have to set this flag for all their multi-module projects.
For one thing, existing CI setups (that worked up until 3.5.33) now fail just by upgrading to FMP 3.5.34.
Regards

Hey @geoand,
After your comment, I just checked locally once again, the project is successfully getting build for me using the above command. I don't know why it's not working for you. I am using OpenShift 3.7.1 and FMP 3.5.34
Can you please share the updated logs?
Thanks

A breaking change in default behavior in a minor release is definitely not expected. Breaking changes should be reserved to major versions.
@geoand we could mitigate the issue by adding the flag to our parent POM… if that's really the issue.

Hello again,
Perhaps I didn't phrase my response correctly, I will make another attempt :).
When I execute mvn clean -Dfabric8.skip.build.pom=true verify -Popenshift,openshift-it, everything works correctly as you mention.
What I was is saying, is that it doesn't make much such to force users of FMP to set a (seemingly) unrelated setting in order to get their multi-module projects to function correctly.
I don't have any knowledge of the internals of FMP, but it seems to me much more straightforward and intuitive to just have mvn clean verify -Popenshift,openshift-it working for both multi-module and non-multi-module projects.
A couple of examples that reinforce my aforementioned argument are the following:

If I am new to FMP and I see that my multi-module project is failing, there is very little chance that I will discover that I need to set fabric8.skip.build.pom to true. In that case I might try using older versions of FMP, or perhaps give up on FMP entirely...
If I have an existing multi-module project that used FMP version 3.5.33 and everything was working just fine (locally and in my CI setup), then simply upgrading to FMP 3.5.34 or 3.5.35 will break my project for reasons that are completely opaque to me... The most likely solution in that case would be for me to simply rollback to using 3.5.33 and not go through the trouble of looking for the "correct" fix.
Furthermore in this case, even if as a developer I find that I need to set fabric8.skip.build.pom to true, I might not be in control of the CI environment the project is built on, rendering me incapable of using new versions of FMP.

Thank you for your time and I hope that my arguments have become clearer :)
Regards

@metacosm I have tested the use of the flag and it does indeed fix the issue.
However even if I do add the flag, our CI will still not work correctly due to #1183 (which won't be the case once we upgrade to Openshift 3.7).
So for the time being @metacosm I propose that we don't make any changes to our POM, since I believe it will only increase our confusion about the state of our CI. Once we upgrade to Openshift 3.7, then we can safely upgrade to FMP 3.5.35 and set to necessary flag to get multi-module projects working

Hi @geoand
This is mentioned here https://maven.fabric8.io/#build-goal-configuration in Table:10 Global Configuration.
I understand and totally agree with your concern. I really appreciate your feedback. We have already started maintaining CHANGELOG.MD. We should release a note along fmp for changes. We will try our best to implement those things soon like Matrix Table, Release Notes, CHANGELOG.MD,proper documentation update.
Thanks for this.

Thank you very much for the update!
Regards
On Sun, Feb 25, 2018, 19:12 Piyush Garg<EMAIL_ADDRESS>wrote:

Hi @geoand https://github.com/geoand
This is mentioned here https://maven.fabric8.io/#build-goal-configuration
in Table:10 Global Configuration.
I understand and totally agree with your concern. I really appreciate your
feedback. We have already started maintaining CHANGELOG.MD. We should
release a note along fmp for changes. We will try our best to implement
those things soon like Matrix Table, Release Notes, CHANGELOG.MD,proper
documentation update.
Thanks for this.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/fabric8io/fabric8-maven-plugin/issues/1184#issuecomment-368326141,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AELBv0Rb-I8toUa6IVkv3bM1UBYeXgL6ks5tYZRlgaJpZM4SDpqJ
.

Hey @geoand
Can we close this issue now?

Hello @piyush1594,
That's up to you :).
I personally think that the default behavior should be reverted to what it was in FMP 3.5.33, but that's just my opinion.

I agree: breaking changes should be reserved to major versions and shouldn’t occur on micro versions (as is the case here).

Le 26 févr. 2018 à 07:39, Georgios Andrianakis<EMAIL_ADDRESS>a écrit :
Hello @piyush1594,
That's up to you :).
I personally think that the default behavior should be reverted to what it was in FMP 3.5.33, but that's just my opinion.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Hi @piyush1594,
With more consideration of the case, there are 2 things that are problematic:

FMP should be working out of the box for multi-module projects without having to specify an option
The option is not clearly documented: you mention fabric8.skip.build.pom and a global configuration table but that property doesn't exist in that table. The closest one is docker.skip.build.pom so there currently is no way for a user to discover that property on their own. Moreover, the property is poorly documented: why such a property is needed at all?

So, from our perspective, while we definitely can work around this issue for the time being, the current solution (i.e. change your build and look at the documentation where the property is actually not documented) is not acceptable and deserves proper handling. So, no, this issue shouldn't be closed.

I strongly agree that this breaking change should be rolled back.

This issue is blocking for RHOAR Boosters and also OSIO users developing multi-module projects.

I strongly agree that this breaking change should be rolled back.

do we have a pointer to which commit/PR actually changed the behavior ?

@metacosm @cmoulliard i agree its a bad change, but can you explain to me why you cannot set the property in boosters ?  then it would at least work for new projects; but old ones would still be broken.

Hey @maxandersen
This comes into effect after this https://github.com/fabric8io/fabric8-maven-plugin/pull/1112
If someone sets this flag, it will work for previous versions also.
If someone does not specify the flag then it will work until 3.5.33
Thanks

@maxandersen FYI, I filed https://github.com/openshiftio/booster-parent/issues/22 to address this for all boosters in one place.

@maxandersen we can workaround the issue indeed by setting the property. However, this is a major breaking change in a micro release, a change that's not clearly documented. Moreover, it doesn't "feel" right that one should pass a property to work with multi-module projects (which is far from being the exception) from now on.

Let me just briefly explain the motivation for the original change which was not meant to break backwards compatibility.
For projects of type pom by default fabric8-maven-plugin is always skipped. However, there are very valid uses cases which define a fabric8-maven-plugin configuration for only building images (without compiling). In order to no skip such projects the default behaviour was changed, that the fmp run is skipped in pom typed projects only when *no  fmp build configuration is attached. The rationale is that, if you configure the plugin, then you expect it to run (or the other way round, people were suprised that it has been not run although a plugin has been configured). Having the plugin be skipped by default is very confusing and caused several hour of debugging.
So, it should be backwards compatible if your pom does not contain a build configuration in the fmp plugin configuration. If used as default for multi module children, the configuration should go in a <pluginManagement> section anyway (and not in a <plugin> configuration directly), so that the build is skipped like before.
Actually, I'm happy to revert this behaviour, if we add it to a minor release change (e.g. for 3.6) as it is really counter intuitive, if you configure a f-m-p build in a pom typed project (e.g. because this project only for building, nothing else) and then the build doesn't work because 'skip' is the default.
But maybe it would also work for you, too, to move the default fmp build configuration in a parent pom.xml from a <plugin> to a <pluginManagement> section ? (which I would do anyway).
Let me know, how you would like to proceed ...

I understand there are valid use cases for that change but shouldn't these use cases be the one that need to change as opposed to breaking things that were working with previous minor releases? In any case, I'd be in favor of reverting that change and deferring it to a minor release (at the very least). That new behavior should be also documented (probably by explaining as you just did).
Regarding the pluginManagement vs. plugin issue: it is doable. We already have a parent where the plugin is configured. We used plugin as opposed to pluginManagement because the plugin is used in exactly the same way in all children projects and so we wanted to avoid repeating the plugin declaration in all projects if there was no need to do so. Also, our parent is actually a child of another parent which does declare the plugin in a pluginManagement section.
Finally, personally, I find it weird to use Maven to declare a project as a pom just to build an external resource that has not much to do with a java artifact. Pom projects should be reserved to BOMs and parent definition, in my opinion, but I'm no Maven expert. So, supporting these use cases should be secondary to supporting projects which actually build java applications. But that's only my personal opinion :)

thanks @rhuss; +1 for changing behavior back in minor stream as it breaks existing projects.
@metacosm fully agree its a bad breaking change; just wanted to make sure you didn't block totally.

@maxandersen we're probably going to go with the property-in-the-parent solution because this is the one that involves the less changes.
Just to re-iterate, though, this change seems (and, please, do correct me if I'm wrong) to be made to support fringe cases (i.e. no artifact projects) in Maven builds. So, to me, the solution to supporting such projects shouldn't force more traditional projects to change but rather provide a workaround for these projects (i.e. reverse the hierarchy of needing to work around an issue). Accordingly, my ideal solution would be to revert the change and figure out a way to support these other projects that doesn't impact more traditional projects instead of simply re-introducing that change in a minor release. I'd be happy to have my mind changed, though, because I might be missing the bigger picture.

I understand there are valid use cases for that change but shouldn't these use cases be the one that need to change as opposed to breaking things that were working with previous minor releases?

As mentioned, it was not meant to break backwards compatibility, and there has been a full review for this change. So please just consider this just as a bug, not as an intentional breakage of backwards compatibility (in contrast to the usual tradition of fmp in the past which never followed a semversion semantics).

Just to re-iterate, though, this change seems (and, please, do correct me if I'm wrong) to be made to support fringe cases

Well, actually this property was introduced for a fringe use case, breaking a lot of builds at that time (without notice). Tbh, I consider it weird to declare a plugin, configure it and expect it to not run, regardless which packaging. That's what you are doing in your parent pom to save the switch-on of a plugin (which actually I would find confusing, imo any plugin should be enabled explicitely in a submodule if used, as any used dependency should be declared directly and not relying on transitive dependencies. But your mileage may vary.

@metacosm fully agree its a bad breaking change; just wanted to make sure you didn't block totally.

@maxandersen any idea how this can be prevented in the future to avoid bad guys doing bad things ? would be awesome.
I'm going to submit a reverting PR later today (or tomorrow morning).

Adding a regression test for multimodule project
https://github.com/fabric8io/fabric8-maven-plugin/issues/1197

Hey @geoand
We have reverted the change by #1213. This will be available in next release. And #1214 is there which will be included whenever we will do the minor release. Then this behavior will change and you have to add the flag.
Thanks for the issue.

Thank you @piyush1594 for the update!

Hey @geoand @metacosm
We just released FMP 3.5.38. Please give it a try. Looking forward to your feedback.
Thanks

Hi @piyush1594
Thank you for the update!
We'll try it and let you know.


Can't retreive matched context.

i need to be able to retrieve the matched firewall, is it possible you allow overriding FirewallMap? or any other solution to get the matched firewall?
https://github.com/silexphp/Silex/blob/f9eadbcd1836d7c72d30e140459d79f0fa8c7165/src/Silex/Provider/SecurityServiceProvider.php#L305

This is more related to Symfony than Silex. IIRC, it's possible to do so in recent versions of Symfony.

https://github.com/symfony/security-bundle/blob/8ed71f5152ae5d9816ae75d9bfd301a707dbc6a6/Security/FirewallMap.php
getFirewallConfig is added only to the symfony security bundle, the firewall component doesn't have such function.
https://github.com/symfony/security/search?utf8=✓&q=getFirewallConfig&type=
Is there a way to get the firewall config?


Arm architecture

Hello, I want to install this package on Nvidia Jetson but it;s arm. Is there any other way I could use this functionality?

Python is supported on ARM so it should work fine https://developer.arm.com/solutions/infrastructure/developer-resources/languages-and-libraries/python
This package doesn't use or shouldn't use platform related dependencies. Its only dependency is Numpy.
Did you try to install it and encountered some failures ?
Happy to help troubleshooting.
Found some resources
https://developer.arm.com/solutions/infrastructure/developer-resources/languages-and-libraries
https://automaticaddison.com/how-to-write-a-python-program-for-nvidia-jetson-nano/
https://www.balena.io/docs/learn/getting-started/jetson-nano/python/

@puthurr Yea, I get an error when trying to install with "pip install ocrlayout". It says "No matching distribution found for ocr layout".


Several defaults have wrong types

The following defaults values were specified as arrays but are numbers in UI and SSC

This issue has been around for a while and is in the released version of SAM.
The type issue was discovered while devleoping the JSONDefaults branch of SAM with more robust input checking.
This issue and the related pull request are to facilitate the Defaults as JSON pull request coming soon!


UID2-2815 Fix issue where some optout hooks are skipped each time.

Prior to change - there are gaps in the sending.

After the change - no gaps.


feat: port Analysis.Complex.RealDeriv

[x] depends on: #4532

This PR/issue depends on:

leanprover-community/mathlib4#4532
By Dependent Issues (🤖). Happy coding!

bors merge


'GOOS' is not recognized as an internal or external command

Hello
I want to run lora-app-server in windows 10 and for this I use gnuwin32, But when I use  make requirements ui-requirements or make build, I have following error:

"Generating combined Swagger JSON"
'GOOS' is not recognized as an internal or external command,
operable program or batch file.
make: *** [static/swagger/api.swagger.json] Error 1

Using the provided Docker container for compiling should solve your issue: https://www.loraserver.io/lora-app-server/community/source/.


Monarch build workflow

Changed the way nodes and edges are being categorized, most visible main.py. Owl files are now loaded directly into the NetworkX graph, and then subclass_of edges are traversed to find the most appropriate categories.
This has just finished running on Jenkins: https://jenkins.ncats.io/job/ncats-pipeline/job/build-monarch-graph/

@deepakunni3 what is the status of this?

@cmungall Fixing a few bugs. Will merge this PR once I have the fixes in


Rianhughes/07 get block with receipts

closes https://github.com/NethermindEth/starknet.go/issues/516
Edit: This PR incorporates the changes from rc-1 which relate to block receipts

Todo: update tests when juno supports rpc v07

The PR, in general, looks good, however, it still needs to be updated as per your comment. I can have a look again after you have updated it.


Formality-core visualization?

Hi Victor, do you need a js visualization for the formality-core? I just have one which can do interaction combinators [1] and it seems it is easy to adapt for your needs. As I am not competent in the intricacies of your project, I leave the link here. (Also I have to pay back for your nice questions on chemlambda.)
All is needed is to input the rewrite rules in obvious places and to feed the script with a network, presently done by adding it to molLib.js [2].
[1] https://mbuliga.github.io/find-the-quine-step-by-step.html
[2] https://github.com/mbuliga/mbuliga.github.io/blob/master/molLib.js

Sorry for he delay. I think a plenty of people worked on interaction net visualisations (seems like people love doing this!), but most projects end up abandoned as far as I know. It would be great to have one that is maintained!
Thanks for your answers back then btw, it was very useful and important to me.

Oh, this is awesome! I did a little work on using GraphViz to layout an interaction net, but this seems like a much better approach.

Thanks, yes, it can do Interaction Nets, adding nodes and rewrites for your system is simple, only thing needed is a parser to the mol notation. I use github with economy, any modification is first shown at http://imar.ro/~mbuliga/pages.html

Hi, I'm the original creator of the program shown above. I recently made some changes which make it fairly simple to add new nodes and transitions. It probably wouldn't be too hard to extend it to include integer-labeled nodes and operations.


add exit-code to simpletest.cpp example

Always have an exit-code. Otherwise it is useless to wrap inside other test-harnesses such as cmake's ctest and others (which depend on the executables' exit code [0 for success])

Why, this is a very silly example not to be used as a template for writing your own tests.
The real main functions will be generated by Cevelop instead and include the exit code generation if a test fails.
If you really want an exit code then you should use the corresponding standard constants not 0 and 1.

I also usually will not apply change requests from anonymous users. If you reach out to me via email (easy to find) I might consider adapting a simplified version of that pull request.


Improve material ink response

This patch contains a number of improvements to the material ink response:

The ink response now remains until you lift your finger
When disappearing, the ink response now fades out
The ink response is now the correct color (at least in the light theme)
The ink response for IconButton now has a (circular) highlight
The ink response for IconButton now repositions itself to be centered on the highlight

In addition, I've adjusted the various animation parameters to better match the
behavior of ink responses in the Java implementation of material.

@Hixie

LGTM


Not all files are deleted on uninstallation

Some files are not required for installation. Not all files are deleted on uninstallation.
Section "Vim GUI and runtime files" $(str_section_exe):
\doc directory - excluded "uganda.nsis.txt", duplicate files ("uganda.txt" and "uganda.nsis.txt");
\indent directory - excluded makefiles, not applicable without "testdir" directory;
\macros directory - excluded *.info files, not applicable in OS Windows;
\syntax directory - excluded makefiles, not applicable without "testdir" directory;
\tutor directory - excludes Makefile and *.info files, not applicable in OS Windows.
Native Language Support" section $(str_section_nls):
\keymap directory excluded - after patch 9.1.0032 it is always copied, code duplication;
\lang directory - excluded Makefile, not applicable in OS Windows.
Section "Remove Vim Executables/Runtime Files" un.$(str_unsection_exe):
add \bitmaps directory - it is created during installation (patch 8.2.4545), but was not included for removal.
Section "Remove the plugin directories from HOME directory" un.$(str_unsection_plugin_home):
add "_viminfo" file and Netrw plug-in history files for removal.

@chrisbra , @k-takata , in the current documentation for both the installer and the build of the program, there is no description of how to include the file "libsodium.dll" into the installer. There is a "libsodium.dll" file in your installation package, is simply copied to the "src" directory.
What would you say if we include the addition of "libsodium.dll" to the "VIMTOOLS" directory, by analogy with the "diff" and "winpty" files, so that everything is uniform? Well, accordingly, we will make a change to "gvim.nsi".

My Linux gvim is compiled (from source) with +sodium, yet I see no sodium library in the Vim distribution. Instead, my openSUSE system includes packages "libsodium23" and "libsodium-devel" as installed from the openSUSE repositories. Maybe the Vim installer only fetches a sodium library into its src directory if no sodium library is found among the "standard" system libraries as installed ?

thanks, I would say looks mostly good, except for removal of the viminfo and netrwhist file. I think those should be added to the RemoveVim Macro instead.

@tonymec , it's a little different here. When compiling, the path to the library is specified as dependencies.
And when creating the installer, the library "libsodium.dll " just copied to the "runtime".

@chrisbra , moved the deletion to the "RemoveVimfiles" macro.
I also added a description of the library "libsodium.dll", and a few more improvements.
Please take a look.

Your installer uses version 1.0.19 of libsodium and version 142 of msvc. And the main branch has version 1.0.18 of the library and 143 msvc. Maybe it can somehow lead to a single one.

Are you talking about https://github.com/vim/vim-win32-installer/ ?
I updated it as part of https://github.com/vim/vim-win32-installer/pull/329 but moved only to msvc142, to be conservative. Wasn't sure if updating msvc would cause any problems.

Looks good except for the FileExists and DirExists macros.

Are you talking about https://github.com/vim/vim-win32-installer/ ?
I updated it as part of vim/vim-win32-installer#329 but moved only to msvc142, to be conservative. Wasn't sure if updating msvc would cause any problems.

Yes, that's what I was talking about.
It's just that the main Vim branch says the following:
SODIUM_VER: '1.0.18'
      SODIUM_MSVC_URL: https://download.libsodium.org/libsodium/releases/libsodium-%SODIUM_VER%-stable-msvc.zip
      SODIUM_MSVC_VER: v143

As You can see, here the versions of the library and msvc differ from Yours. There don't seem to be any problems yet. But for consistency, it's probably better not to have such differences.

ah okay. Yeah it was mostly a test, if anybody complains 🙈 . Let me switch to MSVC 143 over there.
Regarding the FileExists macro, I'll await @k-takata approval here first. I don't know the nsis installer that good. Or perhaps you can use the patch from this PR here and create a PR over at vim/vim-win32-installer where you put your patch into the https://github.com/vim/vim-win32-installer/tree/master/patch  directory. That way the CI will run through and create an installer and we can even test it.

Or perhaps you can use the patch from this PR here and create a PR over at vim/vim-win32-installer where you put your patch into the https://github.com/vim/vim-win32-installer/tree/master/patch directory. That way the CI will run through and create an installer and we can even test it.

done

Let me switch to MSVC 143 over there.

And in the main Vim repositories then:
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index d2148f7f1..bc76c4c2c 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -408,7 +408,7 @@ jobs:
       # winpty
       WINPTY_URL: https://github.com/rprichard/winpty/releases/download/0.4.3/winpty-0.4.3-msvc2015.zip
       # libsodium
-      SODIUM_VER: '1.0.18'
+      SODIUM_VER: '1.0.19'
       SODIUM_MSVC_URL: https://download.libsodium.org/libsodium/releases/libsodium-%SODIUM_VER%-stable-msvc.zip
       SODIUM_MSVC_VER: v143
       SODIUM_MINGW_URL: https://download.libsodium.org/libsodium/releases/libsodium-%SODIUM_VER%-stable-mingw.tar.gz

thanks!

Or perhaps you can use the patch from this PR here and create a PR over at vim/vim-win32-installer where you put your patch into the https://github.com/vim/vim-win32-installer/tree/master/patch directory. That way the CI will run through and create an installer and we can even test it.

done

Let me switch to MSVC 143 over there.

And in the main Vim repositories then:
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index d2148f7f1..bc76c4c2c 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -408,7 +408,7 @@ jobs:
       # winpty
       WINPTY_URL: https://github.com/rprichard/winpty/releases/download/0.4.3/winpty-0.4.3-msvc2015.zip
       # libsodium
-      SODIUM_VER: '1.0.18'
+      SODIUM_VER: '1.0.19'
       SODIUM_MSVC_URL: https://download.libsodium.org/libsodium/releases/libsodium-%SODIUM_VER%-stable-msvc.zip
       SODIUM_MSVC_VER: v143
       SODIUM_MINGW_URL: https://download.libsodium.org/libsodium/releases/libsodium-%SODIUM_VER%-stable-mingw.tar.gz

This latest change, included as of commit 2680a074d4790abb372ecda658b0c455a6fe06cf seems to cause issues now with CI: https://github.com/vim/vim/actions/runs/8373036920/job/22929335001

Yes, I saw it.
The problem seems to be this:
SODIUM_MINGW_VER: 23
and it should be:
SODIUM_MINGW_VER: 26
for version 1.0.19
You'll excuse me, please, I don't particularly like these MINGW and Cygwin. But I should have checked it out before suggesting changing the library version.
I'm going to do a PR with these changes now. Let's check it out.

Yes, it looks like we've succeeded in solving this.
The tests went well.

It seems this broke distributing the libsodium library. See https://github.com/vim/vim-win32-installer/issues/337
@RestorerZ can you please roll back the change of libsodium?

@chrisbra , I kind of fixed it. Please take a look at this and this.
Please note that these pull requests must be accepted consistently. First from the main Vim repository, and then from the installer repository. Well, or the other way around.


go mod  version1.2.3

import (
"database/sql"
"fmt"
"strings"
"github.com/tal-tech/go-zero/core/stores/builderx"
"github.com/tal-tech/go-zero/core/stores/sqlc"
"github.com/tal-tech/go-zero/core/stores/sqlx"
"github.com/tal-tech/go-zero/core/stringx"

)
error:
 finding module for package github.com/tal-tech/go-zero/core/stores/builderx

Duplicate of #1256


[WIP] Smoke Tests

Duplicate of #352

Hey @boopathi! It looks like one or more of your builds have failed.

Node vnode - linux

Hey @vigneshshanmugam! It looks like one or more of your builds have failed.

Node vnode - linux

Hey @boopathi! It looks like one or more of your builds have failed.

Node vnode - linux
Node vnode - linux
Node vnode - linux

Hey @boopathi! It looks like one or more of your builds have failed.

Node vnode - linux


Content for Ignite 2018

Updated content and added page for Ignite 2018 event.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

docs/enterprise/overview.md
:white_check_mark:Succeeded

docs/images/add_cortana_channel_1.png
:white_check_mark:Succeeded

docs/images/add_platform_1.png
:white_check_mark:Succeeded

docs/images/add_settings_1.png
:white_check_mark:Succeeded

docs/images/application_settings_1.png
:white_check_mark:Succeeded

docs/images/blue-clock-20x20.png
:white_check_mark:Succeeded

docs/images/blue-globe-20x20.png
:white_check_mark:Succeeded

docs/images/blue-screwdriver_and_wrench-20x20.png
:white_check_mark:Succeeded

docs/images/cortana_manage_user_toggle_1.png
:white_check_mark:Succeeded

docs/images/edit_cortana_1.PNG
:white_check_mark:Succeeded

docs/images/open_console.png
:white_check_mark:Succeeded

docs/images/wwwroot.png
:white_check_mark:Succeeded

docs/skills/adaptive-cards.md
:white_check_mark:Succeeded

docs/skills/authentication.md
:white_check_mark:Succeeded

docs/skills/cortanas-persona.md
:white_check_mark:Succeeded

docs/skills/design-principles.md
:white_check_mark:Succeeded

docs/skills/use-ssml-enable-speech.md
:white_check_mark:Succeeded

docs/toc.md
:white_check_mark:Succeeded

docs/voice-commands/launch-a-background-app-with-voice-commands-in-cortana.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


New Feature: Added FAQ Section for Improved User Support

New Feature: Added FAQ Section for Improved User Support
#227

**Title:**New Feature: Added FAQ Section for Improved User Support
**Issue No.:**227
Close #<issue_no>

Before
https://github.com/user-attachments/assets/eeb0d3f3-680f-4b70-8cf0-d5e9e70c2120
After FAQ
https://github.com/user-attachments/assets/4e3c09c3-5bb3-402d-9cc5-f713251f6e80
Screenshots/Video (mandatory)

Checklist:

[X] I have mentioned the issue number in my Pull Request.
[X] I have commented my code, particularly in hard-to-understand areas.
[ ] I have created a helpful and easy-to-understand README.md if it's a new page/tech stack.
[X] I have gone through the contributing.md file before contributing.

Additional context (Mandatory):
This pull request introduces a new FAQ section to the website, aimed at providing users with quick answers to common questions. The FAQ section is designed to improve user support and reduce the need for direct inquiries, making it easier for users to find the information they need.
Are you contributing under any Open-source programme?

[X] I'm a GSSOC-EXT contributor
[ ] I'm a HACKTOBERFEST contributor

kindly review my code
Requesting to add a Level 3 label to my PR focused New Feature: Added FAQ Section for Improved User Support
@Anuj3553

Well done @govindbairi


Support library for Arduino with platformio

I noted that it's quite complicated to start with the T-RGB device. Example code is quite confusing (especially regarding touch) and you need to copy together a lot of things to get everything running.
Therefore I created a library that can be used with platformio with Arduino framework. See https://github.com/fablabnbg/TRGBArduinoSupport.
For now, touch is supported only for FT3267 ("Oval" version of T-RGB).
The library supports:

initialisation of the display
initialisation of the FT3267 touch controller
initialisation of SD-card
integration of lvgl library (the library depends on it, so it is automatically installed and include-paths are set correctly).

It also comes with an example lvgl UI.
The example also shows how to setup Wifi and using NTP as source for RTC.
With our library, starting with T-RGB gets as easy as:
#include <TRGBSuppport.h>

TRGBSuppport trgb;
void setup() {
  trgb.init();
  // load your UI etc. (see example https://github.com/fablabnbg/TRGBArduinoSupport/tree/main/examples/ui_example)
}

void loop() {
  // your loop code
  // Handle lvgl timers
  lv_timer_handler();
  delay(2);
}

I would appreciate it, if you can add a link to the library in your README.MD

A good idea.

Thank you for your contribution. I have added recommendations in README


Unable to install brew cask install sublime-text

Got the following error
==> Downloading https://download.sublimetext.com/Sublime Text Build 3114.d
######################################################################## 100.0%
==> Verifying checksum for Cask sublime-text
Error: Permission denied - /opt/homebrew-cask/Caskroom/sublime-textMost likely, this means you have an outdated version of Homebrew-Cask. Please run:
brew uninstall --force brew-cask; brew untap phinze/cask; brew untap caskroom/cask; brew update; brew cleanup; brew cask cleanup

If this doesn’t fix the problem, please report this bug:
https://github.com/caskroom/homebrew-cask#reporting-bugs

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:245:in mkdir' /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:245:in fu_mkdir'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:219:in block (2 levels) in mkdir_p' /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:217:in reverse_each'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:217:in block in mkdir_p' /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:203:in each'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:203:in mkdir_p' /usr/local/Library/Homebrew/cask/lib/hbc/installer.rb:114:in extract_primary_container'
/usr/local/Library/Homebrew/cask/lib/hbc/installer.rb:73:in install' /usr/local/Library/Homebrew/cask/lib/hbc/cli/install.rb:24:in block in install_casks'
/usr/local/Library/Homebrew/cask/lib/hbc/cli/install.rb:18:in each' /usr/local/Library/Homebrew/cask/lib/hbc/cli/install.rb:18:in install_casks'
/usr/local/Library/Homebrew/cask/lib/hbc/cli/install.rb:9:in run' /usr/local/Library/Homebrew/cask/lib/hbc/cli.rb:108:in run_command'
/usr/local/Library/Homebrew/cask/lib/hbc/cli.rb:147:in process' /usr/local/Library/Homebrew/cask/cmd/brew-cask.rb:8:in <top (required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require' /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require'
/usr/local/Library/Homebrew/brew.rb:23:in require?' /usr/local/Library/Homebrew/brew.rb:97:in '

Please always follow the reporting bugs guide. To do so, edit the top post and then comment after this one so I can check back.
Closing in the meantime, because a number of people never report back and it’s useless to keep the issue open in that case and without all the required information.


Denoise Output

I have this question does enabling this feature have a big effect on the degradation of the sound ?
Does it somehow reduce the quality of the final file when selected in the settings.

It does not degrade the sound quality at all

Thank you very much for your quick reply 👍🏻.
I still have such a question about the spectral inversion option, could you say something more about it, does it give a significant difference in sound quality ?

Thank you very much for your quick reply 👍🏻.
I still have such a question about the spectral inversion option, could you say something more about it, does it give a significant difference in sound quality ?

It just helps eliminate some of the noise generated by those models.


Binary over network

Add services to write strings in binary streams and better support for binary in network modules.

+1

+1


看docker log啊 哪里有错改哪里

不是docker的错误，docker没有产生错误日志，这个gitlab系统产生的错误在哪 ？

Started GET "/users/sign_in" for <IP_ADDRESS> at 2018-11-19 10:29:57 +0000 Processing by SessionsController#new as HTML Redirected to http://<IP_ADDRESS>/users/password/edit?reset_password_token=Rf1VTHFWfUzixA6suBv_ Filter chain halted as :check_initial_setup rendered or redirected Completed 302 Found in 17066ms (ActiveRecord: 814.7ms) Started GET "/users/password/edit?reset_password_token=[FILTERED]" for <IP_ADDRESS> at 2018-11-19 10:30:15 +0000 Processing by PasswordsController#edit as HTML   Parameters: {"reset_password_token"=>"[FILTERED]"} Completed 200 OK in 27270ms (Views: 24658.8ms | ActiveRecord: 63.1ms) Started GET "/help" for <IP_ADDRESS> at 2018-11-19 10:30:46 +0000 Processing by HelpController#index as */* Started GET "/help" for <IP_ADDRESS> at 2018-11-19 10:32:15 +0000 Processing by HelpController#index as */* Started GET "/help" for <IP_ADDRESS> at 2018-11-19 10:33:46 +0000 Processing by HelpController#index as */* Started GET "/help" for <IP_ADDRESS> at 2018-11-19 10:35:12 +0000 Processing by HelpController#index as */*
这是/mnt/gitlab/log/gitlab-rails/production.log


Exclude VSCode packages

This browser extension also displays stats for VSCode extension that share the name with an npm package (example). This PR adds a check for required properties in the manifest of a VSCode extension.

@idleberg I'm not sure if this extension is maintained anymore, but I just wanted to let you know that I forked it a little while back: https://github.com/uncenter/npm-on-github. Still a WIP but I've already added your suggestion (https://github.com/uncenter/npm-on-github/commit/3c3684b7759b91499b7208a1bac239409d80fa8d).


Add LogToILogSink extensions for assign the implementation of ILogSink to Logger

Hello!
Maybe add LogToILogSink extensions for assign the implementation of ILogSink to Logger?
Logging Errors and Warnings / Removing Serilog
/// <summary>
/// Logs Avalonia events to the <see cref="Avalonia.Logging.ILogSink"/> implementation.
/// </summary>
/// <typeparam name="T">The application class type.</typeparam>
/// <param name="builder">The app builder instance.</param>
/// <param name="logSink">The <see cref="Avalonia.Logging.ILogSink"/> implementation.</param>
/// <exception cref="ArgumentNullException">Thrown when <paramref name="logSink"/> is null.</exception>
/// <returns>The app builder instance.</returns>
public static T LogToILogSink<T>(this T builder, ILogSink logSink)
    where T : AppBuilderBase<T>, new()
{
    Logger.Sink = logSink ?? throw new ArgumentNullException(nameof(logSink));
    return builder;
}

I believe "LogToSink" should be cleaner name for the method.


Ray head node proxy rework

Summary
Rework the proxy sidecar of the ray head node.
Details and comments
This rework replaces the auth2-proxy with the gatekeeper for the proxy sidecar.
This change enables Client Credentials Grant to access to head node.
The auth2-proxy doesn't support Client Credentials Grant.
The request to the head node is redirected to the login screen when the request doesn't have the access token.  The request that has the access token is routed to the head node function.
This is an example script to get the access token from the Keycloak and send a request with the access token to the head node.
#!/bin/bash
API=$1
export RESPONSE=$(curl --request POST \
  --url 'http:/KEYCLOAK-IP/realms/quantumserverless/protocol/openid-connect/token' \
  --header 'content-type: application/x-www-form-urlencoded' \
  --data grant_type=password \
  --data client_id=rayclient \
  --data audience=rayclient \
  --data client_secret=CLIENTSECRET-CHANGEME \
  --data username=user \
  --data password=passw0rd)

export A=$(echo $RESPONSE | jq .access_token)
echo $A
export TOKEN=${A//'"'/}

curl --request GET \
--header "authorization: Bearer $TOKEN" \
--header 'content-type: application/json' \
--url "http://HEADNODE-IP/$API"

@Tansito Thanks for review.  I'll take out the apiserver changes.  I may end up with a new PR instead of updating this.

I created a new PR https://github.com/Qiskit-Extensions/quantum-serverless/pull/258.  closing this.


⚠ ClamAV has degraded performance

In 93cddcb, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 94 ms

Resolved: ClamAV performance has improved in 9fa9d60.


[HELP]/[BUG] Wrong type for self in template callback

While using #[template_callback] on a search-changed signal, like so,
#[template_callback]
fn on_search_changed(&self) {
            ...
}

my code compiles fine, however attempting to run it results in
thread 'main' panicked at 'Wrong type for `self` in template callback `on_search_changed`: WrongValueType(ValueTypeMismatchError { actual: GtkSearchEntry, requested: CUSTOM_WIDGET })', SOURCE_FILE:72:1

It doesn't exactly matter what the contents of the callback are, the error is the same. I'm not sure if this is a bug, or my code being written wrong. Other callbacks, not using &self, work fine.
I hope I've been descriptive enough, if I haven't, the full code is available at https://github.com/ItsJamie9494/nixie/blob/main/src/ui/dialogs/clock_locations.rs

I was missing swapped="true", my code is working now.

For clarification, the swapped value is set in the signal of an object in the UI file:


Speed issue.

I ran several tests on my virtual server with 2 gigabit internet, and I came to the conclusion that the speed problem is in telethon itself. I wrote a small benchmark: https://gist.github.com/mishailovic/3bc25bb644642acf371e732f2dafa52f and the pyrogram speed was almost three times faster.
Pyrogram stats: speed - 168.88 Mbps, time - 71 s
Telethon stats: speed - 55.85 Mbps, time - 215 s

I think it would be nice to rewrite the scripts in pyrogram.

Wow, It was a great comparison. 🤔
I really like to switch on Pyrogram but I can't do this soon because of my hand problem.

BTW I will be happy if you give me a hand.
And again thanks for your useful comparison. 🤗

I'll do a couple more tests, maybe it's a problem of my server, or something else. I hope if I pass the exams successfully, I will definitely help you 😁

Hmm, I knew the Telethon is slow even with cryptg package, have you ever checked it out?
But I've never use Pyrogram, I just heard about that.
Thanks 😛, I've to rest for a month... After that, I'll back to my keyboard.
Do you need my Telegram ID?

I think yes, if I need to write to you about anything, I will text you inside Telegram

Sure, text me Here

Hey! It's me again. So, thought that it is better not to rewrite the entire project to another library, it will take a lot of time and effort, and will not give the desired result. Instead, I decided to do parallel uploading via telethon, and here are the results I have achieved:

I used code from this gist:
https://gist.github.com/painor/7e74de80ae0c819d3e9abcf9989a8dd6/

Hello again,
Seems it’s faster than Pyrogram, isn’t it?
Also I fixed the link of Telegram ID, now you can text me

Seems it’s faster than Pyrogram, isn’t it?

This is not entirely true, I think it is possible to implement parallel uploading in pyrogram, but I have no idea how to do it.

Also I fixed the link of Telegram ID, now you can text me

I know, I just want the discussion to be public, if someone wants to join

Yes the better idea is implements pyrogram with parallel uploading, I have to check the codes carefully and I think it’s possible.
And also I have to decide about making another python package or mixing them together.

Good luck!

Thanks buddy 🙏🏻

The discussion is too interesting !!

The discussion is too interesting !!

It will be even more interesting if implemented 👻


various small tweaks to static content

This PR makes several small tweaks to styles to improve consistency with the original site and hopefully clean things up just a bit! All pretty minor. Some before / afters below.
before

after

and
before

after

In general, looks great!
Quick thoughts on images:

I'm a little worried that making the launch button grey will make people think it's not clickable (e.g. that it's been disabled, since greying-out is often how that is conveyed to users). WDYT?
I'm not sure what the {{ url or stuff means within the text boxes...maybe that's some not-quite-rendered javascript?

thanks for the review @choldgraf ! the {{ url stuff is just cause i was previewing the raw html and css for the static site, not a concern
i'll play with a fix for the button, just didn't love that generic bootstrap blue :)

Thanks for the patch, Jeremy!
@willingc I'd like to keep discussion of both mybinder.org and binderhub
the piece of software in one place to begin with, just to control my own
personal 'OMG TOO MANY COMMUNICATION CHANNELS' problem. We can split it out
once there's enough people running their own binderhubs it becomes a
problem. Does that sound ok?
On Wed, Jul 5, 2017 at 1:28 PM, Carol Willing<EMAIL_ADDRESS>wrote:

@willingc commented on this pull request.
In binderhub/index.html
https://github.com/jupyterhub/binderhub/pull/72#discussion_r125748939:

                     Interact with your notebooks in a live environment!
A JupyterHub server will host your repository's contents. We offer you a reusable link and badge to your live repository that you can easily share with others.

questions? join the chat, see the code

Good point on the chatroom. FWIW, discussion of pretty much all of the
JupyterHub projects within the JupyterHub org happen on the jupyterhub
gitter channel. Development discussions can certainly exist there. As for
user facing discussions related to the binder service, I think it may be
better to have those be a different channel of some sort.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jupyterhub/binderhub/pull/72#discussion_r125748939,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAB23iLCWfMcudu3hsX-trfA4ImuC0cFks5sK_HkgaJpZM4ONwzu
.

--
Yuvi Panda T
http://yuvi.in/blog

@yuvipanda Sure thing. Which channel are you suggesting?

Why don't we just migrate the binder-project/binder channel to jupyterhub/binderhub? Seems like a natural shift to me.

@choldgraf fixed the two small points! and thanks for the review @willingc !

and @choldgraf migrating the chat seems super reasonable to me, can do it alongside the changeover and  change the link at the same time

I am +1 for a merge if folks are happy!
@freeman-lab let us know when you wanna do the binder switchover...I (and maybe @willingc ?) will be at scipy so we can mention this in a lightning talk!

Let's set up a different issue for a checklist of things we need to do
before we can switch?
On Jul 5, 2017 11:06 PM, "Chris Holdgraf"<EMAIL_ADDRESS>wrote:

I am +1 for a merge if folks are happy!
@freeman-lab https://github.com/freeman-lab let us know when you wanna
do the binder switchover...I (and maybe @willingc
https://github.com/willingc ?) will be at scipy so we can mention this
in a lightning talk!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jupyterhub/binderhub/pull/72#issuecomment-313304539,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAB23icrS_ZGEyVTdjN9VzGmnK6X8q-Pks5sLHlogaJpZM4ONwzu
.

Latest changes to launch button and css changes look good to me.
Static view of launch button:

Flyover view of launch button: Very pretty 👍

I'm going to merge.

yihooo!

The grey still makes me think the button is disabled tho :(
On Jul 6, 2017 8:12 AM, "Chris Holdgraf"<EMAIL_ADDRESS>wrote:

yihooo!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jupyterhub/binderhub/pull/72#issuecomment-313425886,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAB23kf6qz_HiGcr1FwbcKxQEqKBwgaOks5sLPlGgaJpZM4ONwzu
.

we can keep an eye on user behavior over time to see if this seems like an issue...looking at the old mybinder.org setup it had ~ the same UI colors and AFAIK it worked well. WDYT?

@freeman-lab Thoughts on the grey? I like that grey adds weight to guide user to push the button, but I can see @yuvipanda's point too. Perhaps swapping the flyover with the static button above would be good.


Skip empty nodes at serialization

This new option will skip all the nodes that have no content:

Simple node values empty/null
Structures/Arrays with no subnodes

Do you mean without filter ? https://github.com/sbcgua/ajson#predefined-filters
Also:

structures/arrays should be ok
but values are not. Is false empty ? Or null ? Or 0. I think not always.

I would go with the most famous isEmpty implementation:
https://github.com/lodash/lodash/blob/main/src/isEmpty.ts
It's working differently now:
https://github.com/sbcgua/ajson/blob/2504b311e7e4695f1aea94f11c3cc883c4df8391/src/libs/zcl_ajson_filter_lib.clas.locals_imp.abap#L11-L18


Configurable compiler path

Partially addresses #10 to complete #10 we need to deal with the custom standalone stdlib


Move links between local storage and api (and vice versa)

Moving saved links between the local storage and the api should

use the newest in case of duplicated links

It should not

delete anything from neither local storage nor the api

This will be easier once albalitz/save-api#13 is implemented.


RNPdfScanner" does not exist

On androi i get error
index.android.bundle?platform=android&dev=true&hot=true&minify=true:357 Warning: Native component for "RNPdfScanner" does not exist
t @ index.android.bundle?platform=android&dev=true&hot=true&minify=true:357

Hi, Document Scanner is not available on Android for now, please add a condition like that :
if (Platform.OS === 'ios') {
   <DocumentScanner ... />
}


500s returned from many ITSA endpoints in sandbox

Bug
What is the current behaviour?
500s returned from many sandbox ITSA endpoints.
What is the expected behaviour?
Successful responses.

Hi @adamfairstr
I believe this is the same issue as #801 - I've reset the offending stub, could you check if the calls are successful now? Apologies again for this.
Kind regards

All working now thanks.


Issue using the import npm package

Hello,
I am trying two different ways to use your package:
first one, using the importmap via cdn:
`

3D Gaussian Splat Demo - Garden

`
and the second one using npm install but when I run the demo locally it returns an error because cannot access to the module.js (of your library...).
Could you please help me?
Your work is great my friend!

I'm not sure where you got that CDN url for my library, one that should work would be:
https://unpkg.com/browse/<EMAIL_ADDRESS>
For the second approach ( npm install ), can you show me the code you are using to set up the viewer? Maybe I can help debug that.

Hello,
thank you but is doesn't work, my approach is simple: I use the import map like
https://drive.google.com/drive/folders/10NFbeub3L2ER-wnzMQ6G1Yh_u5EG1bZV?usp=sharing
please let me know if you can access. there is my "simple" sample.

I can't access that shared folder, could you just post the relevant code snippet(s) here?

Any updates on this issue? I'd be glad to help, but I can't access your code.

Hello Mark,
I am sorry for the immense delay in my answer. I attach to this email my
code..
My purpose is to use your code to see gaussian splat scene and convert the
model into an stl for example..
Thanks,
Luca
Il giorno mar 4 giu 2024 alle ore 01:01 Mark Kellogg <
@.***> ha scritto:

Any updates on this issue? I'd be glad to help, but I can't access your
code.
—
Reply to this email directly, view it on GitHub
https://github.com/mkkellogg/GaussianSplats3D/issues/233#issuecomment-2146322314,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A6E3VM4DV57V2V3TTACD3TTZFT7T3AVCNFSM6AAAAABHR2FFR6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBWGMZDEMZRGQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

I'm sorry, I still don't see any sample code and cannot access your google drive folder..

I'm going to close this for now, please let me know if you still need assistance.


Fix TypeScript target snippet in Razor UI docs

This fixes rendering of the configuration for TypeScript integration.
Thanks!
For context:
https://docs.microsoft.com/en-us/aspnet/core/razor-pages/ui-class?view=aspnetcore-3.0&tabs=visual-studio#feedback

Thanks! Was not aware about the date in the pragma!


Test for SET @@SESSION.sql_log_bin in sql static validations

Description
This adds a test for SET @@SESSION.sql_log_bin usually added by mysqldump to SQL files. More info https://dev.mysql.com/doc/refman/8.0/en/set-sql-log-bin.html
Steps to Test
An automated test case was added.

@markowsiak @jblz forgot to merge this before, so going to merge it now.


Ios QR code import

I've tried to import my wallet to Iphone NEM app with the help of the QR code I have to scan from the Nano wallet. That all goes without any problem but then it asks me for a password. No mather if I fill in the NEM mobile password or the nano NEM wallet password it will say 'wrong password provided'
Reported this issue after I have reported it on the NEM telegram app

@An1MaLz
We need more information:
Device model and iOS version
Expected Behavior
Current Behavior
Steps to Reproduce
more Details;


Removing leading period from YAML extensions?

I was wondering whether there is a specific reason for having the extensions recorded with a leading period in the YAML schema data.
Maybe the leading period should be inserted by path constructors based on the procedural information given by the “extension” designation, similarly to how suffixes aren't recorded with a leading underscore?
The “extension” designation is not arbitrary as it stands anyway, since it already defines the position of the string in the path... so I don't think this would make it more fragile in any way.

We included the leading dot because that's how extensions are defined in the common principles and how they're used in pybids.
Here's the description in common principles:

File extension - a portion of the the file name after the left-most period (.) preceded by any other alphanumeric. For example, .gitignore does not have a file extension, but the file extension of test.nii.gz is .nii.gz. Note that the left-most period is included in the file extension.

Yeah, we went through a period of normalizing different tooling. Reverting now would be pretty annoying to any users of libraries (notably pybids) that started out not including the initial period and went through a FutureWarning/DeprecationWarning process to migrate users and downstream projects.

@tsalo @effigies maybe this could still be put a pin in for the next major overhaul that's likely to also break backward-compatibility?

hmmmm... thanks for the update in any case :)
I mean those have special meanings, and can be easily represented with simple logic — but, are you sure that's not actually a sign of using the concept of “extensions” incorrectly?
What are the edge cases for whether the absence of an extension needs to be noted as the presence of the extension None?
Also, / as an extension sounds like a workaround for not declaring whether a path is actually a directory.
We actually have the / issue in the DANDI extensions for BIDS (.ngff files are in fact directories), and I wanted to ask once I make more progress on the validator and the render tests whether we could encode direcotry-ness in the schema explicitly — / might do the trick, but it sounds like it's overloading the concept of an extension.

I've come across a solid reason to keep the leading period in #1036. We have some extensions (None, /) that do not have leading periods, so automatically assuming there is one would make these edge cases for us to work around.

Well, under assumption that "there MUST NOT be an empty extension" (e.g. just filename.) and the fact that trailing / is a convention, I think it does not really mandate including . within extension, albeit indeed them require more of "special handling in code" while appending to filename.  And that is why I agree with observation of @TheChymera that

Also, / as an extension sounds like a workaround for not declaring whether a path is actually a directory.

BUT because it is a matter of the fact that some extension might be a directory or not, and now that there is https://github.com/bids-standard/bids-specification/blob/HEAD/src/schema/objects/extensions.yaml -- I think "extension" notion is not really a "file extension" but rather a "thing" of its own mapping its value to the one in the extensions.yaml where someone might make directory: True; name: mefd (or alike) for a "convention" of .mefd/ to make it "explicit".  The question is either it is "worth it" - i.e. should we offload it to tooling code to judge that extension implies directory via .endswith('/') instead of dereferencing into "extensions table" and checking for .directory attribute?
Having trailing / in extension itself also makes it a bit harder for tooling since comparing output of e.g. split_ext - the value should first get rid of trailing /. So making it "simpler" for some usecases might make it harder for others.

We included the leading dot because that's how extensions are defined in the common principles and how they're used in pybids.

well, had to rerun tutorial: https://github.com/bids-standard/pybids/pull/832  since git grep disagreed, but indeed confirming that pybids does that too.
But if you look at result records like
{'acquisition': 'fullbrain',
 'datatype': 'func',
 'extension': '.tsv.gz',
 'run': 1,
 'session': '1',
 'subject': '01',
 'suffix': 'physio',
 'task': 'rest'}

you will see that suffix doesn't come with leading _, as it could have to be consistent with extension to include the leading ..  Overall, although consistent with tooling (like os.path.split_ext), inclusion of leading period (.) IMHO should have not been done. But since it was done, now all BIDS tooling should also follow the  trend, so I am doomed to adjust BIDSFile of heudiconv (WiP: https://github.com/nipy/heudiconv/pull/544; attn @pvelasco) to do the same for the sake of consistent (across tooling) inconsistency (has leading . whenever e.g. prefix doesn't have leading _, similarly to any other entity).
Having said all that, I don't think there is anything to be done at this point regarding the initial issue/title - i.e. the "leading period".  Not yet 100% sure about trailing /.  E.g. -- what pybids would return in its extension for .ds/ or future .ngff etc?  will it include trailing / ?

Here's an update on how the None special value in fact makes the periods useful, but again, I don't think this speaks for the periods, rather against None.
If the list of permitted extensions includes None, even if automatically determining that it means "" and not in fact "None", iterative regex generation would e.g. create ^README\.(|md|rst|txt)$, which will fail to validate README.
Nevertheless even if ^README(|\.md|\.rst|\.txt)$ is considered preferable to ^README(|\.(|md|rst|txt))$ the leading periods can still be added when needed instead of hard-coded in the YAML :)
For the time being I'm going with ^README(|\.md|\.rst|\.txt)$ however :( https://github.com/TheChymera/bids-specification/commit/27bfb551e0aba53d5a0b4350b26052fe9a5fa35b

If we're seriously considering reverting this change, it would be worth reviewing the original discussion that led to the push for consistency in the current direction: https://github.com/bids-standard/bids-specification/pull/152

If we're seriously considering reverting this change, it would be worth reviewing the original discussion that led to the push for consistency in the current direction: #152

I personally think that fortunately or unfortunately we are past that point now since it might be too intrusive to change within 1. series of BIDS, and even for 2. might be a bit too much.  So I would vote to keep leading . in extensions.  The question which remains and I think, and which we must address is what to do about trailing /?!
https://github.com/bids-standard/bids-specification/blob/master/src/02-common-principles.md#common-principles

doesn't mention possibility for / to be a part of a "File extension"
we also call it "File extension" there (not just extension)

So, overall we have not defined a notion of "extension" but rather of "File extension".  Should we define "Directory extension"?  should we generalize into "File or directory name extension" and include / as indicator of being a directory? Will we ever allow for the same extension to be used for a file or directory?  (sorry for questions and not suggestions ATM)

If we're seriously considering reverting this change

At this point I have temporarily downgraded this to low-priority in my head, but I still think it's a good idea :(
One idea would be:

None → "" or false value.
/ → directory_extensions parameter

e.g.
README:
  required: true
  directory_extensions:
  - ""
  - .md
  - .rst
  extensions:
  - ""
  - .md
  - .txt

Given how JSON is parsed, ""/false actually evaluates as False (which is correct as it means no extension), whereas None which gets parsed to "None" evaluates as True. I see how encoding everything in the string is a quick shortcut to cover everything and worry about it later (which is what I'm doing atm as well). But I really think this will encourage us to write broken logic with if str.endswith("/") or other such detection methods which will become convoluted and are fragile.


feat: add flag to disable namespace warning

Description
Adds flag to disable printing warning messages for default namespaces.
print.WarningStatusEvents is also used to report on errors
that occur during command execution.
First it was considered to check for the flag within
print.WarningStatusEvent, but this does not seem in tune with
the spirit of this flag, which is to prevent breaking
output formats due to a warning that is always printed.
For the context of this flag, its thus explicitly named so
its clear only the namespace warning is covered,
and not all warnings that are generated throughout the CLI.
Names likes noWarning, disableWarning were also considered.
Single char shorthand flag was also considered.
Issue reference
We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.
Please reference the issue this PR will close: #1015
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[ ] Created/updated tests N/A ?
[ ] Extended the documentation N/A?

@hueifeng I will when I start implementing the changes as discussed in #1015.
@mukundansundar can I assume the changes from your comment in regard to --quiet/silent are green to contribute?

@yaron2 Any issues with having a --silent or --quite flag to not print any warnings ?

As suggested by @mukundansundar
Alternate approach can be having the flag at RootCmd level like, So that it is available for every command.
RootCmd.PersistentFlags().BoolVarP(&silent, "silent", "s", false, "Silence all output except errors")

and handle the console output in print.go at success, info and warning level, something like -
func InfoStatusEvent(w io.Writer, fmtstr string, a ...interface{}) {
	if silent {
		return
	}
......

Thoughts @mukundansundar @MichaelHindley ?

As suggested by @mukundansundar Alternate approach can be having the flag at RootCmd level like, So that it is available for every command.
RootCmd.PersistentFlags().BoolVarP(&silent, "silent", "s", false, "Silence all output except errors")

and handle the console output in print.go at success, info and warning level, something like -
func InfoStatusEvent(w io.Writer, fmtstr string, a ...interface{}) {
	if silent {
		return
	}
......

Thoughts @mukundansundar @MichaelHindley ?

If we want to go for this flag, it needs to be applied retroactively to all the print statements that we do today ...

@mukundansundar yes, thats correct. In print.go file we will have to do handle this in 3 places-  success, info and warning print functions. Is there any other simpler way ?

@mukundansundar yes, thats correct. In print.go file we will have to do handle this in 3 places-  success, info and warning print functions. Is there any other simpler way ?

Can we clearly define as to what output is something that should be there regardless of the silent flag or not
For dapr init... dapr installed successfully alone and not any of the other output except errors if any...
Similarly for other commands that use the print.go functions for output all will be affected by the silent flag... So some clear definition of what should be affected vs what should not be will need to be thought through and appropriate changes be made.... For those conversations I suggest we do it in the parent issue and not in this PR

@MichaelHindley
Please fix conflicts and changed implementation to what was discussed in #1015
is there any ETA on this PR?

@MichaelHindley please resolve the conflicts so we can merge.

ping @MichaelHindley

ping @MichaelHindley - I think this would be a great value add for next release if you could please fix the merge conflicts?


Add subscription support to inpage provider via provider-engine

Related to https://github.com/MetaMask/metamask-extension/pull/5450

Doesn't look like events are being re-emitted from the provider-engine to the inpage-provider
Not sure about the side effects of re-adding the provider-engine's polling at this level


Running Error

Hello, I'm very interested in your article. Thank you for your great content. I encountered the following issue while running it. Could you please provide some guidance? Thank you.

It means that the code can not find any images or masks in your provided paths. The relative path is better than the abs path while using the inference script.


March community call to-dos

 meeting to dos

Schedule call

[x] Add to calendars
[x] Make HackMD agenda/notes
[x] Schedule host (let different people host)
[x] Schedule alternate times for future #12
[ ] How to use this repo #9

Promote call/recruit presenters

[ ] Post on discourse 2 weeks before
[x] Tweet 2 1 weeks before
[ ] Post on mailing list 2 weeks before
[x] Post to jupyterhub/team-compass 2 1 weeks before
[x] Post on discourse 1 week before
[x] Post on mailing list 1 week before

Post-call

[ ] Download meeting recording
[ ] Upload meeting recording to youtube
[ ] Submit PR for agenda/notes in docs
[ ] Add youtube and agenda/notes link to discourse page
[ ] Add youtube and agenda/notes link to jupyterhub/team-compass issue and close it.
[ ] Tweet youtube link

I missed the two weeks before posting because of a nice storm of deadlines with CZI EOSS grant work and Spyder 5's upcoming release. Even though it was a genuine mistake, I think this will be a good experiment to see if there is a big difference in attendance or presentations with only the week-before reminders. 🌻

Schedule alternate times for future #12 may be partially resolved this month by moving it out of conflict with the nteract community meetings. Still need to figure out how to (feasibly) be more timezone friendly. I don't think I'll be a great meeting moderator at 1am my time.
How to use this repo #9 probably won't get resolved this month because of the aforementioned deadline chaos. That's okay. We can move it to next month.


More configurable material override texture application

Need to be able to specify which SpatialMaterial / ShaderMaterial texture parameter is used by the material override process.
This is already partially implemented in the form of auto PBR, but a more general approach would make the system more flexible. The existing setup should be extended to cover all 15 of the SpatialMaterial texture parameters using suffices configurable via ProjectSettings, as well as support for generalized ShaderMaterial suffices that map directly to a shader parameter by name.

Need to consider whether storing material overrides inside the texture folder is a good idea - may be better from a encapsulation standpoint for the default workflow to store them in a separate directory with the same base/group/texture substructure.

Also need to consider workflows that don't use the base texture as albedo - i.e. a SpatialMaterial that uses it for emissive instead, or a ShaderMaterial. Using a suffix on the base texture's filename isn't an option as it needs to share the in-map name for editing purposes.
Replacing material overrides with a resource-driven setup is probably the best approach - use a new 'TextureOverride' resource type to store which SpatialMaterial or ShaderMaterial parameter the base texture should be applied to, as well as an optional material to override the default with. This has the added benefit of allowing a single material to be used with multiple textures without excess duplication.