cmd/go: go get fossil failures

What version of Go are you using (go version)?

$ go version
go version go1.12.1 linux/amd64

Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/user/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/user/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/lib/go"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build279953534=/tmp/go-build -gno-record-gcc-switches"

What did you do?
I tried to clone a fossil repo from chiselapp using the .fossil to test self-hosted fossil repos. It looks like the chiselapp.com/user/kyle/repository/fossilgg format is handled separately in cmd/go/internal/get/vcs.go.
$ go get chiselapp.com/user/kyle/repository/fossilgg.fossil

What did you expect to see?
The go get succeeds and documentation can be listed via go doc for confirmation:
$ go doc -u -all -src fossilgg
package fossilgg.fossil // import "chiselapp.com/user/kyle/repository/fossilgg.fossil"

CONSTANTS

const greeting = "Hello from fossil!"

FUNCTIONS

func Hello() string {
        return greeting
}

What did you see instead?
The fossil clone fails:
# cd .; fossil clone https://chiselapp.com/user/kyle/repository/fossilgg.fossil /home/user/go/src/chiselapp.com/user/kyle/repository/fossilgg.fossil/.fossil
redirect limit exceeded
server returned an error - clone aborted
package chiselapp.com/user/kyle/repository/fossilgg.fossil: exit status 1

This also leaves behind an empty fossilgg.fossil directory in $GOPATH that has the side effect of preventing future calls to go get:
$ go get chiselapp.com/user/kyle/repository/fossilgg.fossil
can't load package: package chiselapp.com/user/kyle/repository/fossilgg.fossil: no Go files in /home/user/go/src/chiselapp.com/user/kyle/repository/fossilgg.fossil

Are you sure that the repository can be cloned in general? If so, what command did you use to verify that, and in what way (if any) does it differ from the fossil clone command printed by go get?
How does the behavior change, if at all, in module mode (with GO111MODULE=on and the working directory within a module)?

@arnottcr you need to supply the path to the repository with out the .fossil extension:
go get chiselapp.com/user/kyle/repository/fossilgg

@kamanson: I am aware that the clone works without the .fossil suffix, however per the spec I should be able to clone with either, right?
@bcmills: while the output is not identical, modules appear to preserve the failing behaviour:
$ GO111MODULE=on go get chiselapp.com/user/kyle/repository/fossilgg.fossil

go: finding chiselapp.com/user/kyle/repository/fossilgg v0.0.0-20160617224315-0373066a09db
go get chiselapp.com/user/kyle/repository/fossilgg.fossil: fossil clone https://chiselapp.com/user/kyle/repository/fossilgg.fossil .fossil in /tmp/go/pkg/mod/cache/vcs/351aec3555812167b2e4d08a2027fe8df20a3e623d2d5ffa60cfba15a9da2437: exit status 1:
        redirect limit exceeded
        server returned an error - clone aborted

$ GO111MODULE=off go get chiselapp.com/user/kyle/repository/fossilgg.fossil
# cd .; fossil clone https://chiselapp.com/user/kyle/repository/fossilgg.fossil /tmp/go/src/chiselapp.com/user/kyle/repository/fossilgg.fossil/.fossil
redirect limit exceeded
server returned an error - clone aborted
package chiselapp.com/user/kyle/repository/fossilgg.fossil: exit status 1

It looks like an underlying fossil clone failure may be the root cause:
$ fossil clone https://chiselapp.com/user/kyle/repository/fossilgg.fossil fossilgg.fossil
redirect with status 302 to http://chiselapp.com/notfound
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/
redirect limit exceeded
Clone done, sent: 6998  received: 13314  ip: 2607:f1c0:84b:4b02:68e8:7a3f:2812:3fc0
server returned an error - clone aborted

$ fossil clone https://chiselapp.com/user/kyle/repository/fossilgg bare
Round-trips: 2   Artifacts sent: 0  received: 16
Clone done, sent: 572  received: 14731  ip: <IP_ADDRESS>
Rebuilding repository meta-data...
  100.0% complete...
Extra delta compression...
Vacuuming the database...
project-id: e85b3a05650ffbb291dd1f398ab5b602d1859efb
server-id:  199d504c2d1c6d90f045d5f4e906fb93ff0b526d
admin-user: user (password is "password")

For completeness, I have included output for the successful go get calls without vcs suffix:
$ GO111MODULE=off GOPATH=/tmp/go/ go get chiselapp.com/user/kyle/repository/fossilgg

$ GO111MODULE=on go get chiselapp.com/user/kyle/repository/fossilgg
go: finding chiselapp.com/user/kyle/repository/fossilgg v0.0.0-20160617224315-0373066a09db
go: finding chiselapp.com/user/kyle/repository/fossilgg latest
go: downloading chiselapp.com/user/kyle/repository/fossilgg v0.0.0-20160617224315-0373066a09db
go: extracting chiselapp.com/user/kyle/repository/fossilgg v0.0.0-20160617224315-0373066a09db

@arnottcr can you point to

@kamanson: I am aware that the clone works without the .fossil suffix, however per the spec I should be able to clone with either, right?

Chisel can handle redirects however it wants, same as any other code host.  It doesn't work with git either:
$ go get github.com/golang/text.git
go get github.com/golang/text.git: invalid version control suffix in github.com/ path

Can you point me to the spec you are referring to?

Can you point me to the spec you are referring to?

I'm guessing the section in https://tip.golang.org/cmd/go/#hdr-Remote_import_paths starting at “For code hosted on other servers […]”.
But note that that is an either/or, not both: in general we expect each repository to have one canonical path, not multiple variations. You should import via only that canonical path.

Yeah, that was the paragraph I was citing as spec, but my reading was that the package/module owner had the choice of either option, not the entire hosting provider. So if a vcs suffix was provided, it would trump the http/meta driven resolution.
I guess I do not see the benefit of preventing a package/module owner from using github.com/user/repo.git/pkg if they want to? But if this is working as expected, I can understand that, it just feels like a hidden rule set[0], that only serves to confuse users.
0] This rule only applies for GitHub and JazzHub, and leverages get.noVCSSuffix.

my reading was that the package/module owner had the choice of either option, not the entire hosting provider

chiselapp.com is literally a special case:
https://github.com/golang/go/blob/df557fe3ea94ff8888abd6a6ab4cc5d5351d77a6/src/cmd/go/internal/get/vcs.go#L1023-L1029
We should probably try to migrate all of those special cases over to go-import meta tags, but it doesn't seem critical enough to do right now.

sgtm; would you mind if I worked on a patch, or is there a larger refactor in the works that would nullify such efforts? (e.g. modules)

If you add the .fossil extension, fossil itself fails with the redirect error:
fossil clone https://chiselapp.com/user/kyle/repository/fossilgg.fossil tmp.fossil

Click...
redirect with status 302 to http://chiselapp.com/notfound
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/
redirect with status 301 to http://chiselapp.com/notfound/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/xfer/

redirect limit exceeded
Clone done, sent: 7018  received: 13314  ip: <IP_ADDRESS>
server returned an error - clone aborted

I don't understand how this can be fixed.  Would we drop the .fossil extension?  This seems like even more of a special case to me.  Fossil itself is hosted at https://fossil-scm.org/, which can't have an extension.

@arnottcr, I think that deprecating any (or all) of the cmd/go special-cases (presumably replacing them with go-import tags) would need to go through the proposal committee.
In particular, we would need buy-in from folks who currently maintain or use those hosting services, since either they would need to add the go-import tags for their servers or folks would need to migrate off of those services.

I'd like to take a step back, though: what's the concrete problem you're trying to address using the .fossil extension?

I was looking into .fossil support for gddo, but was unable to find non-chiselapp fossil hosting[0]. Thus, I was hoping that chiselapp.com/user/<user>/repository/<repo>.fossil would be a decent substitute, however it failed to go get so I opened a ticket.
I do not have a workflow that is broken by this issue, and realistically it would probably be more useful to implement gddo support as a provider/special case like github or bitbucket, since chisel has somewhat standard APIs.
I was not aware when I opened this ticket that github.com/user/repo.git also failed, so I am happy to leave this to languish until such a time that it makes sense to clean up all, or at least most, the special cases.
0] I think this is because fossil is intended as a github in a binary, so most people run their own, however I was trying to find something official.


Review updated bdjuno build for likecoin

Currently the bdjuno team is working on the likecoin dual prefix update, our repo is pointing to the latest commit of the said branch. While it successfully parses block information, there are some notable errors that occur from time to time in which the staking_pool table is not being updated. When the updated bdjuno build is officially released some time in the future, we should

Review the build and see if the said errors still occur
Update the submodule and point to the build

need to wait until they release

seems updated
https://github.com/forbole/bdjuno/commits/chains/likecoin/mainnet

not sure if I understand it correctly but seems like they have assumed all genesis validators have the like1 prefix https://github.com/forbole/bdjuno/blob/c87cfab4ded132fd577f36242caa1e91b7046d90/modules/staking/utils_gentx.go#L31-L36
This will probably break some of the validator information

And apparently the ordering of the supported prefix in the config also affects the outcome lol if I put cosmos before like it breaks


XSD Errors

Please validate your XSD! There are many errors.
Missing a space between attributes: name="CryptographySuite"minOccurs="0"
q1:EapHostConfig cannot be resolved to an element declaration component
As tFable has raised, maxOccurs="unbounded" looks incorrect on xs:element name="CryptographySuite"
This will validate your revised XSD: https://www.liquid-technologies.com/online-xsd-validator

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

ID: 3032f094-c9b7-6f8c-5b66-2ba152d7c326
Version Independent ID: 83047fc5-7020-be72-85d6-85fa0bfbf5b7
Content: ProfileXML XSD
Content Source: windows/client-management/mdm/vpnv2-profile-xsd.md
Product: w10
GitHub Login: @MariciaAlforque
Microsoft Alias: maricia

any chance this is going to get fixed so I can validate my xml config and actually use the always on vpn product?

@officedocsbot assign @e0i

wow, moving fast over there, takes 2 months just to assign the tickets.

@andrewwillett @angrymrtom
Apologies for the delay.
The content is being reviewed in the light of your feedback and we'll keep you posted on updates.
Thank you for providing feedback and following up.

@andrewwillett
Upon your feedback, We have updated the content with relevant changes accordingly. Thanks.


[Bug] dynamic shape not work

Thanks for participating in the TVM community! We use https://discuss.tvm.ai for any general usage questions and discussions. The issue tracker is used for actionable items such as feature proposals discussion, roadmaps, and bug tracking.  You are always welcomed to post on the forum first :smile_cat:
Issues that are inactive for a period of time may get closed. We adopt this policy so that we won't lose track of actionable issues that may fall at the bottom of the pile. Feel free to reopen a new one if you feel there is an additional problem that needs attention when an old one gets closed.
Expected behavior
successfully run
Actual behavior
InternalError: Check failed: fshape_func.count(op) > 0 (0 vs. 0) : Internal error, cannot find ShapeFunc for sin
Environment
Operating System: ubuntu 20.04
TVM version: 0.14.dev194+ga096b4cd0
Steps to reproduce
import torch
import tvm
from tvm import relay

class DSmodel(torch.nn.Module):
    def __init__(self):
        super().__init__()

    def forward(self, positions, freqs=2):
        gt0 = positions>0
        gt0_idx = gt0.nonzero(as_tuple=True)
        positions = positions[gt0_idx]
        freq_bands = (2 ** torch.arange(freqs).float()).to(positions.device)  # (F,)
        pts = (positions[..., None] * freq_bands).reshape(
            positions.shape[:-1] + (freqs * positions.shape[-1],))  # (..., DF)
        pts = torch.cat([torch.sin(pts), torch.cos(pts)], dim=-1)
        return pts

model = DSmodel()
pos = torch.rand([20, 3])
pt_mod = torch.jit.trace(model, example_inputs=(pos,))

mod, params = relay.frontend.from_pytorch(pt_mod, [("input0", (20, 3))])
print(mod)

target = tvm.target.Target(target="llvm")
device = tvm.device(target.kind.name, 0)
func = tvm.relay.create_executor(kind="vm", mod=mod, target=target, device=device).evaluate()
func(pos.numpy())

Triage
* needs-triage

I recommend you check out TVM Unity for symbolic shape inputs. For example, you can take a look at thoese test cases: tests/python/relax/test_e2e_op_dynamic.py


Contributing guide

Type of PR

[ ] BUG
[ ] FEAT
[ ] MAINT
[X] DOC

Is your Pull Request linked to an existing Issue or Pull Request?

Give a brief description for the solution you have provided

PR Checklist

[ ] Added documentation for changes
[ ] Added feature to example notebooks at tutorial in splink_demos (if appropriate)
[ ] Added tests (if appropriate)
[ ] Made changes based off the latest version of Splink
[ ] Run the linter

Hey @ThomasHepworth @ADBond I don't this is the final version of this by any means, but there is enough there for you to have a look at and provide feedback.

Note to self - add branching strategy summary as discussed with @ThomasHepworth


Remove gh-pages deploy action

Description of change
I removed the GitHub action to stop the documentation deployment as we now have the wiki as single point of knowledge and should keep the old sites running.
Also your docs are a little different from the rest of the docs as you also add the Rust docs in it.
So we need to decide how to handle that too
Now there are multiple solutions how this could work in the future:

Merge this PR (After the decision for the Rust docs). PRs for the docs will still be tested by the action
Remove the complete page. That will also disable the test of PRs
Add the wiki-cli like identity did. That way you could clean up the documentation folder and use the wiki-cli for testing.
Check their folder content here: https://github.com/iotaledger/identity.rs/tree/dev/documentation

I will keep this PR a draft until you tell me how you want to proceed and I will implement it that way on this PR.
TO-DOs:

[ ] Decide how to proceed
[ ] Decide on how to handle Rust docs
[ ] Don't forget to disable GH pages

Type of change

Documentation Fix

Change checklist
Add an x to the boxes that are relevant to your changes, and delete any items that are not.

[x] I have followed the contribution guidelines for this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

Hello @Dr-Electron  thanks for contributing! Indeed, the most recent documentation concerning stronghold should reside inside the wiki. The Rust API docs will be seen on docs.rs.

Closed with #266


perf: optimize extraction of fill, stroke, responder, matrix & display

potentially breaking change
if any issues show up, then they'll be considered regressions
should be resolved in ways which cause less traffic from js to native

:tada: This PR is included in version 12.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Change ValueError with AttributeError in time out for SIGALRM

fixes #222

Pull Request Test Coverage Report for Build<PHONE_NUMBER>1
Details

0 of 2 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 89.689%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

django_q/timeout.py
0
2
0.0%

Totals

Change from base Build<PHONE_NUMBER>9:
0.0%

Covered Lines:
3375

Relevant Lines:
3763

💛  - Coveralls


Use vertical marker

Some times I want to use marker on the wall, so it would be placed vertically!
Is it possible to place all objects for this case?
Of course I can rotate the model, but it's not the same. For example I can not use native look-controls and any other features!
And also when I have a lot of objects, it would be better to rotate the whole scene, but not every 3d-object...

Hi @taime the project moved to this new repo: https://github.com/AR-js-org/AR.js

this script is missing in new repo also

This repo has been migrated. Please re-open here: https://github.com/AR-js-org/AR.js/issues


Implement an end-to-end test for Shipper state metrics

Right now, if we break Shipper state metrics, there is no way to catch this in our build pipeline. This leads to us finding out that Shipper state metrics is broken after deployment.
In this stage, all we need is a test to:

Start Shipper state metrics
Send a request and make sure that there is content, and the status is 200

This should help us catch the silly initial bugs, without having to verify if the data is actually correct, which is much harder to do.

Closed by #291


[ALLUXIO-2545] Fix Security errors reported when running format locally

https://alluxio.atlassian.net/browse/ALLUXIO-2545
2017-03-10 19:47:10,176 ERROR type (LocalUnderFileSystem.java:setOwner) - Fail to set owner for /data/Checkout/github-xiaochang/alluxio-1.4/journal/BlockMaster with user: , group:
The default user and group provided to MkdirsOptions is "".
For version 1.4.0. it appears in log/user_xiaochang.log.
For version 1.5.0. it appears in the console output.
Fixed by overriding mkdirs from LocalUnderFileSystem.java to provide a default value from LoginModule. Don't know if it's appropriate or anything else not considered.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/13778/
Test PASSed.

@xiaochang-wu thanks for fixing this issue!
@uronce-cc I think we used to set default owner and group in CreateOptions and MkdirOptions with getXXXFromLoginModule.  We changed the behavior for some reason to set this explicitly...
@apc999 can you comment on this?

@xiaochang-wu @ifcharming ,
I remember one potential issue of enforcing the user/group for localfs is that it may require to run Alluxio servers as local fs super user, which may be inconvenient.
In theory, it is consistent as we require so for HDFS.
Not sure if the concern is valid. @ifcharming we could discuss this issue offline first

@xiaochang-wu @ifcharming
The format error symptom has been addressed by this PR:
https://github.com/Alluxio/alluxio/pull/4953/files
If no further suggestion, ok to close this PR since the issue has been fixed?

@xiaochang-wu feel free to reopen this PR if you think needed.


Error using "filter by column value" AND alias

System information:

Operating system (distribution) and version: Windows 10 versione 1909 build 18363.1316
DBeaver version: DBeaver Community <IP_ADDRESS>102151746 (and 7.3.0)
Additional extensions: NULL

Connection specification:

Database name and version: MySQL 8.0.21
Driver name: Driver for MySQL 8 and later
Do you use tunnels or proxies (SSH, SOCKS, etc): NULL

Describe the problem you're observing:
Steps to reproduce, if exist:
Steps to reproduce:

EXEC: SELECT SUBSTRING(richiesta, 1, 1) AS campo1 FROM accessi;
CLIC BUTTON: filter by column value
CLIC BUTTON: apply filter criteria
Errore SQL [1054] [42S22]: Unknown column 'campo1' in 'where clause'

if I replace the #2 with:
2) CLIC BUTTON: sort by column
(OK, works well)
if I write the #1, without using alias:

EXEX: SELECT SUBSTRING(richiesta, 1, 1) FROM accessi;
(OK, works well)

Include any warning/errors/backtraces from the logs

Could you replace WHERE with HAVING?

Hello @danilort
We use column name for WHERE clause that the database with another metainformation returns to us. And this is 'campo1' in this case, unfortunately.
Also according MySQL documentation:

Do not use HAVING for items that should be in the WHERE clause.

Although I understand that HAVING really works in this case.
The computation of WHERE value occurs earlier than the SELECT, in contrast to the sorting, which occurs at the end.
I'm afraid that this task, unfortunately do not have optimal solution.
Perhaps you have other suggestions?

Hello Lon.
No, I have no other ideas.
If you want, you can close the ticket.
Thank you for your work.
Danilo

I apologize that I could not help in this situation.


Endpoint for Notifications & A few more :)

Hey! Could you implement /characters/{character_id}/notifications/,/characters/{character_id}/wallet/transactions/ and /ui/openwindow/marketdetails/ ? :D
Would be awsome if this could be implemented!
Thanks in advance

You betcha!

https://github.com/Celeo/rfesi/releases/tag/v0.45.0 should publish in a few minutes; let me know if those work for you.

I believe this has to be an authenticated request aswell
https://github.com/Celeo/rfesi/blob/fdf077ef83ce3682731dd7140826f6df7769396c/src/groups/user_interface.rs#L21-L23

Whoops, typo.
On Sun, Nov 10, 2024, at 3:03 PM, Tim wrote:

I believe this has to be an authenticated request aswell
https://github.com/Celeo/rfesi/blob/fdf077ef83ce3682731dd7140826f6df7769396c/src/groups/user_interface.rs#L21-L23
—
Reply to this email directly, view it on GitHub https://github.com/Celeo/rfesi/issues/45#issuecomment-2466977319, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAF4TG5E54RL5CDTUPABBJDZ77Q5FAVCNFSM6AAAAABRPZW2AKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRWHE3TOMZRHE.
You are receiving this because you commented.Message ID: @.***>

Update deploying https://github.com/Celeo/rfesi/releases/tag/v0.45.1


Feat: UPDATE README

Is there an existing issue raised for this?

[X] I have searched the existing issues

Describe the feature
wants to add more features other than that you have mentioned.
wants to add some more content to the description so that it will be more easily understandable.
align/modify some of the headings .
wants to make an impressive readme
Add Screenshots
wants to add more features other than that you have mentioned.
wants to add some more content to the description so that it will be more easily understandable.
align/modify some of the headings .
wants to make an impressive readme
Record Options

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'23 contributor
[X] I want to work on this issue

@UBA-GCOEN please assign me this issue

@Shikhar9425
what features will you be adding in readme? can you please provide in detail
can you provide what exact deatils you are going to add in headings description?

I want to add some features of your platform and write about the heading and details of project in description .
@Naresh-chandanbatve

I want to add some features of your platform and write about the heading and details of project in description .
@Naresh-chandanbatve

I want to add some features of your platform and write about the heading and details of project in description . @Naresh-chandanbatve

@Naresh-chandanbatve @Naresh-chandanbatve

Ok go for it

'hey @{assignee}, It has been seen that you haven't responded to this issue since long ago, Please update the tatus or reply to this message else will be assigned to someone else.' @{author}, @{reviewer}'

Already updated


accuracy rate of resnet-110 on cifar-100

Hi, I have trained resnet-110 on cifar-100, and I got a 77% test acc, which outperformed the result you reported result by 5 percents ( 77%(my result) v.s. 71.2%(you reported) ). I have not modified any code and configs. So, I'm really interested in how you get the result you reported?

Hello, I cannot get the 77% test acc for res110 as you mentioned and 77% for pre-resnet110 the author reported. I can only get 72%.  Could you give me some hints about the dropped accuracy? I use PyTorch 1.1 and 1080Ti


Feat(data): Allow loading local csv and text

We forgot these two.

Seems like we don't even use ds_type from the cfg in the code? We seem to load it from the file extension
    ds_type: # Optional[str] (json|arrow|parquet|text|csv) defines the datatype when path is a file

See line 180

Ah I see. That would mean this PR changes might not be necessary. Only Readme is needed.


#1013 Installing React Dev Tools

Description 📜
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context.
Fixes # 1013

Type of change 📝

[x] Documentation (Content Creation in the form of codes or tutorials)

Domain of Contribution 📊

[x] Frontend Dev React/Angular/Vue

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GWOC'21 contributor

Screenshots / Gif (Optional) 📸

@heet-kumar I added the references, you can check it out.

Thank you @the-pro @anandhu720 for the successful merge.✨


Cargo should warn when "include" doesn't match any files, or filters files from parent directories

Problem
It appears that cargo package with the include directive does not warn when it does not match a file, or when a file is from a parent directory. While I think the latter case is justifiable, I think it'd make sense to warn when these cases occur. This is similar to #7830 for license-file and #5911 for the readme directives.
Steps
Say we create a crate with the following steps:
% mkdir foo
% cd foo
% echo "hello world" > hello
% cargo new mycrate
% cd mycrate
% cat > Cargo.toml
cat > Cargo.toml
[package]
name = "foo"
version = "0.1.0"
edition = "2018"
include = ["../hello", "Cargo.toml", "src/*.rs"]
% cargo package --allow-dirty --list

If we then create a package with cargo package, cargo will silently ignore the included file from the parent directory:
% cargo package --list --allow-dirty
warning: manifest has no description, license, license-file, documentation, homepage or repository.
See https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info.
Cargo.lock
Cargo.toml
Cargo.toml.orig
src/main.rs

Possible Solution(s)
I think we should match the same "emit a warning" behavior that was implemented for #7830.
Notes
Output of cargo version: cargo 1.53.0 (4369396ce 2021-04-27)

I've looked at this a bit more and I think it's unclear exactly what warning behavior we want with glob includes. Is the intent to match against the rule and give a warning if there are no matches? or should we check that the directory up until the wildcard exists and warn only if the folder that the rule identifies is missing?
I looked at how these globs are included in path.rs, and it's unclear to me how I might implement a "warn on glob not matching any files" behavior, unless we want to open up the private functions in path.rs or duplicate that functionality.


JavaScript or C# impl / wrapper

This project looks really interesting. Me and a colleague are interested in something which can send and receive UDP in the browser from either a JS or C# backend for game development.
I will have a look over the code and concepts to see if we can make use / fork this and add our work to help the project,

I'm afraid we're going to have to convince browser manufacturers to allow this spec to be implemented in-browser, as browsers do not allow sending and receiving of UDP packets directly, which would be required to implement this in a browser.
I'm working on it.

My advice is to focus on Mozilla and Brave browsers first.

Thanks for the swift reply, interestingly I did see this:
https://developer.chrome.com/apps/sockets_udp
But chrome only of course.

You could prototype with that, but I don't think a web browser is allowed to call that, only plug-ins.

 I feel like browser UDP is close but not quite there at this second, interested to see how it could be pushed along. I often hear the argument against webRTC being 'its complicated' but if the alternative is nothing I don't see a sensible way round it. Hence why your project is interesting, implementing some like this in the browser might be tricky but would be widely appreciated. Will keep you posted

Agreed. Thanks for your help!

ps. There is already an early set of C# bindings here: https://github.com/RedpointGames/netcode.io, but I think they are a bit out of date relative to the current C implementation in this repository. -- cheers

If you want UDP for the browser using js:
https://nodejs.org/api/dgram.html
https://github.com/alexstrat/simudp

I like the proxy idea for a proof of concept, but moving it beyond that, we'd want to be able to run with zero cost install on all browser platforms, eg. get the browsers updated to support netcode.io

Should be able to expose to javascript via:
npm package -> node/Electron which gives access to desktop install, and Steam via greenworks; may give angle for Brave
C# client lib (max .NET Standard 1.4) -> UWP (HTML+JS) which gives access to Win10 + XBox
At which point it would be running in Chrome (Electron) and Edge (UWP); though not the actual browsers themselves - but it gives a concrete use/example via the browser engines; as well as several gaming platforms.

Additionally may be able to add chrome extension; using sockets_udp; then do support detection; so a game could do multipath networking io based on whether is available; or gate on extension (though poor for game adoption)

Sounds pretty good. Prove it out first, the rest will follow.

Looks like this issue is solved: https://github.com/RedpointGames/netcode.io-browser

Nice 👍


Destinations Select Page

Basic functionality of page with header and progress bar

You can use /* global someFunction, a */ to tell ESLint about things defined in other files (hence "global") and /* export someFunction, a */ to tell ESLint to treat an unused thing as being exported.
However, if you try using actual JS modules with 'import' and 'export', this might not be necessary (if you can get that to work).


Add Instant Run support

This was a headache to all of us using the new Android Studio with Instant Run feature
Added a few statements to read dex names and paths in the newly created instant-run directory when using the Instant Run feature inside the already existing method getSourcePaths. which is called by also the already existing method getAllClasses

Coverage decreased (-0.06%) to 69.685% when pulling 92301eadc1ee228155d5c8c1c0fde35bfc5e4469 on firasalkafri:master into fbd74750ed15cbfe5f80e5f785a7c78919f7be10 on satyan:master.

@JonatanSalas @sibeliusseraphini

@firasalkafri thanks

is this patch added in master branch? or in latest version? so that i can get this via gradle.

@shashi2459 in the master branch!

You can use this if you don't want to check out a local copy of the repo:
compile 'com.github.satyan:sugar:b16e65326a' (this uses jitpack)

@snotyak Thanks, this is what i was expecting. But it says Failed to resolve: com.github.satyan:sugar:b16e65326a
Any idea? Anybody checked it?

@shashi2459 Do you have maven { url "https://jitpack.io" } in your project's classpath dependencies? Be sure to check out the Installing section here - https://jitpack.io/docs/ANDROID/

Thanks, guys!

Thanks you mates!

Thanks!

I am using the master branch and still getting the same "no such table" error.

When can we expect release of this?

@jaibatrik u can use master version for now
ask @satyan to when he will do a new release

I just close the Instant Run function hahhaha

Dudes still the error persists :(


Figure shortcode breaking ordered list sequence

What version of Hugo are you using (hugo version)?

$ hugo version
Hugo Static Site Generator v0.61.0-9B445B9D windows/amd64 BuildDate: 2019-12-11T08:29:13Z

Does this issue reproduce with the latest release?
Yes
What's the problem?
The {{% figure %}} shortcode is breaking numbered list sequence under Goldmark. The <figure> tag is correctly displaying inside the appropriate <li>, but then the <ol> is being closed immediately after and reopened for the next set of items.
This was working correctly under Blackfriday and MMark. I have a minimal demonstration in the following repo: https://github.com/Perlkonig/hugobug.
I don't know if it's a problem with Goldmark or Hugo. I just know it was working before, and it's not since updating. Please advise.
Thanks!

This appears to have been fixed in the latest version. So thanks!


Add toggle button component, story and test.

What is the context of this PR?

This PR introduces a new ToggleButton presentational component which is needed for some of the upcoming UI changes to the create a questionnaire page and the properties panel.
How to review
See the ToggleButton component in the storybook.

 Create survey (removing the meta page) (8)


readme: mermaid sequence diagram

Removes EL client, otherwise same flow as docs/block-proposal.png. Should probably replace docs/block-proposal.png at some point.

Codecov Report

Merging #56 (82c0ac1) into main (9dc57a7) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #56   +/-   ##
=======================================
  Coverage   55.89%   55.89%
=======================================
  Files           8        8
  Lines         594      594
=======================================
  Hits          332      332
  Misses        210      210
  Partials       52       52

Flag
Coverage Δ

unittests
55.89% <ø> (ø)

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

Continue to review full report at Codecov.

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

Very cool! I wasn’t aware of mermaid support on github.


RDBES: RS_UnitType update of codes

Please see attached spreadsheet for the 3 code updates.
RS_UnitType updates.xlsx

@HenrikK-N RMG suggests changing RS_UnitType to SamplingUnit. Specify difference between box, tray and container for the description.

@cekv yes we can change the name of the RS_UnitType to SamplingUnit, though it is very late in the process, this code list have been created more that an year ago. Box, tray and container are codes which would leave flexibility to the observers and data submitters, so they should not be too specific, because they should used across countries. If RMG want the core group to change the descriptions for some of the existing codes, I suggest RMG creating a new issue, so the creation of the 3 new codes are not delayed, because that is a different request, as we already have agreed at the previous meeting we had with the RMG before summer. We have a dead line for this the 19 Aug because of the data call. If you create a new issue I can take it up with the core group, this is different issue than creating the 3 new requested codes, so it is important to keep this task moving for now.


ctrl-cmd-down combo for switching lines produces a sound

Reported by a few users:

http://discuss.atom.io/t/audible-bell-sounds-when-moving-text-down/2089
support/fc6c2ac6a04d11e38e5adef6c2d169fb
support/25cfbdeca0ad11e389626d489492fcbc
support/b537abfea0b011e3946f5df3635c9d01

If you highlight text in Atom and then press CTRL+CMD+DOWN ARROW, the text will move, but you'll get an audible warning bell. This doesn't happen when moving text upwards.

Did a bit of digging, and it seems that Brackets has the same problem.

Same behavior for me on OSX 10.10.2 and Atom 0.184.0. The same key mapping in SublimeText does not produce a beep on moving a line down. Moving upwards causes no problems in both Sublime/Atom.

As stated by others, it happens to me too on OSX 10.10.2 with Atom 0.187.0 and happens when Audio Beep is turned off in atom's settings. Does not happen in Sublime.

I'm seeing this in Atom 0.187.0, but not in Sublime Text 2. The sound is starting to get to me :sweat:

@svincent That's because Sublime is not based on Chrome, and Atom is. I hear the same sound when I hit cmd-ctrl-down in Chrome.
We'd definitely appreciate if someone from the community wants to work on this and open a pull request.

@izuzak Thanks for the clarification!

To clarify, the sound only happens in Chrome when a textarea or input is focused.

Seems to still be an issue in Adobe Brackets as well. Not really sure how to go about fixing this, since it's fired at the OS level.

Even the Twitter app makes a sound when you do this in the text area.

However, sublime text 3 does not make the sound.
On Mar 26, 2015, at 1:28 AM, Nathan Sobo <notifications<EMAIL_ADDRESS>wrote:
Even the Twitter app makes a sound when you do this in the text area.
—
Reply to this email directly or view it on GitHubhttps://github.com/atom/atom/issues/1669#issuecomment-86348104.

However, sublime text 3 does not make the sound.

Why do you keep bringing that up? Considering the vast number of OS X applications that are affected by this, I guess that a fix/workaround is non-trivial. Feel free to open a PR with a fix however. I'm sure someone can provide assistance.

I was just saying, as part of the recent thread of it being "universal" in OSX that it is, in fact, not so.  That's all. Maybe someone will figure out why it doesn't happen there and can use that fix for Atom.  Maybe not.
On Mar 26, 2015, at 10:22 AM, Thomas Johansen <notifications<EMAIL_ADDRESS>wrote:
However, sublime text 3 does not make the sound.
Why do you keep bringing that up? Considering the vast number of OS X applications that are affected by this, I guess that a fix/workaround is non-trivial. Feel free to open a PR with a fix however. I'm sure someone can provide assistance.
—
Reply to this email directly or view it on GitHubhttps://github.com/atom/atom/issues/1669#issuecomment-86537440.

It was mentioned just 21 hours ago in this very issue that this is because Atom (and many other apps on OSX) is Chrome based. Sublime is not.

But it does happen on non-Chrome-based applications as well. Reposting this link: http://apple.stackexchange.com/questions/23981/command-control-arrow-beeps-plays-alert-sound-in-lion

This is one of my biggest pet peeves about Atom (actually, I can't even think of too many others, which is why I chose it over the competition) so I finally sat down and figured out a work-around.

This is one of my biggest pet peeves about Atom (actually, I can't even think of too many others, which is why I chose it over the competition) so I finally sat down and figured out a work-around.
After several unsuccessful attempts to solve the problem with the system-wide Keyboard Shortcuts prefs, I decided to give BetterTouchTool a go. Bingo.
The BTT UI is kinda all over the place, so I'll try to be as specific as possible:

Select "Gestures" from the toolbar
Select "Keyboard" from the tab bar just below the toolbar
Hit the [+] button under the "Select Application" list on the left
Select Atom
With Atom still selected from the list on the left, hit "+ Add New Shortcut"
Click where it says "Click to record new shortcut" and press cmd-ctrl-down
Click the "Trigger Predefined Action" dropdown (which actually turns out to be a pop-up)
In the "Controlling Other Applications" section, select "Trigger Menu Bar Menu-item"
This will trigger a sheet (I told you the UI was nuts); in the sheet's text box, enter "Edit;Lines;Move Line Down" and click Save.
There is no Step 10.

Tying  cmd-ctrl-down in Atom now results in the current line moving down without triggering the system beep. (Yay!) It does trigger a brief flash of the word "Edit" in the menu bar as BTT works its magic in the background, but I can live with that until someone figures out a less kludgy fix.

This has been driving me nuts.

Hi Guys, Is there any solution to this aside from installing some tools?

+1

+1

+1

+1

Thanks for the feedback everyone! However, all these +1s and :+1:s are just adding noise, so to minimize that I'm going to lock this issue for now – we may unlock it once someone starts working on this enhancement to get further feedback.

@zcbenz can you dig into this? Is it possible to suppress?

@benogle I'll have a deep investigation of this.

I've narrowed the cause of this down in https://github.com/atom/electron/issues/2617, but will need @zcbenz to take it from here.
As a temporary workaround, create the following file at ~/Library/KeyBindings/DefaultKeyBinding.dict (or add these entries to the existing file):
{
	"^@\UF701" = "noop:";
	"^@\UF702" = "noop:";
	"^@\UF703" = "noop:";
}

This issue was opened on the chromium bug tracker but has since been labeled as a wontfix by the chromium team. I am going to close this but happy to reopen when someone has a workable solution that would could include in atom.
Thanks everyone for you contribution towards trying to resolve this issue.


Feed for media likers

Currently it is not possible to gather all likers from a media, it just returns about first 1000 likers.
is it possible to do something like feed.mediaComments(mediaId) for it ?

Currently, you cant get a feed of likers for a given media.
Suggestion: ig.feed.mediaLikers(mediaId)

This is available:
ig.feed.mediaComments(id);

This thread has been inactive for a long time now, so it will be closed. If this is still an issue, reopen the it.

should reopen because it so important

did you try to page them?

did you try to page them?

How?

should reopen because it so important

Is this related to media likes or comment likes?

should reopen because it so important

Is this related to media likes or comment likes?

Media Likes, because it only get first 1000 like

Any progress?


"nix-collect-garbage -d" should also cleanup boot entries

At least with UEFI/gummiboot calling nix-collect-garbage -d doesn't delete the old boot entries. Does it work with GRUB?

I have run into the same problem and just calling nixos-rebuild switch doesn't seem to work, as it appears to create a new build, and since the current build has not been purged it keeps the entry, thereby always leaving you with a minimum of two generations.

How about a  nixos-rebuild remove-old-entries command ?
I find the current UX a bit clunky; as you need to remember to run nix-collect-garbage  as root (to get the system profile) and then also run nixos-rebuild afterwards which I forget often.

While this may have worked for older versions, it doesn't work for the current 19.09 version, which is all I have experience with.  The ONLY way I have of removing the boot entries is by doing a fresh install.

Did you run collect-garbage as root? You need to clear the system profile; not your user profile.

sudo, so yes. After some further testing, including a completely fresh install, it seems to be that only manually-named (-p) entries are left after a garbage collection & rebuild.
So how does one delete manually-named entries?

Got it! FINALLY! Here goes:
sudo rm /nix/var/nix/profiles/system-profiles/<entries> (There will be two for each)
sudo nix-collect-garbage -d
sudo nixos-rebuild switch
sudo rm /boot/loader/entries/<entry>
shutdown -r now
Voila!

@fourdragons @jgeerds To remove all but the most recent grub boot entry run: sudo nix-env --delete-generations old --profile /nix/var/nix/profiles/system followed by sudo /nix/var/nix/profiles/system/bin/switch-to-configuration switch.
You do not need to use nixos-rebuild or manually remove grub boot entries. Nixos updates the grub boot entry when running switch-to-configuration switch or switch-to-configuration boot to only the live profiles. So, if you first run sudo nix-env --delete-generations old --profile /nix/var/nix/profiles/system to remove all but the newest system garbage collection roots followed by sudo /nix/var/nix/profiles/system/bin/switch-to-configuration switch which reloads the system configuration you are already on, your grub.cfg will only have one entry in it and you have not had to change your system configuration or reboot the box.

This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/how-to-remove-grub-entries-in-grub-cfg/9059/3

I'm on VERSION="21.05.2428.2d6ab6c6b92 (Okapi)" and had 105 generations built up and showing in the boot loader, was driving me crazy. Nothing else would get rid of those entries using all the things everyone said would take care of it. However following the directions @Skyfold  provided did work. Thank you!  Why doesn't garbage collecting take care of this?  Did I miss the method that works in some doc some where?  I'm pretty new to NixOS and this was very confusing, considering all the great commands/tools NixOS has to manage garbage.

I'm also curious if I am performing garbage collection wrongly.
when I run nixos-rebuild boot it correctly creates a new boot menu option for the latest generation and retains all older generations.
I was expecting that nix-collect-garbage -d would clean up the store and remove older generations in the boot menu. But while it does clean up the store, the older generations still appear in the boot menu but error with kernel panic if I try to boot into them. I've tried the directions @Skyfold provided too and they definitely worked, but I too feel its quite a confusing way to clean up the grub menu. Maybe since systemd-boot is the official/main boot method, grub is not properly catered for currently with nix-collect-garbage?

it appears to me that it does clean up all the older generations that it knows of
if there's a entry it doesn't remember putting there, it just leaves it alone


Update for SourceLocation.file optionality change

rdar://problem/48833912

Tests in apple/swift#23262 passed.


Limit SATA ports to speed up boot

Signed-off-by: David Cassany<EMAIL_ADDRESS>

I dont think we need to wait for tests in order to merge this, one nit only, I would like to keep the reboot in place in order to check that cos-deploy from raw image still works, as that was tested before. with #591 the reboot should not be a problem anymore.

I dont think we need to wait for tests in order to merge this, one nit only, I would like to keep the reboot in place in order to check that cos-deploy from raw image still works, as that was tested before. with #591 the reboot should not be a problem anymore.

I don't see the problem here, I am not deleting the reboot, I am just deleting the grub setting to Active. I just removed that because this is already the default. So if it does not boot to Active this should be considered a bug.


iOS energy and memory profiling support

Pull Request Checklist

[x] Tests for the changes have been added (for bug fixes / features)
[x] Code compiles correctly with all tests are passed.
[ ] I've read the contributing guide and followed the recommended practices.
[ ] Wikis or README have been reviewed and added / updated if needed (for bug fixes / features)

Does this introduce a breaking change?
If this introduces a breaking change for Hydra Lab users, please describe the impact and migration path.

[ ] Yes
[x] No

Pull Request Description
Please check the type of change your PR introduces:

[ ] Bugfix
[x] Feature
[ ] Build related changes
[ ] Refactoring (no functional changes, no api changes)
[ ] Code style update (formatting, renaming) or Documentation content changes
[ ] Other (please describe):

A few words to explain your changes:

Add ios perf profiling and parsing. check the tidevice's version and ensure it's higher than the one including energy gauge
Issue ID: #
How you tested it
Please make sure the change is tested, you can test it by adding UTs, do local test and share the screenshots, etc.
UT
Feature UI screenshots or Technical design diagrams
If this is a relatively large or complex change, kick it off by drawing the tech design with PlantUML and explaining why you chose the solution you did and what alternatives you considered, etc...

New screenshot of the test perf result:


Errors don't bubble up correctly from Factory

When something goes wrong during the startup sequence of the test nodes, the errors don't bubble up leaving the user without any details to as to what went wrong:
[12:21:03] Starting 'daemons:start'...
[12:21:03] Starting 'factory:start'...
[12:21:03] Finished 'factory:start' after 382 ms
  ipfs init done - (bootstrap and mdns off) - b
  ipfs init done - (bootstrap and mdns off) - a

npm ERR! Darwin 15.5.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "test:node"
npm ERR! node v6.9.1
npm ERR! npm  v3.10.8
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>test:node: `gulp test:node`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>test:node script 'gulp test:node'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the ipfs-api package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     gulp test:node
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs ipfs-api
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls ipfs-api
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/haad/code/js-ipfs-api-haadcode/npm-debug.log
make: *** [test] Error 1

The expected behaviour is to display the correct error message and stack trace.

I believe this is more of a aegir issue, @dignifiedquire?

yes :( ref https://github.com/dignifiedquire/aegir/issues/67

Closing this one here then.


Setting DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT not working

Appears when setting DISTRIBUTE_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT, we still end up getting Python versioned easy_install scripts installed (e.g. easy_install-3.6). Not entirely sure where this is coming from when glancing at the code. Hoping someone else has a better idea of what is going on.

I suspect support for the Distribute naming was removed in a recent release of Setuptools. Just change Distribute to Setuptools and you should be good. Let us know what you find.

We're doing both.

And checking the code, it does honor both of those variables as well. Maybe you're using a runner that filters environment variables. Or maybe there's something weird about Python 3.6.
I suggest you trace the code and troubleshoot. Or at least put together a few steps that will replicate the issue.

Sure. We are building using this script on Mac and Linux or this script on Windows. We are just using the code from the GitHub archive tarballs. If you or someone else wanted, changes can be tested out on CIs with a PR against this repo.
This problem is not unique to Python 3.6. We also see it with Python 3.5 and Python 2.7. We also saw it with Python 3.4 when we were still building for that Python version. As far as I can remember, we have had this issue since adding those flags. Something like 25.1.3 was when we first started using them.
Hope that helps. Please let me know if you need any more information.

The problem is that you're setting the value to 0. You need SETUPTOOLS_DISABLE_VERSIONED_EASY_INSTALL_SCRIPT=1.

Oops. 😳 Sorry that was foolish.

No worries. Thanks for using Setuptools.


Change color of free-text annotations

Originally reported by: Thomas Schraml (Bitbucket: TSchraml, GitHub: TSchraml)

The color of a free-text annotation is the same as the color of an active track (picture). It would be better to use different colors for a better visualization.

Bitbucket: https://bitbucket.org/opencast-community/annotation-tool/issue/68

This has been solved. Free text annotations and the background now have a different color.


zsh raise parse error when installed in cluster

General information

Terminal program: xterm, tmux
Operating system: Scientific Linux release 7.4 (Nitrogen)
ZSH framework: oh-my-zsh
ZSH version: 5.0.2 (x86_64-redhat-linux-gnu)
ZVM version: 0.8.4 (most updated github version)

Basic examination

[x] I have read through the README page
[x] I have the latest version of zsh-vi-mode
[x] I have tested with another terminal program: both xterm and tmux won't work

Problem description
I installed zsh-vi-mode both locally and remotely (installed by adding as a zsh custom plugin), locally I use manjaro and it works like a charm; but remotely after I installed the plugin and source ~/.zshrc and re-login, a error was thrown by zsh
/home/myname/.oh-my-zsh/custom/plugins/zsh-vi-mode/zsh-vi-mode.zsh:410: parse error near `]]'

for the behaviour: the cursor remains to be block rather than line, I guess of course the plugin can't be successfully loaded after throwing this error.
Reproduction steps

git clone https://github.com/jeffreytse/zsh-vi-mode $ZSH/custom/plugins/zsh-vi-mode
add plugins=(git zsh-vi-mode) to my .zshrc
source ~/.zshrc
re-login to the cluster

Expected behavior
it should be working like my local computer... Do this error help? Is it uncompatible with this old version of zsh?

Hi @yihengwuKP
Thanks for your reporting, as you said, I also think it could be the issue of the old version of ZSH, could you update your ZSH and try again?
Thanks and Regards

Hi @jeffreytse, I am trying to update the zsh in the cluster, however since I don't have root access, it's a bit tricky. Right now I downloaded zsh-5.8 and build from source in my home directory. But naively /home/myname/bin/zsh and source ~/.zshrc  didn't work for the plugin, like nothing happens. Do you know how to easily test if this zsh-5.8 is compatible with your plugin or not, without setting this zsh-5.8 to the default shell? (Because setting that to default seems to be tricky also without root)

Hi @yihengwuKP, I use 5.8 currently, and it works perfectly, 5.0.2 was released on 2012. I will try to test the compatibility on 5.0.2, thanks for your information.

@yihengwuKP According to my checking, your zsh version should be >=5.1.0.

Hi @jeffreytse Thank you for your checking! I'll contact IT service to see if I can have an updated zsh on cluster! Feel free to close this if you wish

@yihengwuKP, you're welcome, I'm waiting for your updating.

Hi @jeffreytse I obtained zsh-5.8 in my home directory, and once that's loaded all the problems are solved! Thank you for your help along this! (Just note here for other people experiencing the same issue, you could download and build zsh following this procedure, and the loading process could be as simple as, adding
if [[ $ZSH_VERSION = "5.0.2" ]]; then
    exec /home/myname/bin/zsh -l
fi

, without the if this would load zsh in an infinite loop because the new version of zsh would also try to read zshrc)

HI @yihengwuKP I am very happy to hear that you have successfully solved this problem and shared the solution. Hope you have a good day!


[client/network] Ban peer after disconnecting

Refs https://github.com/paritytech/infrastructure-alerts/issues/26

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2432739

I wonder why the banning mechanism was disabled. Could you add a test case showing that the peer is actually banned when we disconnect from it?

I wonder why the banning mechanism was disabled.

I think only @tomaka knows.

Could you add a test case showing that the peer is actually banned when we disconnect from it?

sure

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2433365

A ban is not actually about banning the peer completely, it is simply an indication to not establish an outgoing substream again to the same peer.
The peer is still allowed to establish outgoing connections to us.
This whole thing has had emergent behaviors in the past, where peers keep banning each other or spam each other and use tons of CPU. Even though the nodes were working as intended, the combination of the behavior of both sides led to issues that we didn't expect.
I would in general strongly recommend to not modify behavior.rs unless you really really know what you're doing.

This whole thing has had emergent behaviors in the past, where peers keep banning each other or spam each other and use tons of CPU.

well, that's happening right now because does not get banned and immediately tries to open a connection to us. this leads to an endless loop if the node has too many peers.

I would in general strongly recommend to not modify the logic in behavior.rs unless you really really know what you're doing and/or are ready to extensively test things and look at graphs for hours.

reasonable concern 👍

well, that's happening right now because the remote peer does not get banned and immediately tries to open a connection to us. this leads to an endless loop if the node has too many peers.

The intended solution to that is that it's the remote that politely makes sure to not try connecting again if the remote is full.
A node needs outgoing substreams in order to be guaranteed to function properly, which is why making sure that it is able to find outgoing substreams to well-behaving nodes is important. You can't function with inbound substreams alone, because that would make you vulnerable to eclipse attacks.
Accepting inbound substreams on the other hand is nothing more than a service that it graciously provides. A node doesn't need to protect itself from inbound substreams, because it's not a problem if a misbehaving/malicious node connects.
You could say that banning bad peers that establish substreams to us help freeing slots for the good peers. However, this is no way a protection against an attacker that wants to squat a node. We went with the opinion that since there shouldn't be buggy peers and that you can't guard against malicious peers, then there's also no need to create defenses against them. Instead, energy is better spent avoiding/fixing buggy peers in the first place.

this leads me to a question: why is our node tries to establish outgoing connections if it knows it's full (all 40 slots are occupied)?

this leads me to a question: why is our node tries to establish outgoing connections if it knows it's full (all 40 slots are occupied)?

It shouldn't, but I feel like there might be some confusion.
All nodes are allowed to "connect" to any other node at any time, as in TCP/WebRTC/QUIC/etc. connections.
This is necessary in order for the DHT, the collations, etc. to work.
There's a limit to the number of incoming "connections" but it's very large (several thousands), and there's no limit to the number of outgoing connections.
The slots (the 40 slots or whatever) and banning system only apply to block announces substreams. There are N out slots, meaning that we'll have only up to 40 outgoing block announces substreams. There are also N in slots, meaning that we'll only accept up to 40 incoming block announces.
Note that in my answers above I make sure to talk about substreams, because the term "connection" is vague and confusing.

There's a limit to the number of incoming "connections" but it's very large (several thousands), and there's no limit to the number of outgoing connections.
The slots (the 40 slots or whatever) and banning system only apply to block announces substreams.

Thanks for explaining this @tomaka 🙏

bot merge


Made copy button a fixed at the bottom of the page so that it doesn't scroll

Tested this on both chrome and IE. Please make sure to test on both browsers when checking this pull request.
Note: css position: sticky would have easily solved this jira issue but it is not supported by IE so ended up having to do some styling with css and position: fixed.
Changes made:

Fixed the position of the copy button component
Added background color and shadow border to div containing copy button component
Added extra margin bottom to the panel content component so that it doesn't get overlapped by the copy button component

looks good and works quite well in Chrome (I haven't tested in IE yet). Can we make the scroll bar end at the top of the fixed portion though? On some platforms, the scroll bar could end up behind the copy button area and not be accessible via the mouse - plus we aren't scrolling that part so should it be part of the area next to the scroll bar?

looks the same on IE. nice job!

This looks good to me too! I did notice the same thing as Greg where it seems that the form continues behind the copy button, so the scroll bar gets cut off and some of the text can be seen under the copy button.

After looking at this a little, I had an idea about how to fix the scroll bar/text behind the copy button. I can make the fix if Nicole seems to be offline the whole day, but I figured I'd post it here to get feedback and see if other people like the idea.
In ShortcutViewer.css, in #shortcut-viewer, the height is being calculated. I thought we could subtract out the height of the copy button as well, since it is already taking into account the nav bar and the padding. This would make the height line look like:
/* 64 fo navbar; 60px for top/bottom padding; 104 for copy button */
height: calc(100vh - 64px - 60px - 104px);

sounds good to me. I'd say go for it and commit to @nicoleng12's branch. I don't think she's actively working on it right now.

I pushed the change. It fixes the comments that were made on this pull request.

do you want to approve it then Julia?

actually it looks a few pixels off maybe? The look of the top of the scroll bar when it is up against the top does not match the look of the bottom of the scroll bar when it's at the bottom.
Also, is there a lot of extra space at the bottom of the form intentionally right now to account for the space under the copy button? Can we reduce that? Wow, I feel really nit-picky! sorry!

Ohh I didn't even notice that it changed the space on the about page. This might not be the right fix in this case. But I can look into it.

good catch!

Yeah! Definitely! I can revert the commit if we want.

Also, it seems to have caused the copy button to extend off the screen to the right now? I checked in master; it doesn't do that.

If you are going to stop working on it then I'd say undo your commit; otherwise, up to you.

I undid the change that I had made earlier. I don't think that it was the correct way of making the fix and caused additional problems. I'm going to focus on looking at a different task now instead of looking for a better solution to this. Nicole may have other ideas, and this is demo-able as it is now.

Played around with this and didn't quite find the perfect solution yet. I didn't commit it because it doesn't look quite right, but if you want to try what I did I'll list out the steps here. In trying to address the copy button covering the scroll bar, instead of adjusting the height of panel content (which Julia and tried and I also tried but couldn't get it to quite work) I was thinking of just making the width of the copy button narrower so it doesn't cover the scroll bar.
What i did:

In ShorcutViewer.jsx, in the return inside the render method, move {copyComponent} to inside the div with the id "shortcut-viewer"
In ShortCutViewer.css, remove the width in copy-component

The result will look something like this:

The next part would be to fix the width of the copy button so that it lines up properly

I pushed some changes and also rebased off master. I was able to narrow the width of the copy button and made sure the button and the button div line up correctly. Let me know what you guys think of this approach for fixing the copy button so it doesn't overlap with the vertical scrollbar. @gregquinn2001  @jafeltra

I took a look at your changes Nicole and made a few minor styling tweaks. It's not perfect (especially on small screens) but I wanted to help how I could in order to facilitate the push to master. Let me know if these changes are helpful. If not, we can revert no problem!

Thanks, this looks great Dylan! It matches the mockup and doesn't overlap with the vertical scroll.

This looks great! Nice work Nicole and Dylan!


Create tunnel rest api

Is there any way , I can create tunnel using rest API . lets sat I have something running on port 80 in localhost . I have already hosted server in my custom domain .
Without using any cli tool or localtunnel client library how can create tunnel using only rest API .

How do you want to do that - a client needs to connect to the server and keep running to keep the tunnel up.


Cannot Delete "Features"

Currently, under the "Features" modular sub-pages, the features cannot be removed; they can be edited and saved, but if any are deleted, they return after save.

I'm guessing this was intended for the admin plugin repo? https://github.com/getgrav/grav-plugin-admin/issues

https://github.com/getgrav/grav-plugin-admin/issues/79


Reportback endpoints updates

Addresses allowing you to pass multiple status types to get a collection of results:
/api/v1/reportback-items.json?campaign=362&status=promoted,approved

*Note: for the time being, a campaign needs to be specified due to how a legacy function works.
Also does some cleanup and fixes a bug or two, in addition to adding total for a collection to being adding data for pagination.
@jonuy @angaither
CC: @drewish @DFurnes

other than the double for loop, which I have some questions about, lookin :+1:

Yeah, wasn't keen on the double for loop :-| If you have an alternative idea, I'm down for trying it out :)


Why  can't we use the file:// URL?

Why should we add in config.xml or WKWebView may not launch.

Why can't we use the file:// URL?

is there a solution for this?

This plugin uses a web server because of WKWebView issues, so it's served from http:// instead of from file://.
If you have file:// urls returned from other plugins you can use convertFileSrc function to make them valid http:// urls


change of how process-specific events are handled

my lengthy description from the actual commit:
directed events, those sent to a specific process with proc:queue(), were not being handled very robustly; events sent by proc:queue while handling other events sent the same way could easily be missed, which meant they had to wait until a after procman's following yield returned with a new system event before being processed. So, replacing individual queues per-process with a single queue in the process api of {process,
event} pairs.
This has the side-effect of preserving the true order of events overall, rather than having the order be consistent only per-processs.
The code changes in procman also eliminate an edge case where the order of processes in process.list might change during the handling of directed events while iterating over it, which could cause processes to be visited repeatedly or skipped entirely.

Looks good, this is a very sensible change.  Thanks!


[Event Request] Codeunit Item Templ. Mgt. - function ApplyTemplate

Dear Team,
I would like to ask you to add new event for Codeunit 1336 Item Templ. Mgt. In procedure ApplyTemplate before Item.Modify(true).
It would be good to have similar to below. It will allow to add custom fields to the Item Templ. Table and apply them on Item Record when creating from template.

The event should have below parameters:
var Item: Record Item; ItemTempl: Record "Item Templ."
Thank you in advance
Krzysztof

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Mention how to use it for failed jobs storage

I'm not sure about the wording, but still wanted to share this.
Works perfectly fine 🎉

Good docs, thank you!

🚢


Handling sensu-install without build-essentials

Hey again,
The image doesn't container build-essentials so I can't compile ruby gems (Eg. sensu-install -p mailer). How are you currently handling this?
I threw up a container that is based on your image and has build-essentials installed, then used this to generate the sensu files (handlers, plugins, etc.) & gems, but it's a bind to copy these over to the different folders on my sensu_server container.
I guess I could just build on top of your image and add build-essentials :man_shrugging:
Regards,
James.

Hm, looks like I missed the RUNTIME_INSTALL env, which builds them before removing the build tools.
I guess the only other way is to use a builder container and ship the artifacts over to the server container via. a volume. I guess I could overwrite the /opt/sensu/embedded/bin directory with this volume as both containers would be of the same sensu version.
Anyway, thanks for the amazing set of containers - Sensu should really pick up on these!

If you use https://github.com/sstarcher/docker-sensu/blob/master/bin/install to do the installation it install build tools and than removes it.

I'm going to close it let me know if you have any questions.


Extended semantics of [COMPILE]

Problem
In contrast to POSTPONE, it is difficult to extend the semantics of [COMPILE] to any lexeme.
Let's consider a phrase [COMPILE] 123. Conceptually, it should be equivalent to the phrase 123.
But the specification for [COMPILE] refers to the "default compilation semantics" term, that in turns refers to the "execution semantics" term. And "execution semantics" take place for the Forth definitions only (at the moment). So, if a token is not for a Forth definition, it does not have "Execution" section (in the corresponding glossary entry), and hence it cannot have default compilation semantics, and hence it should have non default compilation semantics.
And [COMPILE] 123 will be equivalent to POSTPONE 123 (i.e. 123 LIT,)  — that is quite unexpected.
Solution 1
(just an idea)
It is need to specify the "Execution" section for some lexemes that are not Forth words.
E.g.
If a lexeme is recognized as a token x with td-lit descriptor,
Execution: place x to the data stack.
Another problem
Tick is applicable if Execution is specified and Interpretation is not specified (i.e. default interpretation semantics). But it should not be applicable for numbers (as an example).
Workaround
Use a dummy Interpretation section. E.g.:
Interpretation: perform the execution semantics given bellow.
Execution: place x to the data stack.
(It's a bad solution, since even if formally it's not default interpretation semantics, actually it's default interpretation semantics)
Solution 2
Change specification for [COMPILE]:

If name has other than default compilation semantics and its compilation semantics is not equivalent to appending interpretation semantics to the current definition [...]

(It's a bad solution, since we should refer to "run-time semantics", instead of "interpretation semantics").
Solution 3
Just let's allow to apply [COMPILE] to Forth words only.
If [COMPILE] is applied to a lexeme that is not resolved into a Forth word then: if the Exception word set is present, throw the exception -32 "invalid name argument", otherwise an ambiguous condition exists.
Another solution
Make [COMPILE] obsolescent  (and unfindable) if the Recognizer word set is provided.
The best solution
If a Forth system will be able to postpone any fragment of code, neither [COMPILE] nor POSTPONE semantics are demanded to be extended.
c{ ccc }c  (proof of concept: c-state)
Execution: append run-time semantics of ccc to the current definition.
(actually, the case of c{ if }c is harder to specify).
Run-time semantics
Unless otherwise specified in the "Run-time:" section of the glossary entry,  the run-time semantics of a Forth definition are its execution semantics.

There is another big problem with [COMPILE], see a comment at forth-standard.org.
It looks like the best way is to don't provide [COMPILE] at all.

Don't consider possible implementations of [compile] anymore due to its immanent design flaw.
The word [compile] cannot be correctly applied to the words like exit, >r, etc (i.e., the words having special compilation semantics), if they are redefined by the user.


Fibonacci optimize with Memory pattern

Thanks for the PR!

@mgechev are you going to deploy new changes on GitHub pages ??


Stacking with option to re-scale data in relative values

One-line summary [问题简述]
Currently Stacking only stacks absolute values by adding them. I wanted to know, if there is a possibility to have stacking in relative form (% or ratio)
Useful to have comparative representation

I've not understood the meaning of "stacking in relative form (% or ratio)". Could you please supply some examples or detailed explanation?

You can refer to the following stacking example from NVD3
http://nvd3.org/examples/stackedArea.html

Think you for your example. Although Expanded can also be configured by transform data to percent value manually in echarts, it is not convenient. We will think this through.

Thanks, I do not know how to make it configurable via toolbox. But, it will definitely be a nice feature addition


chroot: "Function not implemented"

I know that this isn't an issue with alwsl -- but I wanted to create an issue for the people like me who will wonder why many GNU utilities and pacman invocations have strange errors like the following:
> chroot /tmp
chroot: cannot change root directory to '/tmp': Function not implemented

> pacman -S netcat
# snip
:: Processing package changes...
(1/1) installing gnu-netcat                                              [########################################] 100%
could not change the root directory (Function not implemented)
error: command failed to execute correctly
:: Running post-transaction hooks...
(1/1) Updating the info directory file...
could not change the root directory (Function not implemented)
error: command failed to execute correctly

I'm currently on Win10 OS Build 14393.351, Windows 10 Enterprise.
This issue blocks certain functionalities (i.e., makepkg -si for things like installing yaourt) like one would with a normal Arch system. This is because chroot hasn't been implemented yet for the WSL for non-Insider builds. It was implemented in the Fast Ring Insider build 14936, according to a developer's response to user feedback here. Some workarounds have been suggested, like compiling a no-op chroot, but these are not safe and can cause some disasters in one's filesystem. I think the best option is to wait until that functionality makes it to the stable Win10 builds.
Do what you want with this issue, but my bet is that it'd be most useful as an open issue until chroot comes to a stable Win10 build, which is currently slated for early 2017 release.

This should not occur in alwsl. alwsl includes a custom build of pacman, where the library in question has been compiled without the need of chroot.

@turbo: Are you saying that this shouldn't be happening?
I've updated my original post to have some more platform information. I'm currently on Win10 OS Build 14393.351, Windows 10 Enterprise.

Okay, did a little more research. The problems start when I hit Y for an ignored package prompt (fakeroot and pacman specifically):
$ sudo -S pacman -S fakeroot
> :: fakeroot is in IgnorePkg/IgnoreGroup. Install anyway? [Y/n]

It's from there that the problems start -- fakeroot is needed to compile a package like package-query, which is in turn necessary for yaourt. If I try to makepkg -sri on package-query, then it fails because I can't use fakeroot right now. It can be argued that I don't need yaourt, but I'd really prefer to have it -- having my preferred AUR helper is one of the reasons I was interested in alwsl in the first place!

custom build of pacman

ignored

When you (literally) ignore the fixes that make the system work, the system tends to stop working. No surprises here.
In order to preserve archlinux compatibility, many libraries are recompiled with WSL support to prevent packaging yet another build of these utils. These packages, as far as they are accessible by pacman, are in the HOLD or IGNORE group for a good reason.
Don't upgrade them, and everything will work fine. When the upstream changes in pacman et al. are important, they'll get rebuild (currently be me - soon automatically), and you can pull the changes via alwsl's (future) update system. Watch this repository and the alwsl-canary one to get notified of the next build.
Cheers.

@turbo: The problem of trying to use something like yoaurt hasn't been resolved yet. How do you plan on handling that? It looks like it will probably be solved when the new release Win10 WSL comes out, which may fix it. I don't mind you closing this issue, but I'd like to get some closure before leaving this be. I'm too interested in it to simply leave it alone. :)

What's the problem with using yaourt? It works just fine in alwsl (as is shown in the screenshot in the README).

To clarify, alwsl contains fixes for all the issues you mentioned above:

a custom build of fakeroot (passthrough)
a custom build of makepgk (root-enabled)
a custom version of pacman's libs to work around chroot

If you install alwsl, you can install yaourt like on arch without any issues. You must not however, modify any of the fixes applied.

@turbo : I actually found that I had to use a commit prior to a1ba3d3d "Switch to bootstrap distro" in order to get pacman and yaourt to work properly. I ran into this when I went to reinstall a previously working ALWSL install and had issues with pacman/yaourt as well. I don't know if there was a missing step to be completed in the install that I was supposed to do. At the time, I didn't report the issue because this software is still pre-release and an official install option (read: not a .bat file) was still incoming, where I figured any step I was missing would be addressed.
@ErichDonGubler: Can you try commit 7e1fe4c91 and see if you still have difficulties?
Maybe this will help resolve the issue?

I will roll back to the complete distro from bootstrap for now. Insufficient testing on my side.

I've switched the download step back to the older version, please pull alwsl again and reinstall. Thanks @erikli for the report.

@erikli: Things are working smoothly now with 7e1fe4c91. Thanks!


Use content hash from the API as the digest

The alias 'latest' was working but should not be relied upon.
Change-type: minor
Signed-off-by: Kyle Harding<EMAIL_ADDRESS>

@balena-ci I self-certify!


Peer to peer code review

@Mylo16: Good job so far Elijah👍 However, I have a few suggestions that I think you should implement to enable you follow ES6 syntax. Head over to your leaderboard.js line 15 and change async function to an arrow function. Hapy coding

Thanks, all implemented


Comparison of FastText implementations (Facebook vs. Gensim)

@miguelgfierro mentioned that a colleague told him that Facebook's fastText implementation is faster and more accurate than the original one. He thinks its would be worthwhile to do a comparison (time, dataset size, accuracy, etc.) on several datasets.
References:
https://github.com/RaRe-Technologies/gensim/issues/1940
https://github.com/miguelgfierro/sciblog_support/blob/master/Intro_to_NLP_with_fastText/Intro_to_NLP.ipynb
https://course.fast.ai/datasets#nlp

Close stale issue. Feel free to reopen if interested.


AFE for (unnamed) cell formulas

I'd be great to be able to use the AFE features (e.g. indentation, highlighting, intellisense etc.) while editing an unnamed formula in the active cell.
Rationale: There's a whole lot of Excel-sheets out there that use rather complex / long formulas that are only used once and are therefore not immediate candidates for naming / lambda. However, editing / maintaining such formulas could benefit greatly from the AFE features mentioned above.
The most straightforward way would be to place an additional card "Active Cell Formula" at the top of the list in the "Manager" Tab. It would make sense to create some visual distinction from the named formulas, e.g. by using a visual separator or having the formula be a slightly different colour.

Agree with your rationale. Even being able to view the formulas using the formatted cards would helpful, in my view.
This is something I've looked into adding, but not committed too yet. Will mark as a feature request.

The new AFE now supports editing the current cell.


Exports should include request parameters as metadata

When exporting and importing parquet files add the request parameters as metadata so that field can be filled in  for the records view when importing

This will not be neccessary as the server will add these to the parquet file as metadata


[Feature request] Add base class types such as sf::Drawable / sf::RenderTarget so it's easier to work with these bindings for D

Hello 👋
Since this is a CSFML binding and C is not an object oriented language, it's missing some very useful base types such as cf::Drawable / cf::RenderTarget (the tutorial I am following through requires the use of these types), consider adding some wrappers for base class types so this binding is easier to work with.
For example the C# bindings for SFML have an interface for Drawable (the equivalent of cf::Drawable):

You may want to take inspiration from how it was implemented in SFML.Net:
Drawable interface: https://github.com/SFML/SFML.Net/blob/43926e92e24750f364abbb2455b5033e3c226999/src/SFML.Graphics/Drawable.cs
RenderTarget interface: https://github.com/SFML/SFML.Net/blob/43926e92e24750f364abbb2455b5033e3c226999/src/SFML.Graphics/RenderTarget.cs
The Rust bindings as well have a Drawable base type: https://github.com/jeremyletang/rust-sfml/blob/80d3cf0f5d20224d8948fc9e25a471a6318436bd/src/graphics/drawable.rs ... and RenderTarget base type https://github.com/jeremyletang/rust-sfml/blob/261e1f51a40f8fc03aa01bc4333d2041776818a0/src/graphics/render_target.rs
As you can see most bindings to object oriented languages seem to implement these base types.
(There are probably some more base types, but those two seem to be the most important.)
For the book I am reading, this is the method I need to implement:
void Window::Draw(sf::Drawable&l_drawable){
    m_window.draw(l_drawable);
}

As you can see it's currently impossible as the library has no sfDrawable type. Since D is an object oriented language I believe it would be amazing if you guys could add a D equivalent for these base types so it's easier to work through SFML tutorials and create more object oriented syntax.
Again, not sure how hard it is but just a suggestion 🙂
I do not want to pressure anyone into adding new features that may be difficult since this is purely a volunteer project.
You've already done excellent work on these bindings so far, but this will be the icing on the cake.

Thanks for your suggestion.
First of all, "easier to work with these bindings for D" assumes that everyone who uses D writes object-oriented code with classes. Procedural D code is very common. The code example you gave should be completely possible to write in D without the sf::Drawable abstract base class:
class Window{
  void Draw(T)(ref T l_drawable){
    m_window.draw(l_drawable);
  }
}

Object-oriented code turns into procedural machine code once it's compiled, so any C++ code that's bindable to C should be able to be turned into object-oriented code again on your end with a wrapper with a little bit of time. As you mentioned, bindbc-sfml is a binding to CSFML. If CSFML lacks functionality that SFML has (like the functions from sf::RenderTarget), then the issue is with CSFML.
Making bindbc-sfml into a mixed CSFML/SFML binding would be a mess and could have irreconcilable consequences. The SFML.Net binding you referenced there is official, but it's unclear how the library binds to CSFML, so it's not a great example. rust-sfml is just a direct SFML binding.
Back when bindbc-sfml was created, D's C++ interoperability was significantly lacking.  Nowadays this is possible:
extern(C++) class MyClass{ int x; }

extern(C) void main(){
  scope a = new MyClass();
  a.x = 10;
}

extern(C++) classes can be allocated in BetterC as scope variables.
In the future I do plan to rewrite bindbc-sfml to be a direct binding to SFML. bindbc-sdl will be getting updated much sooner, and SDL2 can already do most of the same things as SFML, so SFML's rewrite will probably come after all the other bindbc libraries are upgraded.

I see the CSFML library as a base that should/can be extended for each language.

Exactly! And the point of bindbc-sfml is that it is a direct binding to CSFML that provides the base for D. My intent with all of my C bindings is that they be no more than bindings; they don't add anything to the API of the library to which they bind. I think this is an important concept. It reduces the maintenance burden for the maintainer, as you don't need any new or additional documentation (the C library's documentation serves equally well for the binding), and there's no additional API to maintain.
However, anyone can use these bindings in turn to, as you suggest, extend the functionality of the C library by providing a wrapper.

you said I could create a wrapper, could you please tell me more about this?

A wrapper provides a different interface atop an existing one, usually in a different language. CSFML itself is a wrapper of SFML. So, for example, given a library clib with a function like int clib_register_name(const char* name), you might write a D function like this:
module clibd;
import clib;  // A hypothetical binding to clib
mport std.string : toStringz;

bool registerName(string name)
{
    return clib_register_name(name.toStringz) != 0;
}

Your registerName wraps the C function and provides a D interface for it.
The sf::Drawable can be replicated in D as a template as @ichordev suggested, or perhaps an abstract class or interface (depending on what it does).

The first D example you have given is more of a band-aid than a solution because it allows me to pass any type.

Just add a template constraint if you care about that. It's not really necessary at all, but if you think you'll end up passing the wrong type then you should.
class Window{
  void Draw(T)(ref T l_drawable)
  if(isDrawable!T){
    m_window.draw(l_drawable);
  }
}

Perhaps you guys could work on a tutorial series for these bindings.

No. These are bindings, you use them the same way as the library they're binding. I would recommend you look up a CSFML-specific tutorial if CSFML is really missing these base classes. That said, maybe you're not meant to inherit from those classes in the first place if their methods aren't in CSFML?

Thanks guys. I'll just stick with the template fix and continue with the book.
Its great that you plan on adding C++ SFML bindings, its good to have goals and ambitions. I look forward to seeing C++ SFML D bindings sometime in the future.

Trying out your code, I now see that it's not possible as there is no draw() method for the window. Thanks anyways.

Trying out your code, I now see that it's not possible as there is no draw() method for the window. I'll just have to settle for multiple duplicated methods or an accessWindow() function. E.g.:
void drawSprite(sfSprite* sprite) {
    m_window.sfRenderWindow_drawSprite(sprite, null);
}

My mistake, yeah you can make an overload of Draw for each different drawable you want it to wrap.

Or:
sfRenderWindow* accessWindow() {
    return m_window;
}

Why not alias this? ;)

Since D interoperability with C++ has improved and seems to be stable, I might make OOP D bindings to C++ SFML in the future as well when I am more experienced, that seems like a fun project.

I wouldn’t recommend doing it without some pretty extensive knowledge of what mangling is, how linking and static vs dynamic libraries work, etc. Unless you like painstakingly translating C++ code and dealing with obtuse compiler errors, I’d say focus on making stuff for yourself. ;P

there are no base types in that specific bindings, similar to this one.

Wrong.
https://github.com/Jebbs/DSFML/blob/master/src/dsfml/graphics/drawable.d
https://github.com/Jebbs/DSFML/blob/master/src/dsfml/graphics/rendertarget.d

The Rust bindings are also CSFML bindings, not direct C++ SFML bindings.

Right, I got a bit confused. CSFML is written in C++ apparently, but only uses C-compatible features and extern "C"

Trying out your code, I now see that it's not possible as there is no draw() method for the window. I'll just have to settle for multiple duplicated methods or an accessWindow() function. E.g.:
void drawSprite(sfSprite* sprite) {
    m_window.sfRenderWindow_drawSprite(sprite, null);
}

My mistake, yeah you can make an overload of Draw for each different drawable you want it to wrap.

Or:
sfRenderWindow* accessWindow() {
    return m_window;
}

Why not alias this? ;)

Since D interoperability with C++ has improved and seems to be stable, I might make OOP D bindings to C++ SFML in the future as well when I am more experienced, that seems like a fun project.

I wouldn’t recommend doing it without some pretty extensive knowledge of what mangling is, how linking and static vs dynamic libraries work, etc. Unless you like painstakingly translating C++ code and dealing with obtuse compiler errors, I’d say focus on making stuff for yourself. ;P

there are no base types in that specific bindings, similar to this one.

Wrong. https://github.com/Jebbs/DSFML/blob/master/src/dsfml/graphics/drawable.d https://github.com/Jebbs/DSFML/blob/master/src/dsfml/graphics/rendertarget.d

The Rust bindings are also CSFML bindings, not direct C++ SFML bindings.

Right, I got a bit confused. CSFML is written in C++ apparently, but only uses C-compatible features and extern "C"

Thanks. Haven't gotten to alias this yet (it's further down in the book I am reading).

Hi,
I will be working on my own OOP wrapper library for these bindings soon.
My goal is for it to match the C++ SFML syntax as close as possible.
Regards,
thebluepandabear


Use CSP_NONCE instead of SCRIPT_NONCE

Proposed changes
What changed

Variable was renamed elsewhere, but this was mistakenly left out.
Why did it change

Issue tracking

KBV-XXXX

Checklists
Environment variables or secrets

[ ] No environment variables or secrets were added or changed

[ ] Documented in the README
[ ] Added to deployment repository
[ ] Added to local startup repository

Other considerations

[ ] Update README with any new instructions or tasks

Closing in favour of #64


#860 Fix DateInput component not allowing datetime

This removes again the Date.UTC call that was added in #848 and removed in #831.
Instead I have changed the default time to 13:00. Partly because JAC tends to use 13:00 as default time for launching an exercise, for example. Mainly because this means we bypass the BST daylight saving issue that was being experienced where a default time of 0:00 was (when in BST) being converted to 23:00 the previous day.

@lloback and @tomlovesgithub I have merged this into develop as it's needed for tomorrow's Qualifying Test dry run however please do both review this change.


Goobi S3 storage: fix directory size computation

only the local filesystem is used when computing the size of a process directory.

This is now fixed in Goobi