Fix issue #107

Fix for #107:
Add check to addIfExistsToEpisodeSchemaBindings().
I also fixed a minor issue in MAVEN_JAXB2_PLUGIN-53 (see commit 6654bdf) since I wasn't able to build the project and run all tests with mvn clean install -Pall from the root.

Unfortunately I wasn't able to create a "real" test for this issue (one that fails if not fixed). :(
Hooking into the plugin to fail the build if said log is printed would not be practical (too much hassle for the gain).
The project only acts as a demo to display the issue.

Thank you for the fix. I could no longer merge it, but it's a one-liner so I've fixed it directly.


rd-add-poll-for-visibility

Add poll_for_visibility action which takes an id or element, wait, and frequecny arguments to poll the DOM until the element becomes visible. Raises an AssertionError if the element does not become visible after the specified wait time.
cc @cdangg @Bassoon08 @rtabor

Actually I just realized, do you want to print something other than the web element object in the exception? It will say something like this, but I don't know how useful that is:
Exception: Element is not visible. <selenium.webdriver.remote.webelement.WebElement object at 0x10648fc90>

If we get a failure, we'll see what line it's on, maybe Element is not visible is enough (we have so much logging anyway).

No you're right, I had intended to add that but missed it. How about now??

OK should be all set now @Bassoon08

LGTM!


add ARM64 Windows to release builds

Currently not working due to outdated winapi in our openapi-generator client. See related issue https://github.com/retep998/winapi-rs/issues/727


[GitHub] GitHub file size for a specific branch

Related issue: #7876
It is my first contribution to Shields - all comments and suggestions are welcome! 😉
Tested locally, gives expected results, some screenshots for example:

commit: 345da16
"size": 3572,
https://api.github.com/repos/badges/shields/contents/services/text-formatters.js?ref=345da16

branch integration-docs
"size": 3442,
https://api.github.com/repos/badges/shields/contents/services/text-formatters.js?ref=integration-docs

tag server-2021-10-04
"size": 3250,
https://api.github.com/repos/badges/shields/contents/services/text-formatters.js?ref=server-2021-10-04

tag 2.0.0-beta1
our file is not present in this tag
https://api.github.com/repos/badges/shields/contents/services/text-formatters.js?ref=2.0.0-beta1
If we don't specify the branch/commit/tag, it searches the master branch by default.
On the Shields website locally, it looks like this:

The previous endpoint for GitHub file size still works correctly.

Hi @chris48s,
I see that the test suite failed on my feature branch. Is it something that I can fix? :

https://app.circleci.com/pipelines/github/badges/shields/14245/workflows/19814146-9649-439a-ab11-7b6899bb2f07/jobs/192075

Hi @chris48s,
I see that the test suite failed on my feature branch. Is it something that I can fix?:
GitlabContributors: no credentials configured, tests for this service will be skipped. Add credentials in local.yml to run them.
GitlabLicense: no credentials configured, tests for this service will be skipped. Add credentials in local.yml to run them.

from: https://app.circleci.com/pipelines/github/badges/shields/14245/workflows/19814146-9649-439a-ab11-7b6899bb2f07/jobs/192075

Seems it was specious. I reran the failed jobs and they passed

Hi @chris48s,
I see that the test suite failed on my feature branch. Is it something that I can fix?:
GitlabContributors: no credentials configured, tests for this service will be skipped. Add credentials in local.yml to run them.
GitlabLicense: no credentials configured, tests for this service will be skipped. Add credentials in local.yml to run them.

from: https://app.circleci.com/pipelines/github/badges/shields/14245/workflows/19814146-9649-439a-ab11-7b6899bb2f07/jobs/192075

Seems it was specious. I reran the failed jobs and they passed

Ah, ok, thanks :)
I am currently not working on anything on this branch. If there is something that should be changed before a merge to the master branch, I am open to suggestions :)

Ta - merged. Running the full test suite for github is a sufficiently large number of integration tests that sometimes we'll hit a flaky one. You can actually filter this down further if you want. For example, if you run npm run test:services -- --only="githubsize" locally that will run just the github size tests, and you can also use [githubsize] in a PR title.

Ta - merged. Running the full test suite for github is a sufficiently large number of integration tests that sometimes we'll hit a flaky one. You can actually filter this down further if you want. For example, if you run npm run test:services -- --only="githubsize" locally that will run just the github size tests, and you can also use [githubsize] in a PR title.

Cool, thanks! I was not sure if it was better to run the whole GitHub test suite or a narrower one, now I know that it would be fine also with a narrower version 😌


Optimize total_installs for /plugin/index

Description

I would recommend not passing around an additional variable is_total for instantiating InstallActivity, since it's redundant with an existing variable activity_type that we can utilize.

With how the pynamo Model's are initialized, refactoring that to be evaluated in the __init__ method from the granularity attribute will add more complexity to the code. The code would look something like:
  def __init__(
            self, hash_key=None, range_key=None,  _user_instantiated: bool = True, **attributes: Any,
    ) -> None:
        if attributes.get('granularity') == InstallActivityType.TOTAL.name:
            attributes['is_total'] = 'true'

        super(InstallActivity, self).__init__(
            hash_key=hash_key,
            range_key=range_key,
            _user_instantiated=_user_instantiated,
            **attributes
        )

So, I am more in favor of computing it outside and passing it on as an attribute. As an added advantage, we compute just once to determine the value of is_total.

The mix of positional and keyword arguments here is a little confusing as well, ideally we would only mix them if one of the arguments was optional.

I agree, we should avoid mixing keyword and positional arguments and lean towards keyword arguments in such cases. Updating the code to reflect that.


Small fixes

Please have a look on commit comments, they have all the information you need.

Seems like quite a few tests have failed... could you look into why? Other than that, your changes look good and appropriate.

I'll check them when I get home later today.

👍

I made a mess with git, but it's working now.

Would you mind squashing those into a single commit?

@Nickersoft if you check this link, there should be a "built-in" squashing funcionality on github itself.
If you cannot see such option, please let me know and I'll get this fixed.

@hbarcelos Oh wow... I didn't know that. Guess you learn something new everyday haha. However, I'm still not seeing the "Squash" button, despite having the feature turned on in settings. Mind taking care of it?

No problem. Working on it already.

I had to delete and recreate my fork. Making another pull request now.


Jest tests

Description of feature request
Currently we have a few tests that check the functionality of the generate file and directory functions mainly. We really need to improve test coverage for the rest of the project, If it's not implemented soon it will be really hard to catch up when writing other parts of the application.
Current test coverage:

Describe the requirements to close this feature request

[ ] 80% Test coverage using jest.

Additional context

This needs to be done in a new pull request .
This needs to be completed by the time the product is deemed production ready.

Tests ran successfully.


Updated all React components to be .jsx instead of .js

Every react component should be a jsx file.
Also, update the dynamic module component loading to detect EITHER a .js or a .jsx file so folks can use either.

@joshua-isaac This would be an awesome update to put in!

@joelvarty adding to my to-do list!

done!


NewEvents stuck due to InvalidCastException

Hello,
While watching our process I see that some CompletedTask events stay in NewEvents table for really long time (hours)
while other events are removed quite fast (for same type of orchestration).  They are finally processed.
As I already posted we also met 2 "duplications" problems (sometimes due to a restart of an instance).

2 events for same task for same instanceId
1 events for an already completed task (we can see this in appinsight )

System.InvalidCastException: Unable to cast object of type 'DurableTask.Core.History.TaskCompletedEvent' to type 'DurableTask.Core.History.TaskScheduledEvent'.
at DurableTask.Core.TaskOrchestrationDispatcher.ReconcileMessagesWithState(TaskOrchestrationWorkItem workItem, String dispatcher, ErrorPropagationMode errorPropagationMode, LogHelper logHelper) in //src/DurableTask.Core/TaskOrchestrationDispatcher.cs:line 860
at DurableTask.Core.TaskOrchestrationDispatcher.OnProcessWorkItemAsync(TaskOrchestrationWorkItem workItem) in //src/DurableTask.Core/TaskOrchestrationDispatcher.cs:line 345
at DurableTask.Core.TaskOrchestrationDispatcher.OnProcessWorkItemAsync(TaskOrchestrationWorkItem workItem)
at DurableTask.Core.TaskOrchestrationDispatcher.OnProcessWorkItemSessionAsync(TaskOrchestrationWorkItem workItem) in //src/DurableTask.Core/TaskOrchestrationDispatcher.cs:line 211
at DurableTask.Core.WorkItemDispatcher`1.ProcessWorkItemAsync(WorkItemDispatcherContext context, Object workItemObj) in //src/DurableTask.Core/WorkItemDispatcher.cs:line 373

Thanks for reporting this. I was able to do a search and confirm that we're seeing some events like this in production. More investigation is needed to determine the root cause.

I found the issue for the exception you are seeing. The two linked PRs should fix it.

Hello @cgillum Are you releasing it today?

@bhugot yes, this is released now: https://github.com/microsoft/durabletask-mssql/releases/tag/v1.2.2.
I think the local fix to this package should be sufficient to fix the error you're seeing. If I'm wrong, however, then we'll need to wait for the next version of Microsoft.Azure.DurableTask.Core to come out.

Ok I will try it :)

It's working way better no more stuck process :)


Get config on engine reconnect

@keybase/react-hackers Fixes: https://keybase.atlassian.net/browse/DESKTOP-330

:thumbsup:


No subdirectory found in BUILD

The issue for failures not caused by https://github.com/packit/dist-git-to-source-git/issues/54
Packages:

c8s: filesystem, qt5-doc
c8: perl-srpm-macros, qt5-doc, rootfiles, rteval-loads, spice-client-win, spice-qxl-xddm, spice-vdagent-win, centos-release, filesystem, appstream-data

Most likely related to https://github.com/packit/dist-git-to-source-git/issues/46

Skip these packages.

After checking the spec files of packages in this issue, it's clear this is a duplicate of https://github.com/packit/dist-git-to-source-git/issues/46

Agreed, since there is no "code" for these packages, it doesn't make much sense to focus on these.


Release KubeOne 1.3.1

Scheduled to happen: unreleased
Before Release

[x] Write and publish the changelog (https://github.com/kubermatic/kubeone/pull/1631)

Release

[x] Create and push a new tag
[ ] Ensure that the release job has succeeded
(watch https://public-prow.loodse.com/?job=post-kubeone-release)

After Release

[ ] Update the release's description on the GitHub Releases page to replace
the automatically generated description with the changelog
[ ] Download the binaries from GitHub and make sure that:

[ ] Checksums are matching
[ ] kubeone version returns the expected version

Action Items
/assign

The v1.3.1 release failed due to an issue with Ansible examples:
⨯ release failed after 298.52s error=failed to add: 'examples/ansible/roles' -> 'examples/ansible/roles': read examples/ansible/roles: is a directory

We decided to remove those examples in #1631. We will cut a new tag (v1.3.2) because v1.3.1 is already pushed, and removing it might cause issues later.
/close

New release issue: https://github.com/kubermatic/kubeone/issues/1635


Bug fix: Header should update if user logs in or out

Before the Header updates you need to reload the page which should be the case. There is a comment about it in the header file. Most relevant files are header.js and NavbarLoggedIn.js

https://github.com/sopra-fs23-group-07/sopra-fs23-group-07-client/commit/7ff408d88fce09ba18ab7e9577d99c9b9196e992


Adds purpose of seeds = true does in an Anchor.toml file

Updates Anchor.toml docs to explain what seeds = true signifies in an Anchor.toml file, which is to ensure the IDL can generate PDA seeds.
[features]
seeds = true

I was just trying to figure out how to make the seeds get generated! This is super helpful!


[FEATURE] Add mobile support

Hello!
Thank you for your project, looks really great, but unfortunately doesn't work well with mobile:

Cannot remove changes
Isn't adapted for mobile view (need to use Desktop view)
Probably something else (can test more thoroughly later)

If you need help, I can contribute to have these changes 👍

Hey @Beraliv Thanks for opening the issue :raised_hands:
I'm not primarily focusing on optimizing for mobile since an editor based interface is not very helpful. Plus, Monaco editor has certain issues with how it works with touch interfaces. Having a mobile interface will be helpful once we have the cloud backup available so atleaset we can optimize it for viewing than editing.

@haxzie I think I will close it for now


Transmission: existing + no new transmission

@YoungFaithful
I would like to run a capacity expansion model with existing transmission, but not allow any newly build transmission. The documentation suggests the following (thanks for putting that in there!):

Include transmission=true and infrastructure = Dict{String,Array}("existing"=>[...,"transmission"], "limit"=>[...,"transmission"]) to model existing transmission and limit the total transmission TRANS to the values defined in the lines.csv file. If no new transmission should be setup, use the same values for existing transmission and the limit.

However, the following code seems to build new transmission beyond what is defined in lines.csv as power_ex:
region = "CA_14"
ts_input_data = load_timeseries_data_provided(region)
cep_data = load_cep_data_provided(region)
optimizer=Clp.Optimizer
ts_clust_result = run_clust(ts_input_data; method="kmeans", representation="centroid", n_init=5, n_clust=5)
ts_clust_data = ts_clust_result.clust_data
test_result = run_opt(ts_clust_data,cep_data,optimizer;descriptor="Test",transmission = true,infrastructure = Dict{String,Array}("existing"=>["demand","transmission"], "limit"=>["transmission"]),  limit_emission=Dict{String,Number}("CO2/electricity"=>1000));
test_result.variables["TRANS"]

Two questions:

What am I missing when setting up the problem?
I see that CA14 data does not have exisiting transmission defined (all 0). Do we have that data somewhere? Would love to play with that.

did you assign a power_lim with the same value as power_ex?

No, I didn't. I see, in lines.csv. Thanks!

Merged #31


Allow EmsFolder#folder_path to be called from the API

It isn't possible to get the "folder_path" attribute for an EmsFolder from the API.
This will allow you to do: /api/providers/:id/folders/:id?attributes=folder_path which will return e.g.     "folder_path": "Datacenters/dev-vc67-DC/vm/agrare"
https://github.com/ManageIQ/manageiq/issues/20204

LGTM.  Should this be labeled jansa/yes? ?

:+1: yeah back to jansa would be nice

Jansa backport details:
$ git log -1
commit f5a7301bf64b9c9f1369d0fc2cc98a28e755e883
Author: Oleg Barenboim<EMAIL_ADDRESS>Date:   Tue May 26 14:39:25 2020 -0400

    Merge pull request #20207 from agrare/allow_folder_path_access_from_api

    Allow EmsFolder#folder_path to be called from the API

    (cherry picked from commit 2c5f9498380e5a34ad98886773e17a45d67f00ad)


net native compile exceptions

OriginalValuesWrapper.GetFactory()
OriginalValuesWrapper.EmitPropertyOverride()
OriginalValuesWrapper.EmitGetValueInstructions()

The current implementation will not work with .NET Native because it uses run-time IL generation. Does EntityFramework with with .NET Native? That would be impressive...

Yes, i can confirm, htat ef core works with .net native very well. the existing bugs for .net native with ef core was already fixed. can you please update this lib and also ef core triggers? This would be awesome!

EF Core works with .NET Native? That is pretty amazing from a technical standpoint!
I'm guessing they were fixed in EF Core 2.1?


Bug when scala-logging

Monadless Version: 0.0.13
Scala-Logging Version: 3.9.0
There seems to be a problem when using monadless and scala-logging.
If you try to compile
import cats.effect.IO
import com.typesafe.scalalogging.StrictLogging
import io.monadless.cats.MonadlessMonad

object Foo extends StrictLogging {
  val monadlessIO: MonadlessMonad[IO] = io.monadless.cats.MonadlessMonad[IO]()
  import monadlessIO._

  lift {
    val opt = Some("foo")
    val aString = ""

    logger.error(s"$opt $aString")
  }
}

you will get this error:
[error] /tmp/orium/hunt-monadless-bug/service/src/main/scala/NewAssetProcessor.scala:9:8: Can't typecheck the monadless transformation. Please file a bug report with this error and your `Monadless` instance.
[error] Failure: not found: value ClassTag
[error] Tree: Foo.this.monadlessIO.apply({
[error]   val opt = scala.Some.apply[String]("foo");
[error]   val aString = "";
[error]   (if (Foo.this.logger.underlying.isErrorEnabled())
[error]     Foo.this.logger.underlying.error("{} {}", (scala.Array.apply[java.io.Serializable](opt, aString)((ClassTag.apply[java.io.Serializable](classOf[java.lang.Object]): scala.reflect.ClassTag[java.io.Serializable])): _*))
[error]   else
[error]     (): Unit)
[error] })
[error]   lift {
[error]        ^

As I pointed out in scala/bug#11426, I recommend you reconsider how you're using resetAllAttrs. We could theoretically emit a fully-qualified reference to ClassTag, but you'd still be at the mercy of all other macro writers whose libraries your users wished also to use.

Removing the call to resetAllAttrs makes the following example no longer compile:
object Demo {
  import scala.concurrent.ExecutionContext.Implicits.global
  import MonadlessFuture.{ lift, unlift }

  def demo: Future[Int] = {
    val future: Future[Int] = lift { 5 }
    lift {
      val n = unlift(future)
      n + 1
    }
  }
}

[info] Compiling 1 Scala source to /private/tmp/mrepro/monadless/monadless-stdlib/target/scala-2.11/classes...
[error]
[error]   symbol value n#30017 does not exist in io.monadless.stdlib.Demo.demo, which contains locals value future#29246.
[error] Method code: def demo(): scala.concurrent.Future[scala.Int] = {
[error]   val future: scala.concurrent.Future[scala.Int] = ((Future.apply({
[error]     ((new <$anon: Function0#2051>()): Function0#2051)
[error]   }, scala.concurrent.ExecutionContext$Implicits.global())): scala#21.concurrent#2752.Future#8567);
[error]   ((future.map({
[error]     ((new <$anon: Function1#1706>(n)): Function1#1706)
[error]   }, scala.concurrent.ExecutionContext$Implicits.global())): scala#21.concurrent#2752.Future#8567)
[error] }
[error]      while compiling: /private/tmp/mrepro/monadless/monadless-stdlib/src/main/scala/io/monadless/stdlib/MonadlessFuture.scala
[error]         during phase: icode
[error]      library version: version 2.11.8
[error]     compiler version: version 2.11.8
...
[error]   last tree to typer: Ident(n$1)
[error]        tree position: line 29 of /private/tmp/mrepro/monadless/monadless-stdlib/src/main/scala/io/monadless/stdlib/MonadlessFuture.scala
[error]             tree tpe: Int#1103
[error]               symbol: value n$1#39664
[error]    symbol definition: n$1#39664: Int#1103 (a TermSymbol)
[error]       symbol package: io.monadless.stdlib
[error]        symbol owners: value n$1#39664 -> constructor Demo$$anonfun$demo$1#32067 -> <$anon: Function1#1706>
[error]            call site: <$anon: Function1#1706> in package stdlib#8236 in package stdlib#8235
[error]
[error] == Source file context for tree position ==
[error]
[error]     26   def demo: Future[Int] = {
[error]     27     val future: Future[Int] = lift { 5 }
[error]     28     lift {
[error]     29       val n = unlift(future)
[error]     30       n + 1
[error]     31     }


Update languages.yml

We have added POWER-KI to programming languages.
Example of it use in https://github.com/POWER-KI/GPT/tree/main/DEMO-02
Regards,
CAP

Description

Checklist:

[ ] I am adding a new extension to a language.

[ ] The new extension is used in hundreds of repositories on GitHub.com

Search results for each extension:

https://github.com/search?utf8=✓&type=Code&ref=searchresults&q=extension%3AFOOBAR+KEYWORDS+NOT+nothack

[ ] I have included a real-world usage sample for all extensions added in this PR:

Sample source(s):

[URL to each sample source, if applicable]

Sample license(s):

[ ] I have included a change to the heuristics to distinguish my language from others using the same extension.

[ X] I am adding a new language.

[ ] The extension of the new language is used in hundreds of repositories on GitHub.com.

Search results for each extension:

https://github.com/search?utf8=✓&type=Code&ref=searchresults&q=extension%3AFOOBAR+KEYWORDS+NOT+nothack

[ ] I have included a real-world usage sample for all extensions added in this PR:

Sample source(s):

[URL to each sample source, if applicable]

Sample license(s):

[ ] I have included a syntax highlighting grammar: [URL to grammar repo]

[ X] I have added a color

Hex value: #b69600
Rationale: we already use in some docs

[ ] I have updated the heuristics to distinguish my language from others using the same extension.

[ ] I am fixing a misclassified language

[ ] I have included a new sample for the misclassified language:

Sample source(s):

[URL to each sample source, if applicable]

Sample license(s):

[ ] I have included a change to the heuristics to distinguish my language from others using the same extension.

[ ] I am changing the source of a syntax highlighting grammar

Old: [URL to grammar repo]
New: [URL to grammar repo]

[ ] I am updating a grammar submodule

[ ] I am adding new or changing current functionality

[ ] I have added or updated the tests for the new or changed functionality.

[ ] I am changing the color associated with a language

[ ] I have obtained agreement from the wider language community on this color change.

[URL to public discussion]
[Optional: URL to official branding guidelines for the language]

Rejecting this and closing the PR as you've not followed the instructions in the CONTRIBUTING.md file nor taken the time to properly complete the template when opening PR.
Please read that file and follow the instructions and open a new PR and fill in the template properly.
Please don't waste people's time.


Enable nuget.org to block packages with bad-formatted timestamps

Is your feature request related to a problem? Please describe.
Some third party TSA sent out timestamp without following encoding rules.
We have found several packages on nuget.org.
Pls refer to https://github.com/NuGet/Client.Engineering/issues/355 for more details.
Describe the solution you'd like
We would like nuget.org to reject those packages.
Additional context

From my understanding, our options are:

Convert the "process signature" job that validates signatures to .NET Core
Update the "process signature" job to use dotnet nuget verify to verify NuGet packages
Update NuGet client libraries to properly check integer encoding on .NET Framework

Option 1 is a massive undertaking as the "process signature" job depends heavily on other .NET Framework codebases, like the NuGet Gallery.
Option 2 is also a large undertaking as we would need to install the .NET Core SDK on our production machines. Furthermore, this approach has a severe flaw: we need to parse CLI output. What happens if the NuGet client changes their output? This is tricky to catch, we would likely need to invest in beefy integration tests.
Option 3 appears to be the easiest solution. The client team will need to copy this code to their DER sequence reader here. From my understanding, this has the added benefit that it will catch malformed timestamps when attempting to sign the package using nuget sign.

Option 3 appears to be the easiest solution. The client team will need to copy this code to their DER sequence reader here. From my understanding, this has the added benefit that it will catch malformed timestamps when attempting to sign the package using nuget sign.

@heng-liu , is option 3 being considered?


update year

Please submit PR against dev branch instead. The beta branch does not accept PRs at the moment.


⚠ Bofrost.es has degraded performance

In e12ffa4, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1718 ms

Resolved: Bofrost.es performance has improved in 6404be6 after 22 minutes.


[boost] Fix boost-modular-build.cmake with VS 2022 17.0 Preview 2

What does your PR fix?

After installing only VS 2022 17.0 Preview 2, and using vcpkg.exe containing the just-merged https://github.com/microsoft/vcpkg-tool/pull/124 (fixing https://github.com/microsoft/vcpkg/issues/18987 ), attempting to vcpkg.exe install boost-math:x86-windows boost-math:x64-windows fails with:
CMake Error at installed/x64-windows/share/boost-build/boost-modular-build.cmake:317 (message):
  Unsupported value for VCPKG_PLATFORM_TOOLSET: 'v143'

Click to expand full diagnostic!
Starting package 25/92: boost-exception:x64-windows
Building package boost-exception[core]:x64-windows...
-- Downloading https://github.com/boostorg/exception/archive/boost-1.76.0.tar.gz -> boostorg-exception-boost-1.76.0.tar.gz...
-- Extracting source D:/GitHub/STL/vcpkg/downloads/boostorg-exception-boost-1.76.0.tar.gz
-- Using source at D:/GitHub/STL/vcpkg/buildtrees/boost-exception/src/ost-1.76.0-5e68eb1a52.clean
CMake Error at installed/x64-windows/share/boost-build/boost-modular-build.cmake:317 (message):
  Unsupported value for VCPKG_PLATFORM_TOOLSET: 'v143'
Call Stack (most recent call first):
  ports/boost-exception/portfile.cmake:15 (boost_modular_build)
  scripts/ports.cmake:141 (include)

Error: Building package boost-exception:x64-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: boost-exception:x64-windows
  Vcpkg version: 2021-07-21-unknownhash-debug

Additionally, attach any relevant sections from the log files above.

Applying this patch allows the build to succeed.

Which triplets are supported/not supported? Have you updated the CI baseline?

This is specific to Windows. I have updated the CI baseline.

Does your PR follow the maintainer guide?

I believe so.

Yes, please double-check this as I barely know what I'm doing.

I have not updated the CI baseline

It looks like you did :)

Ha! I've updated my PR description, thanks.

/azp run

/azp run

Thanks for your contribution!


Update README

closes https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/2690

What is left is fixing the display of the RST formatted URL's in the commandline output.
I'm planning on making the result of CommandHelp::getHelpCopy commandline friendly output only and fix to RST where needed in the readme command. Current the result is a mix of commandline stuff (with <comment> tags and such) and RST formatted links, we should return in one format IMO.

old (top) vs new

Thank you @SpacePossum.


Support for Android Gradle Plugin 2.3.3

Hello folks,
Trying to use Tensorflow lite (compiled manually) with android gradle plugin 2.3.3,  I get the following error:

Error:Error converting bytecode to dex:
Cause: Dex cannot parse version 52 byte code.
This is caused by library dependencies that have been compiled using Java 8 or above.
If you are using the 'java' gradle plugin in a library submodule add
targetCompatibility = '1.7'
sourceCompatibility = '1.7'
to that submodule's build.gradle file.

I do understand that there's the 3.0.1 version and it work, but it has many breaking changes and it is not trivial to bump the plugin version. It there any workaround or is there support for 2.3.3 on the road map?
Thanks!

Hi folks, It there any update on this?

Nagging Assignee @petewarden: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @petewarden: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Hi, I'm having the same problem. Are there any updates regarding this issue?

Nagging Assignee @petewarden: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @petewarden: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @petewarden: It has been 50 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @petewarden: It has been 65 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @petewarden: It has been 80 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @petewarden: It has been 95 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Is this still an issue, could you move to 3.0.1 ?


SyntaxError: Unexpected token import

I just followed directions on adding grunt-webdriver to my Gruntfile.js, but get this error when executing tasks:
Loading "webdriver.js" tasks...ERROR
SyntaxError: Unexpected token import

I am guessing I am missing something fundamental here otherwise many others would be posting the same issue, but I am at a loss.  Is there some sort of component that enables 'import' to be available for grunt/node?  Since this error is occurring when executing:
grunt.loadNpmTasks('grunt-webdriver')

I cannot imagine how any other part of the config might be interfering with this working.
In my package.json the npm install --save-dev added:
"grunt-webdriver": "^2.0.0"

My grunt version is 0.4.5.

On closer inspection, it looks like calls to 'import' were just added just four days ago by this commit: https://github.com/webdriverio/grunt-webdriver/commit/267f5e72815e348c1236b4ffc8b9dd3464e0d5bd

I am facing the same issue here.

Thanks @thebrainbot, using loadTasks instead of loadNpmTasks works! 👍

Dang, I always get confused by that. Fixed the behavior. The plugin should work as expected now (v2.0.1).


[8.2.x] ISPN-6996 Update to Netty 4.1.5.Final

https://issues.jboss.org/browse/ISPN-6996

Pushed to 8.2.x, thanks

Why not stick with Netty 4.0.x (still maintained!) in 8.2.x branch and keep Netty 4.1.x in master? Netty is used in a lot of third party libraries so updating the Netty library by a major version in an Infinispan patch version might come as an unpleasant surprise to developers.

Netty is an internal library of the Infinispan server and should be "invisible" to users, and going for 4.0 to 4.1 is updating by a minor version, not a major. Do you have any issues with the upgrade?

oops, I had meant minor version. Regardless, it is not backwards compatible which is why I added the comment here. That said, given it is internal and I do not see it exposed in any of the infinispan pom.xmls that I use I think it's ok to leave it as is. Thanks for replying and the explanation!

@johnou Does Netty use a different versioning semantics? (since you say that minor versions are not backwards compatible)

This is the official statement from Netty:
Although we did our best to keep the backward compatibility from 4.0, 4.1 contains
multiple additions  which might not be fully backward-compatible with 4.0.
Please make sure to recompile your application against the new version.

@rvansa yes there are breaking changes moving from 4.0 to 4.1.


Compatibility issue with Django 2.0

user.is_authenticated() does not work with Django 2.0

@matt-dalton the latest version was released a couple of days ago.


Coverage update

Current coverage is 100.00%

Merging #1 into master will increase coverage by +9.73% as of 3143da5

@@            master      #1   diff @@
======================================
  Files            5       4     -1
  Stmts           72      68     -4
  Branches         0       0
  Methods          0       0
======================================
+ Hit             65      68     +3
  Partial          0       0
+ Missed           7       0     -7

Review entire Coverage Diff as of 3143da5

Powered by Codecov. Updated on successful CI builds.

LGTM


Allow REST API to return the pinned config key and their constraints for catalog apps

Based on https://github.com/apache/brooklyn-server/pull/354
This expose a new pinned flag and constraints key to the REST API. It allows the following:

A blueprint can specify a config key or parameter as pinned by using @CatalogConfig(pinned = true) or in yaml pinned: true
In case of config keys or parameters pinned in YAML, the priority is auto incremented to keep the order (code lost in this commit)

This also changes the underlying structure of how the constraints are stored for the config keys. Instead of a single field Predicates.and(Predicates...), there is a List<Predicate> to store the keys and predicates to use. This allows the REST API to returns what constraint a config key is using.
The validation still do a AND to validate the value.

FYI, I tested before pushing. I also just retested locally and all tests pass. Not sure what is going on here

@neykov Comment addressed

In summary - looks good. Only concerned about introducing constraints which breaks persistence compatibility. Suggest reverting all related changes and making the predicate -> string conversion smarter to look inside and predicates.

@neykov Comments addressed

LGTM - very minor comments only.

@neykov updated

Looks great @tbouron. Can you squash then good to merge.

@neykov You can do it from the Github UI directly ;)

Unfortunately it doesn't work for Apache projects. The github repo is a read-only copy of the Apache repo where this will get merged. Also can't use the "share branch with committers" feature.

@neykov Ah ok, I didn't know. Squashed

Thanks, merging.


StackOverFlow On Server Start

So, i am getting this when starting my server:
https://gist.github.com/Yanniclord/00700636b92e1f35fdbe

Gives everyone a timeout upon joining. I knew i could find something that would make RemoteIO necessary to be removed from the server. I remember i had this before, but never reported it.

This is EXACTLY what i mean by RIO support. You make your own conclusions.

https://github.com/Slikrick/RemoteIO


How to create a floating bar like XboxGameBar

I can't seem to find source code for XboxGameBar. I believe the program is created in UWP as it is required by the app. How is it possible to create the gray transparency background which covers the entire screen when Win+G is activated? How is it possible to create the gamebar (the main one with a tile for settings and displays time) where the windows has no caption button (minimize, maximize, close)?

@MikeHillberg and @codendone Can you weigh in?
I don't think the transparent background is supported in UWP for security reasons and Gamebar as an internal application has special permissions.  (its been a while I could be wrong)
Opening a UWP in full screen mode is pretty easy: https://stackoverflow.com/questions/31758775/windows-10-universal-app-run-in-fullscreen-mode-by-default, which will remove the caption buttons.

@StephenLPeters is correct: Transparent UWP apps are not supported. GameBar has special capabilities.
Though it isn't supported yet, a future release of WinUI 3 may support transparent apps (when not running in UWP).

@StephenLPeters @StephenLPeters
But how does PowerToy's FancyZone and Run as well as the Shortcut Guide be able to accomplish this?

@codendone ?

@krulci PowerToys only uses WinUI 2.6 for its settings app. FancyZones and Run use WPF (and the open-source ModernWPF package for its styling, so they look very much like WinUI).
@StephenLPeters @codendone is there a timeline or roadmap available so we know if/when these capabilities are coming to WinUI 3? Would be nice to have full control over the window, titlebar and window border like in WPF.

@niels9001 This might also indeed be how XboxGameBar accomplished to have the Gamebar transparent and without caption.
@StephenLPeters I have tried to create my app in full screen, but the caption still exists. It only allows the coverage of my background to extend to the area of caption. Could it still be impossible to create a windows without caption?

@niels9001 We don't have a specific timeline to share currently for these improvements to WinUI 3. Transparency and better control over window/titlebar are high on our priority list. Transparency is more urgent, since most other window and titlebar customizations are possible today even if they aren't easy (such as requiring dropping down to user32 APIs, for example).
@krulci I believe you are correct that the fullscreen mode for UWP still has a caption/titlebar sometimes. Using that API the caption/titlebar will generally be hidden when the mouse isn't near it, but it still exists and auto-shows when the mouse is near and may be visible by default when first showing a window.

@niels9001 We don't have a specific timeline to share currently for these improvements to WinUI 3. Transparency and better control over window/titlebar are high on our priority list. Transparency is more urgent, since most other window and titlebar customizations are possible today even if they aren't easy (such as requiring dropping down to user32 APIs, for example).
@krulci I believe you are correct that the fullscreen mode for UWP still has a caption/titlebar sometimes. Using that API the caption/titlebar will generally be hidden when the mouse isn't near it, but it still exists and auto-shows when the mouse is near and may be visible by default when first showing a window.

Could the XboxGameBar be using Desktop Bridge? I have been researching these couple days. It seems like one can accomplish it either through XAML Island or Desktop Bridge. Specifically, I think XboxGameBar was made with Desktop Bridge. Especially after reading this post: https://blogs.windows.com/windowsdeveloper/2017/02/01/adding-uwp-features-existing-pc-software/#IWBsyxuS7edlSyiC.97

While I'm sure XboxGameBar uses a far more sophisticated solution, I have made a fair share of my own overlays for various games using WPF. One public release I have available that sort of uses the same process can be found in my StickyThumbs app.
Basically what I do is create a new window, set the window style to None, allow transparency and topmost. Thus it will work as a overlay for pretty much every game that runs as Windowed or Borderless Windowed. No nasty DirectX hooking required, but it likely won't work for fullscreen apps.
You'll have to set up your own logic for moving the window around and resizing, but that's done fairly easily.
As for the keybinding, you can either make your own Win32 hook or use some NuGet package like GlobalMouseKeyHook. I used to use the latter but has since created my own solution for listening to key events globally.
Also a little note regarding backgrounds, if you want a window that is perceived as fully transparent but can be interacted with - set its background as almost fully transparent like #01000000. If you set it to #00000000 it will be fully transparent and your cursor hits won't register.

Closing this issue as it appears to have been answered and has not had activity since June 2023.


feat: add scheduler validation

Signed-off-by: Gaius<EMAIL_ADDRESS>
Description

Add scheduler validation.

Related Issue

Motivation and Context

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation Update (if none of the other choices apply)

Checklist:

[x] Code compiles correctly.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

Codecov Report

Merging #799 (d22ba61) into main (d389ce2) will decrease coverage by 0.20%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #799      +/-   ##
==========================================
- Coverage   40.88%   40.68%   -0.21%
==========================================
  Files          96       96
  Lines        7792     7817      +25
==========================================
- Hits         3186     3180       -6
- Misses       4210     4233      +23
- Partials      396      404       +8

Flag
Coverage Δ

Object-compatibility-e2etests
?

e2etests
?

unittests
40.68% <ø> (-0.21%)
:arrow_down:

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

Impacted Files
Coverage Δ

cdn/supervisor/cdn/storage/disk/disk.go
18.04% <0.00%> (-3.67%)
:arrow_down:

cdn/storedriver/local/local_driver.go
50.26% <0.00%> (-1.63%)
:arrow_down:

client/daemon/peer/piece_manager.go
68.14% <0.00%> (-1.15%)
:arrow_down:

scheduler/config/dynconfig.go
40.35% <0.00%> (-0.36%)
:arrow_down:

cdn/supervisor/task/manager.go
10.09% <0.00%> (-0.29%)
:arrow_down:

client/daemon/peer/peertask_base.go
46.66% <0.00%> (-0.29%)
:arrow_down:

client/daemon/proxy/proxy.go
7.39% <0.00%> (-0.11%)
:arrow_down:

client/daemon/daemon.go
0.00% <0.00%> (ø)

cdn/supervisor/task/manager_util.go
0.00% <0.00%> (ø)

internal/dynconfig/dynconfig_manager.go
72.41% <0.00%> (+0.98%)
:arrow_up:


osmoutils.GetIfFound semantics discussion

    Can be changed later / can discuss in an issue, should not block this PR. Perhaps this should be called `HasWithType` ?

e.g. if we were masters of the store interface
store.HasProtoMsg("myKey", types.Pool)

Has to indicate its a bool (rather than assuming you'd get the object back)
OR is proto.Message here actually mutated? If so lets update the comment, but this doesn't actually make sense to me as an API.
Why don't just make a method called Get thats the same as MustGet, but returns an error instead of panics?
Originally posted by @ValarDragon in https://github.com/osmosis-labs/osmosis/pull/3512#discussion_r1032655165

I think that the method does what we expect it to do - that is return a value if it is found by mutating a proto.Message parameter.
This has the same signature as MustGet with an extra return boolean indicating whether a value was found at that key.
I think that we should not be returning an error when a value at a given key is not found because it would be difficuly to distinguish a database error from "not found" error for clients.
In my opinion, the problem here is the confusing spec that should be changed to:
// GetIfFound returns a value at key by mutating the result parameter. Returns true if the value was found and the
// result mutated correctly. False otherwise. Returns error only when database or serialization errors occur
// returns a boolean indicating whether value exists for the given key and error
func GetIfFound(store store.KVStore, key []byte, result proto.Message) (found bool, err error) {
    // stub
}

@ValarDragon let me know what you think

Not sure why we don't just make the API
func Get(store, key, result) (found bool, err error)

Not sure why we don't just make the API
func Get(store, key, result) (found bool, err error)

AFAIK, this is not uncommon

I'm supportive of renaming it to just Get and improving the godoc. Will PR a change for this


Calculate occurrence phrase in text.

I use request select * from search where Name contains 'cat' for searching.
How to calculate occurrence phrase in text?
For example for string like 'The mighty cat of catsville' - it can be 2 and for 'Cats' it can be 1.
Used index, attribute for field, used different type of function, like matchCount, fieldTermMatch(Name,0).occurrences and etc. Also split string to array but it not help.

It's not clear what you want to achieve, could you amend with a clearer example of what you want than "it can be 2 and for Cats it can be 1.".

I want, that some of function of ranking show me, how many searched phrase occurrence in string. 'The mighty cat of catsville'  string show me 2 for example.

The main result is implement this logic:
Example:
We Enters “Cat” as search phrase
We found 5 documents that contain the string “cat”
Cats lover  - number of chars without match: 6\9 - 66%
Cats - number of chars without match: 1\4 - 25%
The mighty cat of catsville - number of chars without match: 17\23 - 74%
Macatos  - number of chars without match: 4\7 - 57%
Final Result:
1st place - Cats (25%)
2nd Place - Macatos (57%)
3rd place - Cats lover (66%)
4th place - The mighty cat of catsville (74%)

{
    "root": {
        "id": "toplevel",
        "relevance": 1.0,
        "fields": {
            "totalCount": 3
        },
        "coverage": {
            "coverage": 100,
            "documents": 77,
            "full": true,
            "nodes": 1,
            "results": 1,
            "resultsFull": 1
        },
        "children": [
            {
                "id": "id:cjsearch:cjsearch::tQtmaccKYmHkaaCy",
                "relevance": 1.0,
                "source": "clan",
                "fields": {
                    "sddocname": "cjsearch",
                    "documentid": "id:cjsearch:cjsearch::tQtmaccKYmHkaaCy",
                    "name_array": [
                        "Cats"
                    ],
                    "Id": "tQtmaccKYmHkaaCy",
                    "Name": "Cats"
                }
            },
            {
                "id": "id:cjsearch:cjsearch::tQtmaccKYmHkaaCg",
                "relevance": 0.8945312499999999,
                "source": "clan",
                "fields": {
                    "sddocname": "cjsearch",
                    "documentid": "id:cjsearch:cjsearch::tQtmaccKYmHkaaCg",
                    "name_array": [
                        "Cats",
                        "lover"
                    ],
                    "Id": "tQtmaccKYmHkaaCg",
                    "Name": "Cats lover"
                }
            },
            {
                "id": "id:cjsearch:cjsearch::tQtmaccKYmHkaaCh",
                "relevance": 0.7525,
                "source": "clan",
                "fields": {
                    "sddocname": "cjsearch",
                    "documentid": "id:cjsearch:cjsearch::tQtmaccKYmHkaaCh",
                    "name_array": [
                        "The",
                        "mighty",
                        "cat",
                        "of",
                        "catsville"
                    ],
                    "Id": "tQtmaccKYmHkaaCh",
                    "Name": "The mighty cat of catsville"
                }
            }
        ]
    }
}

Example of documents

Thanks. Regular text matching is on the token (word) level, so while there are features that give you the number of matched occurrences, "catsville" will not be matched by "cat".
You can switch to matching substrings by changing the field definition to use gram matching.

Thanks, can you plz give some example of realization for calculating occurrences? And what function i can use for it in ranking?

I recommend using the nativeRank feature here - it takes into account the number of matches occurrences as well as proximity, which is important when using gram matching.
To be clear it won't give you the exact numbers you shared below, but should give you the same rank order.

Thanks, can you plz share example? And how to get documents, when we have field name like 'Macatos'?

Just add "match: gram" to the relevant fields in the schema, and use e.g
first-phase {
    expression: nativeRank
}

as the ranking expression.
No other changes needed but if you already have data indexed with token matching you need to reindex (happens automatically on cloud, if you are hosting yourself you need ti trigger it, or just rewrite the data).

Not working good, the ranking is not same.
field Name type string {
            indexing:  summary | index
            match: gram
        }

rank-profile searchByName {
first-phase {
expression: nativeRank(Name)
}
        summary-features {
            fieldTermMatch(Name,0).occurrences
            queryTermCount
            fieldMatch(Name).segments
            fieldMatch(Name).matches
            fieldMatch(Name).segmentDistance
            fieldMatch(Name).gaps
            textSimilarity(Name)
            elementSimilarity(Name)
            matchCount(Name)
            fieldLength(Name)
            fieldMatch(Name).absoluteOccurrence
        }
    }

{
    "hits": 125,
    "offset": 0,
    "ranking": {
        "profile": "searchByName"
    },
    // "trace":{
    //     "level" :"2"
    // },
    "yql": "select * from search where Name contains ('cat')"
}

{
    "root": {
        "id": "toplevel",
        "relevance": 1.0,
        "fields": {
            "totalCount": 4
        },
        "coverage": {
            "coverage": 100,
            "documents": 77,
            "full": true,
            "nodes": 1,
            "results": 1,
            "resultsFull": 1
        },
        "children": [
            {
                "id": "id:search:search::tQtmaccKYmHkaaCy",
                "relevance": 0.3343789820215161,
                "fields": {
                    "sddocname": "search",
                    "documentid": "id:search:search::tQtmaccKYmHkaaCy",
                    "Id": "tQtmaccKYmHkaaCy",
                    "Name": "Cats",
                    "summaryfeatures": {
                        "elementSimilarity(Name)": 0.9333333333333333,
                        "fieldLength(Name)": 3.0,
                        "fieldMatch(Name).absoluteOccurrence": 0.01,
                        "fieldMatch(Name).gaps": 0.0,
                        "fieldMatch(Name).matches": 2.0,
                        "fieldMatch(Name).segmentDistance": 0.0,
                        "fieldMatch(Name).segments": 1.0,
                        "fieldTermMatch(Name,0).occurrences": 1.0,
                        "matchCount(Name)": 2.0,
                        "queryTermCount": 2.0,
                        "textSimilarity(Name)": 0.9333333333333333,
                        "vespa.summaryFeatures.cached": 0.0
                    }
                }
            },
            {
                "id": "id:search:search::tQtmaccKYmHkaaCg",
                "relevance": 0.3320460953155481,
                "fields": {
                    "sddocname": "search",
                    "documentid": "id:search:search::tQtmaccKYmHkaaCg",
                    "Id": "tQtmaccKYmHkaaCg",
                    "Name": "Cats lover",
                    "summaryfeatures": {
                        "elementSimilarity(Name)": 0.8571428571428572,
                        "fieldLength(Name)": 7.0,
                        "fieldMatch(Name).absoluteOccurrence": 0.01,
                        "fieldMatch(Name).gaps": 0.0,
                        "fieldMatch(Name).matches": 2.0,
                        "fieldMatch(Name).segmentDistance": 0.0,
                        "fieldMatch(Name).segments": 1.0,
                        "fieldTermMatch(Name,0).occurrences": 1.0,
                        "matchCount(Name)": 2.0,
                        "queryTermCount": 2.0,
                        "textSimilarity(Name)": 0.8571428571428572,
                        "vespa.summaryFeatures.cached": 0.0
                    }
                }
            },
            {
                "id": "id:search:search::tQtmaccKYmHkaaCh",
                "relevance": 0.24596591494676392,
                "fields": {
                    "sddocname": "search",
                    "documentid": "id:search:search::tQtmaccKYmHkaaCh",
                    "Id": "tQtmaccKYmHkaaCh",
                    "Name": "The mighty cat of catsville",
                    "summaryfeatures": {
                        "elementSimilarity(Name)": 0.8222222222222223,
                        "fieldLength(Name)": 18.0,
                        "fieldMatch(Name).absoluteOccurrence": 0.02,
                        "fieldMatch(Name).gaps": 0.0,
                        "fieldMatch(Name).matches": 2.0,
                        "fieldMatch(Name).segmentDistance": 0.0,
                        "fieldMatch(Name).segments": 1.0,
                        "fieldTermMatch(Name,0).occurrences": 2.0,
                        "matchCount(Name)": 2.0,
                        "queryTermCount": 2.0,
                        "textSimilarity(Name)": 0.8222222222222223,
                        "vespa.summaryFeatures.cached": 0.0
                    }
                }
            },
            {
                "id": "id:search:search::tQtmaccKYmHkaaCo",
                "relevance": 0.221442976434951,
                "fields": {
                    "sddocname": "search",
                    "documentid": "id:search:search::tQtmaccKYmHkaaCo",
                    "Id": "tQtmaccKYmHkaaCo",
                    "Name": "Macatos",
                    "summaryfeatures": {
                        "elementSimilarity(Name)": 0.8666666666666667,
                        "fieldLength(Name)": 6.0,
                        "fieldMatch(Name).absoluteOccurrence": 0.01,
                        "fieldMatch(Name).gaps": 0.0,
                        "fieldMatch(Name).matches": 2.0,
                        "fieldMatch(Name).segmentDistance": 0.0,
                        "fieldMatch(Name).segments": 1.0,
                        "fieldTermMatch(Name,0).occurrences": 1.0,
                        "matchCount(Name)": 2.0,
                        "queryTermCount": 2.0,
                        "textSimilarity(Name)": 0.8666666666666667,
                        "vespa.summaryFeatures.cached": 0.0
                    }
                }
            }
        ]
    }
}

Ok, fair enough. This is because the nativeRank formula takes multiple things into consideration, not just the number of occurrences, but also the length of the field, how early the occurrences are etc.: https://docs.vespa.ai/en/reference/nativerank.html#nativerank
If you want the occurrences to matter more you can configure a linear boost per occurrence (occurrenceCountTable), and/or decrease the first occurrence importance (firstOccurrenceImportance). See https://docs.vespa.ai/en/reference/nativerank.html#nativerank
Alternatively, if you don't want any traces of good relevance but just order by occurrences, you can use fieldMatch(Name).occurrence instead of nativeRank.

fieldMatch(Name).occurrence give me very wierd result.
{
    "root": {
        "id": "toplevel",
        "relevance": 1.0,
        "fields": {
            "totalCount": 4
        },
        "coverage": {
            "coverage": 100,
            "documents": 77,
            "full": true,
            "nodes": 1,
            "results": 1,
            "resultsFull": 1
        },
        "children": [
            {
                "id": "id:search:search::tQtmaccKYmHkaaCy",
                "relevance": 0.9333333333333333,
                "source": "search",
                "fields": {
                    "sddocname": "search",
                    "documentid": "id:search:search::tQtmaccKYmHkaaCy",
                    "Id": "tQtmaccKYmHkaaCy",
                    "Name": "Cats",
                    "summaryfeatures": {
                        "bm25(Name)": 0.0,
                        "elementSimilarity(Name)": 0.9333333333333333,
                        "fieldLength(Name)": 3.0,
                        "fieldMatch(Name).absoluteOccurrence": 0.01,
                        "fieldMatch(Name).gaps": 0.0,
                        "fieldMatch(Name).matches": 2.0,
                        **"fieldMatch(Name).occurrence": 0.6666666666666666,**
                        "fieldMatch(Name).segmentDistance": 0.0,
                        "fieldMatch(Name).segments": 1.0,
                        "fieldTermMatch(Name,0).occurrences": 1.0,
                        "matchCount(Name)": 2.0,
                        "nativeRank(Name)": 0.3343789820215161,
                        "queryTermCount": 2.0,
                        "textSimilarity(Name)": 0.9333333333333333,
                        "vespa.summaryFeatures.cached": 0.0
                    }
                }
            },
            {
                "id": "id:search:search::tQtmaccKYmHkaaCo",
                "relevance": 0.8666666666666667,
                "source": "search",
                "fields": {
                    "sddocname": "search",
                    "documentid": "id:search:search::tQtmaccKYmHkaaCo",
                    "Id": "tQtmaccKYmHkaaCo",
                    "Name": "Macatos",
                    "summaryfeatures": {
                        "bm25(Name)": 0.0,
                        "elementSimilarity(Name)": 0.8666666666666667,
                        "fieldLength(Name)": 6.0,
                        "fieldMatch(Name).absoluteOccurrence": 0.01,
                        "fieldMatch(Name).gaps": 0.0,
                        "fieldMatch(Name).matches": 2.0,
                        **"fieldMatch(Name).occurrence": 0.3333333333333333,**
                        "fieldMatch(Name).segmentDistance": 0.0,
                        "fieldMatch(Name).segments": 1.0,
                        "fieldTermMatch(Name,0).occurrences": 1.0,
                        "matchCount(Name)": 2.0,
                        "nativeRank(Name)": 0.221442976434951,
                        "queryTermCount": 2.0,
                        "textSimilarity(Name)": 0.8666666666666667,
                        "vespa.summaryFeatures.cached": 0.0
                    }
                }
            },
            {
                "id": "id:search:search::tQtmaccKYmHkaaCg",
                "relevance": 0.8571428571428572,
                "source": "search",
                "fields": {
                    "sddocname": "search",
                    "documentid": "id:search:search::tQtmaccKYmHkaaCg",
                    "Id": "tQtmaccKYmHkaaCg",
                    "Name": "Cats lover",
                    "summaryfeatures": {
                        "bm25(Name)": 0.0,
                        "elementSimilarity(Name)": 0.8571428571428572,
                        "fieldLength(Name)": 7.0,
                        "fieldMatch(Name).absoluteOccurrence": 0.01,
                        "fieldMatch(Name).gaps": 0.0,
                        "fieldMatch(Name).matches": 2.0,
                        **"fieldMatch(Name).occurrence": 0.2857142857142857,**
                        "fieldMatch(Name).segmentDistance": 0.0,
                        "fieldMatch(Name).segments": 1.0,
                        "fieldTermMatch(Name,0).occurrences": 1.0,
                        "matchCount(Name)": 2.0,
                        "nativeRank(Name)": 0.3320460953155481,
                        "queryTermCount": 2.0,
                        "textSimilarity(Name)": 0.8571428571428572,
                        "vespa.summaryFeatures.cached": 0.0
                    }
                }
            },
            {
                "id": "id:search:search::tQtmaccKYmHkaaCh",
                "relevance": 0.8222222222222223,
                "source": "search",
                "fields": {
                    "sddocname": "search",
                    "documentid": "id:cjsearch:cjsearch::tQtmaccKYmHkaaCh",
                    "Id": "tQtmaccKYmHkaaCh",
                    "Name": "The mighty cat of catsville",
                    "summaryfeatures": {
                        "bm25(Name)": 0.0,
                        "elementSimilarity(Name)": 0.8222222222222223,
                        "fieldLength(Name)": 18.0,
                        "fieldMatch(Name).absoluteOccurrence": 0.02,
                        "fieldMatch(Name).gaps": 0.0,
                        "fieldMatch(Name).matches": 2.0,
                        **"fieldMatch(Name).occurrence": 0.2222222222222222,**
                        "fieldMatch(Name).segmentDistance": 0.0,
                        "fieldMatch(Name).segments": 1.0,
                        "fieldTermMatch(Name,0).occurrences": 2.0,
                        "matchCount(Name)": 2.0,
                        "nativeRank(Name)": 0.24596591494676392,
                        "queryTermCount": 2.0,
                        "textSimilarity(Name)": 0.8222222222222223,
                        "vespa.summaryFeatures.cached": 0.0
                    }
                }
            }
        ]
    }

Occurrence factors in the length of the field.
You can use fieldMatch(Name).absoluteOccurrence, which is 1/100 of the number of occurrences.

            {
                "id": "id:search:search::mAhEfYwbHmDvsxF",
                "relevance": 0.45,
                "source": "search",
                "fields": {
                    "sddocname": "search",
                    "documentid": "id:search:search::mAhEfYwbHmDvsxF",
                    "Id": "mAhEfYwbHmDvsxF",
                    "Name": "fewCats",
                    "summaryfeatures": {
                        "bm25(Name)": 0.0,
                        "elementSimilarity(Name)": 0.9,
                        "fieldLength(Name)": 6.0,
                        "fieldMatch(Name).absoluteOccurrence": 0.01,
                        "fieldMatch(Name).gaps": 0.0,
                        "fieldMatch(Name).matches": 3.0,
                        "fieldMatch(Name).occurrence": 0.5,
                        "fieldMatch(Name).segmentDistance": 0.0,
                        "fieldMatch(Name).segments": 1.0,
                        "fieldTermMatch(Name,0).occurrences": 1.0,
                        "matchCount(Name)": 3.0,
                        "nativeRank(Name)": 0.21789950651775084,
                        "queryTermCount": 3.0,
                        "textSimilarity(Name)": 0.9,
                        "vespa.summaryFeatures.cached": 0.0
                    },
                    "Members": [
                        743656
                    ],
                    "PointsThreshold": 0,
                    "Language": "English",
                    "Country": "UA",
                    "TotalPoints": 23503,
                    "EstablishedTime":<PHONE_NUMBER>,
                    "Type": 1
                }
            },
            {
                "id": "id:search:search::mAhEfYwbHmDvsxa",
                "relevance": 0.45,
                "source": "clan",
                "fields": {
                    "sddocname": "search",
                    "documentid": "id:search:search::mAhEfYwbHmDvsxa",
                    "Id": "mAhEfYwbHmDvsxa",
                    "Name": "Test Cats",
                    "summaryfeatures": {
                        "bm25(Name)": 0.0,
                        "elementSimilarity(Name)": 0.9,
                        "fieldLength(Name)": 6.0,
                        "fieldMatch(Name).absoluteOccurrence": 0.01,
                        "fieldMatch(Name).gaps": 0.0,
                        "fieldMatch(Name).matches": 3.0,
                        "fieldMatch(Name).occurrence": 0.5,
                        "fieldMatch(Name).segmentDistance": 0.0,
                        "fieldMatch(Name).segments": 1.0,
                        "fieldTermMatch(Name,0).occurrences": 1.0,
                        "matchCount(Name)": 3.0,
                        "nativeRank(Name)": 0.21789950651775084,
                        "queryTermCount": 3.0,
                        "textSimilarity(Name)": 0.9,
                        "vespa.summaryFeatures.cached": 0.0
                    },
                    "Members": [
                        743656
                    ],
                    "PointsThreshold": 0,
                    "Language": "English",
                    "Country": "UA",
                    "TotalPoints": 23503,
                    "EstablishedTime":<PHONE_NUMBER>,
                    "Type": 1
                }
            },

I didn't understand, why for this documents we have  "elementSimilarity(Name)": 0.9 same, also same  "fieldLength(Name)": 6.0.  Also can we have ability to calculate number of chars in string field?

Fieldlength here is in number of tokens. Since this is n-gram there are more tokens than words. Same for elementSimilarity I think, if you don't see why after reading the doc please point out exactly what you would expect.
There is no rank feature for the length of a field in characters but you can create a github issue on it.

It can also maybe help starting the the text search tutorial which has a section on debugging how tokenization and matching works.

I need to create github issue with length of field characters? Or it will be resolved in this issue? Also it will be great to have length of all characters of terms or something like this.

Please create a separate one.

@bratseth https://github.com/vespa-engine/vespa/issues/31733
Thanks!

Any updates? When probably it will be add this?

I'm closing this, this is more of a support request then anything else. If you like progress, feel free to add an example of what exactly you want us to implement in https://github.com/vespa-engine/vespa/issues/31733.


[feature] Added site classification disable option solving #302

Implemented the disable site classification option solving #302

Looking into it; it did not have this error when running a local test, so will try to figure out what is different.

Coverage remained the same at 100.0% when pulling 8f0d5f2940654c8beb322c589f223c39ddc2b368 on appieschot:feature/disable-siteclassification into d4e3c2762b061d19897ef4ae698caa8733246e9f on pnp:dev.

Thanks! I'll have a look shortly 👏

Merged manually. Thanks!


Update ingest-data-event-hub.md

Include "Mapping name is case sensitive" in note

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

@shsagir
Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

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

#sign-off

Invalid command: '#sign-off'. Only the assigned author of one or more file in this PR can sign off. @

#sign-off


fix: Countdown gone in drop page

Thank you for your contribution to the KodaDot - One Stop Shop for Polkadot NFTs.
👇 __ Let's make a quick check before the contribution.
PR Type

[x] Bugfix

Needs QA check

@kodadot/qa-guild please review

Context

[x] Closes #8090
[ ] Requires deployment <snek/rubick/worker>

Did your issue had any of the "$" label on it?

[x] My DOT address: Payout

Screenshot 📸

[x] My fix has changed UI

Copilot Summary

🤖[deprecated] Generated by Copilot at 43b2862
Refactored the collection drop features to use a custom loader component and avoid code duplication. Renamed Generative.vue to DropContainer.vue and deleted UnlockableContainer.vue.

🤖[deprecated] Generated by Copilot at 43b2862

To render the generative art
They renamed Generative.vue to DropContainer.vue for a start
Then they deleted UnlockableContainer.vue
And moved the vote drop feature too
And used custom loaders for a better user part

residual merge

i did not even saw when this new drop got merged, light speed Thursday

✔
https://github.com/kodadot/nft-gallery/assets/36627808/e6b5c33e-f67d-4a27-b0e5-1293e7270208

thanks!
pay 20 usd

😍 Perfect, I’ve sent the payout
💵 $20 @ 5.48 USD/DOT ~ 3.65 $DOT
🧗 16SjUbGKSdjCdWTy3NNT3JxbRVGGqD4mwkHpc6BD9U2Rp29Z
🔗 0x38a46545ad55ef11d5f3bb0d4694560134302ab666310a3c77eb427818aa8d7c
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues


Filter diffs to allow ignoring certain generated files

This will be more important once we support git revisions, as we won't be able to generate these files for git revisions, leading to unnecessarily large diffs.
As we want to re-generate diffstats to use the new format, this also updates the diffstat version number, and takes the opportunity to change the format to a more flexible one. This unfortunately leads to large test output changes, including JSON output, making it a breaking change.

This is the first part of the patch stack for #360. I'm putting it up separately as it's a substantial change which is independently useful, and will be easier to review separately.
Here's hoping that everything behaves correctly on Windows - I've tried to make sure that I don't depend on anything unix-specific, but I might have missed some oddity of how git-for-windows handles paths. I made sure to add a test which should hopefully reveal if something is going to break.
I think there may be a small risk around someone on a case-insensitive filesystem declaring a file like caRgo.LocK, as I didn't do a case-insensitive compare of the filenames, but I'm hoping it's not an issue in practice, as these files are created by Cargo.


upf.api does not support layer-4 port or range?

This is the API
https://github.com/travelping/upg-vpp/blob/5129d0d9fd79cd1e0b7e143d96b0b3c5a5997567/upf/upf.api
I think the UPG code supports matching prefix and layer-4 port range.  But, I don't see layer-4 port info in the API.

@hesingh the VPP binary API is not used for the policies. It can only be used for preconfiguring ADF rules. Preconfiguring IP bases SDFs can only done through the VPP CLI.
SDFs with ports can be set through the PFCP protocol in PDRs / PDIs. There the full range of the IPFilterRule as specified by 3GPP TS 29.212 clause 5.4.2 and 3GPP TS 29.214 clause 5.3.8 is supported. That does include port ranges.


Death and respawn

This should allow the player to die, bringing up a death screen that can be used to reset the scene
Description
When the health of the player reaches 0, the player despawns, followed by a death screen scene being loaded using the Build settings. This death screen has a basic "You died" text, along with a basic "Try again" button. Once the button is pressed, the original scene is loaded from the build settings.
Related Task
Player death/respawn
Testing
I tested the changes by using my template scene.
This update does affect the build settings, so it is important to update the related code before building anything
Screenshots (if appropriate):

wooo looks good!! thanks victor ^_^


quick fix for failing token revocation test on inferno

fixes issue where after a token is revoked you can still use it
fixed issue where submission doesn't display results when you revoke a token

Could you confirm that you ran Inferno's revocation test against this successfully?  I am still getting the following, and based on inspection of the html/js I'm pretty sure I am running the most recent version:


only commit updates when something has changed

I'm getting quite a lot of update noise from this:
 ✓ Updated folke/lua-dev.nvim: 1b79177..5e68553
  URL: git@github.com:/folke/lua-dev.nvim
  Commits:
    5e68553 chore: update api docs (62 minutes ago)
    04ceb2c chore: update api docs (16 hours ago)
    d9d2afc chore: update api docs (24 hours ago)
    93909dc chore: update api docs (2 days ago)
    532f0be chore: update api docs (3 days ago)
    d0e4f66 chore: update api docs (3 days ago)
    7829eac chore: update api docs (4 days ago)
    1d5b7f0 chore: update api docs (5 days ago)
    1d311ff chore: update api docs (5 days ago)

Most of these updates just contain something like:
diff --git a/doc/neodev.txt b/doc/neodev.txt
index a230dab..1bb28c3 100644
--- a/doc/neodev.txt
+++ b/doc/neodev.txt
@@ -1,4 +1,4 @@
-*neodev.txt*           For NVIM v0.5.0           Last change: 2022 November 01
+*neodev.txt*           For NVIM v0.5.0           Last change: 2022 November 02

It would be great if the CI task only commits if something meaningful changes.

I'll see if I can fix this tomorrow. Pretty annoying indeed...

Should be fixed now:

removed mpack files from ./data, so won't trigger again on binary changes of generated help
the hourly cron job only generates types and no longer builds the vimdoc. Will only generate a commit if any types actually changed
vimdoc will only be updated when code updates


rendering performance of viewport with labelmaps

Prerequisites

[X] Which version are you using? (Is it latest?) 4.6.2
[X] Are you reporting to the correct repository? Yes
[X] Did you search existing issues? (Were any related?) No

Description

Steps to Reproduce the issue

When I do X
Load a 2Kx2K image (xray). Loading multiple segmentations that overlap.
3-5 labelmaps
Then Y
Interact with viewport using wwwc/pan/zoom tool
I see behavior Z
When the #of labelmaps is 3, the interaction becomes noticeably slower than without any segmentation overlay. When the number gets to 5, it becomes unbearably slow.

 It will reference cornerstone libraries in my node_modules folder, but otherwise pretty much standalone.

Ah! I appreciate the effort. Could you use something like CodeSandbox or a very simple repository?
Even a large example image for us to test, a GIF, or something similar may help illustrate the issue.
In general, we're trying to understand the current behavior, the expected behavior, how we can reproduce, and the urgency (why) we should dedicate time/resources.

`

`

@dannyrb thanks for the pointer. Here it is:
https://github.com/lyan2000/cornerstone-sample/blob/master/test.html
Let me know if you have trouble accessing it. I generated pattern image as well as the segmentation.

I tried to enable WebGL for image renderer, but the performance has not improved much.

PR to swap node_modules script includes with unpkg
https://github.com/lyan2000/cornerstone-sample/pull/1

@dannyrb I have updated the code. Thanks! Let me know if there are any tests you want me to do.

https://codesandbox.io/s/mystifying-johnson-v1k1i

If I comment out:
      const segs = [
        [100, 100, 800, 800],
        [1100, 100, 800, 800],
        [100, 1100, 800, 800],
        [1100, 1100, 800, 800],
        [500, 500, 800, 800]
      ];

I do see that leveling is much, much more responsive. CC: @JamesAPetts

Pinged @JamesAPetts privately.

Bottleneck is the outline rendering; if we toggle it off, we could see if the user experience is more acceptable
Difficult to do on the CPU, but we're unlikely to add support for this on the GPU in cornerstone (in the near future)
There are some performance improvements we could make. If you're interested, we could scope out which ones would have the most impact, and how we would recommend approaching them (ie. the solutions we would be open to reviewing and merging)

This is really just pushing the limits of the CPU implementation, which has only been tested up to 512x512 CT.
For large labelmaps, improvements can be made here, as this transformation matrix could be cached:
https://github.com/cornerstonejs/cornerstone/blob/c29c4fa3c1a5fd3e611de953c9f1c90de4a7aafe/src/internal/getTransform.js#L5
As Danny said the outline rendering takes up a lot more CPU. Each voxel gets checked 8 times, and It has to make a lot of calls to pixelToCanvas to produce the lines, so the above fix might help a lot. Its a strange algorithm because we tried the classic GPU outline algo on the CPU and it just couldn't scale as it the computation scales with the screens pixel dimensions rather than imaging dimensions.
It'd be good to note that a gpu version would be included in vtkjs in the future, but there is no plans/roadmap for a GL version for cornerstone, unless you want to spike it, and leave in the CPU fallback.

Example with outline rendering turned off:
https://codesandbox.io/embed/priceless-newton-ib1m3
A lot better than without the outline, but 5 2000x2000 overlays is probably pushing what can be done without some clever caching mechanism.

Thank you very much for your help!
I think it will be good for us if we can disable contour calculation during segmentation changes and cache the outline contours for rendering. Is this something that we can do from the user side? Or do we have to make changes in cornerstoneTools?

Or do we have to make changes in cornerstoneTools?

Adding some caching is something that needs to be made in cornerstone tools.
You could create a canvas as big as the viewport, draw your lines and segments to this canvas, cache this whole intermediate canvas, then draw this canvas to the main canvas per frame.
The tricky thing however is that as lines should have a canvas thickness (i.e. should stay the same as you zoom in), this intermediate canvas would be invalidated on the CPU.

Also would it be possible to work on the contouring in display coordinates instead of image coords during interaction? That way, unless you have a huge viewport, things can get done a lot more quickly.

This is a very achievable win which I've though of before, however it needs to be dynamic. When drawing the outline you should itterate over whatever is the smallest length, canvasWidthcanvasHeight, or imageWidthimageHeight, and do the correct calculation accordingly. This way when you zoom you will switch back to doing small computations in image coordinates.
Another performance boost would be only drawing lines that are within the viewport frame when zoomed in/panned.
The long and short of it though is that for zoomed out DX a GPU solution is the only thing that will scale well. I'd happily review a PR for an optional GPU rendering mode if you were interested in spiking it.

Yes. I will look into it. Do not have a definite timeline, but I'd be happy to work on it.
Thanks @JamesAPetts


Can't stub out host when requesting multiple urls for that host

When you stub out a host, any legitimate requests to that host (regardless of the path matching the actual stub or not) cause errors because no matching interception exists.
A quick example:
nock("http://localhost").get("/some/stubbed/path").reply(200, message)
request.get "http://localhost/", (err, res, body) ->
  # blah blah blah

This would throw the following error:
Error: Nock: No match for HTTP request GET / undefined

The problem is that the keys in the allInterceptors array done by host and a match triggers the processRequest function which errors out when no match exists.
I made a simple workaround here: 9330dd26e393ee52dec9c094099cc72e4915fb7c
Unfortunately it's not really complete and causes the tests to fail. A fix would be to check for a complete match before processing the request, but I can't find an easy way to do that.  If I can get a better idea of what would be required, I would be happy to put together a pull request when I have some time.

@theycallmeswift sorry, only now realized your ticket has been sitting here all along, you should have pointed me out to it earlier :)
The problem is that, when you mock, you start by mocking the whole hostname, and since now nock is responsible for resolving all HTTP requests to that hostname, so it's natural that it should complaint when a path is not resolved.
Or am I looking at it in the wrong way? Do you have any suggestions? Should we make this an options?

@pgte, sorry for the delay, I've been super busy recently.
I think in the case of localhost especially, it's nice to be able to stub out only one URI at a time. This ensures that tests are truly isolated and that you're only really testing the behavior of one endpoint.
In our case, we're using Cucumber to test that a Spine application behaves properly given different API responses.  I need to be able to load http://localhost/ and any URIs that map to resources on the page. The base URL just serves a static html file, so I could easily stub that out, but I don't want to have to stub out the other 7 different endpoints every time I try to test a different API response for a single endpoint.
The simplest solution I can think of is to create an option to allow unmocked endpoints for specific domains. So maybe its something like this:
// Setup
nock('http://google.com').get('/users/1').reply(200, { foo: 'bar' });
nock('http://localhost', { allowUnmocked: true }).get('/users/1').reply(200, { foo: 'bar' });

// Default
http.request({ host: "www.google.com", path: '/', port: 80 }, function() {  // ... });
# => throws an error

// allowUnmocked = true
http.request({ host: "localhost", path: '/', port: 80 }, function() {  // ... });
# => succeeds

What do you think?

@theycallmeswift I read you, agree, should be simple to implement this. I'mm try to work on this today or tomorrow max.

@theycallmeswift Nock v0.9.0 is out with this feature, just as you describe it.

Ran into a slight problem where requests to the base path would still error out. Patched it with #36 though.
Thanks for all the help. You're the man!


Migrate to JDK11

Checklist

[x] the [contributor license agreement][] is signed
[x] commit message follows [commit guidelines][]
[ ] tests are included
[ ] screenshots are included showing significant UI changes
[ ] documentation is changed or added

Description of change
The intention of this PR is to move oEQ to being built with JDK 11 and targetting JDK11 as the minimum required JVM.
Required changes can be grouped into four categories.

Apache Daemon update

Update JSVC to v1.3.3 for Linux
Update Procrun to v1.3.3 for Windows
Update the configuration for the new version
Create a new upgrade to support above updates
Drop the support for installing OEQ on unsupported OSes

BIRT packages update

Update BIRT OSGI runtime library and BIRT Report Framework to v4.9.1. Details of these two dependencies can be found from this repo
Update in build.sbt to support the new version
Code changes for fixing errors caused by the new version and revealed by  Sample Reports.zip
Code changes for the Selenium tests

Build with JDK11 and target JDK11 as the minimum required JVM

Code changes for the update
GHA workflow configuration update

Update for using JDK11 in Docker container

So close, just the same two on the three different modes:
com.tle.webtests.test.reporting.RunReportTest
com.tle.webtests.test.workflow.ModerationProgressTest

Could it be a BiRT issue. :grimacing:

I downloaded the logs and saw a lot more warnings than I did locally, including the slf4j warning.

According to the logs, Jar reporting-common is missing.

It's finally ready for review.

Great work @PenghaiZhang ! tada Thank you. pray
Couple of queries:

With the updates to JSVC I note there are only changes for linux, what about the others? If they're no longer used should we remove them? And, what about windows?
Should we add some kind of doco around what you had to do with JSVC? Maybe a README.md next to them?
Did you get to try the oEQ Birt Report Designer against it? Do they still communicate okay?

Other than that, I've place some comments in the review with some queries.
Thanks for your huge effort getting it this far. +1

I feel we should create another ticket for JSVC because there might be nothing or lots of to do for other systems.
And for the oEQ Birt Report Designer, let's have a chat.

Thanks for the README @PenghaiZhang .
Now when we've got time (might be awhile) we just need to:

confirm if the Report Designer will still work if only oEQ has updated BiRT deps; and
finalise the JSVC updates to only support supported OSes.

Thanks for the README @PenghaiZhang .
Now when we've got time (might be awhile) we just need to:

confirm if the Report Designer will still work if only oEQ has updated BiRT deps; and
finalise the JSVC updates to only support supported OSes.

According to the responses from the consultant team I think we will need to update JSVC for MAC and the Prunmgr for Windows and we can delete others.

I think it's even simpler than that from what support are saying. Looks like we can narrow it right down to:

Windows (64-bit only); and
Linux (64-bit only).

And that should mean rather than the 13 directories within Installer/data/server/manager/ we can have three:

all
linux
windows

And merge in the unix, unix-config and win-config into their relevant directories. (And yeah, update the binaries in the windows directory too.)

Merging develop to this branch failed the job that builds the artefacts, but the only difference is scala version from 2.13.8 to 2.13.10.

Did a force push due to one commit messed up locally.

By 5pm 7th Dec 2022, OEQ is finally happy to run and stop on Windows.
The last several commits are all about the update of Procrun.

I noticed that I have updated Procrun to v1.3.3, but JSVC still stays at v1.3.0.
Maybe the next commit is to update JSVC again.

Great job @PenghaiZhang , you're close now. Keep kicking those goals. :+1:

JSVC is on the latest version (v1.3.3) now and the BIRT packages are also updated to v.4.9.1.

Locally ran OEQ against Java 11 and did some basic testing. All looks good.

The upgrade will also drop JVM options not available in Java 11.

Because folder jre no longer exists in Java 11, an update for the path to jvm.dll for Windows in the BAT files is required.

Heya @PenghaiZhang ,
I think we should update the title and description for this ticket. For example, perhaps a title like "Migrate to JDK11". And then in the description currently there is this line:

The intention of this PR is to allow using JDK 11 to build openEquella artifacts and the artifacts can still work with JRE 8.

That probably needs to be changed to something like:

The intention of this PR is to move oEQ to being built with JDK 11 and targetting JDK11 as the minimum required JVM.

What do you think?

I have updated the whole description.
I am updating the dockerfile to JDK 11.

Locally span up a clustered OEQ and confirmed the updated Dockerfile works fine.

Great work @PenghaiZhang , that sounds like it's ready for the next step. :+1:


Fix many false positives

fixes #19, fixes #17, fixes #16, fixes #15, fixes #12, fixes #11
These false positives were all caused by node types missing during the tree traversal.

That's a massive contribution. Thank you very much @armsnyder!


Channel support for AWS SQS

Context
Channel to support AWS SQS send & receive operation.
Must support SAML Authentication type using AWS+ADFS.
Alternatives
Can you achieve the same result doing it in an alternative way? Is the alternative considerable?
Has the feature been requested before?
Please provide a link to the issue.
If the feature request is approved, would you be willing to submit a PR?
Yes / No (Help can be provided if you need assistance submitting a PR)

This is implemented.


Internet Inconsistencies with R-Programming

Be sure to visit our Resources Page for tools, resources, and example articles to go over.
NOTE: We tend to stray away or tend not to publish reviews/comparisons of commercial product offerings.
Proposed title of article
Internet Inconsistencies with R-Programming
Introduction paragraph(s):
An Internet Protocol (IP) address is one of several Domain Name System (DNS) attributes. Typically, IP address sequences can be displayed in two formats: IPv4 and IPv6. There are databases that hold more information about an IP such as approximate geological location, longitudinal and latitudinal coordinates, Internet Service Provider (ISP), Media Access Control (MAC), Virtual Private Network (VPN) and Autonomous System Numbers (ASN). Further information can be obtained from various databases that receive ongoing data releases. If not redacted, these pieces of information can merge into one collective research platform. The sole purpose is to detect the likelihood of inconsistencies.
In this tutorial, R-Programming is used to identify various IP addresses mostly in IPv4 format and other DNS components. The purpose is to gain understanding about accuracies and inaccuracies of instances that may occur coincidently during internet activities. The tutorial can be used on any compatible Windows, Ubuntu, Macintosh, and or Google computer operating system. For this tutorial, Windows with a featured Linux emulator were chosen based on convenience. To compliment, any programming language can be chosen accordingly. R-Programming was chosen because of its built-in libraries dedicated to Domain Name Systems. Extended coding can establish statistical insights. Deriving insights from research can provide the probability of accuracies and inaccuracies.
Key takeaways:

Discover and explore built-in libraries indirectly or directly dedicated to Domain Name Systems.
Basic statistics (probability, descriptive and predictive analytics, confusion matrices, measures of central tendency, fractions, data and statistical modelling).
Inconsistencies are present in highly sophisticated and elaborate internet activities.
Domain Name System components and its role over the internet.
Reverse IP lookups are helpful to provide some insights to other possibilities.

References:
CRAN R-Programming Library Resources
Whois directory
RIPE directory
Host.io

great topic @pkalynan - approved


Adding Mon Host: key is already set

Running entrypoint.sh mon more than once results in key is already set.
I think it should be safe to rewrite this key as many times as needed.
This is what I get otherwise:
+ echo 'Adding Mon Host - core-1.cell-0.dc-1.demo.lan'
Adding Mon Host - core-1.cell-0.dc-1.demo.lan
+ kviator --kvstore=etcd --client=<IP_ADDRESS>:4001 cas ceph-config/ceph-cell-0/mon_host/core-1.cell-0.dc-1.demo.lan <IP_ADDRESS>
root@core-1:/# kviator --kvstore=etcd --client=<IP_ADDRESS>:4001 cas ceph-config/ceph-cell-0/mon_host/core-1.cell-0.dc-1.demo.lan <IP_ADDRESS>
key is already set

I agree; this looks reasonable to me.  @leseb or @hunter?

Looks good to me as well, I'd just want to merge #120 before (still under testing), so you don't need to rebase. Just prioritising things here.

This is trivial enough; I'll rebase.


[FEATURE]: Add worker nodes' IP only

Describe the solution you'd like
A clear and concise description of what you want to happen.
When a pod attach a PVC, currently CSI controller will always to try add worker nodes' FQDN first, and then add IP if the FQDN resolution fails.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
CSI should skip trying FQDN, only try to add worker nodes' IP to Isilon, or provides an option for users who want to complete skip FQDN resolution.
Additional context
Add any other context or screenshots about the feature request here.
In Kuberentes env, it's a rare scenario in which worker nodes' IP changed while hostname/FQDN kept. Especially, when node's IP changes, the application/pod has to be moved to another node. It's not possible to continunously running pod while change the node IP. Which means the pod will reattach PVC and a new IP will be added to the NFS client. Thus it doesn't make any sense to try FQDN of worker nodes. While adding worker nodes FQDN limit our CSI use cases:
In most of cases, the worker nodes' DNS resolution is internal and will not add to company's main DNS, nor via DNS delegation. It's time consuming for Isilon to try every FQDN and timeout. Especially, CSI controller processes these PVC attachment in sequential way. For a large kubenretes clusters, where have hundreds worker nodes and PVCare generated/attached frequently, this process can take 10 mins or more to finally attach the PVC, because each worker nodes for each PVC has to try FQDN and time out. In most of cases, application will report error because their timeout is shorter than our PVC attachment time.

@HarishH-DELL I guess this is not a feature ask may be you need update here.


Multiline entries give 'unexpected content' error

Hi, really appreciate the speed of yaml-sort compared to the i18n-normalize which can only sort all the locale files at once.
We have yaml entries which are multi line text entries, and I think this should be valid yml. Unfortunately, yaml-sort does break on these entries.
test:
  testtest: blob
  testblaat: a long string which is devided over multiple lines to optimize readability for people with small 120x80 console
    screens and do not want to buy larger screens with more columns for characters

This results in a unexpected content error:

Could you have a look at this?

Fixed in yaml-sort-2.2.2, thanks!


Deprecate Torcx in favour of e.g. systemd-sysext

NOTE: This item is about deprecating torcx the item, not torcx the feature. We will continue to support the feature of installing custom core binaries at provisioning time. We will also provide a seamless migration path to the new implementation of this feature.
Issue

The torcx project was discontinued upstream and is unmaintained
Customisation features provided by torcx are desired in Flatcar user community

Impact

Torcx bugs do not get fixed, security issues remain open
Torcx regularly interferes with other Flatcar key components

Ideal future state

A new implementation of the feature provided by torcx (e.g. systemd-sysext) is integrated with Flatcar

build process
Testing
Run-time, i.e. ignition & friends

Missing items (e.g. download of extensions from custom URLs) are added to the new implementation
Seamless migration path for existing automation based on torcx is defined and implemented

Tasks

[x]  Define a SYSEXT_LEVEL= for Flatcar, e.g. 1.0 (and work with upstream on making the matching more flexible, plus match for architecture), so that users can provide their own sysext images (with static binaries, not coupled to /usr), and provide user docs (rework https://www.flatcar.org/docs/latest/container-runtimes/use-a-custom-docker-or-containerd-version/ and advise to create the /dev/null symlink to disable the upcoming shipped Docker and conatinerd sysext in advance): https://github.com/flatcar-linux/Flatcar/issues/643
[x] Investigate automatic conversion of custom Torcx images to sysext for backwards compat - maybe limited to simple cases, maybe even out of scope
[ ] Announce deprecation of Torcx, with instructions on how to convert Torcx images to sysext. Users should also ensure that they don't use the Torcx paths if they customized their containerd systemd unit. https://github.com/flatcar-linux/Flatcar/issues/644
[ ] Validate that we can enable/disable systemd services shipped in a sysext image both through systemd presets as used in Ignition and manually (maybe by having a workaround action after systemd-sysext.service ran? Should one use presets within the sysext image or do target-wants symlinks work better?), and can be disabled by the user (masking should work but currently with Torcx we support disabling, e.g., of docker.socket)
[ ] Remove Torcx but convert the Torcx image building to a sysext image building step (splitting it into Docker and containerd, making services and default configs show up under /usr and making it easy for users to drop-in additional configs under /etc/containerd/runtime_*.toml) and ship them on the image as before (placed under /usr/lib/extensions/ to automatically enable them, users can disable them through a /dev/null symlink on /etc/extensions/ with the same name  maybe we can still use a symlink on /usr to have a stable name under /usr/lib/extensions but encode the Docker version in the image file name). Make sure the sysext images are enabled by default and the user can disable them when bringing an own sysext image or binaries on /opt

Related

#60
#548
#447

/usr/lib/extensions/ is not supported anymore as location to prevent confusion. For us this means we need a tmpfile rule that sets up a symlink in /run/extensions/ to point to the docker/containerd sysext image on /usr.

Ah, no, tmpfiles also runs after systemd-sysext.service and we anyway want to set up things from the initrd eventually. Having it in /etc/extensions/ is the best then but it means we need to also change the documentation on how to get rid of it. In the past it was a folder under /etc/extensions but now the user would have to create an own symlink to /dev/null or an empty file in /etc/extensions/ to overwrite what the lowerdir of the /etc overlay provides.

The [convert_torcx_image.sh](https://github.com/flatcar/sysext-bakery/blob/main/convert_torcx_image.sh) script is covered in the docs.
While we talked a lot about deprecating/removing Torcx, we didn't announce removal yet with an aimed date but I think that makes most sense when we work on removing it from Alpha. The deprecation notice is somehow present in the docs already because since a long time we state the preference for either static binaries on /opt/bin or sysext.

There's some traction coming into this; we fleshed out the immediate path forward in

https://github.com/flatcar/Flatcar/issues/1091
https://github.com/flatcar/Flatcar/issues/1092
https://github.com/flatcar/Flatcar/issues/1093
(the last 2 are co-dependent)


SSB Transmission Capability in Different Versions ?

In your blog, you wrote the following:
"UV-K5 can receive SSB (DSB). However, SSB transmission is not possible."
I understand that SSB transmission is not possible with version 0.3Q. Is it possible to transmit in SSB mode with other versions, such as version 0.2V?

No SSB modulation is possible whatever the version. BK4819 has not that possibility; just FM.

Thank you for your clear response regarding the SSB transmission. I now understand that no version, due to the BK4819 chip, supports SSB modulation and only FM is available.
I appreciate your help!


Add Support for launching Start X

Start X should be able to be launched on either the PiTFT or the HDMI display.

Implemented, but pending testing on Pi with X.