text:
Looking for maintainer

If you're interested in taking over this project, please respond with some kind of bona fides and an assertion of interesting maintaining the package under a compatible open source license. Thanks.

Let's talk.  I created and maintain the Perl wrapper around Tidy, and I'm looking at Python projects that I can contribute to.

@petdance sorry for the extraordinarily late response; as you can probably guess I haven't been looking at this project for a while. Let me know if you're still interested at all.

Notionally, yes, I'm still interested.  Tidy is a great library and I'd like to make it as easy as possible for folks to use it.
That said, my time is also pretty busy these days, so I don't have time right now to pursue this, but I'd very much like to.

authors: countergram petdance

repo: countergram/pytidylib


text:
cs complete for snapsots not working like resolve or bootstrap

Is there a way to do the following:
cs complete -r sonatype:snapshots org.scalameta:metals_2.12:

This only returns stable version rather than the snapshots I'd expect.
However if I target a snapshot directly with resolve, it does work.
cs resolve -r sonatype:snapshots org.scalameta:metals_2.12:0.8.4+127-65087a2b-SNAPSHOT

If resolve is able to resolve this snapshot, I sort of expected complete to be able to pick up on all the published snapshots. Is there a way to do this that I'm missing by chance?

Following up on this from Gitter today. I realized I actually had an issue created for this a year ago 😬 .

After a lot of printlns, I think it's a combination of how coursier completion works + how sonatype snapshots are setup differently.
Main reason can be demonstrated easily:
➜  ~ curl -s -L https://oss.sonatype.org/content/repositories/releases/ | head
<!DOCTYPE html>
<html>

<head>
	<title>Central Repository: </title>
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<style>
body {
	background: #fff;
}

➜  ~ curl -s -L https://oss.sonatype.org/content/repositories/snapshots/ | head
Directory listing forbidden%

And it seems that coursier gradually peels off the artfiact parts until it gets to the root (i.e. after removing org), until it needs to download (and potentially cache) the listing for /snapshots root on Sonatype. But that fails.

./mill -i -w cli.run complete --cache force --no-default -r sonatype:snapshots org.scalameta:metals_2.12:
```
List(LocalUpdateChanging, LocalOnly, Update)
Processing MavenRepository(https://oss.sonatype.org/content/repositories/snapshots, None, None, true, true) with MavenComplete(MavenRepository(https://oss.sonatype.org/content/repositories/snapshots, None, None, true, true), coursier.cache.FileCache$$Lambda$845/0x0000000800422040@5eac003a, coursier.util.PlatformTaskCompanion$$anon$2@5a938f37)
Input Ver(org.scalameta:metals_2.12, org.scalameta:metals_2.12:, 26)
DIR URL: https://oss.sonatype.org/content/repositories/snapshots/org/
Artifact: Artifact(https://oss.sonatype.org/content/repositories/snapshots/org/.links, Map(), Map(), true, false, None)
Artifact(https://oss.sonatype.org/content/repositories/snapshots/org/, Map(), Map(), true, false, None)
true
Checking org Org(org.scalameta)
DIR URL: https://oss.sonatype.org/content/repositories/snapshots/
Artifact: Artifact(https://oss.sonatype.org/content/repositories/snapshots/.links, Map(), Map(), true, false, None)
Artifact(https://oss.sonatype.org/content/repositories/snapshots/, Map(), Map(), true, false, None)
true
Checking org Org(org)
Downloader for Artifact(https://oss.sonatype.org/content/repositories/snapshots/, Map(), Map(), true, false, None)
Local file: force/https/oss.sonatype.org/content/repositories/snapshots/.directory for url https://oss.sonatype.org/content/repositories/snapshots/
true -- true -- LocalUpdateChanging
Artifact(https://oss.sonatype.org/content/repositories/snapshots/, Map(), Map(), true, false, None)
true
Downloader for Artifact(https://oss.sonatype.org/content/repositories/snapshots/, Map(), Map(), true, false, None)
Local file: force/https/oss.sonatype.org/content/repositories/snapshots/.directory for url https://oss.sonatype.org/content/repositories/snapshots/
true -- true -- LocalOnly
Artifact(https://oss.sonatype.org/content/repositories/snapshots/, Map(), Map(), true, false, None)
true
Downloader for Artifact(https://oss.sonatype.org/content/repositories/snapshots/, Map(), Map(), true, false, None)
Local file: force/https/oss.sonatype.org/content/repositories/snapshots/.directory for url https://oss.sonatype.org/content/repositories/snapshots/
true -- true -- Update
Needs update: true
DOWNLOADING https://oss.sonatype.org/content/repositories/snapshots/
```

In comparison, when using sonatype:releases:

./mill -i -w cli.run complete --cache force --no-default -r sonatype:releases org.scalameta:metals_2.12:
```
List(LocalUpdateChanging, LocalOnly, Update)
Processing MavenRepository(https://oss.sonatype.org/content/repositories/releases, None, None, true, true) with MavenComplete(MavenRepository(https://oss.sonatype.org/content/repositories/releases, None, None, true, true), coursier.cache.FileCache$$Lambda$845/0x0000000800422040@49a05c35, coursier.util.PlatformTaskCompanion$$anon$2@4d9fc1d9)
Input Ver(org.scalameta:metals_2.12, org.scalameta:metals_2.12:, 26)
DIR URL: https://oss.sonatype.org/content/repositories/releases/org/
Artifact: Artifact(https://oss.sonatype.org/content/repositories/releases/org/.links, Map(), Map(), true, false, None)
Artifact(https://oss.sonatype.org/content/repositories/releases/org/, Map(), Map(), true, false, None)
true
Checking org Org(org.scalameta)
DIR URL: https://oss.sonatype.org/content/repositories/releases/
Artifact: Artifact(https://oss.sonatype.org/content/repositories/releases/.links, Map(), Map(), true, false, None)
Artifact(https://oss.sonatype.org/content/repositories/releases/, Map(), Map(), true, false, None)
true
Checking org Org(org)
Downloader for Artifact(https://oss.sonatype.org/content/repositories/releases/, Map(), Map(), true, false, None)
Local file: force/https/oss.sonatype.org/content/repositories/releases/.directory for url https://oss.sonatype.org/content/repositories/releases/
true -- true -- LocalUpdateChanging
Needs update: false
Result of org: Right(Result(Org(org), Vector(org, org.elasticsearch, org.elasticsearch.client, org.elasticsearch.distribution.integ-test-zip, org.elasticsearch.distribution.zip, org.elasticsearch.gradle, org.elasticsearch.plugin, org.elasticsearch.test)))
Result of check: true
Downloader for Artifact(https://oss.sonatype.org/content/repositories/releases/org/, Map(), Map(), true, false, None)
Local file: force/https/oss.sonatype.org/content/repositories/releases/org/.directory for url https://oss.sonatype.org/content/repositories/releases/org/
true -- true -- LocalUpdateChanging
Needs update: false
Result of org: Right(Result(Org(org.scalameta), Vector(org.scalameta)))
Result of check: true
Artifact: Artifact(https://oss.sonatype.org/content/repositories/releases/org/scalameta/.links, Map(), Map(), true, false, None)
Artifact(https://oss.sonatype.org/content/repositories/releases/org/scalameta/, Map(), Map(), true, false, None)
true
Downloader for Artifact(https://oss.sonatype.org/content/repositories/releases/org/scalameta/, Map(), Map(), true, false, None)
Local file: force/https/oss.sonatype.org/content/repositories/releases/org/scalameta/.directory for url https://oss.sonatype.org/content/repositories/releases/org/scalameta/
true -- true -- LocalUpdateChanging
Needs update: false
org.scalameta:metals_2.12 in https://oss.sonatype.org/content/repositories/releases
Artifact(https://oss.sonatype.org/content/repositories/releases/org/scalameta/metals_2.12/maven-metadata.xml, Map(MD5 -> https://oss.sonatype.org/content/repositories/releases/org/scalameta/metals_2.12/maven-metadata.xml.md5, SHA-1 -> https://oss.sonatype.org/content/repositories/releases/org/scalameta/metals_2.12/maven-metadata.xml.sha1, SHA-256 -> https://oss.sonatype.org/content/repositories/releases/org/scalameta/metals_2.12/maven-metadata.xml.sha256), Map(cache-errors -> Artifact(, Map(), Map(), false, false, None), sig -> Artifact(https://oss.sonatype.org/content/repositories/releases/org/scalameta/metals_2.12/maven-metadata.xml.asc, Map(MD5 -> https://oss.sonatype.org/content/repositories/releases/org/scalameta/metals_2.12/maven-metadata.xml.asc.md5, SHA-1 -> https://oss.sonatype.org/content/repositories/releases/org/scalameta/metals_2.12/maven-metadata.xml.asc.sha1, SHA-256 -> https://oss.sonatype.org/content/repositories/releases/org/scalameta/metals_2.12/maven-metadata.xml.asc.sha256), Map(), true, true, None)), true, false, None)
false
Downloader for Artifact(https://oss.sonatype.org/content/repositories/releases/org/scalameta/metals_2.12/maven-metadata.xml, Map(MD5 -> https://oss.sonatype.org/content/repositories/releases/org/scalameta/metals_2.12/maven-metadata.xml.md5, SHA-1 -> https://oss.sonatype.org/content/repositories/releases/org/scalameta/metals_2.12/maven-metadata.xml.sha1, SHA-256 -> https://oss.sonatype.org/content/repositories/releases/org/scalameta/metals_2.12/maven-metadata.xml.sha256), Map(cache-errors -> Artifact(, Map(), Map(), false, false, None), sig -> Artifact(https://oss.sonatype.org/content/repositories/releases/org/scalameta/metals_2.12/maven-metadata.xml.asc, Map(MD5 -> https://oss.sonatype.org/content/repositories/releases/org/scalameta/metals_2.12/maven-metadata.xml.asc.md5, SHA-1 -> https://oss.sonatype.org/content/repositories/releases/org/scalameta/metals_2.12/maven-metadata.xml.asc.sha1, SHA-256 -> https://oss.sonatype.org/content/repositories/releases/org/scalameta/metals_2.12/maven-metadata.xml.asc.sha256), Map(), true, true, None)), true, false, None)
Local file: force/https/oss.sonatype.org/content/repositories/releases/org/scalameta/metals_2.12/maven-metadata.xml for url https://oss.sonatype.org/content/repositories/releases/org/scalameta/metals_2.12/maven-metadata.xml
true -- true -- LocalUpdateChanging
Needs update: false
VERSIONS: Right(Result(Ver(org.scalameta:metals_2.12, org.scalameta:metals_2.12:, 26), List(0.1.0, 0.2.0, 0.2.1, 0.2.2, 0.2.3, 0.2.4, 0.2.5, 0.2.11, 0.3.0, 0.3.1, 0.3.2, 0.3.3, 0.4.0, 0.4.1, 0.4.2, 0.4.3, 0.4.4, 0.5.0-M1, 0.5.0, 0.5.1, 0.5.2, 0.6.0, 0.6.1, 0.7.0, 0.7.2, 0.7.5, 0.7.6, 0.8.0, 0.8.1, 0.8.2, 0.8.3, 0.8.4, 0.9.0, 0.9.1, 0.9.2, 0.9.3, 0.9.4, 0.9.5, 0.9.6, 0.9.7, 0.9.8, 0.9.9, 0.9.10, 0.10.0, 0.10.1, 0.10.2, 0.10.3, 0.10.4, 0.10.5, 0.10.6-M1)))
(MavenRepository(https://oss.sonatype.org/content/repositories/releases, None, None, true, true),Right(List()))
```

You can see that with releases, it succeeded in downloading https://oss.sonatype.org/content/repositories/releases/.links (which is a special filename coursier creates to indicate that webpage needs to be scraped), and proceeded to work upwards - downloading org/, then scalameta/, etc.
This is why I think resolution of snapshots doesn't work

source: gharchive/issue

repo: coursier/coursier

license_type: permissive

license_source: bigquery


text:
Update http4s-server to 0.23.15

Updates org.http4s:http4s-server from 0.17.6 to 0.23.15.
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!

Applied Scalafix Migrations

org.http4s:http4s-.*:0.22.0 (created no change)

github:http4s/http4s/v0_22?sha=series/0.22

org.http4s:http4s-.*:0.21.5 (created no change)

dependency:v0_21@org.http4s:http4s-scalafix:0.21.5
Documentation: https://github.com/http4s/http4s/releases/tag/v0.21.5

org.http4s:http4s-.*:0.20.0 (created no change)

github:http4s/http4s/v0_20?sha=v0.20.11
Documentation: https://github.com/http4s/http4s/blob/v0.20.0/docs/src/main/tut/upgrading.md

Files still referring to the old version number
The following files still refer to the old version number (0.17.6).
You might want to review and update them manually.
build.sc

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.http4s", artifactId = "http4s-server" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "org.http4s", artifactId = "http4s-server" }
}]

labels: library-update, early-semver-major, semver-spec-minor, scalafix-migrations, old-version-remains, commit-count:1

Superseded by #2536.

source: gharchive/pull-request


text:
docs: add doc url in console logs

https://coveord.atlassian.net/browse/CDX-1403

Proposed changes
Adding the usage article page to some console logs

Testing

[ ] Unit Tests:

[ ] Functionnal Tests:

[ ] Manual Tests:

@y-lakhdar Guess the doc links are not live yet and will be soon?

@y-lakhdar Guess the doc links are not live yet and will be soon?

Hey @mrrajamanickam-coveo , yep 🔜 ™

repo: coveo/cli

license_source: github-api


text:
Added a table empty row component

@GermainBergeron detecting the colspan automatically would mean that the component knows of other components and we would need to pass it more props for it to calculate it.

Current coverage is 100% (diff: 100%)

Merging #67 into master will not change coverage

@@           master    #67   diff @@
====================================
  Files          76     77     +1
  Lines        1562   1569     +7
  Methods       370    372     +2
  Messages        0      0
  Branches      300    300
====================================
+ Hits         1562   1569     +7
  Misses          0      0
  Partials        0      0

Powered by Codecov. Last update b3f2480...1b72e81

repo: coveo/react-vapor


text:
Add Resume blog post first version

Wasn't able to review it through this link:
https://habanhero.github.io/source.coveo.com/
But spelled checked and used only tried and true markup.

Great article, i really like the tone of it!

LGTM ! :shipit:

authors: GuiSim habanhero wfortin

license: MIT


text:
[Feature] Add a side bar icon to open DevChat

Now our steps to open DevChat

(Cmd/Ctrl + Shift + P)
Search devchat
Enter

It is more convenient if adding a side bar icon, then we can open it by one click.

可能不太行。主要原因是：

与左边按钮对应窗口数量不同，一般这边按钮打开就全局唯一的窗体，但devchat会打开多个窗体（目前只有一个）；
会希望方便拖动到代码的左边或者右边，根据编程习惯来拖动；
一般会希望与git窗体、资源浏览器窗体共同可见，有一些操作有互动，例如选择文件，右键添加到devchat。

但通过更快捷的方式启动，是好的努力方向。我们再看看还有哪些方式可以支持。

@narrowizard This is a great suggestion. Check out https://github.com/covespace/devchat-vscode/issues/47 and https://github.com/covespace/devchat-vscode/issues/51#issuecomment-1545359079

authors: basicthinker narrowizard yangbobo2021

repo: covespace/devchat-vscode


text:
Revise explore metric labels

Revise and re-order explore metric labels as per card.

 Rename metrics in "Trends" menu

repo: covid-projections/covid-projections


text:
Highlight district on Map while hovering table

Fixes #281

Hey @shivanshs9, thanks for this! Seems to work great. But please revert the extra formatting changes before we can merge. We're keeping the formatting changes for a separate PR.

@shuklaayush also thoughts on opening the state map once the district tables are open, and then hover over districts starts highlighting the districts. @shivanshs9 Let us know if you can do this after the bug fixes!
Otherwise this looks good!

@jeremyphilemon UX-wise, that's what makes the most sense. We just have to think about what happens if multiple states are expanded. Should we just expand the map to the last one? What if the last one is closed, do we revert to the earlier one or to the whole India map? Let's iron out the details first and then start implementing.

@shuklaayush If it's needed, I can undo the formatting changes. Right now, I've cleared the formatting changes conflicting with the master changes. But I haven't touched other changes yet. Let me know if I need to push a commit to undo that.
PS: I've fixed both the bugs you mentioned. :+1:

Hey thanks for working on this! A later PR had made a patch fixing this! Thank you :)

authors: jeremyphilemon shivanshs9 shuklaayush


text:
French states duplicated

Many French states exist in two forms - with and without accents, covering different timespans.
Examples:

Ile-de-France and Île-de-France
Grand-Est and Grand Est
Saint-Barthélemy and Saint Barthelemy

They should be unified.

This will be fixed when we move to ISO codes.
https://github.com/hyperknot/country-levels/blob/master/docs/iso2_list/FR.md#level-4

@qgolsteyn is this still an issue?

fixed

authors: hyperknot lazd zbraniecki

repo: covidatlas/coronadatascraper


text:
Added increment and decrement transitions to number

This PR adds increment and decrement transitions to Number microstate.
Closes #37

@cowboyd ready.

Hmm, Travis seems stuck on this pull request.

@cowboyd I kicked it with an empty commit

authors: cowboyd taras

repo: cowboyd/ember-microstates

license: mit


text:
Multiple BASIS_SET_FILE_NAME values not taken into account

Hi,
It seems that the cp2k-input-tools parser does not properly deals with the situation where multiple basis set file names are needed (different files for different elements in th system) :
&DFT
BASIS_SET_FILE_NAME /gpfs/home/scadars/CP2K/CP2K6.1/data/GTH_BASIS_SETS
BASIS_SET_FILE_NAME /gpfs/home/scadars/CP2K/CP2K6.1/data/BASIS_MOLOPT_UCL
POTENTIAL_FILE_NAME /gpfs/home/scadars/CP2K/CP2K6.1/data/GTH_POTENTIALS
In this case the parse() method of the CP2KInputParserSimplified class with the following options :
parser = CP2KInputParserSimplified(key_trafo=str.upper,
multi_value_unpack=False,
repeated_section_unpack=False,
level_reduction_blacklist=["KIND"])
returns a nested dict which contains among other key/value pairs of the dict value associated with the 'DFT' key :
'BASIS_SET_FILE_NAME': ['/gpfs/home/scadars/CP2K/CP2K6.1/data/BASIS_MOLOPT_UCL', '/gpfs/home/scadars/CP2K/CP2K6.1/data/BASIS_MOLOPT_UCL'],
'POTENTIAL_FILE_NAME': '/gpfs/home/scadars/CP2K/CP2K6.1/data/GTH_POTENTIALS'
It appears that the parser correctly interprets the fact that there are 2 values associated with 'BASIS_SET_FILE_NAME' but only the first value is used, and repeated, instead of using the second.
Another related issue is from the aiida-cp2k side, where the builder associated with cp2k code does not seem to accept lists of files as values for the 'basis' key in the builder.file (see aiida-cp2k issue 139 here : [(https://github.com/aiidateam/aiida-cp2k/issues/139)]).
Please note that, being unfamiliar with the CP2K code I don't know how common this situation, but I got sample my input files from a definitely experienced user, and the code itself is able to deal with such a situation.
Thank you very much for your help.
Best regards.
Sylvian

It appears that the same bug had just been raised by another user (Issue 32). My apologies for the redundancy !
Sylvian

Thanks for reporting, no worries.
Turns out it is really the same issue as #32 (could also have been something else).

Thank you so much for quickly solving this iussue in the parser.
Yet it seems to me that the problem remains on the aiida-cp2k side, in the sense that builder.file does not seem to accept a list of SingleFileData objects, as pointed out here.
Am I missing something ?
Thanks.
All the best.
Sylvian.

authors: dev-zero sylviancadars


text:
Unsupported YUM Repo, letsencrypt-cpanel, EA4-experimental

* 2023-03-10 14:35:24 [WARN] Unsupported YUM repo enabled 'letsencrypt-cpanel' without packages installed from /etc/yum.repos.d/letsencrypt.repo
* 2023-03-10 14:35:24 [ERROR] 1 package(s) installed from unsupported YUM repo 'nginx' from /etc/yum.repos.d/nginx.repo
* 2023-03-10 14:35:24 [WARN] Unsupported YUM repo enabled 'EA4-experimental' without packages installed from /etc/yum.repos.d/EA4-experimental.repo
* 2023-03-10 14:35:24 [WARN] *** Elevation Blocker detected: ***

I'm guessing these are the old YUM repos for cPanel lets encrypt and can be safely removed?
The nginx package is related to https://github.com/cpanel/elevate/issues/128

Just an update. You should be getting your LE package from the cpanel-plugins repo. We recommend you open a ticket with cPanel support for further assistance. Thanks!

authors: barchard toddr

repo: cpanel/elevate


text:
[UPG FAIL]  be2net drivers missing on hp gen 8 server and kvm issues

Hello,
All checks will pass normally. However when rebooting on stage 3 the machine loses networking and there are some other kvm issues as well.
The reason for the loss of networking is its missing the be2net module for emulex nic's that are used in hp servers gen8.
The issue could in some cases be fixed by installing the needed driver via rpm.
However in the last elevate this was not able to complete and there was an error during rpm installation.

The only way to continue with the upgrade (thankfully) and to have a usable server afterwards, was after stage 3 to keep selecting kernel 3.10 on each reboot.
Otherwise if it boots on kernel 4.x there is no networking and there are issues with the iLO console as well , that can be addressed by adding commands on boot.
Since HP Gen8 servers are still widely used by the hosting industry and not only, I strongly suggest for some additional checks and ideally to add support for those drivers.
I read in a forum post that these drivers will be added on almalinux 8.10 but they are not still there , and this leads to failed elevate's without any warning.
Kindly create a solution where the driver is installed on kernel 4.x during the upgrade and also to include these options
intremap=nosid and intel_iommu=off
Thank you

We can block on this, but the fix would need to go into the upstream leapp utility. We'll see about reporting it there and update this ticket when we do.

RE-397 has been filed internally for this issue.

Well the solution isn't to block it. Theoretically Almalinux 8.10 must be ok now after their last additions in drivers.
Can you confirm that this has been resolved ?
Thanks

Sorry, we don't have the hardware to confirm. If you think it's fixed, then you should try it. We wrap around the leapp and almalinux tools, but have no influence on their support.

authors: cPholloway devops365 toddr


text:
Google Maps API

Hi Pavan,
First of all, I need to say that this project is a great idea.
I am trying to use it for my company and I got stuck on the google maps API part. Could not find your email to write directly. Could you help me a bit with this step? I am new to development but used google API a long time ago.
Best Regards

If your question is around getting/setting the google maps api key, the below link has detailed steps
https://developers.google.com/maps/documentation/javascript/get-api-key
Let me know if you need any other information/help

authors: cpavnn liberamiguel

repo: cpavnn/RideShare


text:
withOutputParameterReturning does not work when using ignoreOtherParameters

The data specified by withOutputParameterReturning does not get copied into the buffer specified by withOutputParameter when used in conjunction with ignoreOtherParameters. It works fine if you don't ignore any parameters. This is in version 3.6.

@basvodde I'll take a look at this when I get a chance. Probably tomorrow local time.

I ran the following test on the current head, and it passed:
TEST(MockSupportTest, outputParameterSucceedsWithIgnoreOtherParameters)
{
    int param = 1;
    int retval = 2;
    mock().expectOneCall("function")
          .withOutputParameterReturning("parameterName", &retval, sizeof(retval))
          .ignoreOtherParameters();
    mock().actualCall("function")
          .withOutputParameter("parameterName", &param).withParameter("boo", 5);
    CHECK_EQUAL(param, 2);
    CHECK_EQUAL(retval, 2);
    mock().checkExpectations();
    CHECK_NO_MOCK_FAILURE();
}

Does it pass in release 3.6?
Jim McClure
Senior Software Engineer - Embedded Systems
[cid:A00FCCDD-3B9C-4B2E-8F75-C109F0C49C88@hsd1.mn.comcast.net.]
4400 Baker Road, Minnetonka, MN 55343
TOLL FREE 888-346-3486  |  FAX 952-908-6129
www.peoplenetonline.comhttp://www.peoplenetonline.com/
PeopleNet is the leading provider of fleet mobility systems to the transportation industry, including truckload, LTL, private, and energy service fleets.
On Apr 14, 2015, at 12:52 PM, arstrube <notifications@github.commailto:notifications@github.com> wrote:
I ran the following test on the current head, and it passed:
TEST(MockSupportTest, outputParameterSucceedsWithIgnoreOtherParameters)
{
int param = 1;
int retval = 2;
mock().expectOneCall("function")
.withOutputParameterReturning("parameterName", &retval, sizeof(retval))
.ignoreOtherParameters();
mock().actualCall("function")
.withOutputParameter("parameterName", &param).withParameter("boo", 5);
CHECK_EQUAL(param, 2);
CHECK_EQUAL(retval, 2);
mock().checkExpectations();
CHECK_NO_MOCK_FAILURE();
}
—
Reply to this email directly or view it on GitHubhttps://github.com/cpputest/cpputest/issues/598#issuecomment-92996228.

I copy/pasted your test and it failed for me:
TEST(StRadioConfigSvc, StRadioConfigService_f)
{
int param = 1;
int retval = 2;
mock().expectOneCall("function").withOutputParameterReturning("parameterName", &retval, sizeof(retval)).ignoreOtherParameters();
mock().actualCall("function").withOutputParameter("parameterName", &param).withParameter("boo", 5);
CHECK_EQUAL(param, 2);
CHECK_EQUAL(retval, 2);
mock().checkExpectations();
CHECK_NO_MOCK_FAILURE();
}
Resulted in:
tests/stRadioConfigSvcTest.cpp:47: error: Failure in TEST(StRadioConfigSvc, StRadioConfigService_f)
expected <1>
but was  <2>
difference starts at position 0 at: <          2         >
Jim McClure
Senior Software Engineer
PeopleNet
4400 Baker Road, Minnetonka, MN 55343
TOLL FREE 888.346.3486 | FAX 952.908.6129
www.peoplenetonline.com
PeopleNet is the leading provider of fleet mobility systems to the transportation industry, including truckload, LTL, private, and energy service fleets.

From: arstrube [notifications@github.com]
Sent: Tuesday, April 14, 2015 12:52 PM
To: cpputest/cpputest
Cc: Jim McClure
Subject: Re: [cpputest] withOutputParameterReturning does not work when using ignoreOtherParameters (#598)
I ran the following test on the current head, and it passed:
TEST(MockSupportTest, outputParameterSucceedsWithIgnoreOtherParameters)
{
int param = 1;
int retval = 2;
mock().expectOneCall("function")
.withOutputParameterReturning("parameterName", &retval, sizeof(retval))
.ignoreOtherParameters();
mock().actualCall("function")
.withOutputParameter("parameterName", &param).withParameter("boo", 5);
CHECK_EQUAL(param, 2);
CHECK_EQUAL(retval, 2);
mock().checkExpectations();
CHECK_NO_MOCK_FAILURE();
}
�
Reply to this email directly or view it on GitHubhttps://github.com/cpputest/cpputest/issues/598#issuecomment-92996228.

3.6 didn't do me the honor of compiling straight away with Clang 6.0, so you beat me to it :D. Looks like this was a bug that has been fixed since.

Any idea when the next release will be?
Jim McClure
Senior Software Engineer - Embedded Systems
[cid:A00FCCDD-3B9C-4B2E-8F75-C109F0C49C88@hsd1.mn.comcast.net.]
4400 Baker Road, Minnetonka, MN 55343
TOLL FREE 888-346-3486  |  FAX 952-908-6129
www.peoplenetonline.comhttp://www.peoplenetonline.com/
PeopleNet is the leading provider of fleet mobility systems to the transportation industry, including truckload, LTL, private, and energy service fleets.
On Apr 14, 2015, at 1:06 PM, arstrube <notifications@github.commailto:notifications@github.com> wrote:
3.6 didn't do me the honor of compiling straight away with Clang 6.0, so you beat me to it :D. Looks like this was a bug that has been fixed since.
—
Reply to this email directly or view it on GitHubhttps://github.com/cpputest/cpputest/issues/598#issuecomment-93002458.

That would be for @basvodde to say.

Thanks @arstrube

See #362 for the fix

@jimpnet Just released 3.7.1

Fixed by PR. Closing

authors: arstrube basvodde jimpnet ryanplusplus

repo: cpputest/cpputest


text:
(newb) - how do I actually access the demo?

Hiya - huge newbie - I've cloned the project and run restartWDS and there were no errors. I've opened a browser and gone to http://localhost:4256 based on the serverHost/Port:
sbt:root> serverHost
[info] facade / serverHost
[info] 	127.0.0.1
[info] demo / serverHost
[info] 	127.0.0.1
[info] serverHost
[info] 	127.0.0.1
sbt:root> serverPort
[info] facade / serverPort
[info] 	4256
[info] demo / serverPort
[info] 	4256
[info] serverPort
[info] 	4256

but nothing appears.
What am I doing wrong?

This is a bit outdated but I think the port is 8080

sorry for the delay - thanks @cquiroz

authors: cquiroz yatesco

repo: cquiroz/scalajs-react-virtualized


text:
Change le text sur le landing page

Title: La réalité virtuelle en réadaptation pédiatrique
Text en dessous:
Un site web fournissant des informations sur différents jeux vidéo et de réalité virtuelle pertinents pour la réadaptation pédiatrique.
Bienvenue !

Done!

authors: dlevac-crme pariterre


text:
本番環境のURLの修正

やること

[ ] 本番環境のURLを http://shift-l.st.ie.u-ryukyu.ac.jp/ から　http://tely.st.ie.u-ryukyu.ac.jp/ に変更

メモ

サイトにアクセスはできるので、優先度低
syskan様に依頼予定

syskan様に変更できるか問い合わせ中（2023/11/2）

syskan様 依頼済（2023/11/07）

変更完了。学外からのアクセスも問題なし。


text:
Random crash on first startup on Android

Description
After updating to RN 66.4 (might be unrelated), random crash happens on startup on Android. Works fine on iOS.
This is very similar of https://github.com/craftzdog/react-native-quick-base64/issues/2
I'm using Hermes, and these JSI Modules:  MMKV, Reanimated.
I tried the same fix, setting QuickMd5Module to public and adding a public static method install
QuickMd5Module.java
public class QuickMd5Module extends ReactContextBaseJavaModule {
  static {
    System.loadLibrary("quickmd5");
  }

  private static native void initialize(long jsiPtr, String docDir);
  private static native void destruct();

  public QuickMd5Module(ReactApplicationContext reactContext) {
    super(reactContext);
  }

  @NonNull
  @Override
  public String getName() {
    return "QuickMd5";
  }

  public static void install(JavaScriptContextHolder jsContext, String storageDirectory) {
    initialize(jsContext.get(), storageDirectory);
  }

  @Override
  public void onCatalystInstanceDestroy() {
    QuickMd5Module.destruct();
  }
}

And initialize it right after Mmkv
public class ExploreAppJSIPackage extends ReanimatedJSIModulePackage {
    @Override
    public List<JSIModuleSpec> getJSIModules(ReactApplicationContext reactApplicationContext, JavaScriptContextHolder jsContext) {
        MmkvModule.install(jsContext, reactApplicationContext.getFilesDir().getAbsolutePath() + "/mmkv");
        QuickMd5Module.install(jsContext, reactApplicationContext.getFilesDir().getAbsolutePath());
        return super.getJSIModules(reactApplicationContext, jsContext);
    }

It works, but I'm not sure if it is the right approach. Maybe it is better to chain inheritance of JSIModulePackage ?
react-native-quick-md5 Version
1.0.3
Crash log

SIGSEGV
Build fingerprint: 'HUAWEI/ELE-L29EEA/HWELE:10/HUAWEIELE-L29/10.1.0.150C431:user/release-keys'
Revision: '0'
ABI: 'arm64'
Timestamp: 2022-01-06 12:58:36+0100
pid: 23409, tid: 23455, name: mqt_native_modu  >>> fr.pilotelevage.exploreapp.dev <<<
uid: 11450
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xc
Cause: null pointer dereference
x0  000000000000000b  x1  0000006ecbf1a240  x2  0000000000000001  x3  0000006ecabf0660
x4  0000006ecabf0660  x5  0000006ecabf06f8  x6  0000006ecabf0660  x7  0000006ecabf0660
x8  0000006ec83e1e10  x9  0000000000000002  x10 0000000000000000  x11 00000000fffe000e
x12 0000000000000007  x13 0000000000000001  x14 000000001fffffff  x15 000000001ffffffe
x16 0000000000000003  x17 000000000000004b  x18 0000006eca820000  x19 0000006ecabf0660
x20 0000006ecbcf9990  x21 0000006ecbf1a240  x22 0000006ecbf1a250  x23 000000000000004b
x24 0000006ecabf3020  x25 0000000000000001  x26 0000006ecabf06e0  x27 0000006ecabf0660
x28 0000006ecabf3020  x29 0000006ecabf0630
sp  0000006ecabf05e0  lr  0000006edaa6473c  pc  0000006edaa64758

backtrace
backtrace:
  #00 pc 0000000000064758  /data/app/fr.pilotelevage.exploreapp.dev-6hvk-Ap-gvhm1ryUYTvcGg==/lib/arm64/libhermes.so (BuildId: eddee6deb8a97571592812907782e8a8e580c0c8)
  #01 pc 00000000000345b0  /data/app/fr.pilotelevage.exploreapp.dev-6hvk-Ap-gvhm1ryUYTvcGg==/lib/arm64/libhermes.so (BuildId: eddee6deb8a97571592812907782e8a8e580c0c8)
  #02 pc 000000000007654c  /data/app/fr.pilotelevage.exploreapp.dev-6hvk-Ap-gvhm1ryUYTvcGg==/lib/arm64/libhermes.so (BuildId: eddee6deb8a97571592812907782e8a8e580c0c8)
  #03 pc 000000000002fbb8  /data/app/fr.pilotelevage.exploreapp.dev-6hvk-Ap-gvhm1ryUYTvcGg==/lib/arm64/libhermes.so (BuildId: eddee6deb8a97571592812907782e8a8e580c0c8)
  #04 pc 00000000000267b0  /data/app/fr.pilotelevage.exploreapp.dev-6hvk-Ap-gvhm1ryUYTvcGg==/lib/arm64/libhermes.so (BuildId: eddee6deb8a97571592812907782e8a8e580c0c8)
  #05 pc 0000000000019388  /data/app/fr.pilotelevage.exploreapp.dev-6hvk-Ap-gvhm1ryUYTvcGg==/lib/arm64/libhermes-executor-common-release.so (facebook::jsi::RuntimeDecorator<facebook::jsi::Runtime, facebook::jsi::Runtime>::createFunctionFromHostFunction(facebook::jsi::PropNameID const&, unsigned int, std::__ndk1::function<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>)+336) (BuildId: 7caed4522e7310108f9e74bcb208e2a45dc8a6b9)
  #06 pc 00000000000187f0  /data/app/fr.pilotelevage.exploreapp.dev-6hvk-Ap-gvhm1ryUYTvcGg==/lib/arm64/libhermes-executor-common-release.so (BuildId: 7caed4522e7310108f9e74bcb208e2a45dc8a6b9)
  #07 pc 000000000004c728  /data/app/fr.pilotelevage.exploreapp.dev-6hvk-Ap-gvhm1ryUYTvcGg==/lib/arm64/libquickmd5.so (installMd5(facebook::jsi::Runtime&)+184) (BuildId: f684c9a23245ae5864d7eaebbdc3017919b7e9ee)
  #08 pc 000000000004ed0c  /data/app/fr.pilotelevage.exploreapp.dev-6hvk-Ap-gvhm1ryUYTvcGg==/lib/arm64/libquickmd5.so (Java_com_reactnativequickmd5_QuickMd5Module_initialize+32) (BuildId: f684c9a23245ae5864d7eaebbdc3017919b7e9ee)
  #09 pc 0000000000029ed4  /data/app/fr.pilotelevage.exploreapp.dev-6hvk-Ap-gvhm1ryUYTvcGg==/oat/arm64/base.odex (art_jni_trampoline+180)
  #10 pc 00000000001455b8  /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #11 pc 00000000001541c4  /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+284) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #12 pc 00000000002efe68  /apex/com.android.runtime/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+384) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #13 pc 00000000002eb138  /apex/com.android.runtime/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+912) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #14 pc 00000000005c3ec4  /apex/com.android.runtime/lib64/libart.so (MterpInvokeStatic+368) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #15 pc 000000000013f994  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_static+20) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #16 pc 00000000003c3006  /data/app/fr.pilotelevage.exploreapp.dev-6hvk-Ap-gvhm1ryUYTvcGg==/oat/arm64/base.vdex (com.reactnativequickmd5.QuickMd5Module.initialize+54)
  #17 pc 00000000005c2e1c  /apex/com.android.runtime/lib64/libart.so (MterpInvokeInterface+1752) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #18 pc 000000000013fa14  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_interface+20) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #19 pc 00000000002ef768  /data/app/fr.pilotelevage.exploreapp.dev-6hvk-Ap-gvhm1ryUYTvcGg==/oat/arm64/base.vdex (com.facebook.react.bridge.ModuleHolder.doInitialize+92)
  #20 pc 00000000005c39b8  /apex/com.android.runtime/lib64/libart.so (MterpInvokeDirect+1168) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #21 pc 000000000013f914  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_direct+20) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #22 pc 00000000002ef84e  /data/app/fr.pilotelevage.exploreapp.dev-6hvk-Ap-gvhm1ryUYTvcGg==/oat/arm64/base.vdex (com.facebook.react.bridge.ModuleHolder.markInitializable+50)
  #23 pc 00000000005c7834  /apex/com.android.runtime/lib64/libart.so (MterpInvokeVirtualQuick+1368) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #24 pc 0000000000143594  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_virtual_quick+20) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #25 pc 00000000002eff6e  /data/app/fr.pilotelevage.exploreapp.dev-6hvk-Ap-gvhm1ryUYTvcGg==/oat/arm64/base.vdex (com.facebook.react.bridge.NativeModuleRegistry.notifyJSInstanceInitialized+82)
  #26 pc 00000000005c7834  /apex/com.android.runtime/lib64/libart.so (MterpInvokeVirtualQuick+1368) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #27 pc 0000000000143594  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_virtual_quick+20) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #28 pc 00000000002ea328  /data/app/fr.pilotelevage.exploreapp.dev-6hvk-Ap-gvhm1ryUYTvcGg==/oat/arm64/base.vdex (com.facebook.react.bridge.CatalystInstanceImpl$2.run+12)
  #29 pc 00000000002c0988  /apex/com.android.runtime/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEbb.llvm.10666712087520032524+320) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #30 pc 00000000005b2030  /apex/com.android.runtime/lib64/libart.so (artQuickToInterpreterBridge+1012) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #31 pc 000000000014e468  /apex/com.android.runtime/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #32 pc 00000000008902fc  /system/framework/arm64/boot-framework.oat (android.os.Handler.dispatchMessage+76) (BuildId: acc2776f7433aa810f2e0b2d5361eeaf578cd2e9)
  #33 pc 0000000000145334  /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #34 pc 00000000001541a4  /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+252) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #35 pc 00000000002efe68  /apex/com.android.runtime/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+384) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #36 pc 00000000002eb138  /apex/com.android.runtime/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+912) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #37 pc 00000000005c1fb4  /apex/com.android.runtime/lib64/libart.so (MterpInvokeSuper+1532) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #38 pc 000000000013f894  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_super+20) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #39 pc 00000000002f3b74  /data/app/fr.pilotelevage.exploreapp.dev-6hvk-Ap-gvhm1ryUYTvcGg==/oat/arm64/base.vdex (com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage)
  #40 pc 00000000002c0988  /apex/com.android.runtime/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEbb.llvm.10666712087520032524+320) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #41 pc 00000000005b2030  /apex/com.android.runtime/lib64/libart.so (artQuickToInterpreterBridge+1012) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #42 pc 000000000014e468  /apex/com.android.runtime/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #43 pc 00000000008939d8  /system/framework/arm64/boot-framework.oat (android.os.Looper.loop+1512) (BuildId: acc2776f7433aa810f2e0b2d5361eeaf578cd2e9)
  #44 pc 00000000001455b8  /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #45 pc 00000000001541c4  /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+284) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #46 pc 00000000002efe68  /apex/com.android.runtime/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+384) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #47 pc 00000000002eb138  /apex/com.android.runtime/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+912) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #48 pc 00000000005c3ec4  /apex/com.android.runtime/lib64/libart.so (MterpInvokeStatic+368) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #49 pc 000000000013f994  /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_static+20) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #50 pc 00000000002f3d02  /data/app/fr.pilotelevage.exploreapp.dev-6hvk-Ap-gvhm1ryUYTvcGg==/oat/arm64/base.vdex (com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run+74)
  #51 pc 00000000002c0988  /apex/com.android.runtime/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEbb.llvm.10666712087520032524+320) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #52 pc 00000000005b2030  /apex/com.android.runtime/lib64/libart.so (artQuickToInterpreterBridge+1012) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #53 pc 000000000014e468  /apex/com.android.runtime/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #54 pc 0000000000217fc8  /system/framework/arm64/boot.oat (java.lang.Thread.run+72) (BuildId: 98726add5977aa1e5df02f40f7b71a9584dc0b72)
  #55 pc 0000000000145334  /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #56 pc 00000000001541a4  /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+252) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #57 pc 00000000004d0248  /apex/com.android.runtime/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #58 pc 00000000004d12dc  /apex/com.android.runtime/lib64/libart.so (art::InvokeVirtualOrInterfaceWithJValues(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, jvalue const*)+416) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #59 pc 0000000000513bc8  /apex/com.android.runtime/lib64/libart.so (art::Thread::CreateCallback(void*)+1176) (BuildId: 1a0029abc6bafe71a123b0b3c1a098a0)
  #60 pc 00000000000cf700  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36) (BuildId: 0f53a45090c371e49b6824269190f1fa)
  #61 pc 00000000000720e8  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: 0f53a45090c371e49b6824269190f1fa)

I'll be fixing it as well.

authors: craftzdog fdrault


text:
select multiple files?

Would it be possible to add support for multiple file selection (i.e. using command-click or shift-click?)

Hi @toqduj, thanks for the suggestion. Unfortunately, the way things are currently implemented it's not something I can easily implement. I will leave the issue in place for future reference though.

Alright, no worries, and thanks for the nice interface so far! (now using it to select directories, and letting glob take care of selecting the matching files...

I was also looking for a solution for selecting multiple files. One potential workaround I can think of is to use a SelectMultiple widget and push ipyfilechooser.selected to the widget with register_callback.
https://ipywidgets.readthedocs.io/en/latest/examples/Widget List.html#SelectMultiple

That's actually a very interesting workaround for this. Thanks @giswqs!

authors: crahan giswqs toqduj

repo: crahan/ipyfilechooser


text:
Not enough active copies to meet shard count

CrateDB version: 3.0.0 [new cluster]
Environment description:
CentOS 7.4
OpenJDK 1.8.0_161-b14
Problem description:
Almost all of the nodes in my cluster started logging the below error message and I'm not able to ingest data.
[o.e.i.sGlobalCheckpointSyncAction] [node-name] [namespaceName..partitioned.tableName.someId][0] global checkpoint sync failed
org.elasticsearch.transport.RemoteTransportException: [node-name][ip:4300][indices:admin/seq_no/global_checkpoint_sync[p]]
Caused by: org.elasticsearch.action.UnavailableShardsException: [namespaceName..partitioned.tableName.id][0] Not enough active copies to meet shard count of [ALL] (have 1, needed 2). Timeout: [1m], request: [GlobalCheckpointSyncAction.Request{shardId=[namespaceName..partitioned.tableName.id][0], timeout=1m,index='namespaceName..partitioned.tableName.id', waitForActiveShards=ALL}]
at org.elasticsearch.action.support.replication.ReplicationOperation.execute(ReplicationOperation.java:98)
at org.elasticsearch.action.support.replication.TransportReplicationAction$AsyncPrimaryAction.onResponse(TransportReplicationaction.java:358)
at org.elasticsearch.action.support.replication.TransportReplicationAction$AsyncPrimaryAction.onResponse(TransportReplicationaction.java:298)
at org.elasticsearch.action.support.replication.TransportReplicationAction$1.onResponse(TransportReplicationAction.java:974)
at org.elasticsearch.action.support.replication.TransportReplicationAction$1.onResponse(TransportReplicationAction.java:971)
...

Full cluster restart fixed issue

repo: crate/crate


text:
Fix fetch rewrite on Eval operators

The fetch rewrite logic on the Eval operators uses the MapBackedSymbolReplacer for replacing the original (source) symbols with new onces, replaced on the source.
This replacer was always traversing the symbol's tree, but e.g. when Alias symbols are used, the source will add the complete alias symbol to the replacement map (in order to preserve all the information like the alias name) and not only the target reference.
Such this replacer should first lookup for the given symbol inside the map before falling back to travers and search for child replacements.
Fixes #11049.
Checklist

[x] Added an entry in CHANGES.txt for user facing changes
[x] Updated documentation & sql_features table for user facing changes
[x] Touched code is covered by tests
[x] CLA is signed
[x] This does not contain breaking changes, or if it does:

It is released within a major release
It is recorded in CHANGES.txt
It was marked as deprecated in an earlier release if possible
You've thought about the consequences and other components are adapted
(E.g. AdminUI)

@Mergifyio backport 4.4


text:
Fix filtering by AllLike operator behaved like AnyLike

Summary of the changes / Why this improves CrateDB
The first commit is a preparation work for AllLike operators to be able to generate optimized lucene query. The second commit adds supports for AllLike variants ported and adjusted from any. The second commit also fixes:
cr> create table t (a text[]);
insert into CREATE OK, 1 row affected (1.600 sec)
cr> insert into t values (['a','b']);
INSERT OK, 1 row affected (0.178 sec)
cr> select * from t where 'a' like all(a);
+------------+
| a          |
+------------+
| ["a", "b"] | <-- this row should not be returned since 'b' is not like 'a'
+------------+
SELECT 1 row in set (0.135 sec)

Checklist

[x] Added an entry in the latest docs/appendices/release-notes/<x.y.0>.rst for user facing changes
[x] Updated documentation & sql_features table for user facing changes
[x] Touched code is covered by tests
[x] CLA is signed
[x] This does not contain breaking changes, or if it does:

It is released within a major release
It is recorded in the latest docs/appendices/release-notes/<x.y.0>.rst
It was marked as deprecated in an earlier release if possible
You've thought about the consequences and other components are adapted
(E.g. AdminUI)

NOTE: Optimize lucene query generation is not handled by this PR, I would consider it as a separate task.

retest this please, looks like some sort of env issue..


text:
rTorrent constantly churning / leaking memory

Support guidelines

[X] I've read the support guidelines

I've found a bug and checked that ...

[X] ... the documentation does not mention anything about my problem
[X] ... there are no open or closed issues that are related to my problem

Description
rTorrent appears to be constantly allocating memory until reaching some limit, freeing pretty much all of it, and then reallocating constantly.
Expected behaviour
rTorrent uses a reasonable amount of memory. In the past, this has roughly been the max piece size, with some jumps to around ~10GB during large rechecking operations.
Actual behaviour
On my 64GB machine, it constantly allocates until hitting around 50GB of usage, and then resets itself.
This setup was working perfectly fine for a long time. I powered off my machine, ensuring I safely stopped rtorrent, yesterday to install some new fans. I also ran an apt update && apt upgrade. Once I turned it on, this new memory behaviour presented itself. This is the only container out of ~45 showing an issue.
You can see from this chart the behaviour before and after the restart:

Both time periods had roughly the same number of active torrents (~20), and no new downloads happened during this time period at all.
I have tried both latest and edge and they have the same behaviour. I've also tried a fork I made of this image using jesec/rtorrent and jesec/libtorrent and the issue persists there as well, so it's presumably unrelated to the patches made in either version.
Zooming into the most recent five minutes, you can see it's allocated nearly 6GB.

Here's what it looks like when it frees -- generally it's accompanied with higher than usual CPU usage, where it drops from ~51GB to 2.3GB:

It seems to take 30-45 minutes to exhaust the memory "limit" and reset back to a reasonable number before climbing again.
Steps to reproduce

Have around ~2200 torrents loaded, total data of roughly ~39TB
Run the application as usual.

I don't really expect anyone to be able to reproduce this easily..
Docker info
Client: Docker Engine - Community
 Version:    25.0.0
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.12.1
    Path:     /usr/libexec/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.24.1
    Path:     /usr/libexec/docker/cli-plugins/docker-compose

Server:
 Containers: 54
  Running: 46
  Paused: 0
  Stopped: 8
 Images: 52
 Server Version: 25.0.0
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: systemd
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: a1496014c916f9e62104b33d1bb5bd03b0858e59
 runc version: v1.1.11-0-g4bccb38
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: builtin
  cgroupns
 Kernel Version: 6.5.0-14-generic
 Operating System: Ubuntu 22.04.3 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 12
 Total Memory: 58.74GiB
 Name: gus
 ID: 513370be-7fc3-44dc-afef-553f848ff236
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

Docker Compose config
version: "3.2"
services:
  rutorrent:
    image: crazymax/rtorrent-rutorrent:edge
    container_name: rutorrent
    networks:
      - webaccess
    ports:
      - 6881:6881/udp
      - 58000:8000
      - 8001
      - 8080
      - 8081
      - 9000
      - 9001
      - 50000:50000
    environment:
      TZ: America/Toronto
      PUID: 1000
      PGID: 1000
      MEMORY_LIMIT: 1024M
      UPLOAD_MAX_SIZE: 64M
      XMLRPC_SIZE_LIMIT: 16M
      OPCACHE_MEM_SIZE: 512M
      MAX_FILE_UPLOADS: 50
      LOG_ACCESS: true
      XMLRPC_PORT: 8000
      RUTORRENT_PORT: 8080
      WEBDAV_PORT: 9000
      RT_INC_PORT: 50000
      RT_LOG_LEVEL: debug
      RT_LOG_EXECUTE: true
      RT_LOG_XMLRPC: false
      RT_SESSION_SAVE_SECONDS: 2400
    stop_grace_period: 30s
    volumes:
      - /home/censored/appdata/rtorrent/data:/data
      - /mnt/storage/downloads:/downloads
      - /home/censored/appdata/rtorrent/passwd:/passwd
    ulimits:
      nproc: 65535
      nofile:
        soft: 32000
        hard: 40000
    restart: unless-stopped

Logs
I can produce some, but (a) the file is ~8MB, and (b) I'd have to censor the announce URLs. I scanned through and didn't find anything useful, not sure if there's a more detailed `RT_LOG_LEVEL` than debug.

Additional info
top from inside the container:

Hello, your screenshot of top shows less than 7GB of memory is used. 32GB is in buffers and caches to reduce disk usage.
rTorrent does not physically allocate memory. It lets the Linux Kernel decide which files to put in buffers and caches. The process is currently using 1.5G approximately for physical allocation to run it's internal procedures.
I would recommend specifying pieces.memory.max.set = 4GB explicitly in your .rtorrent.rc file. This may further optimize your memory consumption. This diagnostic step will also eliminate possible avenues for a software memory leak to occur.

Hello, your screenshot of top shows less than 7GB of memory is used. 32GB is in buffers and caches to reduce disk usage.
rTorrent does not physically allocate memory. It lets the Linux Kernel decide which files to put in buffers and caches. The process is currently using 1.5G approximately for physical allocation to run it's internal procedures.
I would recommend specifying pieces.memory.max.set = 4GB explicitly in your .rtorrent.rc file. This may further optimize your memory consumption. This diagnostic step will also eliminate possible avenues for a software memory leak to occur.

Thanks for the info!
I did already have pieces.memory.max.set = 6GB set while all this was going on. Though after a bunch of searching I did also arrive at the possibility a kernel update was the issue. I was running on 6.5.0-14 during the period of high allocations, and just downgraded back to 6.2.0-39. So far it seems like that's resolved the problem. I'm not sure how I'd determine what changed between these two versions but I guess I will just hold back updates and see if I can upgrade later.

Yes, a Linux Kernel can cause memory stability issues when running rTorrent. I'm not fimular with how the kernel layer works.
However, I understand their versioning system. You selected a version that was too "new". The last number is the number of bug fixes. For instance 6.2 has 39 bug fixes, 6.5 has 14 bug fixes.
I can see your host is Ubuntu 22.04 LTS. If the HWE (Hardware Enablement) kernel of 6.2 is not stable, it's sometimes required to go all the way back to the GA kernel of 5.15. Performance is great with newer releases, but memory stability is more important.
I have the HWE 6.2 kernel installed on Ubuntu 22.04 LTS with rTorrent. It's stable enough to reap the performance benefits.

authors: kthrow stickz

repo: crazy-max/docker-rtorrent-rutorrent


text:
Custom Trades Don't Work on Sponge Server Framwork

See https://github.com/SpongePowered/SpongeForge/issues/2067.
Is there anyway this mod can accomplish what it wants to without using reflection?

I don't think so, unfortunately. I need to modify the trades collection on the VillagerCareer class, which is private and that class' getTrades method returns an unmodifiable version of the private list. The only other way I could do it I think would be to use ASM or an access transformer, both of which are probably hackier solutions than using reflection.
I notice that there's a new commit referencing the above issue and that it's now been closed. Does that change fix this issue?

No, the issue has not been fixed entirely, but the problem is beyond your control.
The villager trades get loaded into the villagers, but because of how Sponge is importing trades from both its own system and Forge's system, the vanilla trades are still there.

authors: CrypticDivide crazysnailboy lachian

repo: crazysnailboy/VillagerTrades


text:
Routes controller is not exposing routes on microshift 4.14.1

We are not able to reach the service running on a microshift 4.14.1,  in order to run the test we start a microshift cluster 4.14.1 and then deploy and expose a service:
oc create namespace testproj
oc config set-context --current --namespace=testproj
oc apply -f httpd-example.yaml
oc rollout status deployment httpd-example
oc expose deployment httpd-example --port 8080
oc expose svc httpd-example

All pods on the cluster are running
NAMESPACE                  NAME                                       READY   STATUS    RESTARTS      AGE
kube-system                csi-snapshot-controller-66f566d8d8-hp8sc   1/1     Running   0             30m
kube-system                csi-snapshot-webhook-cdb5df49c-gkl2k       1/1     Running   0             30m
openshift-dns              dns-default-98hzt                          2/2     Running   0             30m
openshift-dns              node-resolver-n5dc4                        1/1     Running   0             30m
openshift-ingress          router-default-5f7d6dbf6c-pbjk5            1/1     Running   0             30m
openshift-ingress          routes-controller-cb9c5f4d9-cgvc2          1/1     Running   0             30m
openshift-ovn-kubernetes   ovnkube-master-g88qn                       4/4     Running   0             30m
openshift-ovn-kubernetes   ovnkube-node-jxxsg                         1/1     Running   0             30m
openshift-service-ca       service-ca-6cd65c4cd9-gpj4r                1/1     Running   0             30m
openshift-storage          topolvm-controller-78d7f57c98-jq9dh        5/5     Running   0             30m
openshift-storage          topolvm-node-tqzdp                         4/4     Running   1 (30m ago)   30m
testproj                   httpd-example-7c9fb5b46d-cn8n8             1/1     Running   0             24m

But the service can not be accessed:
curl http://httpd-example-testproj.apps.crc.testing
curl: (6) Could not resolve host: httpd-example-testproj.apps.crc.testing

And checking the routes controller logs  we can see the route is not handle:
oc get route
NAME            HOST                                      ADMITTED   SERVICE         TLS
httpd-example   httpd-example-testproj.apps.example.com   True       httpd-example

oc logs -f routes-controller-cb9c5f4d9-cgvc2 -n openshift-ingress
W1103 08:51:53.126654       1 client_config.go:617] Neither --kubeconfig nor --master was specified.  Using the inClusterConfig.  This might not work.
time="2023-11-03T08:51:53Z" level=info msg="Added service 'kubernetes' of type 'ClusterIP'"
time="2023-11-03T08:51:53Z" level=info msg="Added service 'csi-snapshot-webhook' of type 'ClusterIP'"
time="2023-11-03T08:51:53Z" level=info msg="Added service 'dns-default' of type 'ClusterIP'"
time="2023-11-03T08:51:53Z" level=info msg="Added service 'router-internal-default' of type 'ClusterIP'"
time="2023-11-03T08:52:01Z" level=info msg="Service 'csi-snapshot-webhook' of type 'ClusterIP' changed!"
time="2023-11-03T08:52:01Z" level=info msg="Service 'dns-default' of type 'ClusterIP' changed!"
time="2023-11-03T08:56:53Z" level=info msg="Service 'kubernetes' of type 'ClusterIP' changed!"
time="2023-11-03T08:56:53Z" level=info msg="Service 'csi-snapshot-webhook' of type 'ClusterIP' changed!"
time="2023-11-03T08:56:53Z" level=info msg="Service 'dns-default' of type 'ClusterIP' changed!"
time="2023-11-03T08:56:53Z" level=info msg="Service 'router-internal-default' of type 'ClusterIP' changed!"
time="2023-11-03T08:58:59Z" level=info msg="Added service 'httpd-example' of type 'ClusterIP'"
time="2023-11-03T08:58:59Z" level=info msg="added: httpd-example httpd-example-testproj.apps.example.com"
time="2023-11-03T09:01:53Z" level=info msg="Service 'kubernetes' of type 'ClusterIP' changed!"
time="2023-11-03T09:01:53Z" level=info msg="Service 'csi-snapshot-webhook' of type 'ClusterIP' changed!"
time="2023-11-03T09:01:53Z" level=info msg="Service 'dns-default' of type 'ClusterIP' changed!"
time="2023-11-03T09:01:53Z" level=info msg="Service 'router-internal-default' of type 'ClusterIP' changed!"
time="2023-11-03T09:01:53Z" level=info msg="Service 'httpd-example' of type 'ClusterIP' changed!"

fixed and bundle is released.

authors: adrianriobo praveenkumar

repo: crc-org/snc


text:
support for AWS/EBS namespace and sample_template

fixes #56

looks good to me. I added you as a contributor so you can merge your own PRs in the future.

authors: arthurlogilab crccheck

repo: crccheck/cloudwatch-to-graphite


text:
Multibyte characters mangled on macOS

Directly after a pty.Open(), writing some multibyte characters such as 小明 and then a Delete key (0x7f) to the "slave" end, then reading from the "master" end results in a mangled final character. https://gist.github.com/mislav/82c3e2cfa2180c23201a523078b07f07
Expectation: the Delete key causes the whole last character to be deleted, not just its final byte.
My colleague @tibbes points out that Darwin has a IUTF8 input flag that can be set on (pseudo) terminals: https://github.com/apple/darwin-xnu/blob/2ff845c2e033bd0ff64b5b6aa6063a1f8f65aa32/bsd/sys/termios.h#L133
Indeed, doing this fixes the issue:
settings.Iflag |= 0x4000 // IUTF8
termios.Tcsetattr(pts.Fd(), termios.TCSANOW, &settings)

Perhaps this library could set IUTF8 by default? I'm not sure if there will be any negative side-effects to that, though. I haven't tested that approach in production.

I would be inclined to indeed set the flag by default, but it requires some exploration to make sure it doesn't break existing code bases.
cc @kr, any thoughts on this?

I would be inclined to indeed set the flag by default, but it requires some exploration to make sure it doesn't break existing code bases.
cc @kr, any thoughts on this?

I agree. No additional insight or information from me, unfortunately.
Seems useful, hopefully it won't break much!

authors: creack kr mislav

repo: creack/pty


text:
Using newer version of bops

I want to use the newest version of bops as a dependency but it is failing testing for the 0.6 version of node.  Would be ok to set the engine to be  >=0.7 for this version of msgpack-js and for the rare person still running 0.6 or lower, they can use the older version.

I think that would be fine.

authors: AskiaAHHill creationix

repo: creationix/msgpack-js


text:
nvm installing node outside of .nvm dir

Maybe I misunderstand how nvm works (my bash skills are lame), but if I initially place the .nvm.sh script in ~/.nvm, shouldn't node versions be installed inside of ~/.nvm?  When I install and use nvm as show below on Ubuntu, nvm installs node in the current working directory, instead of ~/.nvm:
git clone git://github.com/creationix/nvm.git ~/.nvm
echo ". ~/.nvm/nvm.sh" >> ~/.profile
source ~/.profile
nvm sync # Now my home directory has an empty file for every node.js version?
nvm install v0.4.12 # Now node is installed in my home dir, not inside .nvm?
# Restart computer, login.
nvm # No command 'nvm' is found...
source .profile
nvm # Now it finds nvm.

Also, how come I have to manually source my .profile whenever I login?

Man I had the same happen to me. The src folder and my versions of node are all showing up in my home folder rather than under ~/.nvm what gives?

I'm still facing the same issue.
Here's the script I'm using (it's long but pretty simple) :
#!/bin/bash

# set -x

nvm_url="https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh"
nvm_node_version="lts/carbon"

# Source ~/.nvm/nvm.sh if it exists
# https://unix.stackexchange.com/questions/184508/nvm-command-not-available-in-bash-script
if [ -f ~/.nvm/nvm.sh ]; then
    . ~/.nvm/nvm.sh
fi

commandExists() {
  if command -v $1 2>/dev/null;
  then
    # 0 = true
    # echo "$1 - command already exists."
    return 0
  else
    # 1 = false
    echo >&2 "$1 - command does not exist."
    return 1
  fi
}

throwMissingCommandError() {
    echo >&2 "$1 not found. Aborting.";
    exit 1;
}

# Install NVM
echo "\nInstalling NVM"
if ! commandExists "nvm" ; then
    # Remove stale variables
    unset NVM_DIR
    unset XDG_CONFIG_HOME
    if commandExists "curl" ; then
        curl -o- $nvm_url | bash
    else
        if commandExists "wget" ; then
            wget -qO- $nvm_url | bash
        else
            echo >&2 "I require Curl or WGET, but they are both not installed. Aborting.";
            exit 1;
        fi
    fi

    # Load/source the nvm script
    if [ -f ~/.nvm/nvm.sh ]; then
        echo "~/.nvm/nvm.sh Found. Sourcing it."
        . ~/.nvm/nvm.sh
    fi

    if commandExists "nvm" ; then
        echo "NVM Successfully Installed."

        nvmversion=$(nvm --version)
        echo "NVM Version: $nvmversion"
    else
        echo >&2 "Unable to install NVM. Aborting.";
        exit 1;
    fi
else
    echo "NVM already Installed."
fi

echo "\nInstalling Node and NPM"
if ! commandExists "node" || ! commandExists "npm" ; then
    nvm install $nvm_node_version
    if commandExists "node" ; then
        echo "Node Successfully Installed."

        nodeversion=$(node --version)
        echo "NodeJS Version: $nodeversion"

        npmversion=$(npm --version)
        echo "NPM Version: $npmversion"
    else
        echo >&2 "Unable to install Node. Aborting.";
        exit 1;
    fi
    if commandExists "npm" ; then
        echo "NPM Successfully Installed."
    else
        echo >&2 "Unable to install NPM. Aborting.";
        exit 1;
    fi
else
    echo "Node and NPM already Installed."

    nodeversion=$(node --version)
    echo "NodeJS Version: $nodeversion"

    npmversion=$(npm --version)
    echo "NPM Version: $npmversion"
fi

I ran this script from the home directory. At the end, I saw alias and versions folder in my home directory.

authors: abhilash1in bryanvick mdgrech

repo: creationix/nvm


text:
Niger on the map links to the Netherlands

Please fix.

I suggested a change to fix this issue, could however be that you have a master spreadsheet yourself that hosts the error. The country code of the Netherlands is NL, not NE.

authors: mzeinstra peterspdx

repo: creativecommons/caselaw


text:
BugFix: Added missing vendor/normalize.css file to vocabulary/css.

Fixes

Fixes #342  by @SumaiyaaRq

Description
This PR introduces a new folder named vendor within the vocabulary/css directory. It contains a new CSS file normalize.css. The file is essential for consistent styling across all projects, therefore it has been added.
Technical Details
Created: vendor/normalize.css intended for use across multiple projects.
Modified:  .gitignore to ensure new folder and CSS file are tracked properly.
Tests
1.Open Vocabulary.css file.
2.Identify the @import statement in the CSS file(line 32) for noramlize.css file.
3.Verify the presence of the file in the vocabulary/css directory.
4.See correction.
Checklist

[x] My pull request has a descriptive title (not a vague title like Update index.md).
[x] My pull request targets the default branch of the repository (main or master).
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[ ] I added or updated tests for the changes I made (if applicable).
[ ] I added or updated documentation (if applicable).
[x] I tried running the project locally and verified that there are no
visible errors.

Developer Certificate of Origin

For the purposes of this DCO, "license" is equivalent to "license or public domain dedication," and "open source license" is equivalent to "open content license or public domain dedication."

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

@possumbilities I have made required changes , kindly review when you have a moment .

Thanks a lot!

repo: creativecommons/cc-resource-archive


text:
Links to Old CC Blog Post URLs - Auto-Direct to new URL?

I see edX: https://open.edx.org/blog/open-edx-releases-creative-commons-licensing
is pointing to our blog post (pre-shift)  - links to: http://creativecommons.org/weblog/entry/45593
and the user sees: "Oops! That page can’t be found."
It should link to: https://creativecommons.org/2015/06/02/edx-makes-it-easy-for-authors-to-share-under-creative-commons (this is the new URL for the old CC blog post)
Is it possible to do auto-forward on old CC blog post links .... so folks linking to old CC URLs find their way to the same page under the new CC URLs?
@mattl

All set. You can test it by opening the link in an incognito window and it'll redirect :)

@robmyers Added line 404 (appropriately) to live config

Thanks!
Cable

On Jul 6, 2016, at 9:54 AM, Matt Lee notifications@github.com wrote:
All set. You can test it by opening the link in an incognito window and it'll redirect :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

authors: cablegreen mattl


text:
Weaviate help is broken

Running:
$ go run cmd/weaviate-server/main.go --help

results in:
# github.com/coreos/etcd/clientv3
../../coreos/etcd/clientv3/auth.go:116:72: cannot use auth.callOpts (type []"github.com/coreos/etcd/vendor/google.golang.org/grpc".CallOption) as type []"go.etcd.io/etcd/vendor/google.golang.org/grpc".CallOption in argument to auth.remote.AuthEnable
../../coreos/etcd/clientv3/auth.go:121:74: cannot use auth.callOpts (type []"github.com/coreos/etcd/vendor/google.golang.org/grpc".CallOption) as type []"go.etcd.io/etcd/vendor/google.golang.org/grpc".CallOption in argument to auth.remote.AuthDisable
../../coreos/etcd/clientv3/auth.go:126:100: cannot use auth.callOpts (type []"github.com/coreos/etcd/vendor/google.golang.org/grpc".CallOption) as type []"go.etcd.io/etcd/vendor/google.golang.org/grpc".CallOption in argument to auth.remote.UserAdd
../../coreos/etcd/clientv3/auth.go:131:86: cannot use auth.callOpts (type []"github.com/coreos/etcd/vendor/google.golang.org/grpc".CallOption) as type []"go.etcd.io/etcd/vendor/google.golang.org/grpc".CallOption in argument to auth.remote.UserDelete
../../coreos/etcd/clientv3/auth.go:136:122: cannot use auth.callOpts (type []"github.com/coreos/etcd/vendor/google.golang.org/grpc".CallOption) as type []"go.etcd.io/etcd/vendor/google.golang.org/grpc".CallOption in argument to auth.remote.UserChangePassword
../../coreos/etcd/clientv3/auth.go:141:104: cannot use auth.callOpts (type []"github.com/coreos/etcd/vendor/google.golang.org/grpc".CallOption) as type []"go.etcd.io/etcd/vendor/google.golang.org/grpc".CallOption in argument to auth.remote.UserGrantRole
../../coreos/etcd/clientv3/auth.go:146:80: cannot use auth.callOpts (type []"github.com/coreos/etcd/vendor/google.golang.org/grpc".CallOption) as type []"go.etcd.io/etcd/vendor/google.golang.org/grpc".CallOption in argument to auth.remote.UserGet
../../coreos/etcd/clientv3/auth.go:151:72: cannot use auth.callOpts (type []"github.com/coreos/etcd/vendor/google.golang.org/grpc".CallOption) as type []"go.etcd.io/etcd/vendor/google.golang.org/grpc".CallOption in argument to auth.remote.UserList
../../coreos/etcd/clientv3/auth.go:156:106: cannot use auth.callOpts (type []"github.com/coreos/etcd/vendor/google.golang.org/grpc".CallOption) as type []"go.etcd.io/etcd/vendor/google.golang.org/grpc".CallOption in argument to auth.remote.UserRevokeRole
../../coreos/etcd/clientv3/auth.go:161:80: cannot use auth.callOpts (type []"github.com/coreos/etcd/vendor/google.golang.org/grpc".CallOption) as type []"go.etcd.io/etcd/vendor/google.golang.org/grpc".CallOption in argument to auth.remote.RoleAdd
../../coreos/etcd/clientv3/auth.go:161:80: too many errors
# github.com/creativesoftwarefdn/weaviate/database
database/database.go:187:27: cannot use lockerSession (type *"github.com/coreos/etcd/clientv3/concurrency".Session) as type *"go.etcd.io/etcd/clientv3/concurrency".Session in argument to recipe.NewRWMutex
database/database.go:223:30: cannot use db.lockerSession (type *"github.com/coreos/etcd/clientv3/concurrency".Session) as type *"go.etcd.io/etcd/clientv3/concurrency".Session in argument to recipe.NewRWMutex
database/database.go:246:30: cannot use db.lockerSession (type *"github.com/coreos/etcd/clientv3/concurrency".Session) as type *"go.etcd.io/etcd/clientv3/concurrency".Session in argument to recipe.NewRWMutex

I wasn't aware that's a feature. I guess that means it's not tested.
No tests -> absolutely no guarantees.

It is part of go-swagger, i'm not sure if it is an issue or my Golang setup though

Running go run cmd/weaviate-server/main.go --host=0.0.0.0 --port=8080 --scheme=http --config=demo --config-file=./docker-compose/runtime-dev/config.json results in the same.

Solved with: export GO111MODULE=on

At least the error in the OP seems to be related to your setup, works fine for me:
go run cmd/weaviate-server/main.go --help
Usage:
  main [OPTIONS]

Decentralised Knowledge Graph

Application Options:
      --scheme=            the listeners to enable, this can be repeated and defaults to the schemes in the swagger spec
      --cleanup-timeout=   grace period for which to wait before killing idle connections (default: 10s)
      --graceful-timeout=  grace period for which to wait before shutting down the server (default: 15s)
      --max-header-size=   controls the maximum number of bytes the server will read parsing the request header's keys and values, including the request line. It does not limit the size
                           of the request body. (default: 1MiB)
      --socket-path=       the unix socket to listen on (default: /var/run/weaviate.sock)
      --host=              the IP to listen on (default: localhost) [$HOST]
      --port=              the port to listen on for insecure connections, defaults to a random value [$PORT]
      --listen-limit=      limit the number of outstanding requests
      --keep-alive=        sets the TCP keep-alive timeouts on accepted connections. It prunes dead TCP connections ( e.g. closing laptop mid-download) (default: 3m)
      --read-timeout=      maximum duration before timing out read of the request (default: 30s)
      --write-timeout=     maximum duration before timing out write of the response (default: 60s)
      --tls-host=          the IP to listen on for tls, when not specified it's the same as --host [$TLS_HOST]
      --tls-port=          the port to listen on for secure connections, defaults to a random value [$TLS_PORT]
      --tls-certificate=   the certificate to use for secure connections [$TLS_CERTIFICATE]
      --tls-key=           the private key to use for secure conections [$TLS_PRIVATE_KEY]
      --tls-ca=            the certificate authority file to be used with mutual tls auth [$TLS_CA_CERTIFICATE]
      --tls-listen-limit=  limit the number of outstanding requests
      --tls-keep-alive=    sets the TCP keep-alive timeouts on accepted connections. It prunes dead TCP connections ( e.g. closing laptop mid-download)
      --tls-read-timeout=  maximum duration before timing out read of the request
      --tls-write-timeout= maximum duration before timing out write of the response

Connector config & MQTT config:
      --config=            the section inside the config file that has to be used
      --config-file=       path to config file (default: ./weaviate.conf.json)

Help Options:
  -h, --help               Show this help message

ha, 3 seconds too slow ;)

authors: bobvanluijt etiennedi

repo: creativesoftwarefdn/weaviate


text:
Quick examples for how to use the behavior

Full examples to come

@Mihai-P Good work! Thanks!

authors: Mihai-P creocoder


text:
Update runc to v1.2.3

What type of PR is this?
/kind dependency-change
What this PR does / why we need it:
Update runc to the latest release.
Which issue(s) this PR fixes:

None
Special notes for your reviewer:
None
Does this PR introduce a user-facing change?

None

/approve
/lgtm
v1.2.3, eh? :tada:

authors: kwilczynski saschagrunert

repo: cri-o/packaging


text:
x.t * x should be symmetric

Feel free to close this if there's no feasible way to implement it in your current design, but ideally eval(x.t * x) where x is any matrix should return a SymmetricMatrix, since the result is always symmetric.
If this is not feasible to implement because a check for it would be too costly in terms of either performance or code complexity, then I wonder if it's worth making a special case function for evaluating x.t * x, since this operation is used very often in statistics.  (Though this is definitely a low-priority enhancement, not a must-have feature.)

I'm resolving this because what I originally suggested is definitely not feasible and what we discussed to replace it already works.

repo: cristicbz/scid


text:
Pet Form

Begin the construction of the pet form page layout based on our framework.

I matched the layout to our wireframe and commit and pushed to my branch.

completed


text:
Add WhereOr to support generating logical OR

Add WhereOr to support generating logical OR
Description
Add the ability to use WhereOr as a LINQ extension method.
Uses a similar approach to Where but uses OR instead of AND
eg.
DefaultPartition.QueryDocuments<CosmosEntityDocument>()                                             .Where(x => x.Property == 4)                                             .WhereOr(x => x.Property == 2)                                             .WhereOr(x => x.Property == 3)                                             .Where(x => x.Property == 5)
will produce
"SELECT VALUE root FROM root WHERE ((((root.prop = 4) OR (root.prop = 2)) OR (root.prop = 3)) AND (root.prop = 5))"
Add WhereOr clause to support generating OR expressions directly from IQueryable

Add new CosmosLinqQueryExtensions WhereOr() in a similar way to the LINQ Where extension method
Add OrClause property to the existing SqlWhereClause.cs that denotes it will be OR and not AND
Add the Where or to the ExpressionToSQL.cs and include as a supported method
Update the QueryUnderConstruction.cs to SqlBinaryScalarOperatorKind.Or when the OrClause is true, else use the old code
Increment the NuGet package version

Type of change
Please delete options that are not relevant.

[X] New feature (non-breaking change which adds functionality)

To automatically close an issue: closes #IssueNumber

Can't say I'm a fan of this. It's non-intuitive where the brackets are going. Why are all the OR's assigned inner precedence together ? Why is the above expression not WHERE root.prop = 4 OR root.prop = 2 OR root.prop = 3 AND root.prop = 5 where implicit grouping is done between the last OR and AND?

authors: alexfca jahmai-ca


text:
Converts all png and jpg to webp, changes all links to lead to webp, …

…removes jpg and png files.
While doing this I noted that npc-input.css points to two missing files (ui/parchment.jpg and ui/parchment-white.jpg), I still changed the link to point to an equally nonexistent webp file.
Approximately halves the size of the system (not all that significant given that the zip is <3mb, but should help at least a little for those playing with slow/flaky internet.)

Oh, cool, thank you!   We will merge it AFTER we get this dang 0.8.X migration done.

Probably a good idea. :)

authors: crnormand xdy

repo: crnormand/gurps


text:
Fanbox including Cloudflare issue

I know you're already aware of this but after some researching this seems to have been picked up on by others using cookies to verify Fanbox/Pixiv accounts, potential fix here
https://github.com/Nandaka/PixivUtil2/pull/1345

Yeah unfortunately there is not a good way to automate this because of the captcha barrier. The method I described in the readme to get the correct auth tokens is probably the best that can be done.

Added additional information about user-agent in the latest commits: a4c3399a24d1ba39ff4fd0231259d11b8c27c102

authors: Lordanem cromachina

repo: cromachina/fanbox-bot


text:
Implementation of the new DirectX Hook

The new scripthook has some neat new features.
IMPORT void drawTexture(int id, int index, int level, int time,
	float sizeX, float sizeY, float centerX, float centerY,
	float posX, float posY, float rotation, float screenHeightScaleFactor,
	float r, float g, float b, float a);

typedef void(*PresentCallback)(void *);
IMPORT void presentCallbackRegister(PresentCallback cb);
IMPORT void presentCallbackUnregister(PresentCallback cb);

Before we implement them, we need to find out how far we want to go. Do we want to include a c# wrapper around the directX stuff (SlimDX etc.)? drawTexture will propably get wrapped in a class.

SlimDX etc. can be added by the script developers if needed. I don't want to bloat this project more than needed. But the texture drawing is something of interest.

Yea, sounds good :+1:

I think i know what it does, but just to be sure, could someone explain it to me? :-) Also what makes you @JohnnyCrazy so exited about it? :-)

Well, the draw_texture is pretty awsome, allows us to draw custom PNGs on the screen :+1:
And the DirectX hook itself deliver endless possibilties for developers. (Custom fonts and even custom animations and stuff)

@JohnnyCrazy Sounds very nice, but let's just take custom fonts for instance, would that also mean we would be able to use System.Drawing.Fonts and other fonts we either create or find online? :-)

If the font is installed on the target PC, you can use them. But we most likely won't implement DirectX Text-Drawing directly in this library, since it would bloat the library. However, we may provide a little wrapper around the DirectX interface, so developers can easily use SlimDX with it.

Support for custom textures was added in 150fdd7953a97a7a9ecc2c8d662c754ec10f971a.

Globals were added in #295, so this is now fully resolved.

authors: JohnnyCrazy crosire frodzet

repo: crosire/scripthookvdotnet

license: Zlib


text:
Fix Vehicle.HighGear

Actulally, the 8th gear is not fully supported by GTA. leftas and gp told me that. http://imgur.com/a/aQTYT

I know we don't have to release v2.9.6 due to the last GTA update but some people in GTA5-Mods keep complaining about not releasing a new version. Will you release v2.9.6?

Ok.

authors: crosire kagikn


text:
accept loop= kwarg

See https://github.com/crossbario/autobahn-python/issues/747 for context.
asyncio allows passing in a loop= kwarg  to the Future constructor. Currently, we always pass the One True Loop (whatever config.loop says).
txaio.create_future APIs should accept an (optional) loop= kwarg (or reactor= or loop_or_reactor=?). It's an error on Twisted if this is not the same object as config.loop. For asyncio, we pass it along to Future.
The affected APIs are:

txaio.create_future
txaio.as_future
txaio.call_later
txaio.make_batched_timer

The tough ones are as_future and call_later as they don't have a nice way to just add a new loop=None kwarg.
We discussed a few options on IRC, and concluded:

breaking the API totally by adding a positional "loop" arg is Very Bad
pop() in a "loop" from kwargs is Bad (and will lead to weird, surprising errors in code that happens to already take a loop kwarg)
using something like the testutils.replace_loop context manager is weird and might not work reliably anyway

So we will try by introducing an "instantiate an API object"-type method (final naming TBD) that has all the txaio API methods hanging off it and takes an (optional) custom loop argument. So code like this:
f0 = txaio.as_future(...)
f1 = txaio.call_later(...)

becomes:
api = txaio.create_api(loop=asyncio.new_event_loop())
f0 = api.as_future(...)
f1 = api.call_later(...)

This won't change any existing code, but code that wants to use many custom loops can opt-in by using the .create_api() call.

Worth noting: you can already use an explicit event-loop (or reactor), but only one. This feature is for users of asyncio to use multiple event loops at once. Twisted doesn't (yet) support this.

See https://github.com/crossbario/txaio/pull/98#issuecomment-292713470

repo: crossbario/txaio


text:
[Crosswalk-11][usecase-wrt] Update the ART Mode usecase status

The case can't test on device ASUS Memo pad 8.

LGTM

authors: ibelem wanghongjuan

repo: crosswalk-project/crosswalk-test-suite


text:
[apptools-android] Check for required minimum API target version on apptools android

The status of test case is designed.
https://crosswalk-project.org/jira/browse/XWALK-3833

LGTM

authors: Honry yunxliu


text:
[Cordova][Hotfix] Fix missing CrosswalkVersion for CrosswalkVersion

Impacted tests(approved): new 0, update 1, delete 0
Unit test platform: Crosswalk Project for Android 15.44.384.7
Unit test result summary: pass 1, fail 0, block 0

LGTM

authors: Honry zhuyongyong


text:
[EmbeddingAPI] Add usecase for XWalkUIClient onJavascriptCloseWindow API

-Add usecase for XWalkUIClient onJavascriptCloseWindow API
-Cover the XWalkActivity and XWalkInitializer two ways
Impacted tests(approved): new 2, update 0, delete 0
Unit test platform: [Android]
Unit test result summary: pass 2, fail 0, block 0
BUG=https://crosswalk-project.org/jira/browse/XWALK-5102

LGTM

authors: Shao-Feng jacky-young


text:
DEPS.xwalk: Roll v8-crosswalk(335bf02->ae54f41)

ae54f41 Merge pull request #119 from chuan9/4768
033fd71 Add maxNum and minNum for SIMD.Float32x4 in CrankShaft BUG=XWALK-4768
79163b6 Add maxNum and minNum for SIMD.Float32x4 in runtime BUG=XWALK-4768
8fd0061 Merge pull request #118 from chuan9/4767-runtime
a1fe099 Add replaceLane and extractLane for SIMD.Float32x4, Int32x4 and SIMD.Float64x2 in CrankShaft.
be7afe1 Add extractLane and replaceLane for SIMD.Float32x4, SIMD.Int32x4 and SIMD.Float64x2 in runtime. Remove lane property and Revise testcases.

@rakuco Done! Thanks~

no, this is wrong. you are supposed to backport those patches to the appropriate crosswalk 16 branch in v8-crosswalk first. you are making Crosswalk 16 track v8-crosswalk's master branch with this change.

superseded by #3396.

repo: crosswalk-project/crosswalk


text:
[WIP] autocomplete-plus support

This is a first cut at autocomplete support. It assumes you're using
supercolliderjs with my recent socket PR.
Here it pulls the list of class names and documentation summaries right after
booting the server, and queries for class methods on-the-fly.
I agree with your comment elsewhere that loading the class info from a file
would be nice so we can still auto-complete if SCLang is crashing or otherwise
unavailable. The balance is basically making sure that the autocompletion is
up-to-date whenever possible, so if the user adds a Quark or custom class it
should show up after their next reboot. In general a reasonable fallback plan
seems like:

Use fresh data (from the last SCLang boot) whenever possible
If SCLang didn't boot successfully, use a cached copy from the last boot
If there are no cached copies, load from a default file that ships with the
package with all the classes that ship with SC.

I'll test out whether getting all the class methods is fast enough to do it
up-front rather then at autocomplete-time.
Still more to do (this is somewhat aspirational, we'll see how far I get):

[ ] handle inherited methods
[ ] merge Class.prop and Class.prop_ methods with some
readable/writable indication
[ ] figure out cacheing for when SCLang is unavailable
[ ] better feedback when you're in the middle of an argument list
(maybe snippet support?)
[ ] add variable support - if we can statically figure out the class of a
variable it would be great to be able to autocomplete instance
members/methods
[ ] incorporate the regular text-based autocomplete so we also complete
identifiers in the file.

I'll add a demo gif shortly. :)

I started this before those other PRs were merged, so I'll need to rebase.
Here's a gif:

repo: crucialfelix/atom-supercollider


text:
Issue 246- Allow template from local repo

Added a new option --template_path to cruft update
From issue description:
"Introduce an argument to update (and link?) --template_path to use a template that has already been checked out locally. This will help to use cruft inside secure github workflows when you do not want to pass private tokens or username and passwords."

I would love this PR working

@seleniusmoell did you have a working version on this?

@guilhermecgs Sorry, I had to put this on hold before I got a finished version

authors: guilhermecgs seleniusmoell

repo: cruft/cruft


text:
Add 20 Christmas songs

Add the following very popular Christmas songs:
NOTE: Set the Author as "Author Unknown" and Album as "Christmas Songs".

Yesu Palanay Munnanaiyeelay
Yesu Rajan Piranthaar
Vanthar Karthar Vanthar
Athi Kalayil Palanai Thedi
Namaskaripom Nam Yesu Rajan
Vaanavar Piranthaar
Maasila Theva Mainthan Yelaiyin Kolam Kondar
Ullam Siriketumay Vinnil Parakatuumay
Kartharallavo Maa Maari Yendru Paalan Allavo
Theadi Vantha Oli, Yennai Atri Thetra Vantha Oli
Chinna Chinna Palagan
Theva Kumaran Yesu
Aarparipom Paalan Piranthe Thinam
Elai Kolam Eduthavareh Yesu Raja
Avaniyiley Avatharithar
Seer Yesu Nathan Yendrum
Naam Rajathi Rajanukke
Piranthar Piranthar
Pirantharey Pirantharey Theva Suthan Pirantharey
Namakkoru palagan piranthar

Since the scope of this issue is too big, closing it.

authors: noahantony sskjames

repo: crunchersaspire/worshipsongs-db-dev


text:
Added some more preconditions using hax::implies and hax::forall and slight refactoring.

Removed all use of map() for the C-extraction

Looks like hax is failing

Yeah, I opened https://github.com/hacspec/hax/pull/380 to fix this.

repo: cryspen/libcrux


text:
Compiler should Emit Warning/Notes when Deduced Type Differs from Annotated Type.

Feature Request
I had some code recursively walking through a tree. The Crystal compiler was very clever, and spotted that I was not handling the base case properly. In this code, I mapped over the node's children, and assigned this to an Array(UInt8?). However, the compiler complained that in order to assign to this, the result of the map had to be Array(UInt8?), not Array(Nil). This was because it had worked out that the nil returned from the base case was wrong, and would propagate upwards. This meant that my recursive function would always return nil, even though it was annotated to return UInt8?, and thus, the array could only ever be an array of nils.
This is great, having the compiler check my logic is the way to do things properly. However, my only issue was that it was hard to work out why this was the case. The function was annotated to return UInt8?, and the array was annotated as Array(UInt8?). If the compiler has inferred in cases like this, that the actual return type differs from what I am expecting, in effect due to unreachable code or similar issues, then I'd like to have a hint in the compiler error stack explaining what it deduced to be different form what I expected, and where this occurs. In this case, if it could tell me that it has deduced that a particular type in a union will never be retuned, then that would help find the source of the error - in particular, because this was ultimately a logic error, not a slip of the fingers or some other semantics-related issue. My code was effectively correct (and other languages would just compile this anyway), but my logic was not, so for this to show up as a type error somewhat hides the source of the issue.
Here's a toy example. Obviously just returning nil would be a bit of a blaring mistake, but it servers as a minimal reproduction for the issue.
def recurse(n) : Int32?
    nil
end

results : Array(Int32?) = (0..10).map{|n|
    recurse n
}

Compiler output:
1 ❯ shards build --debug --error-trace
...
Error target MRE failed to compile:
In src/MRE.cr:5:1

 5 | results : Array(Int32?) = (0..10).map{|n|
      ^------
Error: type must be Array(Int32 | Nil), not Array(Nil)

And what I'd like to see, is something along these lines:
1 ❯ shards build --debug --error-trace
...
Error target MRE failed to compile:
In src/MRE.cr:5:1

 5 | results : Array(Int32?) = (0..10).map{|n|
      ^------
Error: type must be Array(Int32 | Nil), not Array(Nil)

Note: result of expression deduced to have type Array(Nil)
 6 |     recurse n
         ^--------

Note: because method deduced to have return type of Nil.
 1 | def recurse(n) : Int32?
         ^---------

Warning: Method deduced to have return type differing from its explicit annotation. Its effective return type is Nil.
 1 | def recurse(n) : Int32?
                      ^-----
Note: return of type Int32 in union (Int32 | Nil) is unreachable
 1 |     nil
         ^--

I think a warning whenever an explicit type annotation is found not to match what the compiler has deduced would be good in all cases. Even if it's not causing an error elsewhere, it's probably a bug, so I think it should not go by silently.
Modern clang can be quite good at suggesting what I might have meant to do, as well as backend compiler logic has determined something that isn't in the source code; so I don't know if there's some inspiration to be had, either in error messages, or in how it's implemented within LLVM, there.
PS: This bug may well be a duplicate of another; but beyond searching for keywords like "type inference" and getting back tonnes of results, I'm not really sure what search term to use to track it down.

I think a warning whenever an explicit type annotation is found not to match what the compiler has deduced would be good in all cases. Even if it's not causing an error elsewhere, it's probably a bug, so I think it should not go by silently.

This is a controversial topic. It's discussed in more detail in #3803

If I understand correctly what the example exposes is that the annotated return type doesn't coerce the actual return type. It's just a constraint that gets accepted (Nil is a subset of Int32|Nil) and the compiler will generate a recurse(Int32) : Nil function.
The warning would generate too much noise. For example it's common for an abstract method implementation to return only a subset of the annotated types.
Having the compiler explain the issue could be interesting. It's good at reporting how it reached the error, but it doesn't explain why the block is returning Nil.

So, am I right in thinking that the annotation is strictly a constraint? A bit like a concept requirement we now have in C++20. As, admittedly I haven't read up enough on the Crystal theory, it's more been a language I have picked up on the go, but, when I write a function as in the example, I expected that this means the compiler is stamping out binary code that takes those types and returns the one I specify. Is it more like you're just saying "this can return an integer, or nil, or a nullable integer - but refuse to compile this overload for anything else"? It's a generic but with a requirement on the list of permissible types? And the compiler is free to output a specialisation for just a sunset of the types, and/or an overload that handles the possible options at runtime, as would be the case here if I returned nil if rand() was less than 0.5, and some integer if greater, for example?
Also on the verbosity point - could it simply be absorbed into the error-trace option? As the compiler by default only spits out the first problem we encounter, right? If it would be too verbose to have as a warning in general cases, I think showing it in the error stack, or having an option similar to what we can do with macros, would then mean that the user is asking explicitly for more information. I was scratching my head for a good ten minutes so it's stuff I'd like to know given in this scenario my program already can't build.

Note: This discussion would fit better in the forum.
To answer quickly (to the extent of my knowledge): an Int32|Nil return type annotation on a def says that the method may return an Int32 or a Nil. It's fine to return either, but it's an error to return something else (e.g. String). I believe this also stands for argument types.
This doesn't stand for a fun that must be fully typed and generates an extern symbol, compatible with C.

the compiler is free to output a specialisation for just a sunset of the types

Yes, and it will actively try to specialize def methods, even on how they're actually called (as a JIT would).

It's a generic but with a requirement on the list of permissible types?

I believe it can be viewed this way. It is said that "Crystal is a big template language".

Thanks, that makes sense. The template part I have gradually learned the hard way 😂.
Do you want to merge this issue into another re warnings or compiler verbosity and close it?

authors: stellarpower straight-shoota ysbaddaden

repo: crystal-lang/crystal