Update sbt-tpolecat to 0.1.22

Updates io.github.davidgregory084:sbt-tpolecat from 0.1.12 to 0.1.22.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "io.github.davidgregory084", artifactId = "sbt-tpolecat" } ]

labels: sbt-plugin-update, early-semver-minor, semver-spec-patch, commit-count:1

Superseded by #352.


[swift2objc] Support Type Constraints

Type Constraints are a Swift feature where the type in a generic function or class can be restricted based on whether it implements either a given protocol or a given class:
func myFunc<T: Equatable>(param: T) {
  // function body
}

Dart has a similar feature where a generic is constrained to extend a given class.
This should be relatively easy to parse, as the symbol graph provides constraints information concerning this

For the sake of completeness, this issue will also include support for type constraints for extensions, which is enforced in swift via the where clause.
extension Collection where Element: SomeProtocol {
    func someFunc() -> Bool where Element: Numeric {
        // function body
    }
}

Noticed that type generics in general haven't been supported in the parsing frontend, so will work on both together.


build.dev failing with module not found

I've just merged and after some fiddling, npm update gives no complaints but build emits the following:
$ npm run build.dev
...
[09:03:15] 'build.dev' errored after 867 ms
[09:03:15] Error in plugin 'run-sequence(build.html_css)'
Message:
    Cannot find module '.tmp/Rx.min.js'

Can you try pulling down a fresh repo and run that just to determine if it's something with your merge?
I'm not seeing that here.

Yes I had done that - could be still something w/my nvm/node(6.8.*) setup but I haven't figured it out.

Did you try running:
npm run clean

?
Also go ahead and merge in upstream one more time with fixes that went in just moments ago.

Btw, this is my setup that I use for everything:
Mac:angular-seed-advanced nathan$ node --version
v5.5.0
Mac:angular-seed-advanced nathan$ npm --version
3.5.3

@CNSKnight I believe the resolution to this issue: https://github.com/NathanWalker/angular-seed-advanced/issues/255 may have fixed this for you.
Please pull latest master and reopen this if still an issue for you 👍


Improve error message for implicitly ignored result

Describe the improvement
The Q# compiler gives slightly unhelpful error messages when calling non-Unit without explicitly ignoring the result. Whenever a call is made without explicitly ignoring the result, the compiler should suggest to either use Ignore( ... ) or change the return type of the function to Unit. At the moment, it only does the latter.
To Reproduce
To reproduce, compile following to programs:
namespace Example {
@EntryPoint()
operation Main() : Int
{
QuantumFunction(3);
return QuantumFunction(10);
}

operation QuantumFunction(nQubits : Int) : Int {
use qubits = Qubit[nQubits];

return 0;
}
}

does not compile and has following output
% dotnet build ConstSizeArray.csproj
Microsoft (R) Build Engine version 16.9.0+57a23d249 for .NET
Copyright (C) Microsoft Corporation. All rights reserved.

Determining projects to restore...
All projects are up-to-date for restore.
Determining projects to restore...
All projects are up-to-date for restore.
ConstSizeArray.qs(8,9): error QS0001: The type Int does not match the type Unit. [ConstSizeArray/ConstSizeArray.csproj]
Actual type: Int
Expected type: Unit

____________________________________________

Q# compilation failed: 1 error, 0 warnings

(...)

Expected behavior
ConstSizeArray.qs(8,9): error QS0001: Return value implicitly ignored. [ConstSizeArray/ConstSizeArray.csproj]
To fix this either user `Ignore( ... )`, use a declaration `let _ = ...` or change the return type of the function to `Unit`.

Screenshots
If applicable, add screenshots to help explain your problem.
System information

Version of the NuGet package or extension for which the problem occurs
Your operating system and .NET Core version
For issues with extensions, the version of the IDE for which the problem occurs

Additional context
Add any other context about the problem here.

@samarsha This used to have a more descriptive error message ""Expecting expression of type Unit. Only expressions of type Unit can be used as expression statements." Could you please take a look and give a dedicated message again?

Could please also double check what kind of error we are giving for what used to be the MissingFunctorSupport, ExcessFunctorSupport and FunctorSupportMismatch diagnostic?

These all use the standard type mismatch error message, e.g.
The type (Unit => Unit) does not match the type (Unit => Unit is Adj).
Actual type:   (Unit => Unit)
Expected type: (Unit => Unit is Adj)

For type mismatches in a double negative position (e.g. situations where ExcessFunctorSupport could originally happen, I think), the error message is confusing. I filed #1335.

Could please also double check what kind of error we are giving for what used to be the MissingFunctorSupport, ExcessFunctorSupport and FunctorSupportMismatch diagnostic?

These all use the standard type mismatch error message, e.g.
The type (Unit => Unit) does not match the type (Unit => Unit is Adj).
Actual type:   (Unit => Unit)
Expected type: (Unit => Unit is Adj)

For type mismatches in a double negative position (e.g. situations where ExcessFunctorSupport could originally happen, I think), the error message is confusing. I filed #1335.

@samarsha  That looks understandable to me, to I don't think there is a need to change that. Thanks for checking!


[B7] The 'Control Seal: Butcher' Infusion craft can not start.

I will report what I noticed on the Infusion craft.
Attempting to place 'Control Seal: Guard' on the center pedestal to craft 'Control Seal: Butcher' will cause Seal to stick to the center pedestal. Regardless of whether sneaks are present, it will occur.

I used a hopper to get it in, but it's something Azanor could maybe take a look at?

Same issue when trying to put a seal in the crucible by right-clicking instead of throwing. The easiest solution probably will be to make seals place-able only on shift+right-click?


[AMBARI-23260] Add reliable way of getting base service/stack_advisor.…

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/1191/
Test FAILed.
Test FAILured.


fsleyes integration saves outputs to directory from which fsleyes is opened

Description
When run sct_deepseg_sc or sct_deepseg_gm from FSLeyes integration, segmentations are saved into directory where I have FSLeyes opened from, not to directory where the image is from.
Steps to Reproduce

sct_check_dependencies output:

SCT info:
version: git-master-9d0cdbc7df413ee68da3ec254b8566d379511e3c
path: /usr/local/sct
OS: osx (Darwin-18.7.0-x86_64-i386-64bit)`

Go to any directory in the terminal (e.g. /Users/user/Documents) and type fsleyes

Open some image (e.g. /Users/user/Documents/ExampleData/t1w.nii.gz)

Run sct_deepseg_sc from FSLeyes integration

Expected behavior:
It makes more sense to me, if final segmentation would be saved in same directory as input image (i.e. /Users/user/Documents/ExampleData/).
Actual behavior:
Final segmentation is saved to directory where the FSLeyes is opened from (i.e.  /Users/user/Documents/).

As suggested, a solution would be to modify SCT's behaviour and have the default folder being the folder of the input image. However, that could potentially break many of the current workflows.

I don't thinks this is preferred because:

It is non-standard and may be non-obvious to some users
May generate unwanted artifacts alongside the input data, possibly even risking overwriting it we or the user are not careful

When using a CLI app it is a sane default behavior to use the current working directory when saving files, unless explicitly overridden.
When using a GUI this doesn't really apply, because it is not obvious for the user to tell what the cwd is. In that case the GUI should offer the user some mechanism to let him know/specify what the output directory is.
I see 2 options:

Let the user specify the output directory/output file. This means adding the visual elements to the GUI to let him do so.
Display to the user what the output directory is (the GUI knows what cwd is). It could show it as a text label underneath or maybe in a popup when the processing is finished.

Option 1 is definitely a better user experience. In terms of effort it is greater, but not by much.
Thoughts @jcohenadad ?

@Drulex yes, after giving it additional thoughts, i agree 100% that my suggestion of outputting by default in the intput image folder is not a desired behaviour.
I really like your first suggestion: "Let the user specify the output directory/output file. This means adding the visual elements to the GUI to let him do so.". I think we should go for it. Ideally, the output folder would be kept "in memory" for subsequent commands (so that users don't have to specify output folder every time).

Ok so proposing the following:

Add input text field just above the run button with label Output Folder
When populating the output folder in a tab it will update it for the other tabs automatically
(similar for sct_label_vertbebrae but requires an output file instead of folder)


Discovery filter by  Resource Type breakpoint display

Notice the + sign to expand the Resource Type filter.

@aphelionz Not sure this is still an issue.

I am closing this because it is not necessary to fix at this point we will reassess the filter panels during Discover Redesign


Replace most of the 'kagi search' site: entries with proper names and domains

I'll be honest, I made gpt do all of this (I just quickly checked it didn't change any things it shouldn't have).
I noticed that some of the ones that were changed are no longer using working websites but that's a check for later I guess

Judging by the first few entries at least, this looks entirely wrong to me.

The d field should stay as kagi.com

sorry, was confused because of https://discord.com/channels/1256077108111868035/1262752714757247037/1300573010901733476 (i misread it)
but i've crated https://kagifeedback.org/d/5227-when-a-bang-is-for-kagicom-but-has-an-ad-value-use-that-for-favicon now

I apologize for my previous comment, I was bothered by what I thought was a blind use of AI.

no worries,
tbf, they seemed right to me (correct like a couple manually) but some of the ones that are corrected in this PR actually just don't exist anymore. .... so i'm not sure if those should then be fully deleted or if those should stay (for people who use redirection systems? i dunno if those would even work then)

Yeah, it's honestly a reasonable use, I was just thrown by the domains being wrong.

some of the ones that are corrected in this PR actually just don't exist anymore

Feel free to remove any bang that no longer exists.

just to know the process: I don't know how the ddg bang importing happens.
I'm wondering if I remove them but then kagi does a ddg bang import and re-adds. Is that a possibility?

just to know the process: I don't know how the ddg bang importing happens. I'm wondering if I remove them but then kagi does a ddg bang import and re-adds. Is that a possibility?

There's no automatic DDG bang import, it's just a manual process if they add / change their bangs.

I've made the changes

it's just a manual process if they add / change their bangs.

So are you looking at a diff to see what changes? (so you'd also see deleted bangs)

So are you looking at a diff to see what changes? (so you'd also see deleted bangs)

Nothing like that currently. It should be feasible to setup an automatic process for this though.


Automatically add deprecation_date field to buildpack dependencies if requested

Summary

Automatically populate deprecation_date for dependencies
Use Cases

This change adds the --eol-id flag to the update-buildpack-dependencies cmd. When the flag is set, the product the EOL date is looked up for a product (the --eol-id flag), formatted and added to the deprecation_date field.
Checklist

[X] I have viewed, signed, and submitted the Contributor License Agreement.
[X] I have linked issue(s) that this PR should close using keywords or the Github UI (See docs)
[X] I have added an integration test, if necessary.
[X] I have reviewed the styleguide for guidance on my code quality.
[X] I'm happy with the commit history on this PR (I have rebased/squashed as needed).

I don't feel like we should pull in a dependency on github.com/kobayashi/eol. It's a 0.1.0 release and hasn't been updated in over a year (last commit). It doesn't show strong signs of life. If I'm missing something there please let me know.
It may be a little more work, but there are only three API calls for the API itself, https://endoflife.date/docs/api. Do you have any objections to just making HTTP calls directly to the API? You could add a client under the internal package, so we don't need to worry about exporting that as public, it'll be just for the library.

It's a 0.1.0 release and hasn't been updated in over a year (last commit)

good point, I've moved the implementation to the internal package

@dmikusa We call the API directly instead of using the additional dependency like you proposed in this comment. Maybe you can have another look.

@dmikusa is there anything else blocking the PR from being merged?


CircularRedirectException and URLs with accented letters

Crawling  http://gobiernoextremadura.tumblr.com/, I've gotten several thousand errors like the three samples below:
MC (crawler): 2015-09-20 17:16:14 ERROR - Cannot fetch document: http://gobiernoextremadura.tumblr.com/post/111176119745/la-nueva-edición-de-encuentra-capital-cierra-la (null)
MC (crawler): 2015-09-20 17:16:14 INFO -            REJECTED_ERROR: http://gobiernoextremadura.tumblr.com/post/111176119745/la-nueva-edición-de-encuentra-capital-cierra-la
MC (crawler): 2015-09-20 17:16:14 ERROR - MC (crawler): Could not process document: http://gobiernoextremadura.tumblr.com/post/111176119745/la-nueva-edición-de-encuentra-capital-cierra-la (org.apache.http.client.ClientProtocolException)
com.norconex.collector.core.CollectorException: org.apache.http.client.ClientProtocolException
...
Caused by: org.apache.http.client.CircularRedirectException: Circular redirect to 'http://gobiernoextremadura.tumblr.com/post/111176119745/la-nueva-ediciÃ³n-de-encuentra-capital-cierra-la#_=_'
...
...
MC (crawler): 2015-09-20 17:16:15 ERROR - Cannot fetch document: http://gobiernoextremadura.tumblr.com/post/111186372280/educación-invertirá-más-de-62-millones-de-euros (null)
MC (crawler): 2015-09-20 17:16:16 INFO -            REJECTED_ERROR: http://gobiernoextremadura.tumblr.com/post/111186372280/educación-invertirá-más-de-62-millones-de-euros
MC (crawler): 2015-09-20 17:16:16 ERROR - MC (crawler): Could not process document: http://gobiernoextremadura.tumblr.com/post/111186372280/educación-invertirá-más-de-62-millones-de-euros (org.apache.http.client.ClientProtocolException)
com.norconex.collector.core.CollectorException: org.apache.http.client.ClientProtocolException
...
Caused by: org.apache.http.client.CircularRedirectException: Circular redirect to 'http://gobiernoextremadura.tumblr.com/post/111186372280/educaciÃ³n-invertirÃ¡-mÃ¡s-de-62-millones-de-euros#_=_'
...
...
MC (crawler): 2015-09-20 17:51:07 ERROR - Cannot fetch document: http://gobiernoextremadura.tumblr.com/post/68971312568/convocadas-las-ayudas-para-la-gestión-de-libros (null)
MC (crawler): 2015-09-20 17:51:07 INFO -            REJECTED_ERROR: http://gobiernoextremadura.tumblr.com/post/68971312568/convocadas-las-ayudas-para-la-gestión-de-libros
MC (crawler): 2015-09-20 17:51:07 ERROR - MC (crawler): Could not process document: http://gobiernoextremadura.tumblr.com/post/68971312568/convocadas-las-ayudas-para-la-gestión-de-libros (org.apache.http.client.ClientProtocolException)
com.norconex.collector.core.CollectorException: org.apache.http.client.ClientProtocolException
...
Caused by: org.apache.http.client.CircularRedirectException: Circular redirect to 'http://gobiernoextremadura.tumblr.com/post/68971312568/convocadas-las-ayudas-para-la-gestiÃ³n-de-libros#_=_'

It seems they have to deal with accented letters inside the URL, but I'm not sure.

Redirect handling was redone in such a way that circular redirects can no longer happen (it would stop processing the page instead).
For your site it now works.  For some reason, when I tried to decode the URL escaped characters it did not work. As a result you may see accented characters that appear encoded badly in the logs for some URLs, but when they are accessed, they work.
The fix is in the latest snapshot.

Testing with:
      <startURLs stayOnDomain="true" stayOnPort="true" stayOnProtocol="true">
		         <url>http://gobiernoextremadura.tumblr.com</url>
      </startURLs>

I get a lot of REJECTED_REDIRECTED: as:
REJECTED_REDIRECTED: http://gobiernoextremadura.tumblr.com/post/110805697240/la-plataforma-de-la-infancia-de-españa-propone

That is OK.  A URL that is redirected is now rejected and its target URL is being queued for processing instead.

As for the "accented characters that appear encoded badly", they do look very strange. A sample from the log file:
       REJECTED_REDIRECTED: http://gobiernoextremadura.tumblr.com/post/110736292085/ocho-jóvenes-de-etnia-gitana-reciben-la
...
          DOCUMENT_FETCHED: http://gobiernoextremadura.tumblr.com/post/110736292085/ocho-jÃ³venes-de-etnia-gitana-reciben-la#_=_
       CREATED_ROBOTS_META: http://gobiernoextremadura.tumblr.com/post/110736292085/ocho-jÃ³venes-de-etnia-gitana-reciben-la#_=_
            URLS_EXTRACTED: http://gobiernoextremadura.tumblr.com/post/110736292085/ocho-jÃ³venes-de-etnia-gitana-reciben-la#_=_
         DOCUMENT_IMPORTED: http://gobiernoextremadura.tumblr.com/post/110736292085/ocho-jÃ³venes-de-etnia-gitana-reciben-la#_=_
    DOCUMENT_COMMITTED_ADD: http://gobiernoextremadura.tumblr.com/post/110736292085/ocho-jÃ³venes-de-etnia-gitana-reciben-la#_=_

Being the original:
http://gobiernoextremadura.tumblr.com/post/110736292085/ocho-jóvenes-de-etnia-gitana-reciben-la

From REJECTED_REDIRECTED to the following group of events, a change is made converting
ó to Ã³ and #_=_ is added to the right end.
Since the URL is the ID for the document, the result of such a conversion (included from ó to ó) makes the ID meaningless (or unintelligible) when used in a product like Solr.
So, since the browsers are able to access web pages with an URL that contains words such us jóvenes, could it be possible that the normalization proccess don't normalize accented characters?. Or any other solution that don't apply extreme changes.

Turns out URLs were not percent-encoded properly before fetching.  UTF-8 should be used for this according to W3C specs.  I fixed it to use UTF-8 percent-encoding and the pages with accented characters I tried got crawled right away, without any redirect involved, and they keep their original characters when shown un-encoded.
I made a new snapshot with this fix.

It seems to work fine with accented characters:
DOCUMENT_COMMITTED_ADD: http://gobiernoextremadura.tumblr.com/post/66182247538/más-de-160-matronas-extremeñas-participan-en

but sometimes #_=_ is still added to the right end:
DOCUMENT_COMMITTED_ADD: http://gobiernoextremadura.tumblr.com/post/111200837700/extremadura-muestra-el-proyecto-de#_=_
...
DOCUMENT_COMMITTED_ADD: http://gobiernoextremadura.tumblr.com/post/111171162800/el-gobex-trabaja-en-la-puesta-en-marcha-de-un#_=_
...
DOCUMENT_COMMITTED_ADD: http://gobiernoextremadura.tumblr.com/post/111171161970/fundesalud-publica-tres-ofertas-de-trabajo-para#_=_

The #_=_ is added by the site when doing a redirect, not by the Collector.  It is apparently something several sites (Facebook, Tumbler, etc) do in order to "kill a 'sticky' URI fragment which the browser carries through chain of 302 redirects".  That's the info I could get on this behavior after a quick research.
By default the GenericLinkExtractor will always remove the fragment part unless you have keepFragment=true.  Unfortunately this stripping is not performed when handling redirects at the moment.  I think the possibility should be introduced, but in the meantime, I would configure the GenericURLNormalizer with the removeFragment normalization rule.

Now it works fine. Thank you

Thanks for confirming!


Use curly apostrophes

Follow up for #173

Nice catch. Just making a note here, these dumb quotes were in an HTML file, not a markdown file, and thus not processed through Jekyll. For most site content, we should try to push the smart/dumb logic to Jekyll's renderer whenever possible. Thanks again @penibelst!


distortion mesh with multiple video inputs

I am trying to use the "mono_point_samples" distortion property with an HMD that uses 2 video inputs. It seems to be warping as expected but both eyes show up in the right display.  Since there is no examples or documentation on the schema for mono_point_samples I am not sure if I am using it correctly. I have an array for each eye within the mono_point_samples array.
Here is a visual representation:
"distortion": {
  "type": "mono_point_samples",
  "mono_point_samples":
  [
    [
      [[0.0029296875, 0.00520833348855376], [0.167387038469315, 0.022086126729846]],
      ....
    ],[
      [[0.0029296875, 0.00520833348855376], [0.215814426541328, 0.0287906154990196]],
      ....
    ]
  ]
}

Is there additional flags or properties that need to be set or is this a bug?

There is a separate portion of the configuration file that describes how many inputs the device has, this is separate from the distortion-correction section.  The https://github.com/sensics/OSVR-RenderManager/blob/master/installer/directmode_dSight.json provides an example of this.  In the display section, you'll want "display_mode": "full_screen" rather than "horz_side_by_side".

I do have that portion filled out properly but it seems the distortion map overwrites those settings. Here is my config with the points omitted for brevity. (Which brings up a related question, is there a way to specify an external points file instead of having them pasted in my config?)
{
    "meta": {
        "schemaVersion": 1
    },
    "hmd": {
        "device": {
            "vendor": "MyCo",
            "model": "MyModel",
            "Version": "1.0",
            "Note": "This is an HMD."
        },
        "field_of_view": {
            "monocular_horizontal": 110,
            "monocular_vertical": 100,
            "overlap_percent": 70,
            "pitch_tilt": 0
        },
        "resolutions": [{
            "width": 2560,
            "height": 1440,
            "video_inputs": 2,
            "display_mode": "full_screen"
        }],
        "distortion": {
            "type": "mono_point_samples",
            "mono_point_samples": [
                ]
        },
        "rendering": {
            "right_roll": 0,
            "left_roll": 0
        },
        "eyes": [
            {
                "center_proj_x": 0.68181818181,
                "center_proj_y": 0.5,
                "rotate_180": 0
            },
            {
                "center_proj_x": 0.31818181818,
                "center_proj_y": 0.5,
                "rotate_180": 0
            }
        ]
    }
}

When I use the following config, which is modified from the nondirectmode_window.json file in the RenderManager installer directory, I get two windows side by side.  This is the same thing I get when using the config with its polynomial distortion, just changing the side by side to full screen:
{
	"renderManagerConfig": {
		"meta": {
			"schemaVersion": 1
		},
		"renderManagerConfig": {
			"directModeEnabled": false,
			"directDisplayIndex": 0,
			"directHighPriorityEnabled": true,
			"numBuffers": 2,
			"verticalSyncEnabled": true,
			"verticalSyncBlockRenderingEnabled": true,
			"renderOverfillFactor": 1.0,
			"renderOversampleFactor": 1.0,

			"window": {
				"title": "OSVR",
				"fullScreenEnabled": true,
				"xPosition": -1820,
				"yPosition": 0
			},

			"display": {
				"rotation": 0,
				"bitsPerColor": 8
			},

			"timeWarp": {
				"enabled": true,
				"justInTime": true,
				"asynchronous": true,
				"maxMsBeforeVSync": 0
			}
		}
	},

	"display": {
		"meta": {
			"schemaVersion": 1
		},
		"hmd": {
			"device": {
				"properties": {
					"vendor": "OSVR",
					"model": "HDK",
					"num_displays": 1,
					"Version": "1.1",
					"Note": "OSVR HDK on screen in portrait mode"
				}
			},
			"field_of_view": {
				"monocular_horizontal": 90,
				"monocular_vertical": 90,
				"overlap_percent": 100,
				"pitch_tilt": 0
			},
			"resolutions": [
				{
				"width": 500,
				"height": 500,
				"video_inputs": 1,
				"display_mode": "full_screen",
				"swap_eyes": 0
				}
			],
			"distortion": {
				"type": "mono_point_samples",
    "mono_point_samples": [
	[
	 [ [1.0,1.0], [1.0,1.0] ]
	,[ [0.0,1.0], [0.0,1.0] ]
	,[ [0.0,0.0], [0.0,0.0] ]
	,[ [1.0,0.0], [1.0,0.0] ]
	],
	[
	 [ [1.0,1.0], [1.0,1.0] ]
	,[ [0.0,1.0], [0.0,1.0] ]
	,[ [0.0,0.0], [0.0,0.0] ]
	,[ [1.0,0.0], [1.0,0.0] ]
	]
    ]
			},
			"rendering": {
				"right_roll": 0,
				"left_roll": 0
			},
			"eyes": [
				{
				"center_proj_x": 0.5,
				"center_proj_y": 0.5,
				"rotate_180": 0
				},
				{
				"center_proj_x": 0.5,
				"center_proj_y": 0.5,
				"rotate_180": 0
				}
			]
			}
		}
}

There is not currently a way to pull the set of points out of the configuration file.  There is a hack to handle the case where the server-side configuration file becomes too large to send to the client over the network, but the right solution will be to fix the transport so that it can send arbitrary-length json.

Russell,
Your example works but when trying to do anything more complicated there seems to be a parsing error along with the single window output. Maybe I don't understand how the mono_point_samples works. As an example I tried the mono_point_samples list from the osvr_display_config_built_in examples below. Without adding a comma to the end of both lists the server won't load properly. When I do, I only get one output even though there are two eyes and two inputs listed.   Any chance that a different server is being run and your app is connecting to it rather than the one you think it is connecting to, one with a different configuration file?

In any case, that config file will be too large to transport, so until we get the arbitrary-length transport (@rpavlik any word on when that is coming?), you'll need to use the client/server separate config files hack to get this running.  This procedure is described in https://github.com/OSVR/distortionizer/blob/master/angles_to_config/doc/anglesToConfig.md in Step 3.

As far as I know, when there's a community contribution or a contract for Sensics to do it.

@russell-taylor Success! I followed the procedure in step 3 of anglesToConfig and I was able to get two windows. If I wanted to switch between two different distortion configurations do I have to relaunch the application and server or is there a way to hot reload that information?
Thanks you!

There is an UpdateDistortionMeshes() call at https://github.com/sensics/OSVR-RenderManager/blob/master/osvr/RenderKit/RenderManager.h#L653 that can be used to do this programmatically, but not from the configuration file.  I suppose that you could destroy and re-create the RenderManager and that would cause it to reload the information.


Fix virtual file invalidation

Followup to https://github.com/angular/angular-cli/pull/12588, should fix https://github.com/angular/angular-cli/issues/12260 going forward.
Fix https://github.com/angular/angular-cli/issues/9669

@filipesilva I think this also solves https://github.com/angular/angular-cli/issues/12620?

I'm not sure it's related. Have you tested it?


Reorganize for next version

The "make_tokr" function that I expected to be seldom used turned out to be important in PA2-GIA.
It would be better to simplify its usage - among other things, changing the name. Try and get it to be used thus, instead:
from pytokr import pytokr
item, items = pytokr(file-or-str-iterable)
where the file-or-str-iterable defaults to stdin so that the standard usage would be:
item, items = pytokr()
or, if only one is needed,
_, items = pytokr()
or
item, _ = pytokr()
Additional advantage: users can choose what name to give to their tokenizers instead of item / items. The only fixed identifier would be pytokr.
Note that the order of outcomes is reversed wrt the current make_tokr(), which has them in a counterintuitive way.

Don't forget to update the README and the examples of usage. The following Jutge problems might be useful:

P34279 Add one second  [3 x int(item()) ]
P14130 Equal to the last one [cnt = int(item()) + for range(cnt)]
P78142 Average [for n in items()]
P20262 Maximum sums [for cnt in items() + for range(int(cnt))]

Alternative usage idea: if flag "also_iter" is not present, only the single-item function is returned. Thus:
item = pytokr()
item = pytokr(source_file_or_iterable)
item, items = pytokr(also_iter = True)
item, items = pytokr(source_file_or_iterable, also_iter = True)

Flag was finally just "iter". During 0.* I deprecated the import of item / items but the higher-order characteristics of pytokr made it advisable to undeprecate them again for 1.0. There, though, make_tokr remains deprecated.


[SPARK-24393][SQL] SQL builtin: isinf

What changes were proposed in this pull request?
Implemented isinf to test if a float or double value is Infinity.
How was this patch tested?
Unit tests have been added to
sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/NullExpressionsSuite.scala

Can one of the admins verify this patch?

Can one of the admins verify this patch?

ok to test

Jenkins, ok to test

Test build #91405 has started for PR 21482 at commit bcdaab2.

Test build #91408 has started for PR 21482 at commit 9ab0eb2.

Test build #91405 has finished for PR 21482 at commit bcdaab2.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class IsInf(child: Expression) extends UnaryExpression

Merged build finished. Test PASSed.

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

Test build #91408 has finished for PR 21482 at commit 9ab0eb2.

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

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

Merged build finished. Test PASSed.

Test build #91417 has started for PR 21482 at commit 069f9d9.

Test build #91418 has started for PR 21482 at commit f34bfdc.

Test build #91418 has finished for PR 21482 at commit f34bfdc.

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

Merged build finished. Test PASSed.

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

Test build #91417 has finished for PR 21482 at commit 069f9d9.

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

Merged build finished. Test PASSed.

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

Test build #91423 has started for PR 21482 at commit 7e396f7.

Test build #91423 has finished for PR 21482 at commit 7e396f7.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Test build #91459 has started for PR 21482 at commit 13b5aaa.

Test build #91459 has finished for PR 21482 at commit 13b5aaa.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Test build #91462 has started for PR 21482 at commit d381f0c.

Test build #91462 has finished for PR 21482 at commit d381f0c.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

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

Merged build finished. Test FAILed.

Test build #91467 has started for PR 21482 at commit 432c61b.

Test build #91467 has finished for PR 21482 at commit 432c61b.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

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

Merged build finished. Test FAILed.

How is this done in other databases? I don't think we want to invent new ways on these basic primitives.

Test build #91494 has started for PR 21482 at commit 663fa47.

Test build #91494 has finished for PR 21482 at commit 663fa47.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds no public classes.

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

@rxin Other engines are all over the place:

MySQL doesn't have support for infinity (based on my cursory look) - 1.0 / 0.0 is written as null. Also seems to be true of SQLite.
Postgres has type-specific literals (e.g. FLOAT8 '+Infinity') which you can use for comparison checks.
Impala has is_inf()
Oracle has a literal value, and also a built-in predicate SELECT f FROM foo WHERE f is infinite
SQL Server does not appear to support infinity (but that's based on anecdotal evidence)

One of my motivations suggesting this builtin was to make sharing workloads with Impala easier. I think it's convenient to have as well, since it's more intuitive than figuring out what the right literal incantation should be.

@henryr 1.0/0.0 also returns null in Spark SQL ...
scala> sql("select cast(1.0 as double)/cast(0 as double)").show()
+-----------------------------------------+
|(CAST(1.0 AS DOUBLE) / CAST(0 AS DOUBLE))|
+-----------------------------------------+
|                                     null|
+-----------------------------------------+

Test build #91517 has started for PR 21482 at commit f240fdf.

Test build #91518 has started for PR 21482 at commit 6a4d46e.

Test build #91517 has finished for PR 21482 at commit f240fdf.

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

Test build #91518 has finished for PR 21482 at commit 6a4d46e.

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

Merged build finished. Test FAILed.

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

Merged build finished. Test FAILed.

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

@rxin, that in itself is a bit weird, but there are ways to express inf values in Scala and thus inf values can show up flowing through Spark plans. I'm not sure MySQL has any such facility.

Thanks, Henry. In general I'm not a huge fan of adding something because hypothetically somebody might want it. Also if you want this to be compatible with Impala, wouldn't you want to name this the same way as Impala?

I think consistency in Spark's naming convention (and therefore increased
discoverability by users) outweighs the advantage of naming it exactly for
the Impala equivalent. I do agree that multiple aliases probably aren't
worth the trouble at this point.
FWIW, I would have used this function if it had been available recently. So
it's not just hypothetical. And to me this provides some symmetry for
support for 'special' float values, since we already have isnan().
On 7 June 2018 at 15:36, Reynold Xin<EMAIL_ADDRESS>wrote:

Thanks, Henry. In general I'm not a huge fan of adding something because
hypothetically somebody might want it. Also if you want this to be
compatible with Impala, wouldn't you want to name this the same way as
Impala?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/apache/spark/pull/21482#issuecomment-395587233, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAFc1dxwI0XBXVvtW7qXKOu3BmbuXEV0ks5t6asDgaJpZM4UXVuP
.

Test build #91575 has started for PR 21482 at commit 559900a.

Test build #91575 has finished for PR 21482 at commit 559900a.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Can one of the admins verify this patch?

ok to test

Test build #91601 has started for PR 21482 at commit 559900a.

Test build #91601 has finished for PR 21482 at commit 559900a.

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

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

Merged build finished. Test PASSed.

Any further comments here?

I have no more comments except the one above.

Test build #92224 has started for PR 21482 at commit b727838.

Test build #92224 has finished for PR 21482 at commit b727838.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Test build #92262 has started for PR 21482 at commit 6bd6735.

Test build #92307 has started for PR 21482 at commit be23549.

Test build #92307 has finished for PR 21482 at commit be23549.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #92315 has started for PR 21482 at commit cb8f9d0.

Test build #92315 has finished for PR 21482 at commit cb8f9d0.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #92330 has started for PR 21482 at commit d60aa21.

Test build #92330 has finished for PR 21482 at commit d60aa21.

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

Merged build finished. Test PASSed.

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

Hey I have an additional thought on this. Will leave it in the next ten mins.

OK I double checked. I don't think we should be adding this functionality, since different databases implemented it differently, and it is somewhat difficult to create Infinity in Spark SQL given we return null or nan.
On top of that, we already support equality for infinity, e.g.
spark.range(1).select(
  org.apache.spark.sql.functions.lit(java.lang.Double.POSITIVE_INFINITY) ===org.apache.spark.sql.functions.lit(java.lang.Double.POSITIVE_INFINITY)).show()

The above shows true.
If you start adding inf, we'd need to soon add functions for negative infinity, and these functions provide very little value beyond what we already support using equality.

@NihalHarish shall we leave this closed for now if you don't have any opinion on ^?

ping @NihalHarish


Compatibility issue with the Crazy Enchantments telepathy enchantment and the miner job

Crazy Enchantments  adds an enchantment called Telepathy that can be applied to a pickaxe. It teleports blocks you mine directly into your inventory.
This enchantment is incompatible with the Miner job. When you mine an ore with a Telepathy pickaxe, you don't get Miner xp or money for it.

If new enchantment is not properly registered with minecraft server and all enchants are being handled directly by plugin, then i cant help you out with this. Get in contact with plugins dev for possible fix from his end.


fix: bouncing up when crossing between tabs

:tada: This PR is included in version 2.0.0-beta.11 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


cartodb.Tiles is not available with cartodb full version

it's only working when cartodb.core.js

cc @chriswhong

There has been no activity on this issue for several months and that's why are closing it (automatically). If you think this still needs to be addressed please reopen it. The good news is that we are now working on the next version of CARTO.js, stay tuned.


chore: simplify commit convention tooling

use @commitlint/travis-cli to avoid shell script
use @commitlint/prompt to avoid commitizen config

add .travis.yml to .editorconfig tab exceptions and to .prettierignore, *.yml does not support tabs
build on node 8 for speed

Landed via https://github.com/meetalva/alva/commit/45990905329be724b6a83f4263d7950509661608


KB experimental feature issue

With the KB option enabled, whenever the overlay i clicked in order to use the KB/wheel, it disappears for a brief second, then reappears again, but the KB/wheel is not working.
This occurs every time when the overlay is clicked.
When the KB option is turned off, this does not happen, and, strangely enough, after maybe 4 versions, the wheel left/right swivel again changes the numeric values of affixes.

Hi, thanks for creating an issue. I've marked the new release as pre-release. I'll look into this asap. Please do not use the KB feature for now if possible.

0.6.20 (2020-04-10)

fix poe overlay losses focus after clicking on it (#602)

Should be fixed. Please report back! Thanks 🚀


tikv_util: Fix two leaks in mpsc test cases

As reported by asan.
Signed-off-by: Brian Anderson<EMAIL_ADDRESS>
What problem does this PR solve?
Two test cases in tikv_util use the forget method of CpuFuture, which seems to do what it says and leak memory. This changes the test cases to not do that.
Found with asan.
On its own this doesn't have much impact, but it will make future dynamic analysis easier to not have these leaks.
What is changed and how it works?
Related changes
Check List

Unit test

Release note

No release note.

/merge


[Deprecated] Facebook Connector

Deprecated. Lots of this change are now included in #73
backend/src/plugins/fb-messenger/ and front/src/plugins/fb-messenger/ are still relevant.

[x] Base facebook response
- [x] activate with front Integrated with #73
- [x] dynamically load settings components Integrated with #73
[ ] Resume previous conversation
[ ] Sanitize IDs used
[x] Use buttons
[ ] Use links

Deprecated.


Coordinator removes all segments in a datasource sometimes

Scary

Iterators.removeAll(iterator, set) removes set from iterator, not vise-versa.


feat(RHINENG-2263): Add log viewer to task details

When a task has completed, that task may have a job or series of jobs that have logs. This PR adds the ability for a user to view these logs in the UI.
A "View logs" link should appear when a job (system) is expanded and that job has logs. When the link is clicked, a drawer with a log viewer component is displayed. That log viewer has the ability to search, export as a file, and open the log in a new tab.
For now, we are adding the "View log" link in the expanded details of the job. In the next iteration, we will be adding the "View logs" action to a kebab in the table next to the job. For now, let's test the link.
Finding a task with logs may be difficult, but if you run this on prod.foo and sign into the insights-qa account, you can go to /insights/tasks/executed/10753 and view a task with logs.

Codecov Report
Attention: Patch coverage is 87.03704% with 7 lines in your changes are missing coverage. Please review.

Project coverage is 81.23%. Comparing base (0413fc2) to head (142957d).
 Consider uploading reports for the commit c4f53d5 to get more accurate results

Files
Patch %
Lines

...TaskDetails/JobResultsDetails/JobResultsDetails.js
44.44%
5 Missing :warning:

...letedTaskDetails/JobResultsDetails/JobLogDrawer.js
94.44%
0 Missing and 1 partial :warning:

...dTaskDetails/JobResultsDetails/LogDrawerDetails.js
95.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #155      +/-   ##
==========================================
+ Coverage   81.06%   81.23%   +0.17%
==========================================
  Files          69       71       +2
  Lines        1484     1535      +51
  Branches      469      478       +9
==========================================
+ Hits         1203     1247      +44
- Misses        246      252       +6
- Partials       35       36       +1

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

LGTM! Thanks @johnsonm325


removing discharge measurements from report for dvhydro

only want them to display if they are selected, not display them all the time.
https://internal.cida.usgs.gov/jira/browse/AQCU-717

Coverage decreased (-0.02%) to 87.148% when pulling b960b687510d8e8d0b4cf62ef244e867143ab0f6 on mhines-usgs:master into d09f61a49bffbdc514fc43dde14282ea7e6ee799 on USGS-R:master.

I'd say this is good for removing it from the R code, but @thongsav-usgs has suggestions for the Java side on JIRA

Yep, saw those. I'll do a new PR for that later today! Thanks!


Enhancement: Handle sending body in delete method

https://github.com/101Loop/APIManager-Flutter/blob/c5dc2cd3a3c9de29a49b19691eec07862caaa9dc/lib/src/api_manager.dart#L120
Enhancement Suggestion:

Handle sending body with delete requests which http.client out of the box don't allow.
This will help users of the package to get that functionality out of the box and it will also help in making it a one-stop solution for all API management demands.

@harshkc this does not sound valid to me, why would anyone send the body in delete requests.. :sweat_smile:
Closing this issue!


XM Cloud Tutorial: Setup - Split tutorial in two

Description / Motivation
The original tutorial covers both the infrastructure setup (Project/Environment) and Site creation (including connecting your app). This new PR splits that tutorial into two pieces.
How Has This Been Tested?
Locally and on Vercel
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[X] Documentation update (non-breaking change; modified files are limited to the /data directory or other markdown files)

Checklist:

[X] I have read the Contributing guide.
[X] My code/comments/docs fully adhere to the Code of Conduct.
[ ] My change is a code change.
[X] My change is a documentation change and there are NO other updates required.
[ ] My change has new or updated images which are stored in the /public/images folder that need to be migrated to Sitecore DAM

FYI; I have updated PR #740 with the latest changes from this branch.
Preview here: https://developer-portal-git-feature-16596b-sitecoretechnicalmarketing.vercel.app/learn/getting-started/xm-cloud/tutorials/create-a-site

Merging this up so we can keep moving forward


new RHUI certificate

Hello Azure-docs,
The https://docs.microsoft.com/en-us/azure/virtual-machines/linux/update-infrastructure-redhat documentation suggests to renovate the RHUI certificate for Linux RedHat 7.* when the below error is generated if an user tries to use the Azure redhat on-demand repostories:
https://rhui-2.microsoft.com/pulp/repos//content/dist/rhel/rhui/server/7/7Server/x86_64/dotnet/1/debug/repodata/repomd.xml: [Errno 14] curl#58 - "SSL peer rejected your certificate as expired."
The process to fix this error before Nov 22 was:
curl -o azureclient.rpm https://rhui-1.microsoft.com/pulp/repos/microsoft-azure-rhel7/rhui-azure-rhel7-2.1-19.noarch.rpm
However this 2.1-19 was deprecated on: "Nov 21 21:33:12 2018 GMT"
[username@hostnamet]# openssl x509 -in /etc/pki/rhui/product/content.crt -noout -text|grep -E 'Not Before|Not After'
Not Before: Nov 21 21:33:12 2016 GMT
Not After : Nov 21 21:33:12 2018 GMT
The new rhui certificate version (2.2-74) that fixes the '[Errno 14] curl#58 - "SSL peer rejected your certificate as expired."' is the following:
sudo wget https://rhui-1.microsoft.com/pulp/repos/microsoft-azure-rhel7/rhui-azure-rhel7-2.2-74.noarch.rpm
sudo rpm -U rhui-azure-rhel7-2.2-74.noarch.rpm
I hope this will be helpful.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: c796f6e1-4c21-87a7-3555-48dffdb3c7ce
Version Independent ID: 2878848f-33ed-fbfe-9b3c-93b86f339c6f
Content: Red Hat Update Infrastructure
Content Source: articles/virtual-machines/linux/update-infrastructure-redhat.md
Service: virtual-machines-linux
GitHub Login: @BorisB2015
Microsoft Alias: borisb

Thanks for the feedback! We are currently investigating and will update you shortly.

@v-eslop I have assigned the issue to the content author to investigate further and update the document as appropriate.
@BorisB2015 Can you please take a look and update the doc as appropriate. Thanks. :)

Docs were updated. Should be live with the next publish.

#please-close

@BorisB2015 Thanks for the update.
@v-eslop Thanks for bringing this to our attention. We will now close this issue. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


got "exec format error" when i  use --static

In the Alpine Linux Docker container
$ crystal -v
Crystal 0.26.1 (2018-08-30)

LLVM: 5.0.1
Default target: x86_64-alpine-linux-musl

$ uname -a
Linux 93c8d84ac774 4.9.87-linuxkit-aufs #1 SMP Wed Mar 14 15:12:16 UTC 2018 x86_64 Linux

$ echo 'puts "hello world!"' > hello_world.cr

$ crystal build --static -o hello_world hello_world.cr

Then, I had get a binary file "hello_world".
In the mac pro
$ crystal -v
Crystal 0.26.0 (2018-08-17)

LLVM: 6.0.1
Default target: x86_64-apple-macosx

$ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.13.1
BuildVersion:	17B1003

$ uname -a
Darwin localhost 17.2.0 Darwin Kernel Version 17.2.0: Fri Sep 29 18:27:05 PDT 2017; root:xnu-4570.20.62~3/RELEASE_X86_64 x86_64

$ ./hello_world #this file is that build in the docker container
exec format error: ./hello_world

can you tell me how let it work, thx

macOS doesn't support static linking: https://github.com/crystal-lang/crystal/wiki/Static-Linking

This has nothing to do with static linking. MacOS simply can't run a Linux binary.
You need to compile your binary for MacOS either directly on that OS or using cross compilation.
But then, yes static linking won't work either.

Closing. 1. Please build a binary on macOS and 2. you can't compile a static binary on macOS anyway, just try to get static libraries linked instead of shared ones —but system libraries will always be linked dynamically.


Slims have no date/version, should be required

This was pointed out by a third party, but there is no version or date on the slim files.  Can we add creation dates if known, and specify files now need to at least include the GO release they're based on? Would prefer both GO release & creation date. Not sure if there's a specs doc for the headers anywhere.

I think this is a pipeline task - @kltm what do you think? Can we move repos?

@pgaudet The code for this is in the ontology build and the data for this is in the ontology, I believe this is the repo where all activity will take place.

@kltm @pgaudet can you point me to a file in the release that represents what this issue is about?

@balhoff I believe an example would be
http://current.geneontology.org/ontology/subsets/goslim_yeast.obo
It looks like
http://current.geneontology.org/ontology/subsets/goslim_yeast.owl
has a (dated) version, but not a date?

We should indeed sort out what the headers should look like. The yeast slim.obo for example has
format-version: 1.2
subsetdef: chebi_ph7_3 "Rhea list of ChEBI terms representing the major species at pH 7.3."
  SGD has a 2023 slim ready- it's identical to the existing yeast slim but we just reviewed it and can put a Feb 2023 date & 2023-01-01 on it.

I see, these subset ontologies should have the same style of date-based version IRI as the main ontology. Unfortunately they're generated as a byproduct of running OORT, which complicates the fix a little bit. The latest ROBOT release (yesterday) has a new subset command which we may be able to switch to (we should migrate away from OORT).

I made a PR (#24940) to insert the versionInfo property, which the main ontology has in addition to the versionIRI. It's just a string, like "2023-02-17". Now all the subset OWL, OBO, and JSON files will have versionIRI and versionInfo. I don't think there is anything to fix as far as the headers go; they're just normal ontology headers based on the content.

@balhoff Great! I'll merge and we can take a look at the product.

@Jim Balhoff  Having trouble with ontology build with:
13:46:11  make: *** No rule to make target 'build/subsets/gocheck_do_not_annotate.tsv', needed by 'subset-reports'.

after last PR merge.

@kltm sorry about that, here is a fix: #24941

NP! I'll take it for a spin again.

@balhoff Looking at the ontology products, the ontology files seem to be missing?
http://skyhook.berkeleybop.org/master/ontology/subsets/
Compare to:
http://current.geneontology.org/ontology/subsets/

@balhoff It seems things are now showing up in a (non-exported) build/subsets/ directory, instead of the exported build/ directory.

Trying build again on master now that we've merged.

@balhoff It looks like the file layout is back and identical to the last release :)

@pgaudet The produced files have data included now. I believe this can be closed.


Leaderboard filters occupying so much space in mobile view

Action Items

[ ] Make the filters collapsible in mobile view or move "Role" and "Sorting" filters to secondary filters inside a popover which can be viewed upon pressing a button.
[ ] Reduce the font-size in mobile view

I would like to work on this issue


Fix trifling typo of README.md

Fixed trifling typo of README.md.
wrong: -apiey
correct: -apikey

LGTM, Thank you.


Remove out of date message from reference docs and GCP getting started

I reviewed the images and overview reference guides, and the getting started on Google Cloud page. These pages look good to me, so I removed the Out of Date message.

/lgtm
/approve


PSR1 & PSR2 Conversion

Related to #319 where the fork was deleted and the PR is an orphan.

Reference issue #317.
Tried to run tests on current master copy in addition to this PR version, kept getting errors referencing Class SendGrid and Class SendGrid\Client not found. I'm going to assume it's related to this #91

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Hello @Braunson,Thanks again for the PR! We want to show our appreciation by sending                                              you some swag. Could you please fill out                                              this form so we can send it to you? Thanks!                                             Team SendGrid DX


Users with spaces in their usernames.

It appears that there isn't a way to delete direct messages where one or more of the users has a username with a space in it. One of my users has a "First Last" username. I've tried putting the name in quotes, as well as using the "@" code (ex: <@U2B7M4JKQ>). This @ code I tried with and without the opening and closing brackets, as well as with quotations.

can you send me the command line you are executing with the username replace with dummy values but having the same pattern?

are you sure regarding the user name. I checked my slack members and while the list of members shows that some use their full name as user name. They internally have the name part of their email address. You can modify cli.py such that it will print the list of users to confirm the user names.

can you try to find out whether you have the right name by listing all of them using the new --info feature= #18

so when you execute the program with --info to list all users, the desired user name does not work?
as an alternative you can check out the new develop branch which uses a scripted approach instead of a command line one.

when I run with the --info parameter
(slack-cleaner --token  --mpdirect Mary,Tom Joson,Mpetbe --info)
it returns slack-cleaner: error: unrecognized arguments: Jonson,Mpetbe

try something like slack-cleaner --token <yourtoken> --info

Then I get this error message..
Traceback (most recent call last):
File "/usr/local/bin/slack-cleaner", line 9, in
load_entry_point('slack-cleaner2==0.1.0', 'console_scripts', 'slack-cleaner')()
File "/Library/Python/2.7/site-packages/slack_cleaner2-0.1.0-py2.7.egg/slack_cleaner2/cli.py", line 209, in main
_show_infos(slack)
File "/Library/Python/2.7/site-packages/slack_cleaner2-0.1.0-py2.7.egg/slack_cleaner2/cli.py", line 23, in _show_infos
_print_dict('users', {u.id: '{} = {}'.format(u.name, u.real_name) for u in slack.users})
File "/Library/Python/2.7/site-packages/slack_cleaner2-0.1.0-py2.7.egg/slack_cleaner2/cli.py", line 23, in
_print_dict('users', {u.id: '{} = {}'.format(u.name, u.real_name) for u in slack.users})
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe4' in position 8: ordinal not in range(128


Can't replace unhealthy member

My cluster got somehow in an unhealthy state, so I wanted to replace unhealthy instances from the cluster with
core@ip-10-0-1-12 ~ $ etcdctl member remove e25938377bdd2340
Recieved an error trying to remove member e25938377bdd2340: context deadline exceeded

Same when I try to add a member:
 core@ip-10-0-1-12 ~ $ etcdctl member add infra4 http://<IP_ADDRESS>:2380
 context deadline exceeded

My goal was to replace 2 of 3 instances with new nodes, I'm running CoreOS stable (723.3.0). Initial cluster had 3x etcd-nodes and 2 proxy instances, I'm using dns-SRV for discovery.
<IP_ADDRESS> is the only healthy etcd2 machine. Do I need at last 2 healthy members to add new members?

You need a quorum to perform cluster membership modifications, as they involve writing to the cluster. See https://github.com/coreos/etcd/blob/master/Documentation/runtime-configuration.md
If you don't expect any of these nodes to come back up, you'll have to use -force-new-cluster to recover: https://github.com/coreos/etcd/blob/master/Documentation/admin_guide.md#restoring-a-backup

@mborho What @JacekLach mentioned is true. Please read the doc he referred. I think you will get your problem solved.

I realize that we get what we pay for, but this remains a terrible design.  It's as if usage/deployment of etcd has never been considered.  The user should have the ability to override quorum and force state into the cluster.
Given that quorum is lost, he should be able to do:
etcdctl --force member add infra4 http://<IP_ADDRESS>:2380
and force any known, reachable nodes to add the given node to their member list.  The call can even be blocking to make sure all healthy nodes get the new forced member.
Similarly,
etcdctl --force member remove
should connect to every reachable node and remove the member from its list.
I cannot think of a valid reason why someone with root access to every box has to jump through the hoops documented in the above URLs. The user should be able to override quorum whenever necessary.

I realize that we get what we pay for, but this remains a terrible design.

I think this is a too harsh word. We treat consistency and correctness of your cluster seriously. Reconfiguration is basically not as simple as you might think. And we have thought it for quite a while and have no intention to change the fundamental principle any time soon.

It's as if usage/deployment of etcd has never been considered.

Your assumption is wrong. We wrote docs to talk about the reason. Please check https://github.com/coreos/etcd/blob/master/Documentation/runtime-reconf-design.md#permanent-loss-of-quorum-requires-new-cluster.
In a word, we might provide better UX in the near future (see https://github.com/coreos/etcd/pull/2366), but we probably will never let our user to change anything bypass raft at runtime.

@eaoliver Moreover, if you are considering to run etcd under an environment that will lost quorum frequently (within a day), you should probably decide not run etcd. etcd is simply not designed for this kind of environment. It introduces too much operational overhead.

I see the reasoning, but I still disagree.  Bypassing the consensus mechanism when there is no consensus is fine.  In these rare circumstances, you can connect to every node, block, and wait for everyone to commit the new member (that may be assumed to have no state), and be done.
I'm all in on the CoreOS stack. I think it's fantastic. However, every time my etcd2 cluster gets unhealthy and I get cryptic "context deadline exceeded" messages when I try to recover, it's maddening!

@eaoliver

you can connect to every node, block, and wait for everyone to commit the new member (that may be assumed to have no state), and be done.

We cannot make this kind of assumption in a distributed system. We are not going to let you bypass consensus at runtime. Sorry.

However, every time my etcd2 cluster gets unhealthy and I get cryptic "context deadline exceeded" messages.

As I said, if you are consistently losing your quorum, you probably should not run etcd at all.

@eaoliver I think maybe you need to check why your etcd2 instances consistently gets unhealthy, this is such a rare case, I agree with @xiang90, if you are consistently losing your quorum, maybe you should not run etcd. And I think a better cluster management UI tool is necessary, how about this @xiang90 ?

I didn't say it was constantly happening and I know exactly how it happened.  The fact is is can happen due to hardware failure, and it is hard to recover from.
The product would be better if the user could manually force members into an existing unhealthy, unusable cluster.

On Aug 22, 2015, at 8:06 PM, TonyAdo<EMAIL_ADDRESS>wrote:
@eaoliver I think maybe you need to check why your etcd2 instances consistently gets unhealthy, this is such a rare case, I agree with @xiang90, if you are consistently losing your quorum, maybe you should not run etcd. And I think a better cluster management UI tool is necessary, how about this @xiang90 ?
—
Reply to this email directly or view it on GitHub.

@mborho I am closing this due to low activity. I think @JacekLach gave you a correct answer. Please give it a try. If you still have questions, feel free to reopen this issue. Thanks for reporting!

@eaoliver If you have more thoughts on this, please leave it to https://github.com/coreos/etcd/issues/3203.
@AdoHe We would like to have a ui to show cluster status. But we do not have the bandwidth to work on that now. If you would like to, can you send a proposal as a pull request?

@xiang90 yes, I think so. As I'm using etcd with CoreOS and the cluster was running for test/demo purposes, I've set up a new one. I do not want to fall in the habit of manually changing things on the cluster.... if possible.
It was only a cluster of 3 instances, which caused the problem... after one instance got corrupted and another one failed...
Nonetheless, perhaps "context deadline exceeded" could be replaced with something more telling, so it would be easier to grasp an idea of what gone wrong.

@mborho I totally agree that we should improve the context deadline exceed thing. And actually, the error message has been improved in current master. 2.2 will be released soon.

@xiang90 I will do that as soon as possible.


Separate movement functionality from the game tick queue

Too little time left and too risky to merge this.


⚠ Bofrost.de has degraded performance

In e68c553, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1299 ms

Resolved: Bofrost.de performance has improved in d114bc2 after 23 minutes.


characters argument and plt.savefig

There seem to be a problem when saving figures as pdf with matplotlib.pyplot.savefig and using the characters argument in Waffle: some characters are replaced by others.
list_character = ["🖳", "🐍"]

from pywaffle import Waffle
from matplotlib import pyplot as plt

n_row = 4
n_column = 5

import numpy as np
list_value = np.ones(len(list_character))

fig = plt.figure(
    FigureClass=Waffle,
    rows=1,
    columns=len(list_character),
    values=list_value,
    characters=list_character,
    font_file="~/.fonts/Symbola.ttf",
    font_size=50
    )

plt.savefig("replaced_character.pdf")
plt.close("all")

yields the attached file (two snakes instead of a computer and a snake).
The computer alone is correctly printed. Inverting the order yields two snakes.
replaced_character.pdf

Are you using the latest version, 0.4.1?
I have tested the code above while I can't reproduce this issue

Yes, I use 0.4.1. Maybe some other package should be updated?!

Since I can't reproduce the issue, it's kind of tricky to figure out what goes wrong with your result. But it would be great if we can answer the following questions:

Does it only happen to pdf files, or is it the same result when showing in a pop window or save with other image format?
Could you check fig._pa to make sure it is the right parameters being passed?
Could you please find a shareable notebook, such as Azure Notebooks, so that I can see the result and maybe start debugging?

yes, it only happens when saving to pdf. Not in interactive mode, nor when saving to scg or png.
The value associated to 'characters' in fig._pa is correct.
It might take some time. I'll try.

Interesting. If so, I’m thinking if it’s not the code or package related, but more related to the font or pdf reader. Since you are using a custom font, which might not be included or supported by something.

Installing pycairo and adding
matplotlib.use('cairo')
before plotting the figure solved the problem.

Good to know that works for you! It does remind me that I have cairo installed on my mac while I didn't switch matplotlib's backend manually.


[NixIO] Object names, writing, and overwriting

This is a copy of a thread I started on the NeuralEnsemble mailing list (https://groups.google.com/forum/#!topic/neuralensemble/NYpXcjlTzFE)
I'm rewriting some parts of the NixIO to make them more efficient. One thing that's very inefficient in the current IO is the function that resolves naming conflicts between objects. While rethinking the functionality, I've realised that there is some ambiguity in the way writing works, in particular when rewriting objects. I'm starting this thread to request comments on how people expect the IO to work and what should be considered the right way of doing rewrites.
First, some background
The NIX data format requires unique names between objects of the same type. Due to the mapping between Neo and NIX object types, object names in the following groups must be unique:

AnalogSignal, IrregularlySampledSignal: Map to DataArray
Event, Epoch, Spiketrain: Map to MultiTag
ChannelIndex, Unit: Map to Source

Another important restriction of the NIX format is that object names are required (can't be empty string or None). I have noticed that it is not uncommon for objects, especially container types like Block and Segment, to be anonymous in Neo, so the NixIO automatically generates names for anonymous objects during writing.
Current state of NIX writer
Currently the NixIO has a method called 'resolve_name_conflicts' which accepts a list of objects and, as the name suggests, goes through and finds anonymous objects and objects with conflicting names and resolves the issues. Anonymous objects get a name based on their type and the number of objects of that type (e.g., neo.Block-2, neo.Block-3, etc) and conflicting names get a number appended to them.
Issues with the current state
There are two things that I don't like about the current function:

It renames the user's objects. This could cause issues for users who attach meaning to the names of objects but more generally, I believe it's wrong for a "save" function to in-place modify the data it's been given. While it is possibly unavoidable to keep conflicting or invalid names after a user saves and later loads the data (more on this later), we can certainly avoid editing the objects that the user has passed to the writer and may still be working on after a successful save (during the same session or script).
It's rather slow. Checking for conflicts can slow down writing and it's especially bad when there are no conflicts to resolve. An on-demand renaming would be preferable (I'm working on this now).

The bigger issue
The issues I mention above can be resolved in many ways, but each solution makes some assumption about how rewrites should work. This is where I could use some feedback. When writing an object to a file that already contains an object with the same name, should the new object overwrite the old, or should it be renamed and stored alongside? If we overwrite, how do we handle repeated writes of anonymous objects?
Consider the following example script:
nixfile = NixIO(filename, "rw")

block = neo.Block("datablock")  # a simple block
nixfile.write_block(block)

block.name = "datablock-B"  # same block renamed
nixfile.write_block(block)

print(len(nixfile.read_all_blocks()))
nixfile.close()

nixfile = NixIO(filename, "rw")
nixfile.write_block(block)  # same block written again
print(len(nixfile.read_all_blocks()))
nixfile.close()

nixfile = NixIO(filename, "rw")
block = neo.Block("datablock-B",  # new block, reused name
                  description="a new datablock with an old name")
nixfile.write_block(block)
print(len(nixfile.read_all_blocks()))
nixfile.close()

nixfile = NixIO(filename, "rw")
blks = [neo.Block() for _ in range(10)]  # 10 anonymous blocks
nixfile.write_all_blocks(blks)
print(len(nixfile.read_all_blocks()))
nixfile.write_all_blocks(blks)  # write them again without changing anything
print(len(nixfile.read_all_blocks()))

blks = [neo.Block() for _ in range(10)]  # 10 new anonymous blocks
nixfile.write_all_blocks(blks)
print(len(nixfile.read_all_blocks()))
nixfile.close()

nixfile = NixIO(filename, "rw")
for _ in range(10):  # write 10 anonymous blocks, one at a time
    nixfile.write_block(neo.Block())
print(len(nixfile.read_all_blocks()))
nixfile.close()

nixfile = NixIO(filename, "rw")
for idx in range(10):  # write 10 named blocks, one at a time
    nixfile.write_block(neo.Block(name=str(idx)))
print(len(nixfile.read_all_blocks()))
nixfile.close()

What should the number of blocks be each time we print the result of 'read_all_blocks'?
I don't know if this is comparable to how other IOs handle rewrites. This issue begins with the naming of objects, but it goes beyond that. For instance, the naming issue can be circumvented entirely by giving each object stored in NIX a unique identifier for a name and just storing the Neo object name as an attribute. This would preserve the name for loading and even keep anonymous objects anonymous after a save-load cycle.
I'm curious to hear from Neo devs, IO devs, and users. What should happen when you do a "write" multiple times on the same object? What about if you load data, modify it, and then write it within a single session?
I can probably work with any (reasonable) expected behaviour, but while thinking about all the alternatives I realised that I was assuming too much.

the naming issue can be circumvented entirely by giving each object stored in NIX a unique identifier for a name and just storing the Neo object name as an attribute.

I think this is definitely the best way to solve the name problem.

Sam Garcia's response to the original thread

A short answer:

Yes, writting in neo.io is not well defined, few IO use write possibility and so API is fuzzy.
To avoid magic behavior. If a unique name is required for an object, it should raise an error if name is not given when NixIO.write_block(...).
I would add 2 args for each writting methods: generate_primary_key=False and overwrite_object_if_exists=False. So errors would be raised unless the user known what he is doing.

Primary keys for neo object was more or less discussed once. I remember correctly we decided to let this problem out of neo because a primary is unique but only in a given context. And the context can have different scale (file, set of files, database, set of databases).

I like the idea of leaving it up to the user to define the behaviour via args. This might cause issues with usability if users just want to read from one format and quickly save it to another.
It still kinda leaves open the issue of writing anonymous objects repeatedly. In other words, what would the following steps produce:

Load AnalogSignal with no name from a file in a format other than NIX.
Save AnalogSignal using NIXIO and set generate_primary_key=True.
Change some data in the AnalogSignal and save again with generate_primary_key=True (the value of overwrite_object may not be relevant, depending on whether the IO assumes certain things about the object's identity).

This will most likely duplicate the data in the file since there's no good way to determine that the previously saved DataArray is the same as the modified one. If this happens repeatedly, it might leave the user in a state where they don't know which of the stored DataArrays is the latest.

@apdavison Since you like it, I'll get to work on that naming solution as a start.

It looks to me as if consistent and intuitive overwriting behaviour will require NIXIO to give a unique ID to each object, so there should be no generate_primary_key option. In your example:

Load AnalogSignal with no name from a file in a format other than NIX.
Save AnalogSignal using NIXIO
Change some data in the AnalogSignal and save again

At stage 2 , NIXIO should create a unique ID for the AnalogSignal, and add it as an annotation to the AS object. At stage 3, you know it is the same object because the UID hasn't changed, so you can overwrite the DataArray if necessary.

I see. Yes, I think that would work nicely.
To clarify (for myself as well as anyone else reading), the steps would be:

Load AnalogSignal with no name from a file in a format other than NIX.
Save AnalogSignal using NIXIO
2.1. neo.AnalogSignal is converted to nix.DataArray
2.2. DataArray name is assigned a unique ID (nix_id).
2.3. AnalogSignal name is stored in DataArray's metadata as neo_name.
2.4. nix_id from step 2.2 is assigned to AnalogSignal's annotations.
Change some data in the AnalogSignal and save again
3.1. NIXIO reads the AnalogSignal nix_id annotation and overwrites the previous DataArray.
In a new session, the data is read from the NIX file
4.1. The nix.DataArray is converted to a neo.AnalogSignal
4.2. The AnalogSignal name is set using the neo_name property from the DataArray's metadata.
4.3. The AnalogSignal nix_id annotation is set using DataArray's name.

I am back, to make things more complicated:
One neo object could belong to 2 NIX files with 2 diffrents ids (name here).
So the primary key must be "by context". Am I wrong ?
In that case the tuple  (instance of NixIO, instance of neo object) give a unique key (name).
So 2 possiblities, using the function id() of python:

the neo object have dict of all NixIO instance (general case is one instance)  to get the primary key.
the instance have dict of neo object to get the primary key.

I prefer the 2. In that case the nixIo instance is the context.

I think that if you save the same Neo object to two different NIX files, it should have the same uid in both files.

I'm not sure I understand the issue. The first time a Neo object is saved in a NIX file, it gets a key. As long as it has that key, if it's stored in a new NIX file, the key wont be generated; the NIX IO will just find the existing key and use it. So the object will retain its unique key throughout multiple saves and loads and across multiple files.
This might be an issue if an object is loaded from, say, a pickled file, stored in a NIX file, then loaded again, and stored in another NIX file. The two objects in the two NIX files will have different keys in this case.

I came across an interesting case that I hadn't considered.
Consider the following:
block = neo.Block("blk")
st = neo.SpikeTrain(...)
for idx in range(10):
    seg = neo.Segment(str(idx))
    block.segments.append(seg)
    seg.spiketrains.append(st)

So we have one Block with one Segment and each Segment references the same SpikeTrain.
This isn't incompatible with nix, but what happens now, while writing the entire Block, is that the first time it comes across the SpikeTrain, it names it and stores it. The second time it comes across that same SpikeTrain, it finds the name and tries to write it again, instead of simply adding a reference to a Group (the analogue to a Segment). The current open Pull Request which implements this change doesn't cover it and will fail if this happens.
I'll update the branch of the open PR with a fix and add a test for it.
I'll update the branch to fix this.


Add RIR : afnic

Example use
import whoisit
whoisit.bootstrap()
whoisit.entity('GAR109-FRNIC', rir='afnic')

This looks fine. Could you also add AFNIC to RIR_ENTITY_PREFIXES please? Then you wouldn't need to specify the rir manually either. Once you've done that I'll merge it. Thanks for the contribution!

Okay done @meeb ✅

Excellent, thanks!

This is merged into the 2.7.7 release available now.


fix: Smooth Custom Scrollbar

PR Fixes:

1 #1243

Resolves #1243

Checklist before requesting a review

[x] I have performed a self-review of my code
[x] I assure there is no similar/duplicate pull request regarding same issue

Thank you sir


Unable to install ikomia via pip

Describe the bug
Unable to find ikomia with python3.10 version
ERROR: Could not find a version that satisfies the requirement ikomia (from versions: none)
ERROR: No matching distribution found for ikomia
To Reproduce
Create virutalenv by using Python 3.10.13
pip install ikomia
Expected behavior
A clear and concise description of what you expected to happen.
Logs/Screenshots
If applicable, add logs/screenshots to help explain your problem. Ikomia logs are save in $HOME/Ikomia/log.txt.
Environment:

OS: mac version 14.2
Python version  3.10.X
Ikomia API version 0.10.0

Additional context

Add any other context about the problem here.

Hello @kdudyala! Thank you for your interest in Ikomia API.
Unfortunately we do not provide pre-built wheels for Mac OS for now.
As we know that more and more developers are working from Mac, we plan to support it in early 2024.

Thanks for the info @LudoBar
I am facing below issue while trying to import ikomia on Linux container.
(env) kdudya@kdudya-mex:~/menu$ python
Python 3.9.12 (main, Apr  5 2022, 06:56:58)
[GCC 7.5.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.

import ikomia
Traceback (most recent call last):
File "/home/user/menu/env/lib/python3.9/site-packages/ikomia/core/init.py", line 19, in
from ikomia.core.pycore import *
ImportError: libusb-1.0.so.0: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "", line 1, in
File "/home/user/menu/env/lib/python3.9/site-packages/ikomia/init.py", line 17, in
from ikomia import utils
File "/home/user/menu/env/lib/python3.9/site-packages/ikomia/utils/init.py", line 15, in
from ikomia.utils import iklogger
File "/home/user/menu/env/lib/python3.9/site-packages/ikomia/utils/iklogger.py", line 25, in
from ikomia.core import config
File "/home/user/menu/env/lib/python3.9/site-packages/ikomia/core/init.py", line 22, in
from ikomia.lib.pycore import *
ModuleNotFoundError: No module named 'ikomia.lib.pycore'

Indeed, we depend on libusb-1.0 library and it is often provided by Linux distribution but sometimes not. So if you use Debian, Ubuntu or derived, you just have to do:
apt install libusb-1.0-0-dev
It should be almost the same with others Linux distributions with their respective package manager.

thanks


Getting error while compiling on OSX (all java versions)

We've been using lombok for more than a year now, but since our update to 1.16.6 i'm getting this error while compiling on mac osx:
warning: lombok.javac.apt.Processor could not be initialized. Lombok will not run during this compilation: java.lang.RuntimeException: java.lang.ClassNotFoundException: lombok.javac.handlers.HandleHelper
Switching back to 1.16.4 seems to resolve the issue

This seems similar to #826 - but for some reporters in that thread 1.16.4 was actually the culprit

@askoning I would agree with you, but the root cause of the issue i'm getting seems to be a missing class lombok.javac.handlers.HandleHelper which then causes initialization to fail

@martintreurnicht Can you send us the complete stack trace? I did a quick peek at the place that generates this error, and it should have given you a complete stack trace. We like line numbers.

I've just created an edge release. After download, you probably need to rename the file from lombok-edge.jar to lombok.jar.
If you use that version, during compilation a warning should occur containing a reference to a report file that's created in your temp directory. You can also just look in your temp directory for files called
lombok-processor-report-*.txt.
This file probable tells you where the problem comes from. If you cannot figure it out, can you copy the contents of the file to this issue so we can have a look as well?

I'm not sure what caused the issue originally but it seems that it started working again, might be some kind of weird classpath issue but it's no longer an issue.


Slow performance with maximized window Ubuntu

I'm seeing degraded performance while a window is maximized on Ubuntu. Works perfect if the window is either fullscreen or non-maximized.
Cpu profile, heap screenshot can be found here:
https://github.com/leifcr/atom_maximized_performance_ubuntu_issue
Steps to reproduce:

Open Atom 1.2.1 or Atom 1.3.0-beta4 in safe mode
Open testfile1.txt and testfile2.txt
Tab between the files in maximized window state.

System configuration:
Ubuntu 15.10
Resolution 3200x1200
Intel HD Graphics 5000
Intel Core i7-4702hq
16 GB ram
SSD drive
Same configuration, but running in lower resolution 1920x1080 works like it should.
Gif for maximized window:
![Maximized window tabswitching]
(https://raw.githubusercontent.com/leifcr/atom_maximized_performance_ubuntu_issue/master/maximized_tab_switching.gif)
Gif for fullscreen:
![Full screen tab switching]
(https://raw.githubusercontent.com/leifcr/atom_maximized_performance_ubuntu_issue/master/fullscreen_tab_switching.gif)
Shows the difference and the slow drawing of the window in maximized state.

@benogle I suspect it might only be the combination of ubuntu 15.10, Intel Graphics 5000 and 3200x1200 resolution, as I've tried various setups with Ubuntu 15.10 + Nvidia or AMD graphics and 3200x1200 resolution, and they don't seem to suffer from the same issue.

@leifcr Did you ever find a workaround for this. VSCode also uses Electron/Chromium and @eugen-v hit a similar issue under similar circumstances in VSCode.

@alexandrudima i didn't find a solution, so I'll have a look at vscode and see if I can reproduce similar  results.

/cc @zcbenz

After getting info on Microsoft/vscode#162 that it might be related to mesa/chromium issues, I've updated to the drivers in this ppa: https://launchpad.net/~oibaf/+archive/ubuntu/graphics-drivers, and perfomance is equal in maximized, full screen and scaled windows. I'll raise an issue against the graphics drivers on Ubuntu.

Filed against ubuntu here: Filed against ubuntu here: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/1525207

@50Wliu Since it's a ubuntu driver issue, I'm closing this here.

Related to #9561 (?)


[BUG] sudo subscription-manager repos --enable rhocp-4.10-for-rhel-8-$(uname -i)-rpms

What happened:
From the link: https://github.com/openshift/microshift/blob/main/docs/devenv_rhel8.md,
$sudo subscription-manager repos --enable rhocp-4.10-for-rhel-8-$(uname -i)-rpms
The error happened:
Error: 'rhocp-4.10-for-rhel-8-x86_64-rpms' does not match a valid repository ID. Use "subscription-manager repos --list" to see valid repositories.
What you expected to happen:
No error
How to reproduce it (as minimally and precisely as possible):

$sudo subscription-manager repos --enable rhocp-4.10-for-rhel-8-x86_64-rpms

Anything else we need to know?:
Environment:

Microshift version (use microshift version):
MicroShift Version: 4.10.0-0.microshift-unknown
Base OCP Version: 4.10.18
Hardware configuration:
Intel Notebook
OS (e.g: cat /etc/os-release):
$ cat /etc/os-release
NAME="Red Hat Enterprise Linux"
VERSION="8.6 (Ootpa)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="8.6"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Red Hat Enterprise Linux 8.6 (Ootpa)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:8::baseos"
HOME_URL="https://www.redhat.com/"
DOCUMENTATION_URL="https://access.redhat.com/documentation/red_hat_enterprise_linux/8/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"

REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 8"
REDHAT_BUGZILLA_PRODUCT_VERSION=8.6
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="8.6"

Kernel (e.g. uname -a):
$ uname -a
Linux localhost.localdomain 4.18.0-372.19.1.el8_6.x86_64 #1 SMP Mon Jul 18 11:14:02 EDT 2022 x86_64 x86_64 x86_64 GNU/Linux

Others:

Relevant Logs

It works for me:

The team has not been able to reproduce this problem. If you're still having trouble, please reopen the ticket with a comment including the output of subscription-manager repos --list


Title case or sentence case

While working on #629, I noticed that some headings are written with all capital letters (title case) and some are written with just the first word capitalized (sentence case).
I think it would be useful to decide which one we want to use and stick with it. That will make the site look more professional.
Personally, I don't have a strong opinion on this matter, but I do prefer sentence case.
More information about the differences can be found Why letter casing is important and Making a case for letter case.

Good catch! Let's go with sentence case.

The templates now use sentence case. I need to add a short note about this to the CONTRIBUTING guide, and then we can close this issue.

Fixed in #634


[Network] Implement more intelligent downloading process in Torrent Manager

This will most likely need to wait after #30 and #25 are done

Rarest first, only download x pieces at a time, limit number of standing requests for a given block


Provide function to extract Json.Decode.Decoder?

Would it be possible to have a function like this:
asDecoder : Codec e a -> Decoder a

to extract a Decoder? This could be useful when combining Codecs with other code that is handling JSON but is not using Codecs. For example, I would like to use the elm-geometry-serialize package to add some fields to some existing decoders.

I've had thoughts about adding that but I think there was some difficultly that made me put it off. I unfortunately don't remember what it was but I can give this a shot and see if I run into the problem again.

What do you think of these type signatures?
-- Converts any error information into a String so that the Json.Decoder can fail and show that info
getJsonDecoder : (e -> String) -> Codec e a -> Json.Decode.Decoder a

-- Returns a Result with error information in the Err variant
getJsonDecoder : Codec e a -> Json.Decode.Decoder (Result e a)

-- Matches what you suggested but loses any error information
getJsonDecoder : Codec e a -> Json.Decode.Decoder a

I mean you can get 1 and 3 using 2, so it makes sense only to expose 2.
3:
getJsonDecoder
    >> Json.Decode.andThen
        (Result.withDefault (Json.Decode.fail "error in codec"))

1:
getJsonDecoder
    >> Json.Decode.andThen
        (Result.extract (Json.Decode.fail << {- toString -}))

using extract from elm-community/result-extra.

I am one-plussing this as it would allow a progressive replacement of Decode/Encode in big code bases.

Yeah sorry, I had forgotten about this issue. I have an implementation that's pretty close to finished already so I'll just sort that out this week.

Amazing! Thank you'
Mer 05 janv 2022, à 00:40, MartinSStewart a écrit :

Yeah sorry, I had forgotten about this issue. I have an implementation that's pretty close to finished already so I'll just sort that out this week.
—
Reply to this email directly, view it on GitHub https://github.com/MartinSStewart/elm-serialize/issues/17#issuecomment-1005254955, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABSPGZUKP5UUW2JHWTWUV3UUOANTANCNFSM5CQKGDCQ.
You are receiving this because you commented.Message ID: @.***>

elm-serialize version 1.3.0 is now published! getJsonDecoder: (e -> String) -> Codec e a -> JD.Decoder a is now added.