Publish Scoop package

Scoop compared to Chocolatey- basically, it installs portably and has simpler configuration.
Creating a package for this can be done fairly easily using GitHub Releases and autoupdates, I would be willing to PR this into the main Scoop repo if you wish.

Hi! I personally never used Scoop. It looks like Stevedore would have to go into non-portable.
Stevedore uses GitHub Actions for CI and releases, so if we could just push a new release to Scoop from there, it would be cool.
I'm not sure I properly understood that autoupdater thing. It polls upstreams for new releases and submits a PR to Scoop when finds one? That should also work.

It seems that MSIs can be extracted automatically if the filename contains .msi- this might work, unless there is another non-portable aspect of Stevedore. For example, the 7zip manifest seems to use an MSI file and extract it to the ~/scoop/ directory.
How autoupdater works is that you can specify for Scoop to query GitHub Releases for a new version, and then update the manifest to the new version. For example, this is the manifest for @railway/cli:
{
    "version": "0.3.1",
    "description": "The command line interface for Railway. Use it to connect your code to Railways infrastructure.",
    "homepage": "https://github.com/railwayapp/cli",
    "license": "MIT",
    "architecture": {
        "64bit": {
            "url": "https://github.com/railwayapp/cli/releases/download/v0.3.1/railway_0.3.1_windows_amd64.tar.gz",
            "hash": "45110d5753d49ffb2a4ca074d4696c9092b441f4e9deed5475e67c6fedbeb30e"
        },
        "32bit": {
            "url": "https://github.com/railwayapp/cli/releases/download/v0.3.1/railway_0.3.1_windows_386.tar.gz",
            "hash": "a64e28cdade44da3eed02e58c1152e8101ee6fc5d4ef55605b9075082f3413ee"
        }
    },
    "bin": "railway.exe",
    "checkver": "github",
    "autoupdate": {
        "architecture": {
            "64bit": {
                "url": "https://github.com/railwayapp/cli/releases/download/v$version/railway_$version_windows_amd64.tar.gz"
            },
            "32bit": {
                "url": "https://github.com/railwayapp/cli/releases/download/v$version/railway_$version_windows_386.tar.gz"
            }
        },
        "hash": {
            "url": "$baseurl/railway_$version_checksums.txt"
        }
    }
}

unless there is another non-portable aspect of Stevedore

Stevedore installs Windows service
Stevedore enables Windows optional features (containers & Hyper-V)

Both options require elevated privileges, and service is obviously non-portable.

Both options require elevated privileges, and service is obviously non-portable.

That makes sense. Is it alright if I open a PR to the nonportable bucket for adding Stevedore? I can put in a PR for adding it to the README as well.

Is it alright if I open a PR to the nonportable bucket for adding Stevedore?

Sure!

I created a PR at https://github.com/TheRandomLabs/scoop-nonportable/pull/296. I used the Wix installer/MSI as a reference hopefully I haven't missed anything that Stevedore does in the install process. Since I use dockerd --register-service, the display name of the service is Docker Engine rather than Stevedore, but the service name is still stevedored.

scoop docker package installing without admin privileges and print message after installation:
        To register Docker as a service, run `dockerd --register-service`
        Similarly, to unregister, run `dockerd --unregister-service`

stevedore can use similar approach

If you want to go the manual route, you can just

Download ZIP from https://download.docker.com/win/static/stable/x86_64/
Unpack it
Run dockerd --register-service
Install Windows Containers/Hyper-V feature
Reboot

The main point of Stevedore is that it does everything that needs to be done in order to use containers.

I don't want to use manual route - I'm installing most of my stuff via package managers, preferable scoop, chocolatey is ok for usage in docker containers, but scoop is more convenient on desktop and currently there is disparity in docker packages in scoop and chocolatey

I'm not sure I understand you. Docker already exists in Scoop. Stevedore installs exactly the same docker.exe and exactly the same dockerd.exe. But Stevedore does several more things (like, enabling required Windows features and registering service). If you want to do those things by hand, you can just scoop install docker.

There is difference in installed binaries. scoop docker package installs docker app (which is deprecated) and buildx (which does not work on windows - hopefully yet), stevedore installs compose - and who knows how these packages will deviate in future.
Currently everything is manageable - I only write different instructions for users installing docker via scoop and via chocolatey (and there are no good options in winget AFAIK). If it deviates from project goals it is fine, but it is nice to have an option to install modern package with package manger of your choice imho.
Portable installations are useful depends on use case, for example I can install docker from scoop in docker container and use it as client, but choco install stevedore is failing in docker (which is understandable if package tries to enable containers support).

scoop docker package installs docker app (which is deprecated) and buildx (which does not work on windows - hopefully yet), stevedore installs compose - and who knows how these packages will deviate in future.

stevedore aims to be a superset of docker package. So it does install both docker app and buildx.

choco install stevedore is failing in docker

I think you can workaround that by specifying which features to install: https://github.com/slonopotamus/stevedore#command-line-install-options. By default, Stevedore attempts to install everything.
WRT installing Stevedore per-user - this might work, but very great care needs to be taken to avoid making installer UI confusing. Anyway, I think it is out of scope of current issue because it isn't Scoop-specific.

Since the nonportable bucket seems to be inactive, we can either wait for it to be transferred/forked into the ScoopInstaller org or we can make our own Scoop bucket.

Seems like something has happened: https://github.com/ScoopInstaller/Nonportable/pull/51
Just in case I believe that Stevedore already provides more than enough installation methods (msi, winget, chocolatey), so Scoop support is out of scope of my efforts.


Processing stuck

Hi Luca!
Thank you for your great work! While running python main.py. processing always gets stuck at some point and after that, I get only

Have you ever seen something like that ?

Hi, so it works fine but after several minutes do you have this error right?

Hi Luca,
I found that the process gets stuck usually when it reaches the last image.

Could you check if changing in the config.ini file FORCE_PROCESS_ALL_FRAMES = False it works?
If you have still problem try to skip some images like this:
STEP = 4
SIMULATOR_SLEEP_TIME = 0.2

I hope the issue is solved, please feel free to send any suggestions or open other issues. Any collaboration in improving and optimizing is very helpful, in the case you can fork and push your changes

Dear Luca,
Thank you very much for your response. Everything works perfectly right now.


Adding ONRUN instruction

Sometimes, you need post "run" action when you run your image.
For example with my image "leed", I need to configure it for DB connection.
You have two choice :
1/ making this actions in Dockerfile and you must build the image each time (with fig for example)
It's not a proper way, 1 image = 1 container, I lost the advantage of the image
2/ create an init script (and be sure of idempotency) and run the soft at the end
My Dockerfile is not readable and I don't know which command it use, I need to check the script
Solution : Creating ONRUN instruction.
With ONRUN you just specify the script to use for the first start. You can use a script, or a puppet run, or whatever you want.
Example in Dockerfile:
FROM ...
....
ONRUN init.sh
CMD ["/usr/bin","sof","param"]

Run it
docker run -d --name test myimage
# run init.sh before CMD/ENTRYPOINT

docker stop test
docker start test
# will not run init.sh

Hello!
We are no longer accepting patches to the Dockerfile syntax as you can read about here: https://github.com/docker/docker/blob/master/ROADMAP.md#22-dockerfile-syntax
Mainly:

Allowing the Builder to be implemented as a separate utility consuming the Engine's API will open the door for many possibilities, such as offering alternate syntaxes or DSL for existing languages without cluttering the Engine's codebase

Then from there, patches/features like this can be re-thought. Hope you can understand.


Table: incorrect borders in Firefox

The borders are not rendered correctly when the table has more than 2 rows in firefox.

This issue was found when implementing inline editing, where it is also present: https://github.com/patternfly/patternfly-react/pull/1227
this issue seems to cause that: https://bugzilla.mozilla.org/show_bug.cgi?id=688556

@suomiy thanks! I put up a PR if you'd like to verify https://github.com/patternfly/patternfly-next/pull/1535

@suomiy actually I had another look at this, and I think I found the culprit with a much easier fix. Added a PR if you want to check it out. https://github.com/patternfly/patternfly-next/pull/1545


i18n(pt-BR): update guides/upgrade-to/v2.mdx file

Description (required)
i18n(pt-BR): update i18n/pt-br/docs/guides/upgrade-to/v2.mdx file

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

pt-br
guides/upgrade-to/v2.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


Currently an issue that I don't know how to fix?

What is the output link of /viaversion dump?
https://gist.github.com/b1cc770c21ff17384a59a6afd61a5ab3
Are you using any additional software like BungeeCord? If so, what software and version? (Please list your plugins as well)
No, just Spigot for 1.8.8
http://prntscr.com/ed0r4l (Some are Custom, like Tester and HordeAddons)
How does this error happen? login? Using an item?
I'm not quite sure, the console just constantly spams me with this error. I assume it happens when unsupported versions join the server, however I'm not entirely sure. It doesn't happen when I join, I'm running 1.8.4 and the server is 1.8.8
Is there an error in the console? Use pastebin.com.

This is an issue with one of your plugins that uses custom mobs, "An error occurred with entity meta data for RABBIT OldID: 14"
This happens when a plugin sends incorrect data for the Minecraft version you're running (1.8.8), you can suppress these warnings in the ViaVersion config.yml, but be warned mobs may display differently. (suppress-metadata-errors in config.yml)


Write tests for @tinyhttp/jsonp

Express tests: https://github.com/expressjs/express/blob/master/test/res.jsonp.js
Should be put in __tests__/modules/jsonp.ts
No need to write as many tests as in Express, if it hits 100% coverage, it's enough

@talentlessguy  Thanks in advance for assigning this to me :)

@talentlessguy  I have tried 2-3 things for callback tests but everything seems to give undefined on line 46 of jsonp/index.ts
1st thing:
  it('should respond with jsonp', async () => {       const { fetch, app, server } = InitAppAndTest((req, res) => jsonp(req, res, app)({ count: 1 }, {}))       await fetch('/')         .expect('Content-Type', 'application/json; charset=utf-8')         .expect(200, /{"count":1}/)     })
This worked fine in case no callback is there but in case of callback it gives undefined for app[callbackName]
2nd method(took help from the readme and express example):
`const app = new App()
app.use(function (req, res) {
res = jsonp(req, res, app)({ count: 1 }, {})
})
await fetch(app.listen(), '/?callback=something')
  .expect('Content-Type', 'text/javascript; charset=utf-8')
  .expect(200, /something\(\{"count":1\}\);/)`

Even this is causing the same issue as 1, giving undefined for app[callbackName]. I even tried app.set but that too is not working.
Can you help me in finding what am I doing wrong? Probably doing something silly!

@shubhi23994 try without InitAppAndTest, just this:
import { App } from '...'
import { jsonp } from '...'

const app = new App()
json(req, res, app)

Tried this
const app = new App()   app.use((req, res) => jsonp(req, res, app))
But no luck!
The one that you posted was giving error on res and req and so had to put it inside app.use. But yea still the same issue

@shubhi23994
might be the issue with jsonp module then
will check it later

@shubhi23994 can you try this?
https://github.com/talentlessguy/tinyhttp/tree/master/packages/jsonp#example

I had tried this already and I kept getting this error TypeError: Cannot destructure property 'escape' of '((cov_cpfoxmzi1(...).s[14]++) , opts)' as it is undefined.

@shubhi23994 which Node version are u using btw?

Node version is: v14.13.0

@shubhi23994 I think I just fixed it, check again please

@shubhi23994 how are tests going ;D ?

I saw the fix and seems to be fine but still not receiving this output like express. Some extra things are coming up. I am trying to figure them out. Will update you on this soon ☺

Hey! line 23 looks unreachable to me. Or maybe I am missing something. Can you have a look? I have raised the PR though covering all the other lines

@shubhi23994 it's fine that 23 is unreachable, the coverage doesn't have to be 100%
and yes I'm taking a look now

Closed via #134


runtime/pprof: collecting a CPU profile takes ~200ms of wall time

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

go1.21 version
go version go1.21.1 darwin/arm64

Does this issue reproduce with the latest release?
Yes, Go 1.21 is the latest release series.
What operating system and processor architecture are you using (go env)?
go env Output
$ go1.21 env
GO111MODULE=''
GOARCH='arm64'
GOBIN=''
GOCACHE='/Users/rhys/Library/Caches/go-build'
GOENV='/Users/rhys/Library/Application Support/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='arm64'
GOHOSTOS='darwin'
GOINSECURE=''
GOMODCACHE='/Users/rhys/go/pkg/mod'
GONOPROXY='*'
GONOSUMDB='*'
GOOS='darwin'
GOPATH='/Users/rhys/go'
GOPRIVATE='*'
GOPROXY='direct'
GOROOT='/Users/rhys/go/version/go1.21'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='local'
GOTOOLDIR='/Users/rhys/go/version/go1.21/pkg/tool/darwin_arm64'
GOVCS=''
GOVERSION='go1.21.1'
GCCGO='gccgo'
AR='ar'
CC='clang'
CXX='clang++'
CGO_ENABLED='1'
GOMOD='/dev/null'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -ffile-prefix-map=/var/folders/lf/n4ry0qv5639_3z0nhyhy3z7c0000gs/T/go-build1797745903=/tmp/go-build -gno-record-gcc-switches -fno-common'

What did you do?
$ cat slowprof.go
package main

import (
	"flag"
	"io"
	"log"
	"runtime"
	"runtime/pprof"
)

func main() {
	cpu := flag.Bool("cpu", false, "collect a CPU profile")
	mutex := flag.Int("mutex", -1, "collect a mutex profile with specified debug level")
	block := flag.Int("block", -1, "collect a block profile with specified debug level")
	flag.Parse()

	if *cpu {
		err := pprof.StartCPUProfile(io.Discard)
		if err != nil {
			log.Fatalf("pprof.StartCPUProfile: %v", err)
		}
		pprof.StopCPUProfile()
	}

	if *mutex >= 0 {
		runtime.SetMutexProfileFraction(2)
		err := pprof.Lookup("mutex").WriteTo(io.Discard, *mutex)
		if err != nil {
			log.Fatalf(`pprof.Lookup("mutex").WriteTo: %v`, err)
		}
	}

	if *block >= 0 {
		runtime.SetBlockProfileRate(2)
		err := pprof.Lookup("block").WriteTo(io.Discard, *block)
		if err != nil {
			log.Fatalf(`pprof.Lookup("block").WriteTo: %v`, err)
		}
	}
}

$ go1.21 build -o /tmp/slowprof ./slowprof.go

$ for i in {1..10}; do time /tmp/slowprof; done
/tmp/slowprof  0.00s user 0.01s system 58% cpu 0.022 total
/tmp/slowprof  0.00s user 0.00s system 36% cpu 0.009 total
/tmp/slowprof  0.00s user 0.00s system 55% cpu 0.007 total
/tmp/slowprof  0.00s user 0.00s system 41% cpu 0.010 total
/tmp/slowprof  0.00s user 0.00s system 39% cpu 0.009 total
/tmp/slowprof  0.00s user 0.00s system 36% cpu 0.006 total
/tmp/slowprof  0.00s user 0.00s system 37% cpu 0.005 total
/tmp/slowprof  0.00s user 0.00s system 33% cpu 0.008 total
/tmp/slowprof  0.00s user 0.00s system 29% cpu 0.007 total
/tmp/slowprof  0.00s user 0.00s system 29% cpu 0.007 total

$ for i in {1..10}; do time /tmp/slowprof -cpu; done
/tmp/slowprof -cpu  0.00s user 0.00s system 2% cpu 0.214 total
/tmp/slowprof -cpu  0.00s user 0.00s system 2% cpu 0.213 total
/tmp/slowprof -cpu  0.00s user 0.01s system 4% cpu 0.216 total
/tmp/slowprof -cpu  0.00s user 0.00s system 3% cpu 0.215 total
/tmp/slowprof -cpu  0.00s user 0.00s system 3% cpu 0.216 total
/tmp/slowprof -cpu  0.00s user 0.00s system 3% cpu 0.215 total
/tmp/slowprof -cpu  0.00s user 0.00s system 3% cpu 0.215 total
/tmp/slowprof -cpu  0.00s user 0.00s system 3% cpu 0.216 total
/tmp/slowprof -cpu  0.00s user 0.01s system 3% cpu 0.216 total
/tmp/slowprof -cpu  0.00s user 0.00s system 2% cpu 0.213 total

What did you expect to see?
I hoped to see very little wall-time overhead as a result of enabling the CPU profile.
What did you see instead?
Starting and stopping the CPU profile adds around 200ms of wall-clock time. That's a significant slowdown when the process under test is something like "a benchmark" or "a command, such as the compiler". (It's not as noticeable when the process under test is a long-running server program.)
Furthermore, the DurationNanos field in the resulting protobuf-encoded profile includes that idle time. As a result, go tool pprof reporting that the process was less busy than it really was during the time the profile was active: the CPU profile samples represent the work the app does from the start of the call to pprof.StopCPUProfile, but the duration covers until the end of that call.
I think this relates to the 100ms sleep in runtime/pprof.profileWriter's loop at https://github.com/golang/go/blob/go1.21.1/src/runtime/pprof/pprof.go#L809

This is probably at least partially a consequence of a bug fix on Darwin where accessing the profbuf is no longer blocking, and there's an explicit 100ms sleep in the profile reader loop.
Michael Pratt points out that the 100ms sleep could probably be replaced with a select on a couple channels, wherein if the profile ends sooner it wakes up, flushes whatever it can, then exits promptly.

https://go.dev/cl/228886 tried to fix this, but it was reverted.


Remove vscode-extension-tester-native

This prevents opencv from being compiled during the UI tests.
Closes #574
Signed-off-by: David Thompson<EMAIL_ADDRESS>

@JessicaJHee if you have time, do you think you could review this PR? This one is more important than https://github.com/redhat-developer/vscode-quarkus/pull/582

If I understand correctly, we can remove this because we don't use native dialogs? And I'm also wondering if the test failures on this PR are relevant?

Let me fix the test failures, those are my bad

we don't use native dialogs?

I think so. According to https://www.npmjs.com/package/vscode-extension-tester-native it's deprecated and there is a workaround if we need the functionality it provides.

Tests should work now (except for https://github.com/redhat-developer/vscode-quarkus/pull/603)


docs: Added release notes and associated media for 0.38

SUMMARY
We would like to publish release notes with each major release. This is a first crack at sorting out the format for the release notes, starting with v0.38. These are the decision points that would benefit from feedback or objections, and will likely see iteration in future release notes:

Multimedia embedded in the release notes vs no multimedia
A single .md file with each new version's notes appended vs a separate .md file and directory for each release
Directory structure for release notes
How the release notes are linked to the top level README.md

The changes in this PR make a suggestion for each of those points.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
N/A
TEST PLAN
No testing required, no changes to codebase.
ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

Codecov Report

Merging #12022 (e2d334f) into master (5d8ecc0) will decrease coverage by 3.11%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##           master   #12022      +/-   ##
==========================================
- Coverage   67.04%   63.93%   -3.12%
==========================================
  Files         948      471     -477
  Lines       46193    29004   -17189
  Branches     4405        0    -4405
==========================================
- Hits        30972    18544   -12428
+ Misses      15095    10460    -4635
+ Partials      126        0     -126

Flag
Coverage Δ

cypress
?

javascript
?

python
63.93% <66.66%> (-0.63%)
:arrow_down:

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

Impacted Files
Coverage Δ

superset/reports/api.py
84.21% <ø> (ø)

superset/reports/commands/update.py
88.52% <66.66%> (-1.14%)
:arrow_down:

superset/db_engines/hive.py
0.00% <0.00%> (-85.72%)
:arrow_down:

superset/db_engine_specs/hive.py
54.61% <0.00%> (-29.62%)
:arrow_down:

superset/db_engine_specs/mysql.py
79.59% <0.00%> (-12.25%)
:arrow_down:

superset/db_engine_specs/presto.py
69.95% <0.00%> (-11.81%)
:arrow_down:

superset/examples/world_bank.py
97.10% <0.00%> (-2.90%)
:arrow_down:

superset/examples/birth_names.py
96.51% <0.00%> (-2.33%)
:arrow_down:

superset/views/database/mixins.py
80.70% <0.00%> (-1.76%)
:arrow_down:

superset/models/core.py
87.26% <0.00%> (-1.63%)
:arrow_down:

... and 468 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 5d8ecc0...dbd904f. Read the comment docs.

Thank Robert!

See it rendered here:
https://github.com/garden-of-delete/incubator-superset/blob/master/RELEASING/release-notes-0-38/release-notes-0-38.md
Comments:

file could be /release-notes-0-38/README.md so that github renders it
expecting to see images embedded in the release notes but I don't see any (?)

See it rendered here:
https://github.com/garden-of-delete/incubator-superset/blob/master/RELEASING/release-notes-0-38/release-notes-0-38.md
Comments:

file could be /release-notes-0-38/README.md so that github renders it when clicking on the folder
expecting to see images embedded in the release notes but I don't see any (?)

Addressed in most recent commits.

@garden-of-delete Github's MD supports  html tags, which gives you better control over the layout of images. Could you try something like:

Super nit-picky, but can we add borders to images? https://stackoverflow.com/questions/37349314/is-it-possible-to-add-border-to-image-in-github-markdown
Looks a bit rough here:
https://github.com/garden-of-delete/incubator-superset/tree/master/RELEASING/release-notes-0-38/

Trying the old close/reopen trick since Cypress is not complying

Nit: would love to see alt tags on the images for improved accessibility.

Nit: would love to see alt tags on the images for improved accessibility.


qr code scan multiple payments

re-opening https://github.com/helium/hotspot-app/pull/479
closes #134

@MichaelBrew we are merging this in. It is planned for the next app release v3.2.2


External traffic policy

Description
Changes proposed in this pull request:

Introduce configuration for ExternalTrafficPolicy for Istio ingress gateway service

Related issues

https://github.com/kyma-project/istio/issues/718

/hold needs int tests

I don't know if I like it that we have gatewayExternalTrafficPolicy as optional field. I think putting the default might be better, especially when it comes to the UI. It's the same with numTrustedProxies. Having default values for them applied, but not making it obvious for the user what default values are applied might be confusing.
But this is propably a topic we should talk about in general.

Unfortunately this is not really a solution that can be easily done unless we have a defaulting webhook set-up, as this would brake backwards compatibility.
But generally I agree, a approach were you have the default value known and present in the CR is better

I don't know if I like it that we have gatewayExternalTrafficPolicy as optional field. I think putting the default might be better, especially when it comes to the UI. It's the same with numTrustedProxies. Having default values for them applied, but not making it obvious for the user what default values are applied might be confusing.
But this is propably a topic we should talk about in general.

Unfortunately this is not really a solution that can be easily done unless we have a defaulting webhook set-up, as this would brake backwards compatibility.
But generally I agree, a approach were you have the default value known and present in the CR is better

Yes, I think it's more a general thing we should consider when introducing a new API version. We already though about doing some restructuring.

We should also update the tutorial about enabling XFF header and this documentation about the XFF header in general.

/unhold


Add client details to GET access_control_privileges endpoint

Description:  Add ClientDetails for each FamApplicationUserRoleAssignmentGetSchema in the paginated result of GET access_control_privileges endpoint
Acceptance Criteria

[ ] Integrate the /api/clients/search endpoint from Forest Client API
[ ] Add Client name property to response body
[ ] modify frontend column to display client name and client number
[ ] sort by client number
[ ] Change column name from Client number -> Organization
[ ] Add tests!

Additional context

@craigyu we should sort by client name (not number), same for ticket 1638.

@ianliuwk1019 @craigyu if possible to do this ticket before other tickets in sprint backlog column that would be great.. this way we can have it deployed to prod sooner so Andrew & Rob can start working on the user manuals.


Error creating blob: cannot retry due to server authentication, in streaming mode

OK I give up.
[ERROR] Failed to execute goal com.github.github:site-maven-plugin:0.7:site (default) on project morphia-parent: Error creating blob: cannot retry due to server authentication, in streaming mode -> [Help 1]

From the pom:
<distributionManagement>
    <site>
        <id>github</id>
<EMAIL_ADDRESS>    </site>
</distributionManagement>

<scm>
    <connection>scm:git:git@github.com:jmkgreen/morphia.git</connection>
    <developerConnection>scm:git:git@github.com:jmkgreen/morphia.git</developerConnection>
    <url>https://github.com/jmkgreen/morphia</url>
  <tag>HEAD</tag>

            <plugin>
                <groupId>com.github.github</groupId>
                <artifactId>site-maven-plugin</artifactId>
                <version>0.7</version>
            </plugin>

                <plugin>
                    <groupId>com.github.github</groupId>
                    <artifactId>site-maven-plugin</artifactId>
                    <configuration>
                        <message>Creating site for ${project.version}</message>
                    </configuration>
                    <executions>
                        <execution>
                            <goals>
                                <goal>site</goal>
                            </goals>
                            <phase>site</phase>
                        </execution>
                    </executions>
                </plugin>

Any ideas? Having to remove it to make a release so not a good position to be in.

I was getting this error using a mutli-module project using version 0.9 and encrypted passwords in my settings.xml. I looked at the other issues and it seems this may be related to issue #55. I changed my version to 0.11 which is suppose to have a fix for that issue.
Here are snippets from my parent pom.xml:
<build>
   ...
   <plugins>
      <plugin>
        <groupId>com.github.github</groupId>
        <artifactId>site-maven-plugin</artifactId>
        <version>0.11</version>
        <configuration>
          <message>Building site for ${project.version}</message>
          <server>github</server>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>site</goal>
            </goals>
            <phase>site</phase>
          </execution>
        </executions>
      </plugin>
   </plugins>
</build>

I have the same when using our GitHub Enterprise instance. I believe I am setting the correct configuration, and the message I am getting is:
[INFO] Generating "Dependency Convergence" report    --- maven-project-info-reports-plugin:2.8
[INFO] Generating "Dependency Information" report    --- maven-project-info-reports-plugin:2.8
[INFO] Generating "Distribution Management" report    --- maven-project-info-reports-plugin:2.8
[INFO] Generating "About" report    --- maven-project-info-reports-plugin:2.8
[INFO] Generating "Issue Tracking" report    --- maven-project-info-reports-plugin:2.8
[INFO] Generating "Plugin Management" report    --- maven-project-info-reports-plugin:2.8
[INFO] Generating "Project Plugins" report    --- maven-project-info-reports-plugin:2.8
[INFO] Generating "Source Repository" report    --- maven-project-info-reports-plugin:2.8
[INFO] Generating "Project Summary" report    --- maven-project-info-reports-plugin:2.8
[INFO]
[INFO] --- site-maven-plugin:0.11:site (default) @ bsq-to-dtql ---
[INFO] Creating 27 blobs
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 33.810 s
[INFO] Finished at: 2015-06-21T20:37:34+02:00
[INFO] Final Memory: 30M/741M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.github.github:site-maven-plugin:0.11:site (default) on project bsq-to-dtql: Error creating blob: cannot retry due to server authentication, in streaming mode -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

Same error happening in 0.12 (with just plain username and password in settings.xml, not using encrypted token)

I'm having same issue here... any solution yet?

@tmjeee @phavelar It works for me, but I had to grant the token additional privileges.

token in settings.xml
privileges:

repo  -  Full control of private repositories
repo:status  -  Access commit status
repo_deployment  -  Access deployment status
public_repo  -  Access public repositories

notifications  -  Access notifications
user  -  Update all user data

user:email  - Access user email addresses (read-only)
user:follow  -  Follow and unfollow users

(user:follow - probably not necessary, but user:email definitely is)

I am still getting this error. I wonder if this is because my repo is in a corp server. Where do I specify the GitHub url?

This is likely due to github redirects.   You might have an old owner/name for your github project in your url.  It'll work, just not for this plugin.  For this plugin you need the exact location of where you moved your project to.

I'm running this in a travis build using an access token.
I struggled with this issue forever until I realized I was using a "-" (dash) character for the environment variable name containing the token. Make sure this is not your issue. Since my repo is public, I only required public_repo access to make it work.

@cescoffier Which <url>? Top-level under <project>, <scm>, or < distributionManagement><site>?

it is working when i use token as my account not password

Worked when I create new access token and then use same token in  in settings.xml


Controllers code generation

Create tool, which can be plugged into build systems to generate spring/jax-rs controllers by service interface.
For example for such service
public interface Users {

    UUID createUser(User user);

}

That tool should generate such spring controller:
@RestController
public interface UsersController {

    @RequestMapping("/users", method = RequestMethod.POST)
    UUID createUser(@RequestBody User user);

}

Looks like it's out of the scope of Restler


Update image spec to support multiple images, add build tooling for bytecode images

start working on a design document which will
allow eBPF bytecode images to run on on avaliable
linux architecture.

So this is ready for the initial round of review, I did the code changes more as a POC of what would need to be done to support he proposed model, it does not yet support the idea of fat manifests.

I'm going to re-work a bit based on @dave-tucker's recommendations, specifically  avoiding the assumption that
Therefore, with those two targets a single eBPF program, which is written
following [current CO-RE best practices](https://developers.redhat.com/articles/2023/10/19/ebpf-application-development-beyond-basics), can essentially be compiled
to run successfully on any applicable linux target.

@anfredette @dave-tucker This is finally ready to go, to see int tests running with all of the new images PTAL at https://github.com/bpfman/bpfman/actions/runs/9847303146 (i.e the integration tests running against the test-manual-build branch.  Additionally the integrations still pass on this PR because we've maintained backwards COMPAT.
I'm sure I'm missing some documentation, however I'd like to go ahead and get this in before it gets any bigger :)

Adding hold to prevent merge without me knowing

https://github.com/bpfman/bpfman/actions/runs/9964367171 Is running against update


Todo list darshitdudhaiya

Hi @darshitdudhaiya ,
Update directory name, and follow the guidelines mentioned in readme file.
Thank you.

Closing this PR for reasons of inactivity, @darshitdudhaiya please re-open a pull requests following the standard guidelines. Here are some suggestions:
And consider adding README.md with

Summary about your project
How to setup and use
Add the screenshots in it.

Lastly all your project files, including the README.md should be inside another folder called darshitdudhaiya
Also ToDoList should only contain one folder, your project have multiple inside this folder. Please remove it and ideally it would something like this:
javascript-min-projects
|
-------- ToDoList
           |
            ----- darshitdudhaiya
                   |
                    -------- Your project files and folders
                   |
                    --------- README.md

Refer to How to raise the PR for more information
Thank you.


Why I can't set sl_shadowColor like #aaff5050 , while #aa111111 , #bb888888 are ok?

Did you resolve this problem?? I found it cannot set the shadowColor

色值不可以设置  这就很诡异了

I'm also found this bug

google‘s document says:
This draws a shadow layer below the main layer, with the specified offset and color, and blur radius. If radius is 0, then the shadow layer is removed.
Can be used to create a blurred shadow underneath text. Support for use with other drawing operations is constrained to the software rendering pipeline.
The alpha of the shadow will be the paint's alpha if the shadow color is opaque, or the alpha from the shadow color if not.


Text needs to be updated for players

This is an easy fix.  IF you're playing single player, you will be on the right, but right is considered 2nd player in in-game text.
There's not much of an indication which side is which.  We could indicate that i the game somehow or simply use "left" and "right" in place of first and second.

Resolved by #168


fix(assets): fix lost changes in files for m22

This PR brings back the changes for m22 from #1491 that got lost in #1496.

@chael-mi Please double-check the changes here once more: https://github.com/webern-unibas-ch/awg-app/pull/1501/commits/12f0af2157c5432772a9770f723ce0f2447e6023

Thank you!


Feature request: compile-time checking for unimplemented abstract methods

We have no way of finding unimplemented abstract methods until runtime when they're called. Can this be a compile-time error instead?

Also duplicate of #104


Configure Data Store server_url

I got a question regarding the configuration of ArcGIS Data Store. The datastore recipe refer to the server with domain_name instead of the actual server url. Is that intended?
For example the portal-recpie use node['arcgis']['portal']['url'].
This is troublesome in our current configuration because the domain_name is only running the webadaptor and not the arcgisserver. So nothing is listening on server_url 'https://' + node['arcgis']['server']['domain_name'] + ':6443/arcgis'. Keep in mind, we might be using domain_name wrong, if so please enlighten me.
Relevant code: https://github.com/Esri/arcgis-cookbook/blob/0fb2143442cb57f2022b85c80742bdef89db4374/cookbooks/arcgis-enterprise/recipes/datastore.rb#L41

That is a valid question. The datastore recipe constructs server_url instead if using private_url attribute because few releases ago Data Store configuration tool required the URL to end with ':6443/arcgis' and server/private_url might not.
It's probably time to revisit that. Does configuredatastore tool in ArcGIS Data Store 10.7 still require the ArcGIS Server URL to end with ':6443/arcgis'?

That is a valid question. The datastore recipe constructs server_url instead if using private_url attribute because few releases ago Data Store configuration tool required the URL to end with ':6443/arcgis' and server/private_url might not.
It's probably time to revisit that. Does configuredatastore tool in ArcGIS Data Store 10.7 still require the ArcGIS Server URL to end with ':6443/arcgis'?

The ArcGIS Server admin URL format has changed a bit. It no longer needs the '/arcgis' but does require ':6443'.
The ArcGIS Server admin URL is in the format https://gisserver.domain.com:6443. Note that even if your GIS Server site uses a web adaptor, you must provide the URL in the aforementioned format.

configuredatastore tool does not needs the '/arcgis' part because it always adds '/arcgis' to the server URL, and that is the problem.

arcgis-enterprise cookbook uses uniform URLs like ://:/ for server and portal URLs. That does not work for configuredatastore tool because it requires  = 'arcgis'.

I should have mentioned we are still on 1.6.1 (cookbook version 3.2.1). The deployment will look similar to the one mentioned at the bottom of this page (image).
Both Portal and Arcgis servers are exposed by the same WA running on the same host as portal. I guess I'll have to manually modify recipe to meet our needs.
Feel free to close this issue unless you guys have any additional ideas on how I should proceed.

Solved by changing :configure to use node['arcgis']['server']['url'] instead of server_url 'https://' + node['arcgis']['server']['domain_name'] + ':6443/arcgis'
Result:
...
arcgis_enterprise_datastore 'Configure ArcGIS Data Store' do
  install_dir node['arcgis']['data_store']['install_dir']
  data_dir node['arcgis']['data_store']['data_dir']
  types node['arcgis']['data_store']['types']
  run_as_user node['arcgis']['run_as_user']
  server_url node['arcgis']['server']['url']
  username node['arcgis']['server']['admin_username']
  password node['arcgis']['server']['admin_password']
  retries 5
  retry_delay 60
  action :configure
end
...


kpt fn render doesn't handle subpackage files correctly

When we invoke kpt fn render on a package with subpackages in it, the rendered resources in the subpackages are written to parent parent package as opposed to writing them to subpackages itself.
e.g. for a package with following tree structure
wordpress
├── Kptfile
├── README.md
├── mysql
│   ├── Kptfile
│   └── mysql-deployment.yaml
└── wordpress-deployment.yaml

kpt fn render on the package results in the following
wordpress
├── Kptfile
├── README.md
├── mysql-deployment.yaml
├── mysql
│   ├── Kptfile
│   └── mysql-deployment.yaml
└── wordpress-deployment.yaml

This is addressed as part of #1694


Some parts of the character sheet seem to be affected by the foundry font size while the rest is not

The solution would probably be to override font for the these special foundry inherited elements if they are inside the character sheet, in addition to preventing the character sheet looking wonky it should make that part of the sheet fit in more with the rest of the sheet.
A less drastic solution would be to just override the font-size.

Which character sheet is this?


feat: Tree component

Description
We add the Tree component, based on Ant Design Tree component.
Includes most of the properties of the original Tree component, like: showing vertical lines for chidlren, showing icons before the node, checkbox on nodes, strict checking, callback on checking (by clicking the checkbox, if enabled) and/or on selecting item (by clicking on the name), fixed height and virtual scrolling.
Add a little tweak to ensure that, when showing lines, the icon to expand/collapse children is still a caret (and not the "+"/"-" icons).
Also:

updated Tree tokens and Global tokens to be sure the right colors are shown based on the configured theme. Because of this, the Palette type has been expanded to include the text property
updated the theme because of some updates on the Neutral primitives (for consistency on tree nodes hovering)

Addressed issue
No particular issue opened for this component.
Checklist

[X] commit message and branch name follow conventions
[X] tests are included
[X] changes are accessible and documented from components stories
[X] typings are updated or integrated accordingly with your changes
[X] all added components are exported from index file (if necessary)
[X] all added files include Apache 2.0 license
[X] you are not committing extraneous files or sensitive data
[X] the browser console does not have any logged errors
[X] necessary labels have been applied to this pull request (enhancement, bug, ecc.)

since we changed existing theme colors, is this breaking?

the next tag will already include color changes, i'm labelling this as breaking as well


Add syntax highlighting to readme

Preview:

https://github.com/HappyFacade/geocoder/blob/patch-1/README.md
https://github.com/HappyFacade/geocoder/blob/patch-1/README_API_GUIDE.md

Sorry, but please see #527, #624, #822, #993, #1234, #1424, etc.

Sorry, but please see #527, #624, #822, #993, #1234, #1424, etc.


Any luck building this on mac osx? Brew and go have both moved on

Hi - none of the build commands seem to work anymore
Go get is no longer supported
Brew cask has changed, but even reworking that command I get
Error: goofys has been disabled because it does not build!
Downloading from source doesn't compile either, but I'm no go expert.
Anyone had any luck?!

Having the same trouble.
Either got Error: goofys has been disabled because it does not build! when installing with brew or a psutil related error while building from source.
# github.com/shirou/gopsutil/cpu
../../go/pkg/mod/github.com/shirou/gopsutil@v0.0.0-20190731134726-d80c43f9c984/cpu/cpu_darwin_cgo.go:13:5: warning: 'TARGET_OS_MAC' is not defined, evaluates to 0 [-Wundef-prefix=TARGET_OS_]
# github.com/shirou/gopsutil/process
../../go/pkg/mod/github.com/shirou/gopsutil@v0.0.0-20190731134726-d80c43f9c984/process/process_darwin.go:595:34: undefined: KinfoProc
../../go/pkg/mod/github.com/shirou/gopsutil@v0.0.0-20190731134726-d80c43f9c984/process/process_darwin.go:596:8: undefined: KinfoProc
../../go/pkg/mod/github.com/shirou/gopsutil@v0.0.0-20190731134726-d80c43f9c984/process/process_darwin.go:609:32: undefined: KinfoProc
../../go/pkg/mod/github.com/shirou/gopsutil@v0.0.0-20190731134726-d80c43f9c984/process/process_darwin.go:613:62: undefined: KinfoProc
../../go/pkg/mod/github.com/shirou/gopsutil@v0.0.0-20190731134726-d80c43f9c984/process/process_darwin.go:615:11: undefined: KinfoProc

Could you please help us @kahing ?

@mrfez2 I've just build it from source after manually upgrading gopsutil to a later version.
After all of this, I took a look into PR's and i think #778 is related and probably would work for you as well.
Try it and see yourself.


Exceptions rules don't work alongside with $replace rules

Steps to reproduce

Add these rules:

||example.org^$replace=/Example/Test/
example.org#%#alert("test");
example.org##body
@@||example.org^$elemhide,jsinject,important

Go to http://example.org/

Expected behavior
Cosmetic and JS rules shouldn't be applied.
Actual behavior
Cosmetic and JS rules are applied (there is an alert and website is blank).
Disabling $replace rule causes that exceptions rules work.
Your environment
AdGuard for Windows 7.1.2838 (CL 1.4.67)

@AdamWr was it working properly in the stable release?

No, it wasn't.
It happens also with stable version (7.1.2817 (CL 1.4.32)).

It seems that I missed this case in the original spec:
https://github.com/AdguardTeam/CoreLibs/issues/45
Let's modify it a little:

Document-level exception rules with $content or $document modifiers do disable $replace rules for requests matching them. Exception rules with $content or $document modifier.
Other document-level exception rules ($generichide, $elemhide or $jsinject modifiers) are applied alongside the $replace rules. It means that you can modify the page's content with a $replace rule, and disable cosmetic rules there at the same time.

One more issue with exceptions.
It seems that $jsinject,extension disable also cosmetic rules.
Steps to reproduce

Add these rules:

example.org##body
@@||example.org^$jsinject,extension

Go to http://example.org/

Website should be blank and cosmetic filters shouldn't be disabled.


Mark this repository as deprecated

All code in this repository is either under the phly organization, or is no longer maintained.

I'd argue I should also delete the repo, to avoid confusion.


[Feat]:   Support data type extension in graph information base on version attribute of Infos

Is your feature request related to a problem? Please describe.
The version attribute of infos(graph, vertex, edge) now is only a number. Actually it can contain the implicit information that the property data types support with the version. With the version growing, the supported data types could be extended. Likes:
version 1 -> support bool,int32, int64, float, double, string
version 2 -> support bool,int32, int64, float, double, string, date32
Describe the solution you'd like

Use string instead of number as version, something like User Agent message of browser.
version example:
gar/1
gar/2
gar/3 (user_define1, user_define2) # suppose the version 3 or higher support user define type.

Add a VersionMeta class to keep record different version supported data types and do the version string parse job.

If the yaml contains the data type that the yaml version not support, raise error to user.

@lixueclaire Do you have any supplement to this feature?

Some other works may required for this feature:

extend DataType to support user-defined types (record type name as a string)
ensure Builder/Writer to raise error when encounter non-supported types

Some other works may required for this feature:

extend DataType to support user-defined types (record type name as a string)
ensure Builder/Writer to raise error when encounter non-supported types

Nice advice, it's very helpful.


⚠ Turnos 24x7 has degraded performance

In 6b0b967, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 837 ms

Resolved: Turnos 24x7 performance has improved in 41c5788.


Remove premature break in workspace_next_name

I was a bit too quick to merge #616 which introduced a bug.
This should fix that.

lgtm

@mikkeloscar Sorry about the bug, I was a bit hasty in testing. Looks good to me otherwise.


Where is av_test.json file?

How can I download the file? Everything related to this file is commented out. Why so?

Test files will be released soon. They will not contain annotations, due to the challenge.

What kind of annotations will be included in the av_test.json? Will tracks part of it? Or only the clip_ids will be included?

Aren't you getting the av_test_unannotated.json when downloading annotations via the Ego4D CLI tool? It was made available on Apr 6th. Please try to download the annotations one more time and let us know should you not get this file.

I see, I just downloaded the test files. Thanks!


Updated List of Supported Mods

Just adding a couple more mods Sokyran added.
Question I have though is that in the last update Swept added "(Partial Support)" to Vanilla Traits Expanded since it indeed has partial support. I think a few more mods also only have partial support or at least according to the Mod Check List don't have full compat ratings yet even with MP Compat. Should  "(Partial Support)" be added to those as well?

That is better discussed in the discord. My opinion is that, yes, better tag them as partial.


Updated data for institute, academics, people, admission

Updated all the data from the original website to the current project.

Expecting overriding of package-lock.json with package.json and merging.


Need to allow GitLens to connect to GitHub in every Codespace

GitLens shows the following dialog whenever I open a new Codespace:

Suggest to use the new API context.globalState.setKeysForSync so that my choice is remembered across different Codespaces.
The follow-up problem is when I select "Allow" in the dialog, then I have to do a auth flow in GitHub, but I'm already logged into GitHub.

If I just want the plain git history functionality, and click "Deny Everywhere", then I still have a nagging notification in the accounts icon on the bottom left. 😢

If I just want the plain git history functionality, and click "Deny Everywhere", then I still have a nagging notification in the accounts icon on the bottom left. 😢

@egamma So there is a bunch of back-story to why that notification exists. But the TLDR version is I'm blocked by https://github.com/microsoft/vscode/issues/111529
Today the VS Code authentication api provide a authentication.getSession(<id>, <scopes>, { createIfNone: false }) that allows an extension to get an existing session if one exists. This works great for the case when there is no matching (scopes) authentication session -- e.g. it is silent. BUT if there is a matching authentication session, AND the extension hasn't be granted access to it -- then VS Code pops up a dialog like this:

This creates a big issue for extensions, because we have no way to silently know if we have an authorized session or not. So because GitLens tries to figure out if it has an authorized session to provide passive features (i.e. features that the user doesn't take an explicit action to invoke), and because that prompt is not at all friendly to the user if they didn't do anything to cause it, I added an explanatory notification to tell the user what will happen and why, and offer a way to completely opt-out.
So until https://github.com/microsoft/vscode/issues/111529 is fixed/addressed I don't think there is really much I can do. You can disable the integration completely, by setting "gitlens.integrations.enabled": false in your settings. And I am currently syncing the Deny Everywhere choice, but I was/am very hesitant to sync the Allow choice to other machines, because I might want to allow it on my home machine, but not on my work machine, etc. Although I guess I could add an Allow Everywhere button if you want to opt-into that.
Also as for:

The follow-up problem is when I select "Allow" in the dialog, then I have to do a auth flow in GitHub, but I'm already logged into GitHub.

 But the TLDR version is I'm blocked by https://github.com/microsoft/vscode/issues/111529
Today the VS Code authentication api provide a authentication.getSession(<id>, <scopes>, { createIfNone: false }) that allows an extension to get an existing session if one exists. This works great for the case when there is no matching (scopes) authentication session -- e.g. it is silent. BUT if there is a matching authentication session, AND the extension hasn't be granted access to it -- then VS Code pops up a dialog like this:

This creates a big issue for extensions, because we have no way to silently know if we have an authorized session or not. So because GitLens tries to figure out if it has an authorized session to provide passive features (i.e. features that the user doesn't take an explicit action to invoke), and because that prompt is not at all friendly to the user if they didn't do anything to cause it, I added an explanatory notification to tell the user what will happen and why, and offer a way to completely opt-out.
So until https://github.com/microsoft/vscode/issues/111529 is fixed/addressed I don't think there is really much I can do. You can disable the integration completely, by setting "gitlens.integrations.enabled": false in your settings. And I am currently syncing the Deny Everywhere choice, but I was/am very hesitant to sync the Allow choice to other machines, because I might want to allow it on my home machine, but not on my work machine, etc. Although I guess I could add an Allow Everywhere button if you want to opt-into that.
Also as for:

The follow-up problem is when I select "Allow" in the dialog, then I have to do a auth flow in GitHub, but I'm already logged into GitHub.

That is also completely controlled by VS Code
And @corwin-of-amber your issue is also out of my hands and is fully controlled by VS Code.

@eamodio thanks for the background!

@eamodio thanks for the background!

This creates a big issue for extensions, because we have no way to silently know if we have an authorized session or not

@eamodio Are you saying that you want silent access to a session or silent knowing that a session would exist if you would be asking for it?

prompt is not at all friendly to the user if they didn't do anything to cause it, I added an explanatory notification to tell the user what will happen and why

Instead of silent access and custom notifications wouldn't it be better to provide a reason for why you want to get a session? That would allow to make a UI more friendly/informative and wouldn't rely on notification popping up. With GH issue notebooks I have the same challenge: it works well except for thinks like author: @me or quota restriction. I would also like to explain that to users, but not with custom UX

This creates a big issue for extensions, because we have no way to silently know if we have an authorized session or not

@eamodio Are you saying that you want silent access to a session or silent knowing that a session would exist if you would be asking for it?

prompt is not at all friendly to the user if they didn't do anything to cause it, I added an explanatory notification to tell the user what will happen and why

Instead of silent access and custom notifications wouldn't it be better to provide a reason for why you want to get a session? That would allow to make a UI more friendly/informative and wouldn't rely on notification popping up. With GH issue notebooks I have the same challenge: it works well except for thinks like author: @me or quota restriction. I would also like to explain that to users, but not with custom UX

@jrieken

Are you saying that you want silent access to a session or silent knowing that a session would exist if you would be asking for it?

To me that are kind of one and the same. I want/need to be able to get access to a session that I've been previously granted access without prompting the user if there isn't one.

Instead of silent access and custom notifications wouldn't it be better to provide a reason for why you want to get a session?

Having a reason (and possibly a more global opt-out) on our prompts would be very nice, but I don't think that helps address my silent access concern. In GitLens, I want to use the access if I have been granted it, passively (for avatar lookups, pr & issue linking details, etc) but I don't want to prompt/bother the user UNLESS they take a specific action (or actions) to opt-in to wanting to connect to GitHub to provide those features.
/cc @RMacfarlane

@jrieken

Are you saying that you want silent access to a session or silent knowing that a session would exist if you would be asking for it?

To me that are kind of one and the same. I want/need to be able to get access to a session that I've been previously granted access without prompting the user if there isn't one.

Instead of silent access and custom notifications wouldn't it be better to provide a reason for why you want to get a session?

Having a reason (and possibly a more global opt-out) on our prompts would be very nice, but I don't think that helps address my silent access concern. In GitLens, I want to use the access if I have been granted it, passively (for avatar lookups, pr & issue linking details, etc) but I don't want to prompt/bother the user UNLESS they take a specific action (or actions) to opt-in to wanting to connect to GitHub to provide those features.
/cc @RMacfarlane

I want/need to be able to get access to a session that I've been previously granted

"I" as the user or the extension?

I want/need to be able to get access to a session that I've been previously granted

"I" as the user or the extension?

Extension

Extension

Can you please verify this fix in the insiders edition?
You can install the insiders edition from here. Be sure to disable/uninstall the stable version of GitLens first.


find oclc # method?

Add a method to identify if oclc # is present on bib and return it. Consider 001 & 003 combination, 035, and 991 for nypl?

Done in PR #15


Installation

I am very new to this library. I got a book "Creative Scala"; to follow this book, I need to install this library. I added the dependent library in my build.sbt file.
libraryDependencies += "creativescala.org" %% "doodle" % "0.9.0-SNAPSHOT"
But build does not work, it says the library is not available in MAVEN repository.
I tried it to create a JAR file from your source code, still I could not build it.
Is there any work *.jar file, so that I can directly use in my sample project.
Thanks alot !

Easiest way to get started is to use this project: https://github.com/underscoreio/creative-scala-template
Does that work for you?

Hi noelwelsch,
it is working, thanks!

Great! I'll close this issue then.


North Atlantic Ocean (NAO) dataset

Hello,
I'd like to ask for adding link to North Atlantic Ocean (NAO) dataset in order to enable results reproduction :)
Best regards,
Patryk

Hello Patryk,
Very fair ask! I should have done this a while ago.
Just uploaded to Zenado & added the link to the README.
Cheers,
Mike

Thanks!


Subscription.php still coupled with user model

The asStripeSubscription() method on the Subscription.php class still points to the user model and throws a FatalThrowableError when calling $model->subscription('monthly')->cancel();
FatalThrowableError in Subscription.php line 355:
Call to a member function asStripeCustomer() on null
public function asStripeSubscription()
{
    return $this->user->asStripeCustomer()->subscriptions->retrieve($this->stripe_id);
}

I noticed that a pr was merged not too long ago that decoupled subscriptions from the user model. Was this missed? I find that overriding this in my own class that extends Laravel\Cashier\Subscription with the proper model works:
public function asStripeSubscription()
{
    return $this->myModel->asStripeCustomer()->subscriptions->retrieve($this->stripe_id);
}

Lines 355-358 on 7.0 branch

@paulhbarker the user model here is determined by the environment variable STRIPE_MODEL, please make sure you set it correctly or it'll fallback to the App\User model.

@themsaid Thanks for pointing me in the right direction. I don't have an environment variable, instead I changed the model in config/Services.php. Works great.


Search not working - seeking help

The index.json file in public is empty.
index.json in layouts/_default is:
{{- $.Scratch.Add "index" slice -}}
{{- range .Site.RegularPages -}}
{{- $.Scratch.Add "index" (dict "title" .Title "tags" .Params.tags "categories" .Params.categories "contents" .Plain "permalink" .Permalink) -}}
{{- end -}}
{{- $.Scratch.Get "index" | jsonify -}}
I run hugo server --config config/default/config.yaml --disableFastRender  --logLevel debug and aside from search everything works great.

Hi @lbrent2k, did you find a solution to this? I also can't make search work.
Thanks!

When I added content to blog I did get search results.  I don't know if search is supposed to only be for blog though.

Ok I fixed it on my end. My issue was that I was being sent to the template page when pressed the search results. https://github.com/gurusabarish/hugo-profile/issues/161
My config was fine, the problem was that on the baseUrl parameter at the beginning of the hugo file, I hadn't applied my site URL. and still had the template as base Url. Hope this works out for you.

So far as I'm aware, the search is for blogs only. It may also work for images, but I don't use them and I don't think they have tags which would make them searchable.


Add JS linting ?

Inspired by https://github.com/squizlabs/PHP_CodeSniffer/issues/1271, I'd like to suggest running a javascript lint on themes to prevent issues with syntax errors which often cause cross-plugin-theme problems.
IMHO there are two ways to go about this:

Either add a js lint tool to the Theme Check plugin and run it stand-alone and report the results separately.
Or add either JSLint with Rhino, JSHint with Rhino and/or Javascript Lint to the Theme Check plugin and run the related PHPCS sniff(s) and let PHPCS handle the error reporting.

The path(s) to the tooling can be provided at runtime or added to the ruleset used by the Theme Check plugin.
<config name="jshint_path" value="/path/to/jshint.js"/>
<config name="jslint_path" value="/path/to/jslint.js"/>
<config name="jsl_path" value="/path/to/jsl"/>
<config name="rhino_path" value="/path/to/rhino"/>

Also see: https://github.com/squizlabs/PHP_CodeSniffer/wiki/Configuration-Options#setting-the-path-to-jslint

I think this would be good. I don't think I would go with JSLint or JSHint as they do not only check for syntax but for coding standards too.
Additional tools that only do syntax checking.
https://github.com/ternjs/acorn
http://esprima.org/index.html
After doing a bit of research before it seems that ESLint is the latest and greatest for JS code sniffing. If I understand it correctly it requires node.js. Human Made has also created a PHPCS extension for it. https://github.com/humanmade/coding-standards/blob/master/HM/Sniffs/Debug/ESLintSniff.php

I asked about ESLint config options back in November https://github.com/squizlabs/PHP_CodeSniffer/issues/1210. So far it's added as a feature request, I don't see why they don't use rmccue's sniff for it (he even offered to make a PR).
Can this be added in this fork of code sniffer, or should we be patient and wait for the official release from the squizilabs guys? Also a tutorial on setting up correct linting options for ESLint would also be good (for working in Sublime or other IDE's).

Can this be added in this fork of code sniffer, or should we be patient and wait for the official release from the squizilabs guys?

We have a few options. We could add the Human Made Coding standards as a dependency and use the sniff. If it makes sense and there is no progress in PHPCS we could ask Ryan to make a PR to WPCS.

Also a tutorial on setting up correct linting options for ESLint would also be good (for working in Sublime or other IDE's).

I have never used ESLint before but it sounds like you are offering to try it out and help the rest of us get up to speed. 😄

Can this be added in this fork of code sniffer, or should we be patient and wait for the official release from the squizilabs guys?

We have a few options. We could add the Human Made Coding standards as a dependency and use the sniff.

Just to be clear: we can only add the dependency in the Theme Check plugin, not in WPCS.

If it makes sense and there is no progress in PHPCS we could ask Ryan to make a PR to WPCS.

The best solution would be if @rmccue would be so kind as to pull the existing sniff against PHPCS. If that would be rejected or for some other reason not merged, it would be second best if he'd pull it against WPCS.
We had quite a big discussion about licensing and pulling in sniffs from other standards in WPCS a while back in and we have to be really careful about the legalities involved.

@grappler I used it for a little while, but it has to be manually configured to work properly so I kinda... delayed it xD I'll be going through the WP coding standards in the coming weeks in a bit more detail so I'll see what I can do :)
As for the coding standards by Ryan, I don't see any licence explicitly set on his sniffs, don't know if the licencing follows some kind of 'up the tree' rule (where all the code made by Human Made is made under GPL or MIT or similar), but we can always ask him :)

I used it for a little while, but it has to be manually configured to work properly so I kinda... delayed it xD

Even a blog post with a explanation and screenshots would be interesting.
According to the composer.json the code is GPL which is not compatible with MIT but if Ryan created the PR then there would be no issue with the licence.

I'm currently going through https://make.wordpress.org/core/handbook/best-practices/coding-standards/javascript/ and creating a eslint.config.json file. When I'm done with it, should I post it here?

@dingo-d That would be a great starting point.
Ryan has open a PR for the ESLint sniff upstream in PHCPS, just waiting for it to get merged.
Once it is, let's run some tests with it and decide whether the WP specific ES lint config would be best suited to be included with WPCS or in the Theme Check plugin or even elsewhere.
I know there are some configs for JS tools included with WP itself - like jshint - which are often used in combination with build checks as well, so even that might be an option.

Ok, I've gone through the rules and I have made eslint.config.json file:
{
	"root": true,
	"globals": {
		"_": false,
		"$": false,
		"Backbone": false,
		"JSON": false,
		"jQuery": false,
		"wp": false
	},
	"env": {
		"browser": true,
		"node": true,
		"jquery": true,
		"es6": true
	},
	"rules": {
		"array-bracket-spacing": [ "error", "always", { "singleValue": false, "objectsInArrays": true, "arraysInArrays": true } ],
		"block-spacing": "error",
		"brace-style": [ "error", "1tbs" ],
		"camelcase": [ "error" ],
		"comma-spacing": [ "error", { "before": false, "after": true } ],
		"default-case": "error",
		"eol-last": [ "error", "always" ],
		"eqeqeq": [ "error", "smart" ],
		"func-call-spacing": [ "error", "never" ],
		"indent": [ "error", "tab", { "SwitchCase": true, "MemberExpression": true, "ArrayExpression": true, "ObjectExpression": true } ],
		"key-spacing": [ "error", { "beforeColon": false, "afterColon": true, "singleLine": { "beforeColon": false, "afterColon": true }, "multiLine": { "beforeColon": false, "afterColon": true }, "align": { "beforeColon": false, "afterColon": true, "on": "colon" } } ],
		"lines-around-comment": [ "error", { "beforeBlockComment": true, "beforeLineComment": true, "allowBlockStart": true } ],
		"newline-per-chained-call": [ "error", { "ignoreChainWithDepth": 2 } ],
		"no-array-constructor": "error",
		"no-else-return": "error",
		"no-extra-semi": "error",
		"no-mixed-spaces-and-tabs": [ "error", "smart-tabs" ],
		"no-new-object": "error",
		"no-trailing-spaces": [ "error", { "skipBlankLines": false } ],
		"no-undef": "error",
		"no-unneeded-ternary": "error",
		"object-curly-newline": [ "error", { "multiline": true } ],
		"object-curly-spacing": [ "error", "always" ],
		"object-property-newline": [ "error", { "allowMultiplePropertiesPerLine": true } ],
		"one-var-declaration-per-line": [ "error", "initializations" ],
		"operator-linebreak": [ "error", "after" ],
		"quote-props": [ "error", "as-needed" ],
		"quotes": [ "error", "single" ],
		"semi": [ "error", "always", { "omitLastInOneLineBlock": true } ],
		"semi-spacing": [ "error", { "before": false, "after": true } ],
		"space-after-keywords": "error",
		"space-before-function-paren": [ "error", "never" ],
		"space-in-parens": [ "error", "always", { "exceptions": [ "()", "{}", "[]", "empty" ] } ],
		"space-infix-ops": "error",
		"space-unary-ops": [ "error", { "words": true, "nonwords": false, "overrides": { "!" : true } } ],
		"spaced-comment": [ "error", "always" ],
		"valid-typeof": "error",
		"yoda": [ "error", "always", { "onlyEquality": true } ]
	}
}

I will test this on some of my js files once I get the Sublime properly configured to lint inline. That's going to be a good indicator. I have files that were linted using the JSHint, and they should be fine.
There are some things that we need to cover.
Possible issues:

UpperCammelCase
Cannot check for UpperCammelCase as this rule isn't available in eslint. We should maybe create a separate rule for that as a plugin.
Reference issues: eslint#6626, eslint#8085.

eqeqeq
Currently set to smart. This needs to be tested. The smart seemed to best correspond to equality rule, so I set it as such.

Possible additions:

no-empty-function
new-parens
no-unused-vars

We should go through some of the rules, and see which may be beneficial. Also I guess some sort of unit testing will be required, once the PR goes through on PHPCS. I don't know if this will be done on their side or on ours.

@dingo-d If I look at this config, it appears opinionated about code style which is something which the theme review checks should not be.
However, it could be acceptable for WPCS Core or Extra.
From a TRCS perspective, a non-code style opinionated version would be needed which would just check for things like:

parse errors
probable bugs
unused functions
etc

True, I will see which lints are checking for non coding style issues and create a new config that should be suitable for TRCS.
The lints such as no-empty-function will come in handy for this.

Ok, a new config that would be suitable for TR is here:
{
	"root": true,
	"globals": {
		"_": false,
		"$": false,
		"Backbone": false,
		"JSON": false,
		"jQuery": false,
		"wp": false
	},
	"env": {
		"browser": true,
		"node": true,
		"jquery": true,
		"es6": true
	},
	"rules": {
		"block-scoped-var": "warning",
		"curly": "error",
		"default-case": "error",
		"eqeqeq": [ "warning", "smart" ],
		"init-declarations": [ "warning", "always", { "ignoreForLoopInit": true } ],
		"no-alert": "warning",
		"no-compare-neg-zero" : "error",
		"no-cond-assign": "error",
		"no-console": "error",
		"no-constant-condition": [ "warning", { "checkLoops": false } ],
		"no-debugger": "error",
		"no-delete-var": "error",
		"no-dupe-args": "error",
		"no-dupe-keys": "error",
		"no-duplicate-case": "error",
		"no-else-return": "error",
		"no-empty": "error",
		"no-empty-function": "warning",
		"no-eq-null": "watning",
		"no-extra-boolean-cast": "warning",
		"no-extra-semi": "error",
		"no-fallthrough": "error",
		"no-func-assign": "error",
		"no-global-assign": "error",
		"no-implicit-coercion": "warning",
		"no-implicit-globals": "warning",
		"no-inner-declarations": ["error", "var"],
		"no-lonely-if": "error",
		"no-loop-func": "warning",
		"no-multi-spaces": "error",
		"no-octal": "error",
		"no-octal-escape": "error",
		"no-obj-calls": "error",
		"no-redeclare": "error",
		"no-return-assign": "error",
		"no-self-assign": "error",
		"no-self-compare": "error",
		"no-sparse-arrays": "error",
		"no-undef": "error",
		"no-undefined": "error",
		"no-unexpected-multiline": "error",
		"no-unreachable": "error",
		"no-unsafe-negation": "warning",
		"no-unused-vars": "error",
		"no-use-before-define": "error",
		"no-useless-concat": "error",
		"no-useless-return": "error",
		"radix": [ "error", "as-needed" ],
		"use-isnan": "warning",
		"valid-typeof": "error",
		"vars-on-top": "warning",
		"wrap-iife": [ "warning", "outside" ],
		"yoda": [ "warning", "always", { "onlyEquality": true } ]
	}
}

Some issues are set as warnings, some as errors. The list of rules is here.
I've removed almost all stylistic lint rules.
I didn't use "extends": "eslint:recommended" so that not all of the rules that are enabled with it are enabled (some are stylistic, which we don't check).
Do we allow Regex in JavaScript (reffering to no-control-regex, no-div-regex, no-empty-character-class, no-invalid-regexp and no-regex-spaces rules)?
What if we get theme that is intended to be used with REST API? In that case people might use React or Vue.js to handle the views. In most cases people use a lot of ES6 syntax when creating apps with React or Vue.js. Currently there is only one theme like that iirc, so we could cover that in the future. There are some lint rules that are meant for such rules, but in my 3 years of creating themes I've never used them - most of the JS in themes handles simple DOM manipulation.
Hope this is ok.

The ESlint sniff has been merged upstream and will be in the next PHPCS release (2.8.2/2.9.0).

@dingo-d Looks much better! All the same, it still feels opinionated.
You include quite a few best practices, which - while I totally agree that theme devs should comply with -, are not something which is required as far as I know.
At the same time, something like no-eval is not included which as far as I know is forbidden from a security perspective.

Oh, didn't know about the no-eval() rule. I've never used it or seen it being used in theme creation, which is why I didn't think that it's important. I can add it to the list.
I've left some rules in, which I thought would be a best practice, but they should throw a warning.
Kinda like when phpcs  reports warning on non escaped strings, and they end up being simple translations that can be ignored.
For others, I've placed those I personally encountered when developing a theme in (like variables that are not used, of functions that are not called anywhere).

I've left some rules in, which I thought would be a best practice, but they should throw a warning.

no-useless-concat, no-else-return just to name a few ?

Well, a review would be good. Sure those can be set as a warning, but some are set as error based on the fact that you really shouldn't have useless concatenation, or else statement if you are returning inside a block statement (at least I was thinking along those lines :D).
It won't break the code, that's for sure, so I get why these would be best suitable for warnings.
I'll see which of these would possibly break the code and then leave those as errors, others should be left as a warning.
Should I see if there are some useful plugins that could be used for checking if the code is valid, and include it, or just use the default eslint rules?

Frankly, I wish we could throw an error for "else returns" in PHP too.  That bugs me to no end and would do wonders in cleaning up some code in themes.  Having it as a warning would be good though.

@justintadlock Just wondering: What bugs you about that ? There is nothing essentially wrong with code like that.
This is the ESLint rule detail - just to make sure we're talking about the same thing: http://eslint.org/docs/rules/no-else-return

Calling it an "error" was a joke if that didn't come across.  But, I'll bite. :)
It bugs me when there's unnecessary code. We should always be promoting what's considered best practice in both the PHP and JS world.  And, one of those best practices is getting rid of unnecessary code like else returns.
While I wouldn't really go so far as to fail it as an error, I would definitely be strongly in favor of putting up a warning.

@justintadlock Ok, thanks for the clrification.
IMHO a sniff like that could possible be added to the WPCS Extra ruleset which is more focused on best practices, but has no place in the theme review CS as there is nothing wrong with the code itself.

So basically the lint rules for theme review should be only errors and only checking for faulty code. Any style resembling rules should be left out - like curly, eqeqeq and such?

Checking for (parse) errors and faulty code is definitely ok. Checking for unused code can probably be grouped with that as unused code shouldn't be shipped with a theme.
Anything else, only if it is explicitely mentioned in the theme review guidelines.

I think that these rules could be considered as a 'base' that check against errors in code and unused vars and empty functions or conditionals (which is basically a garbage code).
{
	"root": true,
	"globals": {
		"_": false,
		"$": false,
		"Backbone": false,
		"JSON": false,
		"jQuery": false,
		"wp": false
	},
	"env": {
		"browser": true,
		"node": true,
		"jquery": true,
		"es6": true
	},
	"rules": {
		"curly": "error",
		"default-case": "error",
		"no-eval": "error",
		"no-compare-neg-zero" : "error",
		"no-cond-assign": "error",
		"no-console": "error",
		"no-debugger": "error",
		"no-delete-var": "error",
		"no-dupe-args": "error",
		"no-dupe-keys": "error",
		"no-duplicate-case": "error",
		"no-empty": "error",
		"no-empty-function": "error",
		"no-extra-semi": "error",
		"no-global-assign": "error",
		"no-multi-spaces": "error",
		"no-octal": "error",
		"no-octal-escape": "error",
		"no-obj-calls": "error",
		"no-redeclare": "error",
		"no-self-assign": "error",
		"no-self-compare": "error",
		"no-undef": "error",
		"no-undefined": "error",
		"no-unexpected-multiline": "error",
		"no-unreachable": "error",
		"no-unsafe-negation": "error",
		"no-unused-vars": "error",
		"no-use-before-define": "error",
		"no-useless-return": "error",
		"valid-typeof": "error",
	}
}

What would be good, if it can be done, to be able to extend this ruleset, kinda like we have multiple different standards (Core, Extra, Docs etc.). So that we can extend it to check for proper code syntax for instance, or a different broader rules, depending on the usage (theme review, core etc.). Also some sniffs could then have 'warnings' that could be ignored (or could be mentioned as a best practice).
If anybody has time and will, I'd be glad if somebody could go through this list and see if there are some lint rules that should be removed, but I really trimmed anything that could be considered as a style rule.

This post is super helpful and covers setting up Eslint for most major IDE: https://webdevstudios.com/2017/04/06/lint-code-like-boss/

Nice article, but I didn't see any configuration files for ES lint ;)
Plus we want to make a standard so that we can include it in the WPCS sniffs.

Here is the referenced link to WDS's wd_s (starter theme) ESlint confit file, which is in that article: https://github.com/WebDevStudios/wd_s/blob/master/.eslintrc.js

You can check the above discussion, and supplied lint configurations and see if there is something you think should be added :)

Also a tutorial on setting up correct linting options for ESLint would also be good (for working in Sublime or other IDE's).

Here you go: https://webdevstudios.com/2017/04/06/lint-code-like-boss/

You can check the above discussion, and supplied lint configurations and see if there is something you think should be added :)

I'll try to make some time today to do so. :)

Just keep in mind, here we're only checking for possible code errors, I've covered all the styling that is specified in the official WordPress Coding Standards in https://github.com/WPTRT/WordPress-Coding-Standards/issues/120#issuecomment-285978768, and errors in https://github.com/WPTRT/WordPress-Coding-Standards/issues/120#issuecomment-290942033

I'm not sure we need this, as we'll try to cover the linting in the Theme Sniffer.
@timelsass Any thoughts?

I'm not sure lol.  @grappler is correct that right now eslint requires node.js - which would be a limitation from the theme sniffer side of things.  I'd like to see eslint get loaded via browser, but I haven't been following progress on that very closely lately.  https://github.com/eslint/eslint/issues/8348 is a reference indicating that browser support is not a viable goal right now.  Using the esprima method in https://github.com/WPTRT/theme-sniffer/pull/142 works well for catching the basic syntax errors and stays inline with WP core's implementation, so I think that's going to be the "as good as it gets" right now solution.  We could start writing some checks based on that AST too, but that could get into going down a rabbit hole.  I do think eslint browser support is close, and I remember seeing a couple of implementations that worked mostly, but don't think they supported loading custom rulesets.

The esprima approach sounds good to me too, I'm fine adding the .eslintrc for this, although the best way for doing (imo) this would be to separate this as a new repo (like what WPCS is doing in their eslint repo).


reduplicated condition

I read all walkFunc in (*pathWalker).walk(f walkFunc), which are all deal with directory FileInfo condition. Here seems to be a reduplicated block.
Signed-off-by: xiekeyang<EMAIL_ADDRESS>

@xiekeyang I don't understand why/if this works.
Is the walker going to find directories in the process of reading the path?
If so, how comes Read works on the file object that os.Open returns when the path is a directory? To me, it looks like Read returns an error when the file object is a directory.

@glestaris  return result is finally decided by walkFunc, which return nil at the begin when path is directory. It can be done after os.Open().
cc @stevvooe @wking @runcom

@s-urbaniak PTAL

I am :-1: on this change. While it is true that callers currently always check in FileInfo whether the given file object is a directory, this changes makes the returned reader in pathWalker inconsistent with the behavior of tarWalker.
tarWalker delegates to tar#Reader which in case of a directory returns a valid io.Reader, see https://golang.org/src/archive/tar/reader.go#L818, always returning 0 bytes read and an immediate io.EOF.
pathWalker in this PR would return a reader err'ing when trying to io#Reader.Read from a directory, making both walker behaviors inconsistent.

@s-urbaniak
Got it and thanks for your explain. So it is for possible reader.Read() case inside walkFunc?
However, at the beginning of each walkFunc, it always check:
        if info.IsDir() || (...) {
                return nil
        }

It seems tarWalker and pathWalker have same behavior of return nil.
If I misunderstand, or the case f(rel, info, eofReader{}) doesn't work?

@xiekeyang not sure I am following. The walkFunc could reader.Read() in case of info.IsDir() == true. The only thing this code does is to enforce consistent behavior. You are right that we are jumping out anyways, but I remember in my initial implementation I had one case where the info.IsDir() check was not part of every walkFunc.
My suggestion to keep it there, it doesn't really hurt, and only maintains consistency between tarWalker, and pathWalker.

@s-urbaniak Understood. I'll close the PR.


[🐛]  Remove shipping addresses for other users

:bug: Bug report
Description
There is a bug in the API that isn't in the list of challenges on the score-board, which can let you remove shipping addresses of other users.
:microscope: Minimal Reproduction
For any order when you add a new address, intercept the request and change the ID to an ID used for address by another user (the IDs are incremented so it's easy). You will notice that the address will be added to your list of addresses but removed for the victim user.

Nice find! We'll probably close that gap rather than make another challenge from it, as we have so many API related challenges already.

I think this one IDOR is quite interesting, because usually deleting entities owned by another user would mean using a verb like DELETE, PUT or PATCH, but POST is usually for creating non-existent entities, but here it's overriding the already existing one rather than deleting it (that's how I imagine it, I hope you explain the real behaviour if it's possible)

I would like to fix this, can you assign this issue to me.


Move retention apply to the beginning of Compactor loop

We apply retention at the end, we probably should move it before any compaction. It was by design to make sure lower resolution can be downsampled, but TBH it does not really make much sense. If you configure the retention in a way that raw goes away too quickly this can hit you anyway. So I cannot see the blocker now (:
We can save a lot especially if retention is desired to be e.g 3 months but we left the data without compactor for 6 months (: We can avoid unnecessary compactions and downsampling.
AC:

Move retention applies to the beginning of Thanos compact loop.

If you configure the retention in a way that raw goes away too quickly this can hit you anyway.

That's true but I would really love to make Thanos Compact scream loudly if this happens as it indicates some kind of error, no? Especially if downsampling is enabled but the retention policies prevent us from downsampling data.

I think we might need to make it a bit more complex.
Let's consider this case:

raw retention is 1month
downsampled retention is 2y
compactor is not running for 2 months.

Now what will happen with this change is that we will have a gap for downsampled data. between [2mo, 1mo] as we remove raw data that was dependent on.
I think we could improve the flow only for case where raw = res5m = res1h retention is equal. In this case, removal on the start might make sense.
Or in other words: We can only remove up to res1h retention at the start. Does it make sense? Other opinions are welcome (:

Still ongoing. Let's keep it fresh for a little more.

In progress.

Maybe this issue should be more attention.

Is this still on-going by any chance?

This can also address the problem mentioned in https://github.com/thanos-io/thanos/pull/4406


Make the Login GUI responsive

Delete setBounds() and use layouts to make the login gui responsive

Solved usign GridBagLayout (...hello darkness my old friend)


Enable travis-ci

[x] enable on https://travis-ci.org/jbenet/depviz (@jbenet)
[ ] add a travis.yml file that builds + tests things correctly

On Mon, Nov 28, 2016 at 12:44:10PM -0800, Juan Benet wrote:

[ ] add a travis.yml file that builds + tests things correctly

I can work on this tonight if nobody beats me to it.  Locally I've
been running:
$ npm test -- --coverage
and checking for 100% success and line coverage.  The npm test harness
likes ncurses, but I imagine there is some way to get at those results
programmatically.


unexpected result using like clause with fts index

Describe the unexpected behaviour
When I filter String using like clause, MyScale gets different results.
How to reproduce
version: myscale/myscaledb:1.5
case 1: filter with fts

case 2: filter without fts

Expected behavior
The results need to be uniform.

Currently, ClickHouse built-in functions only return the same results as without a Full-Text Search (FTS) index when using the raw tokenizer. We will update our documentation to reflect this.
We have not discovered a method to achieve consistent results with other tokenizers. Perhaps we should consider disabling FTS indexing with other tokenizers in built-in functions? @MochiXu @chtlp

While result from testsearch is correct. Maybe it caused by bad query_text passed to Tantivy when use fts skip index? :dizzy_face:

Thank you for bringing this issue to our attention @HowePa ! textSearch is the preferred way to use FTS index.
We will resolve it by disabling the FTS index for the like, notLike, startWith, and endsWith functions when used with other tokenizers. Additionally, we will update the documentation to reflect this change. While this may reduce some performance, it will ensure consistent results.
In the meantime, you can still use textSearch, hasToken, multiSearchAny, and other string functions on FTS with any tokenizer.

It is true that different tokenizers may lead to inconsistent results.
However, when I do regex match on single term, only the first term of each doc fail.

@HowePa The issue you're encountering is quite specific. To address this, we first need to understand the behavior of the Tantivy tokenizer. By default, the Tantivy tokenizer converts all text to lowercase. This means that in the index file, 'Ancient' will be stored as 'ancient'. As a result, when performing a '%Ancient%' match, nothing will be found.
If you want Tantivy to be case-sensitive during tokenization, you need to configure the tokenizer with the case_sensitive parameter. You can do this by executing the following SQL commands:
ALTER TABLE simple_table ADD INDEX doc_idx doc TYPE fts('{"doc":{"tokenizer":{"type":"simple","case_sensitive":true}}}') GRANULARITY 1;

ALTER TABLE simple_table MATERIALIZE INDEX doc_idx;

This will ensure that the tokenizer respects the case sensitivity of the text.

Forgive me if I'm a little wordy @MochiXu . According to your description, if I set case_sensitive=false, then I can use 'ancient' to search, but the result is still fail.

Besides, why case_sensitive=false != case_insensitive=true ?

Well, I can use ilike to avoid this problem, but it's a little strange using like with case_sensitive=false ...

If you would like to gain a deeper understanding of how Tantivy indexing works, it would be beneficial to first learn about ClickHouse's Skip Index, as Tantivy is integrated based on SkipIndex. For example, if there are 10 granules in a table, without using the Tantivy index, ClickHouse would need to access all the granules to perform a search. However, when using the Tantivy index, ClickHouse will only access a subset of granules when executing the LIKE function. These granules are those that Tantivy identifies as matching the search criteria. The role of the Tantivy index is to filter these granules, preventing ClickHouse from accessing unnecessary ones.
Regarding your earlier question, when you set case_sensitive to false, the Tantivy tokenizer converts all characters to lowercase during tokenization. Consequently, the string indexed by the Tantivy tokenizer becomes 'ancient'. The LIKE function you use will match this string, so the granule containing row 0 will be marked as a hit. However, when ClickHouse retrieves all data within this granule, it determines that '%ancient%' does not match 'Ancient', resulting in an empty return.

So, when I want to do textSearch with case-insensitive, and to match with case-sensitive, unexpected results happened.
Is there any way to do regex match using textSearch, or I can only do regex match using like '%XXX%' settings using_skip_indexes = 0? @MochiXu

Currently, there isn't an effective solution to achieve this, unless you configure a case-sensitive tokenizer. We plan to optimize the search logic for functions like LIKE in the future. Specifically, regarding your mention of Tantivy using case-insensitive tokenization while the LIKE function performs case-sensitive '%XXX%' searches, we will convert the regex matches to lowercase within Tantivy. This approach will help avoid filtering out the desired granules, thereby allowing ClickHouse to return the expected results. Additionally, we are considering adding a query setting option to enable users to decide whether to activate the FTS index during searches.

Many thanks for your patience. 👍

@HowePa Thanks for your patience.
We have released version 1.6.4, in which we have fixed an issue related to the LIKE function when using FTS indexes. The specific changes are as follows:

When the user creates a case-insensitive FTS index, we convert the LIKE matching string to lowercase, allowing it to correctly query the tokenized results in the index.
If the user creates a case-sensitive FTS index, we do not modify the LIKE matching string in any way.

Additionally, we have introduced a new query setting called enable_fts_index_for_string_functions, which is disabled by default. You need to enable this setting to accelerate functions like hasToken, LIKE, and multiMatchAny (in order to drop granule). You can enable this configuration by using SET enable_fts_index_for_string_functions=true. For more information on the new features in version 1.6.4, please refer to our release note.


Extract createClickHandler

This will be reused to provide the functionality for the edit link view.

Coverage increased (+0.003%) to 98.203% when pulling 290548f9adf9314d70e83f71297679a42eec3a56 on create-click-handler into 53c5fb202b82b47d5cb58e975471dabe0123aa0d on master.

Coverage increased (+0.003%) to 98.203% when pulling 290548f9adf9314d70e83f71297679a42eec3a56 on create-click-handler into 53c5fb202b82b47d5cb58e975471dabe0123aa0d on master.


Version bump and string quoting changes

Version bumped to 0.6.0 to indicate backward incompatibility (in reality this should have happened sooner).
Strings changed from double to single quotes throughout, unless string interpolation is required.

Thanks again!  Just noticed this.  I can make you a contributor if you like.

Xavier,
I'm happy to help out, but I have neither time, experience, nor actual
hardware for development right now.
At the moment I'm happy to continue with pull requests if that works for
you.
Best,
Jake
On Nov 1, 2016 3:20 PM, "Xavier Bick"<EMAIL_ADDRESS>wrote:

Merged #3 https://github.com/zeiv/SSD1306-ruby/pull/3.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/zeiv/SSD1306-ruby/pull/3#event-844042113, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AFDC8mR5wD_a4Ja433rRdMqxC3LDxQasks5q560SgaJpZM4KGCzH
.

It's also worth noting that I've made backwards-incompatible changes.


docs: remove sidebar sitename

Since the logo already includes the name Snowflurry, we are duplicating it in the sidebar.
Before:

After:

LGTM!
edit: modulo formatting, it seems 🤣

Formatting is now fixed.


[Feature Request] CSS in JS/TS capability

Context

[X] This issue is not a bug report. (please use a different template for reporting a bug)
[X] This issue is not a duplicate of an existing issue. (please use the search to find existing issues)

Description
It would be nice, if have css in js capability for typescript and javascript files.
This will allow to edit code for styled-components, emotion css and other.
For example:

css`
display: ${jsVariable.prop};
`

In VS Code there is an extensionthat allows this:

I tried to find all possible ways to do it, but it seems that currently its not possible.

I read extension implementation and found that its completion is provided by tsserver plugin.
But there is no plugin feature in monaco editor typescript mode.


Update "Software exposing Prometheus metrics" section in exporters.md

Signed-off-by: Sijie Yang<EMAIL_ADDRESS>

Thanks!
You appear to be hand-producing the format from your own client library that doesn't support labels. I'd suggest looking into using client_golang.


fix(makefile): fix go-gpt2 folder and add verification before git clone

Awesome job @mkellerman !


Fix houdini (missing libGL)

Motivation for this change
Houdini included with unstable fails due to not being able to find libGL.so. This adds libGL as an explicit input to the runtime (I think this is correct, as of #37369).
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

Oops, I didn't catch that should go to master, not staging.
Reverted on staging in fc716e64a7d0ff8c1f94f16c1524242ffb0e18b6 and picked to master in 13d55dd65afcd4c30b59ef7f07cf79c7db8734cf.

@kwohlfahrt please base future pull requests on master (unless they cause a mass rebuild, in which case staging is correct).

Sorry, I didn't realize. Will do in future.


Add ShowPartitions to BigQuery Client

With time-partitioned tables, it would be useful for tables objects to have a show_partitions method, which returned partition keys.

@dwmclary added this in #2058.