Prometheus request metrics tracked twice

Do you want to request a feature or report a bug?
Bug
What did you do?
Setup a Traefik instance that provides Prometheus metrics.
What did you expect to see?
Correct recording of http requests / http request durations metrics with the service label set to backend1.
What did you see instead?
Doubled recording of http requests / http request durations metrics. One time with the service label http (entrypoint) + backend1.
Output of traefik version: (What version of Traefik are you using?)
Version:      dev
Codename:     cheddar
Go version:   go1.8.3
Built:        I don't remember exactly
OS/Arch:      darwin/amd64

What is your environment & configuration (arguments, toml, provider, platform, ...)?
# traefik.toml
logLevel = "DEBUG"
defaultEntryPoints = ["http"]

[entryPoints]
  [entryPoints.http]
  address = ":8080"

[file]

# rules
[backends]
  [backends.backend1]
     [backends.backend1.servers.server1]
     url = "http://localhost:8081"
     [backends.backend1.servers.server2]
     url = "http://localhost:8082"
     [backends.backend1.servers.server3]
     url = "http://localhost:8083"

[frontends]
  [frontends.frontend1]
  backend = "backend1"
    [frontends.frontend1.routes.test_1]
    rule = "Path:/ok"

[retry]
attempts = 3

[web]
address = ":8000"
  [web.metrics.prometheus]
    Buckets=[0.1,0.3,1.2,5.0]

Problem Description
At the moment the Traefik metrics middleware is included twice in the middleware chain. One time the metrics are included in the startHTTPServers here and a second time when loading the config here.
This leads to the following generated metrics when requesting the /metrics endpoint.
# HELP traefik_backend_retries_total How many request retries happened in total.
# TYPE traefik_backend_retries_total counter
traefik_backend_retries_total{service="backend1"} 14

# HELP traefik_request_duration_seconds How long it took to process the request.
# TYPE traefik_request_duration_seconds histogram
traefik_request_duration_seconds_bucket{service="backend1",le="0.1"} 7
traefik_request_duration_seconds_bucket{service="backend1",le="0.3"} 7
traefik_request_duration_seconds_bucket{service="backend1",le="1.2"} 7
traefik_request_duration_seconds_bucket{service="backend1",le="5"} 7
traefik_request_duration_seconds_bucket{service="backend1",le="+Inf"} 7
traefik_request_duration_seconds_sum{service="backend1"} 0.036858719
traefik_request_duration_seconds_count{service="backend1"} 7
traefik_request_duration_seconds_bucket{service="http",le="0.1"} 7
traefik_request_duration_seconds_bucket{service="http",le="0.3"} 7
traefik_request_duration_seconds_bucket{service="http",le="1.2"} 7
traefik_request_duration_seconds_bucket{service="http",le="5"} 7
traefik_request_duration_seconds_bucket{service="http",le="+Inf"} 7
traefik_request_duration_seconds_sum{service="http"} 0.037084179
traefik_request_duration_seconds_count{service="http"} 7

# HELP traefik_requests_total How many HTTP requests processed, partitioned by status code and method.
# TYPE traefik_requests_total counter
traefik_requests_total{code="200",method="GET",service="backend1"} 7
traefik_requests_total{code="200",method="GET",service="http"} 7

This is problematic, because effectively this means that when you aggregate the metrics in your Prometheus queries, without considering the labels, you will end up with twice as many requests as actually happen. Therefore the proper fix should be to remove the integration when starting the http servers. As one point to consider, this would mean that redirects are actually not tracked anymore. When tracking of the redirects is desired, I guess we should create a new metrics, to handle this cleanly.
Can you confirm that this is a bug for you and maybe give a recommendation on how to go for the fix?

One more point I just realised for a possible fix, not tracking on the entrypoint level as described above, would also mean we would loose all 404 trackings. So the request tracking in general should have a second thought and probably some rework, so that we can track all requests (redirects, not founds, normal requests) and still have the ability to get some specific information per backend. Probably this requires to create a separate metric. haproxy for example splits up the metrics here into frontend and backend.
Though as Traefik works a bit differently, this should be probably entrypoints and backends. E.g. traefik_entrypoint_requests_total with label entrypoint and traefik_backend_requests_total with label service. To keep compatibility we should probably stay with traefik_requests_total, which also makes sense semantically. WDYT about this approach?
One more thing I would maybe do in this turn. Rename service to server here. Then we would be according to the naming scheme that is used throughout the code. WDYT?

@marco-jantke can we close this issue? Related to #1968

No, we can not yet. Its still a valid issue. I will soonish come up with a follow up PR for the metrics, which will also tackle this issue.

@marco-jantke any news on this issue ?

Hi @mmatur, unfortunately not. I still plan to come up with a PR that improves Prometheus metrics and fixes this bug alongside. It was delayed so long because we kept finding issues with the implementation at my work. We are soon switching switching routing for our production services at and I would like to wait until I see that our current implementation of the Prometheus metrics works in production as expected and only afterwards open the PR here. Again, sorry for the long delay and that it might take a few weeks more until I can fix this issue :panda_face:

@mmatur I finally did it! https://github.com/containous/traefik/pull/2567


These keywords are being captured with all the spaces in front. Is this a correct behavior?

We made some workarounds for this issue already, but it would be nice to make it work correctly from your side.
METHOD:

END (CLASS):

DEFINE (PROPERTY):

comments:

I guess what you don't like is that is says method definition starts at 0 line, this is due to whitespace handling decision done in the parser - specificially this line  extras: ($) => [$.comment, $.include, /[\s\f\uFEFF\u2060\u200B]|\\\r?\n/],, it says that each of the element (third is whitespace regex) can appear everywhere in the syntax BEFORE the element, so in this case when it tries to match kw("METHOD") it also matches whitespace BEFORE it (whitespace does not appear in the syntax tree due to it not having a name like comment/include), not having whitespace rule in the extras would require manual whitespace handling which would be extremely complicated in progress case as it does not care about whitespace at all. I could maybe pull off some workaround for your case in CLASS'es but no idea how would I go about doing a global fix (except for removing whitespace from extras, which.... will break the entire parser and require code redesign for the entire parser)

Thanks for the explanation.
Okay, I think we can manage this issue on our side then.
I am closing this ticket.


Some tokens cannot be obtained with useToken.

Which package has an issue?
@yamada-ui/react
Package Version
1.4.1
Description
For example, if you set a path like sizes.3.5, the tokens that exist in the theme will be e.

This is due to the internal use of split(".") .

Link to Reproduction
No response
Steps to Reproduce

Set sizes and 3.5 to useToken.
See return value.

Browser
None
Operating System

[ ] macOS
[ ] Windows
[ ] Linux
[ ] iPadOS
[ ] iOS
[ ] Android

Do you know how to fix the issue?
None
Are you willing to participate in fixing this issue and create a pull request with the fix?
None
Additional Information
No response

export const getObject = (
  obj: Dict,
  path: string | number,
  fallback?: any,
  i?: number,
) => {
  const k = typeof path === "string" ? path.split(".") : [path]

  for (i = 0; i < k.length; i += 1) {
    if (!obj) break

    obj = obj[k[i]]
  }

  return obj === undefined ? fallback : obj
}

export const memoizeObject = (func: typeof getObject) => {
  const cache = new WeakMap()

  const memoizedFunc = <T extends unknown = any>(
    obj: Dict,
    path: string | number,
    fallback?: any,
    i?: number,
  ): T => {
    if (typeof obj === "undefined") return func(obj, path, fallback)

    if (!cache.has(obj)) cache.set(obj, new Map())

    const map = cache.get(obj)

    if (map.has(path)) return map.get(path)

    const value = func(obj, path, fallback, i)

    map.set(path, value)

    return value as T
  }

  return memoizedFunc
}

export const getMemoizedObject = memoizeObject(getObject)

This function needs to be reviewed.

The expression "sizes.3.5" is loaded, so it can be obtained by writing "sizes[3.5]".


Eligibility and character Excel downloads

Issue Title
Eligibility and character Excel downloads
[History/context]
At present, each declaration made by a candidate concerning eligibility and character is included in a single cell on the excel download. This makes the information more difficult for teams to search through. We should look to extract the data so that each declaration shows in a separate row. Admin users would like to see each application form declaration entry in a separate row on an Excel download. Would like to see it exactly as it is on the application form, a row for each question (e.g. Qualification entries should be in separate rows from Post qualification experience, a barrister can be exempt from pupillage - have it as a row stating that they are exempt and have uploaded an exemption certificate.)
USER STORY
As an admin, I want each candidate eligibility and character declaration entry to be in a separate cell on an Excel download so that I can extract the data exactly as it is on the application form.
[Acceptance Criteria]
Each declaration entry to be in a separate cell on an Excel download
[User Testing Steps]
Go to an exercise page, click on reports, click on character issues, click on generate report, click on export to Excel.
Check that all the declaration entries are in separate cells on the Excel download.
[Ticket Champion]
Roadmap item.
[Screenshots / wireframes / designs / pictures]
"As is"
Character download

Eligibility download

"To be"
Character check - column M, O, AH and AI (Character information, Professional background, Qualifications and Post qualification experience)

Eligibility issues - column J and K (Qualifications and Post qualification experience)

[Happy Story
To be able to see each declaration entry in separate cell which allows admins to save time when extracting data.
[Sad story]
Admins have to spend time copying and pasting data from one cell into separate cells.

@nickaddy, FYI

@NormaJAC I have moved this ticket to Ready to Play as I believe all the content is there. Over to you @HalcyonJAC :-)


Satchel empty space is now fully transparent

About the PR

Resolves #23784. Preferably I would like to reduce the space between the separate pockets as well since the space is a bit jarring right now, but that is for a future PR since I have no idea how.
Media

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Changelog
:cl: Ubaser

tweak: Satchels no longer have darkened space representing a gap, and is instead transparent.

you should just remove the option for these considering they are now the same. also, i'm pretty sure other ui themes have different sprites so those need to be looked at.

no, the option still matters because the boxes themselves have a transparency toggle unrelated to the black space. I will double check the UI themes.


Endianness and layout of driver/device exchange structures

Right now there is no decided endianness or architecture decided for the representation of the V4L2 structures used on virtqueues.
Architecture is rather obvious, 64-bit V4L2 headers should be used.
Endianness is less obvious. Converting endianness in structures requires quite some boilerplate. Maybe we can have the guest decide which endianness to use?
In any case, it looks like we might need to define our own set of V4L2 structures with the desired layout, both in C and Rust.

On the device side, we should be able to partially address the issue if we build v4l2r in 64-bit mode (i.e. ask it to generate 64-bit headers). We can then maybe use some macros (or better, and existing crate) to handle endianness.

Addressing this will also require the proxy V4L2 device to use different versions of the V4L2 structures for doing its own ioctls. We might want to turn it into its own crate and make it depend on a different build of v4l2r.
Since the virtio-media v4l2r bindings will be compiled with the 64-bit layout, it's probably a good idea to rename or alias them using the vmedia_ prefix instead of v4l2_.


"version.replace is not a function" with numeric "--version" in "os download"

https://sentry.io/resinio/cli/issues/287674306/
TypeError: version.replace is not a function
  File "/home/tim/.nvm/versions/node/v6.11.0/lib/node_modules/resin-cli/node_modules/resin-sdk/build/models/os.js", line 111, in fixNonSemver
    return version != null ? version.replace(/\.rev(\d+)/, '+FIXED-rev$1') : void 0;
  File "/home/tim/.nvm/versions/node/v6.11.0/lib/node_modules/resin-cli/node_modules/resin-sdk/build/models/os.js", line 129, in Object.exports._getMaxSatisfyingVersion
    maxVersion = semver.maxSatisfying(semverVersions, fixNonSemver(versionOrRange));
  File "/home/tim/.nvm/versions/node/v6.11.0/lib/node_modules/resin-cli/node_modules/resin-sdk/build/models/os.js", line 253, in null.<anonymous>
    return exports._getMaxSatisfyingVersion(versionOrRange, osVersions);
  File "/home/tim/.nvm/versions/node/v6.11.0/lib/node_modules/resin-cli/node_modules/bluebird/js/release/util.js", line 16, in tryCatcher
    return target.apply(this, arguments);
  File "/home/tim/.nvm/versions/node/v6.11.0/lib/node_modules/resin-cli/node_modules/bluebird/js/release/promise.js", line 512, in Promise._settlePromiseFromHandler
    x = tryCatch(handler).call(receiver, value);
...
(9 additional frame(s) were not displayed)

TypeError: version.replace is not a function

Looks like the version number is parsed as a number, not a string, so our semver parsing breaks. This should be fixed properly by upcoming Capitano changes to add explicit types to arguments, just tracking in the meantime for reference.

Yeah, capitano is parsing all numbers

Yep, exactly. This is blocked for now though, because that's an issue that Capitano 2 is going to solve so these issues need to wait until then.
@jviotti any progress update on that? We've got a few small but annoying CLI bugs like this that are unsolvable until that's in place, and it doesn't seem sensible for me to start opening PRs on Capitano in the meantime, as long as it's coming soon.

@pimterry I'm working on Capitano v2 ~10% of my time. If there is something critical that needs to be done, lets merge a fix to Capitano v1 in the mean-time. I really want to get v2 done, but I'm juggling other priorities as well, so I can't promise it will be 100% ready soon :(

Apparently it still happens:
$ balena os download intel-nuc -o nuc.img --version 2.44
Getting device operating system for intel-nuc
version.replace is not a function

Currently, a fix would be to migrate the os download command from Capitano to oclif.

Fixed after oclif migration.


Envoy Tracing for Zipkin and Jaeger is not working for 1.13.1

Hi. I'm trying to test requests tracing feature for Envoy. I followed the Jaeger tracing docs for 1.13.1 and put an appropriate tag for Docker images in the sandbox to use 1.13.1. And after starting all containers and sending few requests Jaeger UI doesn't show anything. I also tried to use jaeger-query API:
curl http://localhost:16686/api/traces?service=front-proxy

And it also returns an empty result. I tried to perform tcpdump inside the Envoy container and I didn't find any packets sent to jaeger-collector.
However, tracing works in the latest published version (1.15) where tracing configuration was moved to HttpConnectionManager config.
Repro steps:

Checkout to release/v1.13
Modify examples/front-proxy/Dockerfile-frontenvoy and examples/front-proxy/Dockerfile-service base image tag to the one used in 1.13. I used bb7ceff4c3c5bd4555dff28b6e56d27f2f8be0a7
Go to the example folder: cd examples/jaeger-tracing
Start containers: docker-compose up --build -d
Perform requests curl -v localhost:8000/trace/1
Check Jaeger UI: curl http://localhost:16686/api/traces?service=front-proxy
The results will be empty.

If you do the same on master or release/v.1.15 the results from Jaeger will contain traces.

@mike1808 I think you need to add a tracing entry as in this commit: https://github.com/envoyproxy/envoy/commit/7ab9307a678e27b50df06c20108dee3911b947ac
The relevant part:
static_resources:
  listeners:
  - address:
      socket_address:
        address: <IP_ADDRESS>
        port_value: 80
    traffic_direction: OUTBOUND
    filter_chains:
    - filters:
      - name: envoy.http_connection_manager
        typed_config:
          "@type": type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager
          generate_request_id: true
          tracing: {}
          codec_type: auto
          stat_prefix: ingress_http
          ...

Yes, this is needed also for envoyproxy/envoy:v1.13.1 image.

@dio thanks! It will be nice to add that to the examples.


ComputeOnDevice object location

For this sample, how does the program or HL choose where to locate the slate object?  For me, it's initializing fairly far away, in an area of the room where I haven't been since turning on the HL.  I didn't even notice it the first few times I deployed - I thought the app wasn't working because I didn't see anything.

I presume you are referring to the ComputeOnDevice sample. It should be place at the distance of 2 meters from your current location in the gaze direction. Is tracking working consistently ?

I haven't had any issues with tracking previously but this is the first time I'm running OpenCV or a UWP app (rather than Unity).
The screen came up to my left, over 2 m away and not facing me (but facing the direction I was looking, if that makes sense).  And as mentioned in #11 it didn't actually show anything.

@sshiv Is there another place I should be asking questions about these examples?  Is the HL forums better?

@shllybkwrm, just to make sure we're looking at the same repro steps, the ComputeOnDevice sample does not show anything when first launched.  The next air-tap will freeze the image. The next air-tap will create another live preview window, etc.
If this doesn't work, we'll have to narrow the possibilities down. A good starting point would be to set a breakpoint at AppMain::OnSpatialInput (in Samples\ComputeOnDevice\AppMain.cpp). From there, you should be able to step into the SlateRenderer::PositionHologram call and observe the headPosition, headDirection, gazeAtTwoMeters and _rotationInRadians calculations.

@polszta When I run the ComputeOnDevice sample, it doesn't react at all to air-taps, either in front of me or on the blue screen I mentioned previously.  (By the way, it would be great if there was documentation about the air-tap functionality for the sample.  I wasn't able to find more than one line about what ComputeOnDevice does.)
I set the breakpoint as you suggested but when I debug I'm getting an error before I even get there.  However I'm not sure this is related to the specific project so I'll look into it some more and report back.
Unhandled exception at 0x65401FD5 (ucrtbased.dll) in ComputeOnDevice.exe: An invalid parameter was passed to a function that considers invalid parameters fatal. occurred
>	ucrtbased.dll!_invoke_watson(const wchar_t * expression, const wchar_t * function_name, const wchar_t * file_name, unsigned int line_number, unsigned int reserved) Line 224	C++	Non-user code. Symbols loaded.

Point taken on sample documentation, filed issue #12 to track the work here.
The error you're hitting is coming from Media Foundation and most likely explains the rest of the symptoms... Perhaps the camera permissions in case they got somehow revoked? Could you please double-check that from by launching the Settings app, choosing the Privacy tab then Camera and making sure the toggle next to the app name is in the "On" position.
If this doesn't help, we'll have to ask you to share some more information about your setup so that we can try reproducing this problem locally.

The camera permissions still look good.  Here's my info:
Microsoft Windows [Version 10.0.15063]
Microsoft Visual Studio Community 2017 Version 15.3.3
Microsoft .NET Framework Version 4.7.02046
Visual Studio Tools for UWP (includes Win10 SDK) Version 15.0.26730.08
I do have different versions of VS installed on this machine as well, any reason that would be an issue?

I've set up a computer from scratch, trying to closely match your configuration (we have seen some people over here run into issues when building the samples on older version of Windows, etc., so I wanted to take this out of the equation). I could not reproduce the issue your hitting (for reference, see the attached log file showing the application working correctly).
Enabling all C++ exceptions to break into debugger would be a good start to diagnose this further (in VS: Debug -> Windows -> Exception Settings, then toggle the "C++ exceptions"). Please do share the call stack of the failure and the full debugger output log.
ComputeOnDeviceOutput.txt

Sorry for the delay, I was away from my HL.  I changed the setting you mentioned and I've attached the output.
ComputeOnDevice_ExceptionOutput.txt
Exception:
Exception thrown at 0x76E92552 in ComputeOnDevice.exe: Microsoft C++ exception: Cn::XH at memory location 0x017CE8B4. occurred
Call Stack:
>	KernelBase.dll!_RaiseException@16()	Unknown	Non-user code. Symbols loaded.
 	msvcrt.dll!76a0ac19()	Unknown	Non-user code. Cannot find or open the PDB file.
 	[Frames below may be incorrect and/or missing, no symbols loaded for msvcrt.dll]		Annotated Frame
 	[External Code]		Annotated Frame
 	InputHost.dll!707aa3af()	Unknown	No symbols loaded.
 	InputHost.dll!707aa59b()	Unknown	No symbols loaded.
 	InputHost.dll!707a392d()	Unknown	No symbols loaded.
 	[External Code]		Annotated Frame

I think this particular exception is a first-chance exception, if you hit F5 (Run) it will be handled by the input host component.


ARROW_DOWN,ARROW_UP,Enter key in protractor not working for firefox.

We are using below code to press key (ARROW_DOWN,ARROW_UP,Enter key) in firefox. It is working for chrome .
browser.actions().sendKeys(protractor.Key.ARROW_UP).perform();
browser.actions().sendKeys(protractor.Key.ARROW_DOWN).perform();
browser.actions().sendKeys(protractor.Key.ENTER).perform();
Below is the Error, we are getting for the firefox.
- UnknownCommandError: POST /session/325421f6-e7dd-41a1-b5f4-37acea65e072/keys did not match a known command
Firefox: 67.0.1
Protractor: 6.4.1

Hi, @sanjeetkkr ! At first, there is no 6.4.1 version of protractor available. Probably, you meant version 5.4.1? Regarding firefox actions, it should be fixed in latest version of protractor. Alternative way is to use dispatch event methods for certain elements.


feat: add updates page

This page is used when the email is sent which contains updates to an event created/attended by user.

@theprogrammerinyou resolve conflicts


Changes Requested - Show alert messages on forms

Describe the task
User Operator and Operations forms should have an alert message at the top if the status is Changes Requested.
Wireframe
Acceptance Criteria

[ ] Changes Requested alert message on Operations form

Additional context

we only have the Request Changes feature on the Operations form
Or here

Deleted as discussed during refinement.


Can you provide links to evaluation datasets ?

I would love to have access to train, val, and test data splits you have used. Especially for QA tasks.

You can download the dataset from the following link
https://microsoft.github.io/BLURB/submit.html

Thanks a lot.
I found the BioASQ train, dev, and test splits from the link you sent me.

What about the PubmedQA ?
Is it similar to the splits used in this git repository?

Is there any chance that you can share the pre-processed data from google drive :) ?

PubMedQA, yes
I didn't do any specific preprocessing. Used the same script from the BLURB dataset.

Thanks a lot.


Update sessions.py

@FlorianREGAZ, could you review and merge the this pr? this pr fix a lot of problem in issue.

@FlorianREGAZ, when the pr can be merge?


Editable Listview within a JQM "page": Cannot read property '0' of undefined

I'm using the JQuery Mobile pages widget to display several form elements. one at a time. Each element uses a database query to display the current database value (if any) in the form upon load.
I have one element that utilizes Editable Listview. When the the database value is not empty, it displays just fine. But if the database value is empty, I get this error in the JS console:
Uncaught error: Cannot read property '0' of undefined
It points to line 161 in EditableListview:
// Re-enabling the click event handler when the list is in View mode
evt.click[0].handler = this._clickHandler;
evt.tap[0].handler = this._tapHandler;
Do you know what might be happening here, and how I might get around it?
Great plugin, by the way!

I'm testing a possible workaround that first tests to see whether evt.click is undefined. But I don't understand why it is undefined only when there is no data, and when I am displaying this element with the page widget.

Sorry for such a late reply. I have been occupied. I'll be looking into it this weekend.


Rotate image after upload

Possible to rotate image after upload?

Like automatically or you mean by the uploader? Can't we ask uploaders to handle this themselves?

I think the ask was for there to be a PBot function to rotate images. I think this is low priority for PBot v. 1.0 given everything else we need to do, but several people did think this would be useful.

I dunno. Pbot is not an image processing tool. Seems like some pretty heavy fluff.

I concur this is extremely low priority in the scheme of things.

I also want to clarify though I think they just mean a 2D rotation, not something 3d.

I also concur that this is low priority. The community asked, and it might be nice to have, but we have so many other more important tasks.

I am going to close this to reduce the clutter on the issues page.


WIP: Add settings add chem comp

Hi,
here i try to add an initial draft of the chemComposition.
I also slightly modified the file structure, but this can be reverted if wished?
This is currently WIP ;)

Hello @RiesBen! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file gufe/settings/models/__init__.py:

Line 1:64: W291 trailing whitespace
Line 2:34: E128 continuation line under-indented for visual indent
Line 4:75: W291 trailing whitespace
Line 5:80: E501 line too long (83 > 79 characters)
Line 5:84: W291 trailing whitespace
Line 6:80: W291 trailing whitespace
Line 7:80: E501 line too long (81 > 79 characters)

In the file gufe/settings/models/abstract.py:

Line 3:1: E302 expected 2 blank lines, found 1

In the file gufe/settings/models/chemical_composition.py:

Line 9:1: E265 block comment should start with '# '
Line 10:1: E302 expected 2 blank lines, found 1
Line 11:11: E231 missing whitespace after ':'
Line 11:16: E225 missing whitespace around operator
Line 12:1: W293 blank line contains whitespace
Line 14:1: E302 expected 2 blank lines, found 1
Line 15:18: E231 missing whitespace after ':'
Line 17:11: W291 trailing whitespace
Line 18:1: E302 expected 2 blank lines, found 1
Line 20:13: E231 missing whitespace after ':'
Line 20:18: E221 multiple spaces before operator
Line 22:1: E302 expected 2 blank lines, found 1
Line 23:17: E231 missing whitespace after ':'
Line 24:24: E231 missing whitespace after ':'
Line 24:29: E221 multiple spaces before operator
Line 25:14: E231 missing whitespace after ':'
Line 25:32: E221 multiple spaces before operator
Line 27:1: E265 block comment should start with '# '
Line 28:1: E302 expected 2 blank lines, found 1
Line 29:26: E231 missing whitespace after ':'
Line 29:30: E225 missing whitespace around operator
Line 30:13: E231 missing whitespace after ':'
Line 30:17: E225 missing whitespace around operator
Line 31:14: E231 missing whitespace after ':'
Line 31:24: E225 missing whitespace around operator
Line 32:17: E231 missing whitespace after ':'
Line 32:21: E225 missing whitespace around operator
Line 32:26: W291 trailing whitespace
Line 34:1: E265 block comment should start with '# '
Line 35:1: E302 expected 2 blank lines, found 1
Line 36:15: E231 missing whitespace after ':'
Line 36:19: E225 missing whitespace around operator
Line 37:22: E231 missing whitespace after ':'
Line 37:32: E225 missing whitespace around operator
Line 38:1: W293 blank line contains whitespace
Line 39:1: E265 block comment should start with '# '
Line 39:22: W291 trailing whitespace
Line 40:1: E302 expected 2 blank lines, found 1
Line 45:21: E221 multiple spaces before operator
Line 46:21: E221 multiple spaces before operator
Line 47:36: W292 no newline at end of file

@richardjgowers @dotsdl
Hm I see your point, I tried to add this layer as it was defined in the taxonomy doc.
For a simulation setup I think, it might be beneficial to have a fast look up on this, to support the reduced potential settings or other layers. But I also see, that this is represented by the Component classes.
Therefore one could also think about removing it again? Then we should also remove it from the doc, or did I miss understand the doc?

Then we should also remove it from the doc, or did I miss understand the doc?

My 2 cent is that I wouldn't remove them from the doc, the components are a "setting" in themselves, i.e. they define how the positions and chemistry of your system are "set".


docadd gcs broker load faq

Proposed changes
add gcs broker load faq

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


Websocket error after upgrading to 1.0

Hello! Today I updated horizon to 1.0 and the client could not connect anymore to the server via websocket.
Running horizon with hz serve --dev the only response that I'm getting from the websocket is this:
{
  code: 1,
  message: "Session ID unknown"
}

Then I tried to run the server with the --debug flag, and that's the output:
debug: Handling HTTP request to horizon subpath: horizon.js
debug: Client connection established.
debug: Closing client connection with message: No connection to the database.
debug: info: {"error":"No connection to the database."}
debug: Client connection terminated.
debug: Handling HTTP request to horizon subpath: horizon.js.map

I also tried to create a new app with hz init but without luck.
As I said I'm running horizon 1.0 on node 5.10, the OS is Windows 7 x64.

I've seen this on Ubuntu 14.04 as well. Same error on the command line.
The "No connection to the database" message indicates that there's either actually no connection to RethinkDB, or that the metadata couldn't get initialized correctly.
Do you have any important data stored in your Horizon application?
Otherwise, can you try shutting down Horizon, deleting the directory rethinkdb_data in your Horizon app directory, and then starting Horizon again in --dev mode? (this will delete any data stored for the application!)
On Windows, it might also be necessary to start a RethinkDB server manually, and to pass --start-rethinkdb no -c localhost to hz serve.
Let me know if that changes anything or if the issue is still there after these steps.

@ingro @andrewsomething Could you also put the full output of hz serve --dev --debug into a Gist (gist.github.com , or similar) and share it here? That might provide some hints as to what's going on.

This is on a fresh sample app created with hz init I was able to start it once successfully. After killing it and starting it again, I'm seeing the issue again:
https://gist.github.com/andrewsomething/3b3a237d9b2d1d64f234ddab6b5f7e7e

Thanks for sharing the logs @andrewsomething .
I can actually reproduce it now. Looking into it.

Just downloaded 1.0.0, never tried horizon before, seeing these errors: https://gist.github.com/benjick/cf3e7960ba3df1fe350d17368de5f5b5
I can access the admin panel
OSX 10.11.4, Node 6.1.0

@danielmewes same behaviour as reported by @andrewsomething, the issue appear after the first successfull start.

We have a fix, will be releasing 1.0.1 soon.
Sorry for the bug everybody!

A work-around is to start your own RethinkDB server by the way and then using the --start-rethinkdb no -c localhost flags with --dev.

Fixed via https://github.com/rethinkdb/horizon/pull/397

Shipping with Horizon 1.0.1 which is being published to NPM in this minute.

horizon 1.0.1 is now published to npm
https://www.npmjs.com/packages/horizon

Confirming that I can no longer reproduce the issue. Thanks for the quick fix! :clap:

Thanks for the fast fix :)

I am still able to repro this on the Horizon v1.0.1
This is the relevant info from hz ... --debug
Horizon ready for connections 🌄
debug: Handling HTTP request to horizon subpath: horizon.js
debug: Client connection established.
debug: Received handshake: {"method":"unauthenticated","request_id":3}
debug: Closing client connection with message: Error: Unauthenticated connections are not allowed.
debug: info: {"request_id":3,"error":"Error: Unauthenticated connections are not allowed.","error_code":0}
debug: Client connection terminated.

The CLI params are
hz serve --secure no --auto-create-collection --auto-create-index --allow-anonymous --connect localhost:28015

@steelbrain That's different.
You can either start with --allow-unauthenticated, or use var horizon = Horizon({authType: "anonymous"}); in your application. See http://horizon.io/docs/auth/ for the difference between unauthenticated and anonymous.

@danielmewes The way authentication is handled has changed a lot. I am able to connect to rethinkdb but everything returns Operation not permitted, perhaps this issue is not the right place to discuss it. But is there any upgrade guide for beta users?

@steelbrain The Operation not permitted result indicates that the query was not permitted by the Horizon permission system. Since there was no permission system in the beta, it makes sense that the update broke your setup in this respect.
You can read how the permissions system works and how you can configure it in http://horizon.io/docs/permissions
If you don't need to restrict data access and/or writes, you can also disable the permissions system by starting hz serve with the --permissions no option, or by putting the equivalent option (permissions = false) into the .hz/config.toml file of your project.
Unfortunately we haven't written a beta migration guide so far.


Which other languages from Exercism to follow and use as an example / inspiration?

C# and Elixir are recommended by Exercism team.
Recently added to Exercism, but active: Tcl, Dart, Pharo, Ballerina,
Similar to Red (emerging, independent, general-purpose, cross-platform, unconventional, built-in GUI): …?

@iHiD said:

Pharo is complex - I’d avoid that, Ballerina is also a very unusual track.Dart is good. TCL is good. Haxe isn’t launched yet, but has had ~50 exercises added in the last two months and is about to launch

Also:

Fortran is fairly new too but not close to being ready yet

Nice stats on GitHub languages popularity: https://tjpalmer.github.io/languish/

There are some languages recently added to Exercism, and actively developed. It's good to track their updates:
https://github.com/exercism/unison
https://github.com/exercism/wasm

The awk track is also actively being developed: https://github.com/exercism/awk/issues/1


Add Documentation

[ ] Add infos for ChannelEvents, ChannelDistribution, ChannelSpeakers, ChannelRecordings, StreamSchedule, Channels

[ ] Explain multi-language capabilities
[ ] Explain recording formats

[ ] Rewrite README.md

The first (Main) Todo: where?


TEST-#0000: Try to run CI with python 3.10

What do these changes do?

[x] first commit message and PR title follow format outlined here

NOTE:  If you edit the PR title to match this format, you need to add another commit (even if it's empty) or amend your last commit for the CI job that checks the PR title to pick up the new PR title.

[ ] passes flake8 modin/ asv_bench/benchmarks scripts/doc_checker.py
[ ] passes black --check modin/ asv_bench/benchmarks scripts/doc_checker.py
[ ] signed commit with git commit -s
[ ] Resolves #?
[ ] tests added and passing
[ ] module layout described at docs/development/architecture.rst is up-to-date

Can we now switch to testing with python 3.10?

Can we now switch to testing with python 3.10?

I don't think so, we can easily start using python functionality that isn't in 3.9 and break the code.

Maybe we should add weekly testing on python 3.10 to catch such breaking changes so as to be prepared for transition to python 3.10?

Why only a subset of CI tests? Which tests are missing?

Why only a subset of CI tests? Which tests are missing?

For example, test-fuzzydata.


Create the active Edit components

All reply items open when I click on only one reply button. Implemented the e.stopPropagation() method and it doesn't help it. Another solution is required

setActiveReply is returning undefined

Try using a dumb template for the form. Be patient, be alert, look alive!


ISPN-15923 More detailed metrics in CacheMgmtInterceptor

Add counters for single key operations by ownership
Add transaction prepare/commit/rollback operation times

https://issues.redhat.com/browse/ISPN-15923

Thanks, @pruivo!


[SPARK-33294][SQL] Add query resolved check before analyze InsertIntoDir

What changes were proposed in this pull request?

Add query.resolved before analyze InsertIntoDir.
Why are the changes needed?

For better error msg.
INSERT OVERWRITE DIRECTORY '/tmp/file' USING PARQUET
SELECT * FROM (
 SELECT c3 FROM (
  SELECT c1, c2 from values(1,2) t(c1, c2)
  )
)

Before this PR, we get such error msg
org.apache.spark.sql.catalyst.analysis.UnresolvedException: Invalid call to toAttribute on unresolved object, tree: *
  at org.apache.spark.sql.catalyst.analysis.Star.toAttribute(unresolved.scala:244)
  at org.apache.spark.sql.catalyst.plans.logical.Project$$anonfun$output$1.apply(basicLogicalOperators.scala:52)
  at org.apache.spark.sql.catalyst.plans.logical.Project$$anonfun$output$1.apply(basicLogicalOperators.scala:52)
  at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
  at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
  at scala.collection.immutable.List.foreach(List.scala:392)

Does this PR introduce any user-facing change?

Yes, error msg changed.
How was this patch tested?

New test.

Test build #130434 has started for PR 30197 at commit 70daf7a.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35039/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35039/

Merged build finished. Test PASSed.

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

Test build #130434 has finished for PR 30197 at commit 70daf7a.

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

Merged build finished. Test FAILed.

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

cc @maropu @cloud-fan @dongjoon-hyun

thanks, merging to master!

thanks for merging!

late LGTM

Thank you, @ulysses-you and all.
This bug affects only master branch?

@dongjoon-hyun also affects branch-2.4 and branch-3.0. I'm not sure this is a bug, do we need backport this ?


Overlapping classes with dropwizard-core

When using dropwizard-guice together with dropwizard-core (which is, I presume, a common use-case), both in version 0.8.0, there are 3 pairs of JARs defined under different artifact descriptors that have overlapping classes. Sample output from maven-shade-plugin:
[WARNING] aopalliance-repackaged-2.4.0-b09.jar, aopalliance-1.0.jar define 9 overlappping classes:
[WARNING]   - org.aopalliance.intercept.ConstructorInterceptor
[WARNING]   - org.aopalliance.intercept.MethodInvocation
[WARNING]   - org.aopalliance.intercept.MethodInterceptor
[WARNING]   - org.aopalliance.intercept.Invocation
[WARNING]   - org.aopalliance.aop.AspectException
[WARNING]   - org.aopalliance.intercept.Interceptor
[WARNING]   - org.aopalliance.intercept.Joinpoint
[WARNING]   - org.aopalliance.intercept.ConstructorInvocation
[WARNING]   - org.aopalliance.aop.Advice
[WARNING] jsr305-3.0.0.jar, annotations-3.0.0.jar define 35 overlappping classes:
[WARNING]   - javax.annotation.RegEx
[WARNING]   - javax.annotation.concurrent.Immutable
[WARNING]   - javax.annotation.meta.TypeQualifierDefault
[WARNING]   - javax.annotation.meta.TypeQualifier
[WARNING]   - javax.annotation.Syntax
[WARNING]   - javax.annotation.Nonnull
[WARNING]   - javax.annotation.CheckReturnValue
[WARNING]   - javax.annotation.CheckForNull
[WARNING]   - javax.annotation.meta.TypeQualifierNickname
[WARNING]   - javax.annotation.MatchesPattern
[WARNING]   - 25 more...
[WARNING] javax.inject-2.4.0-b09.jar, javax.inject-1.jar define 6 overlappping classes:
[WARNING]   - javax.inject.Inject
[WARNING]   - javax.inject.Singleton
[WARNING]   - javax.inject.Scope
[WARNING]   - javax.inject.Named
[WARNING]   - javax.inject.Provider
[WARNING]   - javax.inject.Qualifier
[WARNING] maven-shade-plugin has detected that some .class files
[WARNING] are present in two or more JARs. When this happens, only
[WARNING] one single version of the class is copied in the uberjar.
[WARNING] Usually this is not harmful and you can skeep these
[WARNING] warnings, otherwise try to manually exclude artifacts
[WARNING] based on mvn dependency:tree -Ddetail=true and the above
[WARNING] output
[WARNING] See http://docs.codehaus.org/display/MAVENUSER/Shade+Plugin

A workaround is to define the proper exclusions on the dropwizard-guice dependency:
            <exclusions>
                <exclusion>
                    <groupId>aopalliance</groupId>
                    <artifactId>aopalliance</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.google.code.findbugs</groupId>
                    <artifactId>annotations</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>javax.inject</groupId>
                    <artifactId>javax.inject</artifactId>
                </exclusion>
            </exclusions>

Best would be, of course, if those dependencies would be aligned with dropwizard-core and the users of dropwizard-guice wouldn't have to worry about these dependency conflicts.

I think some of these may be coming from jersey2guice and to align them would require a PR to their project.

Fixed via 2f42df5f40dd0eb101ee72e18ccd39888a2d7c09

Released as part of <IP_ADDRESS>

I still need:
<exclusions>
  <exclusion>
    <groupId>com.google.code.findbugs</groupId>
    <artifactId>annotations</artifactId>
  </exclusion>
  <exclusion>
    <groupId>javax.inject</groupId>
    <artifactId>javax.inject</artifactId>
  </exclusion>
</exclusions>

Otherwise I get:
[WARNING] javax.inject-2.4.0-b10.jar, javax.inject-1.jar define 6 overlappping classes:
[WARNING]   - javax.inject.Inject
[WARNING]   - javax.inject.Singleton
[WARNING]   - javax.inject.Scope
[WARNING]   - javax.inject.Named
[WARNING]   - javax.inject.Provider
[WARNING]   - javax.inject.Qualifier
[WARNING] jsr305-3.0.0.jar, annotations-3.0.0.jar define 35 overlappping classes:
[WARNING]   - javax.annotation.RegEx
[WARNING]   - javax.annotation.concurrent.Immutable
[WARNING]   - javax.annotation.meta.TypeQualifierDefault
[WARNING]   - javax.annotation.meta.TypeQualifier
[WARNING]   - javax.annotation.Syntax
[WARNING]   - javax.annotation.Nonnull
[WARNING]   - javax.annotation.CheckReturnValue
[WARNING]   - javax.annotation.CheckForNull
[WARNING]   - javax.annotation.meta.TypeQualifierNickname
[WARNING]   - javax.annotation.MatchesPattern
[WARNING]   - 25 more...
[WARNING] maven-shade-plugin has detected that some .class files
[WARNING] are present in two or more JARs. When this happens, only
[WARNING] one single version of the class is copied in the uberjar.
[WARNING] Usually this is not harmful and you can skeep these
[WARNING] warnings, otherwise try to manually exclude artifacts
[WARNING] based on mvn dependency:tree -Ddetail=true and the above
[WARNING] output
[WARNING] See http://docs.codehaus.org/display/MAVENUSER/Shade+Plugin

javax.inject:javax.inject and com.google.code.findbugs:annotationsare the "correct" dependencies to use, something else in your dependency tree must be pulling in org.glassfish.hk2.external:javax.inject and com.google.code.findbugs:jsr305

For javax.inject the reason is dropwizard-client:
[INFO] +- io.dropwizard:dropwizard-client:jar:0.8.1:compile
[INFO] |  +- org.glassfish.jersey.core:jersey-client:jar:2.17:compile
[INFO] |  |  +- org.glassfish.jersey.core:jersey-common:jar:2.17:compile
[INFO] |  |  |  +- org.glassfish.jersey.bundles.repackaged:jersey-guava:jar:2.17:compile
[INFO] |  |  |  \- org.glassfish.hk2:osgi-resource-locator:jar:1.0.1:compile
[INFO] |  |  +- org.glassfish.hk2.external:javax.inject:jar:2.4.0-b10:compile
[INFO] |  |  \- org.glassfish.hk2:hk2-locator:jar:2.4.0-b10:compile
[INFO] |  +- io.dropwizard.metrics:metrics-httpclient:jar:3.1.1:compile
[INFO] |  \- org.glassfish.jersey.connectors:jersey-apache-connector:jar:2.17:compile

Isn't it a common usecase to use dropwizard-client together with dropwizard-guice?

For annotations the reason is dropwizard-core:
[INFO] +- io.dropwizard:dropwizard-core:jar:0.8.1:compile
[INFO] |  +- io.dropwizard:dropwizard-util:jar:0.8.1:compile
[INFO] |  |  +- com.google.code.findbugs:jsr305:jar:3.0.0:compile

Yeah, unfortunately getting rid of those warnings will require an exclusion on jsr305


Does the "on-click" work for line charts?

Hi,
First of all, thank you for such a great library. I totally love it!
I'm trying to figure out how to handle clicks. I couldn't make it work for some reason. Could you look at example and see what am I doing wrong? You can find in there: http://codepen.io/anon/pen/mJRPyX
The top chart is implemented having "on-click" method and the bottom chart has a standard angularjs "ng-click". The standard angularjs "ng-click" works (you will see the output in console), but the "on-click" is not being handled.
Thank you!

Hi @vlamic
Unfortunately, the scrubber tooltip generates an overlay and therefore the click events are not propagated properly. For the moment, the events click and hover just work with the tooltip mode 'axes'.
If you add tooltip: {mode: 'axes'}, to your options, the click event should be triggered properly.
Best,
Christoph

Thanks Christoph!

I hope this could solve your problem @vlamic
let me know if you need any more help


sqlite3 update to 3.33.0 (3330000)

Update to v3.33 released 14th August, similar to PR https://github.com/mapbox/node-sqlite3/pull/1289

2aae3a5697d41056b68792d0e25685a0c1f8c3ad

2aae3a5697d41056b68792d0e25685a0c1f8c3ad


Connection error ERR_INVALID_ARG_TYPE

KRPC version: 0.4.8
I am seeing a connection error trying to run the following program:
'use strict';
let { createClient, spaceCenter } = require('krpc-node');

async function main() {
    const client = await createClient();
    let vessel = await client.send(spaceCenter.getActiveVessel());
    console.log(vessel);
}

main();

I see the following error:
internal/buffer.js:227
    throw new ERR_INVALID_ARG_TYPE('offset', 'number', offset);
    ^

TypeError [ERR_INVALID_ARG_TYPE]: The "offset" argument must be of type number. Received type undefined
    at Buffer.readIntLE (internal/buffer.js:227:11)
    at Object.decodeUInt64 [as decode] (d:\workspace\krpc-test\node_modules\krpc-node\lib\decoders.js:67:19)
    at decodeObject (d:\workspace\krpc-test\node_modules\krpc-node\lib\client.js:476:21)
    at decode (d:\workspace\krpc-test\node_modules\krpc-node\lib\client.js:429:16)
    at d:\workspace\krpc-test\node_modules\krpc-node\lib\client.js:394:24
    at Array.map (<anonymous>)
    at onMessage (d:\workspace\krpc-test\node_modules\krpc-node\lib\client.js:388:41)
    at WebSocket.client.rpc.socket.onmessage (d:\workspace\krpc-test\node_modules\krpc-node\lib\client.js:278:9)
    at WebSocket.onMessage (d:\workspace\krpc-test\node_modules\ws\lib\event-target.js:120:16)
    at WebSocket.emit (events.js:189:13)
Waiting for the debugger to disconnect...
NodeError: The "offset" argument must be of type number. Received type undefined
errors.js:158
    at Buffer.readIntLE (internal/buffer.js:227:11)
    at Object.decodeUInt64 [as decode] (d:\workspace\krpc-test\node_modules\krpc-node\lib\decoders.js:67:19)
    at decodeObject (d:\workspace\krpc-test\node_modules\krpc-node\lib\client.js:476:21)
    at decode (d:\workspace\krpc-test\node_modules\krpc-node\lib\client.js:429:16)
    at d:\workspace\krpc-test\node_modules\krpc-node\lib\client.js:394:24
    at Array.map (<anonymous>)
    at onMessage (d:\workspace\krpc-test\node_modules\krpc-node\lib\client.js:388:41)
    at WebSocket.client.rpc.socket.onmessage (d:\workspace\krpc-test\node_modules\krpc-node\lib\client.js:278:9)
    at WebSocket.onMessage (d:\workspace\krpc-test\node_modules\ws\lib\event-target.js:120:16)
    at WebSocket.emit (events.js:189:13)

Hey, sorry to necro this, but I'm having the exact same issue. I've tried using KSP version 1.5.1 and the new 1.7, both give me the same error. Did anyone ever manage to solve this?
internal/buffer.js:235
    throw new ERR_INVALID_ARG_TYPE('offset', 'number', offset);
    ^

TypeError [ERR_INVALID_ARG_TYPE]: The "offset" argument must be of type number. Received type undefined
    at Buffer.readIntLE (internal/buffer.js:235:11)
    at Object.decodeUInt64 [as decode] (C:\Users\leoch\Documents\KSP-Code\ksp-data-server\node_modules\krpc-node\lib\decoders.js:67:19)
    at decodeObject (C:\Users\leoch\Documents\KSP-Code\ksp-data-server\node_modules\krpc-node\lib\client.js:476:21)
    at decode (C:\Users\leoch\Documents\KSP-Code\ksp-data-server\node_modules\krpc-node\lib\client.js:429:16)
    at decodeCollection (C:\Users\leoch\Documents\KSP-Code\ksp-data-server\node_modules\krpc-node\lib\client.js:452:32)
    at decode (C:\Users\leoch\Documents\KSP-Code\ksp-data-server\node_modules\krpc-node\lib\client.js:423:16)
    at C:\Users\leoch\Documents\KSP-Code\ksp-data-server\node_modules\krpc-node\lib\client.js:394:24
    at Array.map (<anonymous>)
    at onMessage (C:\Users\leoch\Documents\KSP-Code\ksp-data-server\node_modules\krpc-node\lib\client.js:388:41)
    at WebSocket.client.rpc.socket.onmessage (C:\Users\leoch\Documents\KSP-Code\ksp-data-server\node_modules\krpc-node\lib\client.js:278:9)

Hey @leoworm and @chemuduguntar
Sorry it took me so long, life got ... interesting. I just booted up the game (<IP_ADDRESS>3) with just the KRPC mod installed (v0.4.8) and ran the above code in an Integration test which is now checked in the code base and I successfully get back the vessel object.
I have included a screenshot of what my ingame settings looked like, make sure you are using Websockets and not TCP/IP. I had to change the port numbers because I was getting an AccessDenied error when attempting to start the server.

Just to confirm the situation where you are getting this error:

The game is running
KRPC is installed
The KRPC server is running
The KRPC server is in websocket mode not TCP/IP
You are in the "flight scene" i.e. you have a vessel loaded and can move around

If the above is true, would you mind checking out the source code to your local pc and running the tests locally by first typing in npm i and then when that is successful npm t

Did that (with KSP running in the Websocket mode), got this
` npm t

<EMAIL_ADDRESS>test C:\Users\leoch\Documents\krpc-node-master
mocha test/**/*.js

Bugfixes - ERR_INVALID_ARG_TYPE
√ should retrieve the active vessel (770ms)
Bugfixes - part finder issue
Error getting data for undefined TypeError: Cannot read property 'get' of undefined
at logVesselData (C:\Users\leoch\Documents\krpc-node-master\test\api\bug-reproduction\part-finder.js:28:44)
at Context. (C:\Users\leoch\Documents\krpc-node-master\test\api\bug-reproduction\part-finder.js:14:19)
at processTicksAndRejections (internal/process/next_tick.js:81:5)
Uncaught Exception TypeError [ERR_INVALID_ARG_TYPE]: The "offset" argument must be of type number. Received type undefined
at Buffer.readIntLE (internal/buffer.js:235:11)
at Object.decodeUInt64 [as decode] (C:\Users\leoch\Documents\krpc-node-master\lib\decoders.js:67:19)
at decodeObject (C:\Users\leoch\Documents\krpc-node-master\lib\client.js:476:21)
at decode (C:\Users\leoch\Documents\krpc-node-master\lib\client.js:429:16)
at decodeCollection (C:\Users\leoch\Documents\krpc-node-master\lib\client.js:452:32)
at decode (C:\Users\leoch\Documents\krpc-node-master\lib\client.js:423:16)
at C:\Users\leoch\Documents\krpc-node-master\lib\client.js:394:24
at Array.map ()
at onMessage (C:\Users\leoch\Documents\krpc-node-master\lib\client.js:388:41)
at WebSocket.client.rpc.socket.onmessage (C:\Users\leoch\Documents\krpc-node-master\lib\client.js:278:9)
at WebSocket.onMessage (C:\Users\leoch\Documents\krpc-node-master\node_modules\ws\lib\event-target.js:120:16)
at WebSocket.emit (events.js:197:13)
at Receiver._receiver.onmessage (C:\Users\leoch\Documents\krpc-node-master\node_modules\ws\lib\websocket.js:137:47)
at Receiver.dataMessage (C:\Users\leoch\Documents\krpc-node-master\node_modules\ws\lib\receiver.js:397:14)
at Receiver.getData (C:\Users\leoch\Documents\krpc-node-master\node_modules\ws\lib\receiver.js:347:12)
at Receiver.startLoop (C:\Users\leoch\Documents\krpc-node-master\node_modules\ws\lib\receiver.js:143:16)
at Receiver.add (C:\Users\leoch\Documents\krpc-node-master\node_modules\ws\lib\receiver.js:117:10)
at Socket.emit (events.js:197:13)
at addChunk (_stream_readable.js:288:12)
at readableAddChunk (_stream_readable.js:269:11)
at Socket.Readable.push (_stream_readable.js:224:10)
at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:145:17) TypeError [ERR_INVALID_ARG_TYPE]: The "offset" argument must be of type number. Received type undefined
at Buffer.readIntLE (internal/buffer.js:235:11)
at Object.decodeUInt64 [as decode] (C:\Users\leoch\Documents\krpc-node-master\lib\decoders.js:67:19)
at decodeObject (C:\Users\leoch\Documents\krpc-node-master\lib\client.js:476:21)
at decode (C:\Users\leoch\Documents\krpc-node-master\lib\client.js:429:16)
at decodeCollection (C:\Users\leoch\Documents\krpc-node-master\lib\client.js:452:32)
at decode (C:\Users\leoch\Documents\krpc-node-master\lib\client.js:423:16)
at C:\Users\leoch\Documents\krpc-node-master\lib\client.js:394:24
at Array.map ()
at onMessage (C:\Users\leoch\Documents\krpc-node-master\lib\client.js:388:41)
at WebSocket.client.rpc.socket.onmessage (C:\Users\leoch\Documents\krpc-node-master\lib\client.js:278:9)
at WebSocket.onMessage (C:\Users\leoch\Documents\krpc-node-master\node_modules\ws\lib\event-target.js:120:16)
at WebSocket.emit (events.js:197:13)
at Receiver._receiver.onmessage (C:\Users\leoch\Documents\krpc-node-master\node_modules\ws\lib\websocket.js:137:47)
at Receiver.dataMessage (C:\Users\leoch\Documents\krpc-node-master\node_modules\ws\lib\receiver.js:397:14)
at Receiver.getData (C:\Users\leoch\Documents\krpc-node-master\node_modules\ws\lib\receiver.js:347:12)
at Receiver.startLoop (C:\Users\leoch\Documents\krpc-node-master\node_modules\ws\lib\receiver.js:143:16)
at Receiver.add (C:\Users\leoch\Documents\krpc-node-master\node_modules\ws\lib\receiver.js:117:10)
at Socket.emit (events.js:197:13)
at addChunk (_stream_readable.js:288:12)
at readableAddChunk (_stream_readable.js:269:11)
at Socket.Readable.push (_stream_readable.js:224:10)
at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:145:17)
C:\Users\leoch\Documents\krpc-node-master\test\init.js:13
throw err;
^
TypeError [ERR_INVALID_ARG_TYPE]: The "offset" argument must be of type number. Received type undefined
at Buffer.readIntLE (internal/buffer.js:235:11)
at Object.decodeUInt64 [as decode] (C:\Users\leoch\Documents\krpc-node-master\lib\decoders.js:67:19)
at decodeObject (C:\Users\leoch\Documents\krpc-node-master\lib\client.js:476:21)
at decode (C:\Users\leoch\Documents\krpc-node-master\lib\client.js:429:16)
at decodeCollection (C:\Users\leoch\Documents\krpc-node-master\lib\client.js:452:32)
at decode (C:\Users\leoch\Documents\krpc-node-master\lib\client.js:423:16)
at C:\Users\leoch\Documents\krpc-node-master\lib\client.js:394:24
at Array.map ()
at onMessage (C:\Users\leoch\Documents\krpc-node-master\lib\client.js:388:41)
at WebSocket.client.rpc.socket.onmessage (C:\Users\leoch\Documents\krpc-node-master\lib\client.js:278:9)
at WebSocket.onMessage (C:\Users\leoch\Documents\krpc-node-master\node_modules\ws\lib\event-target.js:120:16)
at WebSocket.emit (events.js:197:13)
at Receiver._receiver.onmessage (C:\Users\leoch\Documents\krpc-node-master\node_modules\ws\lib\websocket.js:137:47)
at Receiver.dataMessage (C:\Users\leoch\Documents\krpc-node-master\node_modules\ws\lib\receiver.js:397:14)
at Receiver.getData (C:\Users\leoch\Documents\krpc-node-master\node_modules\ws\lib\receiver.js:347:12)
at Receiver.startLoop (C:\Users\leoch\Documents\krpc-node-master\node_modules\ws\lib\receiver.js:143:16)
at Receiver.add (C:\Users\leoch\Documents\krpc-node-master\node_modules\ws\lib\receiver.js:117:10)
at Socket.emit (events.js:197:13)
at addChunk (_stream_readable.js:288:12)
at readableAddChunk (_stream_readable.js:269:11)
at Socket.Readable.push (_stream_readable.js:224:10)
at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:145:17)
npm ERR! Test failed.  See above for more details.`
This is really weird...

Ok, so I just did the test again, this time on my linux machine. Here it worked without issues. So it seems the problem only appears on Windows.

Have merged in #17 which should fix this and done a publish to npm. Going to close this issue now, please feel free to reopen if it isn't actually fixed.


Dynamic compose no longer seems to work with WebPack

We used to be able to do inline view resolution:
<compose view="./jobslist/${'jobslist_' + j.jobType}.html"></compose>

This no longer seems to work, with errors such as
Unhandled rejection Error: Unable to find module with ID: jobslist/jobslist_Data_Export.html

Tested in the skeleton.
If you refer to the view specifically it gets bundled, so it looks like the "smart" (but potentially wasteful) aspect of detecting dependencies based on wildcards has been lost.
<compose view="blah${1}.html"></compose>

Doesn't work
<compose view="blah1.html"></compose>
<compose view="blah${1}.html"></compose>

Works as blah1.html is detected as a dependency for the bundle

Read through this thread: https://github.com/jods4/aurelia-webpack-build/issues/28 to see approaches to dynamic <compose>

Yes, GlobDependenciesPlugin is a workaround, as is adding `if.bind="false"' to dummy compose statements at the top of the template.
The key point here is that the functionality has been changed, breaking backwards compatibility, and we need to decide if the original feature should be reintroduced or if this feature is to be documented as removed.
A webpack feature is to allow dynamic variables in context. From memory it requires the path of the item, appends any non-variable string prefix, and includes those dependencies in the bundle.
Sure, this can be inefficient, but so long as the developer is sensible it's possible for a template to be self-sufficient, and not have to pollute the main loader with template folder references.

Potentially partly addressed https://github.com/aurelia/templating/issues/548

Automatic bundling of data-bound <compose> doesn't work as before, indeed.
We might reconsider how it works if there is enough demand, but wildcard requires careful usage.
For instance, this is a common practice: <compose view.bind="dynamic-view"> yet we don't to automatically make every file in the solution a dependency of this view.
For now, my advice is to use one of 2 patterns (in order of preference):
1. Put the full module name in your model and bind it
From your example:
class Job {
  name: "blah",
  view: PLATFORM.moduleName("views/jobs/temp-work.html")
}

<compose view.bind="job.view">

Advantages:

Existence of modules (typos) is checked at build-time;
Dependencies are correctly traced (the view is in the same chunk as the class that needs it);
Modules are included/removed correctly as you add/remove classes;
All the code is in one place.

2. Use interpolation and GlobDependenciesPlugin
<compose view="views/jobs/${type}.html">

  // in webpack plugins
   new GlobDependenciesPlugin({ "view.html": "views/jobs/*.html" })

This works, albeit with all the opposite drawbacks of option 1:

Non-precise dependencies, you might sometimes get more (unrelated) files than you need;
Everything is together with the consuming view, no split possible;
No check of module ids at build-time, no check what is used or not;
The location of modules is duplicated between glob config and view interpolation;
Related "code" is spread far apart.

If you go with the 2nd option I strongly encourage you to use a good file organization. Like having a specific folder with all of those views (and only those).

Additional note: a variation of 1. is to keep your current interpolation but to add the dependency with a lonely PLATFORM.moduleName in the class file:
  // your model for <compose view="views/jobs/${type}.html">
  PLATFORM.module("views/jobs/temp.html");  // Plain string no-op. Should be removed by minifier.
  class Job {
    name: "blah";
    type: "temp";
  }

The key thing here is that we're essentially cheating by injecting a string to 'fool' the webpack loader into recognising the need to include a resource.
The build-time checking is the most important factor here. Webpack's use of dynamic resources essentially allows generation of incorrect code, so from that point of view it's messy and unwise, but of course it's currently possible for the dev to use a variable to point to an invalid view in a compose element, so it's a case of developer beware.
It's important to retain the idea that a component is self describing. A list of <compose if.bind='status=="temp"' view='jobs/temp.html'> essentially forces a dependency on the child templates, and ensures a strict ownership of them, but it's messy and unfriendly.
The idea of a 'lonely' inclusion is closer to ideal, but again we're using coding blocks as metadata for the bundler and/or other tooling. Also, that's adding definition of view data to the underlying class, whereas the view template itself should be the only place these are identified.
I suspect we should be sticking with the idea of <require from="jobs/test.html"></require> to state that a view may be required within this template, leaving only the question of whether or not you require the user do this:
<require from="jobs/open.html"></require>
<require from="jobs/closed.html"></require>
<require from="jobs/pending.html"></require>
<require from="jobs/errored.html"></require>
<require from="jobs/stopped.html"></require>
:
:

or simply
<require from="jobs/*"></require>

In either case, there is no compile time checking of <compose view="jobs/${status}"></compose>, so we're not introducing any additional risk over the existing situation; just less clutter and better encapsulation.
The only potential issue I can see with a wildcard on <require> is that the order of inclusion is indeterminable, but I'm not sure if that's important.

I'm closing this thread and pointing people to https://github.com/aurelia/templating/issues/548 as it's related to the use of dynamic context in templating.

<require> doesn't seem right to me. <require> is not meant to declare dependencies for build tools, it loads resources at runtime and makes them available to the view (custom elements or attributes, value converters, binding behaviours, css). In other words: it has side-effects.
Declaring dependencies in the view that contains <compose> seems backwards to me.
Consider:

What if you have 50+ job types? Are you happy with 50 dependency lines in your view?
What if you have several views displaying your jobs with <compose>? Are you going to repeat those dependencies in each one of them?
When you add a new job type, is the developer always going to think about updating the dependencies in all views that use them?
Do you feel that refactoring is safe and easy? No left behind when removing a job, no accidental change of a job type without noticing its impact on a view template?
The fact that job types actually have matching view files can't be statically checked at build-time.
What if one of your template is very large, e.g. because it includes a big 3rd party component? You can't split that view into a separate chunk so that it's only loaded if/when it is actually displayed.
You can't add a new job type by modifying a single code file.
What if you feel the need to change the location of some of your views and the general interpolation pattern is not working anymore?

All of those points are non-issues if you put the view location next to the job type in a code file, as I suggested in point 1.
I feel like using interpolation to locate views in <compose> is great for small applications or quick demos. But in that case, you should use includeAll. It's even simpler than moduleName.
If you are building and maintaining a complex, large application having proper view locations as string next to your job types is the way to go, IMHO.

@jods4 The idea of includeAll is fine for application global features, but dynamic compose belongs in the view realm, where UI designers roam, and they don't fiddle with main.js.
When my UI guy decides to customise my toast component, he doesn't expect to have to ask me to modify main.js to point to /components/toaster/templates/*.html just so he can separate the toast types into files, he expects to simply add a compose statement that automatically resolves (as it used to).
Now I'm not wild on that, as it's a little too relaxed and open to typo (or data) related errors, but I'd like to see a localised info based solution, not a global configuration setting.
The <require> tag is effectively used to declare dependencies in templates, not load them, so perhaps we need to know what any side-effects might be. If they are unsurpassable we may need a new tag or a convention for template child-dependencies.

What if you have 50+ job types? Are you happy with 50 dependency lines in your view?

How else do you strongly associate dependencies with a view?

What if you have several views displaying your jobs with ? Are you going to repeat those dependencies in each one of them?

Probably not, because repeated use suggests the compose should be a component or standalone template

When you add a new job type, is the developer always going to think about updating the dependencies in all views that use them?

This applies to many aspects of templates already. The question is whether the UI designer would understand how to add that job type template

Do you feel that refactoring is safe and easy? No left behind when removing a job, no accidental change of a job type without noticing its impact on a view template?

(x) This is probably not specific to this issue. As soon as someone uses dynamic compose they're doomed anyway, as resolution is performed at runtime only, be it code inclusion or template

The fact that job types actually have matching view files can't be statically checked at build-time.

See (x)

What if one of your template is very large, e.g. because it includes a big 3rd party component? You can't split that view into a separate chunk so that it's only loaded if/when it is actually displayed.

If the dependency is in a view in ChunkB, won't webpack loader associate it with the chunk that view is in?

You can't add a new job type by modifying a single code file.

No, you have to add a template and tell the component that template exists

What if you feel the need to change the location of some of your views and the general interpolation pattern is not working anymore?

Are they relative or absolute locations? Refactor by moving the base component will break if it's defined in main.js

All of those points are non-issues if you put the view location next to the job type in a code file, as I suggested in point 1.

True, so we'll have to tell people they can't use dynamic compose on HTML only templates?

The idea of includeAll is fine for application global features [...]

I wrote: "great for small applications or quick demos" so I guess we agree.
For serious stuff I recommend option 1 above.

How else do you strongly associate dependencies with a view?

You have the wrong mindset. Don't associate with the view.
All the points I've listed above are solved if you associate with the model that actually introduce them, as described in point 1 above.

This is probably not specific to this issue. As soon as someone uses dynamic compose they're doomed anyway, as resolution is performed at runtime only, be it code inclusion or template

Not if you put the full path in the model.

Unused model won't pull views into your bundle.
Incorrect ids, missing or moved views are detected at build time.

Dynamic compose !== Interpolation.
If you use interpolation, yes you're doomed.

If the dependency is in a view in ChunkB, won't webpack loader associate it with the chunk that view is in?

If you use moduleName in the model you can do whatever chunking you want and only load the view when it's actually used.

No, you have to add a template and tell the component that template exists

Well of course you have to add the template, but you if you go with option 1 you don't have to tell the component that it exists.

True, so we'll have to tell people they can't use dynamic compose on HTML only templates?

Yes they can.
You don't put the dependency in the template ViewModel, that makes no sense.
You put it in the class that exposes the property you bind to. Where the module name naturally occurs.
You can use whatever approach you like to manage your dependencies, but it's by far the better in my opinion.
Because I'm not sure I've been clear, let me put a short example together:
/// toys.js
class BoringToy {
  color: "gray";
  view: PLATFORM.moduleName("views/boring-toy.html")
}

class ShinyToy {
  color: "rainbow";
  view: PLATFORM.moduleName("views/shiny-toy.html");
}

export class CatalogViewModel {
  toys: [ new BoringToy(), new ShinyToy() ]
}

<template>

don't buy this

Color: ${color}

</template>

<template>
  <marquee>Shiny toy is shiny!</marquee>

Color: ${color}

</template>

// catalog.html
<template>

      <compose view.bind="toy.view"></compose>

</template>

Dynamic compose !== Interpolation

I don't think there really any difference here. Your example is suggesting developers must create a class for every possible eNum value in a base class property, and while this is sensible (but can be lots of work) I think it's more of a workaround than a recommended best practise.

You put it in the class that exposes the property you bind to. Where the module name naturally occurs.

The issue here is that a common use of dynamic composition is where an API returns information with a property such as a status flag. The are no 'Open', 'Closed', 'Suspended' objects, simply an array of ToastItem objects each with a status. Your example requires the developer receive an array of toys from their API then generate a new object to represent each in an array.
A typical example of dynamic compose might be this "Toaster" component:

      <compose view="component/toast-${toast.typename}.html"></compose>

Hence the toast-Error.html template simply contains
<template>

${toast.message}

</template>

Of  course we could add a list of moduleName calls with every possible typename to the ToastItem class, but that data is only required by the Toaster display component. If I have a CompactToaster component it will have its own child templates, so do I add those to the ToastItem class too?
Nope, I'd add those to the CompactToaster, which is simply an HTML template... but I can't unless I add them in a <require> :)
In your example we'd need three objects with only a static view property, each subclassed from ToastItem, then refer to
<template>

      <compose view.bind="toys[toy.type].view"></compose>

</template>

Given that the expression will only be evaluated at runtime, we're essentially back to interpolation, and we might as well have said
      <compose view.bind="${toy.type}.html"></compose>

This is why I'm not convinced "option 1" is appropriate for addressing this type of common situation, but I'm open to suggestions.
Please bear in mind that this issue is a breaking change, not a request for a new feature, as the code above worked until the new loader was released.  We need to be sure the suggested replacement applies to all the scenarios the previous did, and suggesting big code changes to existing data structures probably won't be popular.

OK I assumed that you had various kinds of items in your app model.
So you get your items as JSON from a web service. This means that the module names do not occur naturally in your client side code.
Here's how I would tackle that.
Observe that you have a dependency between your server-side code (an enum maybe), or possibly even data in your back-end store, and the names of html files in your front-end. Not cool.
In this situation, I would probably create a value converter to map your server values to client views. Something like:
// Optional types, could be somewhere else, generated from server or not used at all. Your choice.
type ToastType = "question" | "info" | "warning" | "error";

interface Toast {
  typename: ToastType;
}

// Mandatory part
const map: { [key: ToastType]: string } = {
  "question": PLATFORM.moduleName("component/toast-question.html"),
  "error": PLATFORM.moduleName("component/toast-error.html"),
};

export class ToastViewConverter {
  toView(toast: ToastType) {
    return toast.typename in map ?
      map[toast.typename] :
      PLATFORM.moduleName("component/toast-default.html");
  }
}

Then in your view:
<compose view.bind="toast | toastView"></compose>

What is great about this?

I have build-time validation that my view names are correct;
I have easily added a default view;
In fact, I could extend the logic to choose the view based on any criteria like an int enum (more compact), or use more than one field;
I have the mapping alone in a single file. This is clean, documented and easy to change should we refactor the server code, the mapping or the views;
I can code-split large views;
At my company we generate types like those above directly from our server-side code. That means an extra layer of safety in case someone renames error to critical (client-side would not compile anymore).

The cost?
You have to make the map explicit: list the values from the server and list the matching views.
I think being explicit is good and that the benefits outweigh the costs.
But if you don't want to write out that mapping and feel that interpolation is much better, then you're free to go with GlobDependenciesPlugin.
Add this to your Webpack config:
plugins: [
  new GlobDependenciesPlugin({
    // our view templates for the server-side toast types
    "view.html": "component/toast-*.html"
  }
]

At least that is an indication that something not cool is going on in the application -- and it just works.

Please bear in mind that this issue is a breaking change, not a request for a new feature, as the code above worked until the new loader was released. We need to be sure the suggested replacement applies to all the scenarios the previous did, and suggesting big code changes to existing data structures probably won't be popular.

The new Webpack system is full of breaking changes, that's why it's a major version bump (we follow semver).
includeAll was meant as an easy upgrade and you can later do changes to your code to reap the benefits of precise dependencies.
Somehow Webpack needs to know about your code dependencies. Today you have 3 different options to do that, including 2 that don't require more than build configuration: no change in your code. So I think we got the upgrade path covered.
For large-scale projects I believe you should go with the 3rd option even if it requires more structure but that's just me. Feel free to differ.
The only thing I think we could take out of this is a suggestion to support interpolation in <compose>.
This was discussed very early on during development and here's my take on this:

It's dangerous and can lead to inclusion of much more than you should;
It encourage patterns that don't scale up -- and for small apps you can go with includeAll;
There are better alternatives (moduleName demonstrated above);
There are explicit work-arounds and explicit is good (GlobDependenciesPlugin);
Interpolation in <compose> is not very common;
It adds complexity to the plugin (someone has to do it... PR are welcome I guess).

Of course if there are enough people in the community that think otherwise, it's always possible to add this feature. There's nothing blocking it.

Your explanation is so awesome, @jods4, that it should definitely land in our official docs/wiki.

I plan to, it's in my notes... just can't get to do it. :(


Add Twig (PHP templating engine) to language support

I'd love to benefit from this extension in Twig files too 🙌

Thanks for the PR!! I can hopefully get to this over the weekend 😃


Add support for GoRename

A useful tool to have would be GoRename which offers refactoring support. From my testing and good Google results, I think it may be robust enough to add as a command to GoTools.
[enhancement]

Although this won't be super-pretty until they support JSON output


modify conda_env_to_track the setup file

Motivation
Small changes to make the conda environment file make_env.yml track the setup file and therefore minimal-requirements.txt.
How to test the behavior?
Follow the installation instructions for conda in the readme and that should provide an environment with the minimal installation.
Checklist

[x] Have you checked our Contributing document?
[x] Have you ensured the PR description clearly describes the problem and solutions?
[x] Have you checked to ensure that there aren't other open or previously closed Pull Requests for the same change?
[x] If this PR fixes an issue, is the first line of the PR description fix #XXX where XXX is the issue number?

@h-mayorquin Cool, anything else to add?

@CodyCBakerPhD
No, that should be all. Quick and easy : D


SMITE

Game Title
SMITE
Game Website
No response
Anti-Cheat Software
Easy Anti-Cheat
Status of the Anti-Cheat
⭐ Supported
Proof of Mention
https://steamdb.info/depot/386361/history/

Fixed in https://github.com/Starz0r/AreWeAntiCheatYet/commit/8f56d5aeea55247e926f6d145addbc92101e7f2a

I think it may have been a bit premature to mark the game as supported.
Yes the files in the link were added to the game, however it does not appear that EAC is actually running properly.
The logs are exactly the same as they were before and there is no proton compatible  EAC  module in the prefix as there would be if everything was working properly.
Below is the entire  loader.log
[2022.02.03-20.05.15] Loader initialized.
[2022.02.03-20.05.15] [EAC Callback] Code 914. Message: ''.

This is the entire  gamelauncher.log a bit longer but still not showing much
[Info] Desktop screen settings detected. DPI: 96 DPI Multiplier: 1.000000 BPP: 32.
[Info] Localization loaded for: 'en-US'.
[Info] Settings file path: 'EasyAntiCheat/Launcher/Settings.json'.
[Info] Start. ExecutablePath: 'Win32\Smite.exe' LaunchParameters: '-pid=017 -steam -anon  -seekfreeloadingpcconsole -eac_dir ..\\EasyAntiCheat\\' WorkingDirectory: ''.
[Info] [LauncherFinished] EACAsyncResult: 0 Message: 'Easy Anti-Cheat successfully loaded in-game'.
[Info] Finished window initialization.
[Info] Unloading the EasyAntiCheat library.
[Info] Destroying windows.
[Info] Exit.

That does not look to me like EAC is properly being downloaded and running and as I already state, there is no proton EAC module in the prefix and that is exactly what the logs looked like months ago when EAC was known to no be working
My guess is that Hi-Rez is considering adding proton support as they have added the files to the game however by all appearances it does not look like they have turned that compatibility on despite added the needed files to the game, quite possibly they are testing it internally but I would suspect that when or if EAC support is turned there will be some kind of announcement.
It would appear that just a link showing that files were added to the steamdb is not sufficient enough proof that EAC is supported.
(just as an aside this site still shows smite as unsupported:  https://aclist.github.io/  )


Frontend issues with parentheses in the search bar

What is the current behavior?
Typing in parentheses or brackets in the search bar can cause a blank page to appear.
Steps to reproduce the problem:

Search using the search bar, for any expression that returns some results in the dataset.
After the results have returned, modify the contents of the search bar, and type in any one of the following characters: ][)(

Environment:

OS: macOS
Web browser: Chrome / Safari

After disabling regular expressions by default, this issue doesn't exist anymore. However, a different issue should be created to propose a solution to add the functionality to let the user specify that the search input in the search bar is a regular expression.
@yannisk2 @shnarch do you think that we still want to support regular expressions? If so, we could add an icon/checkbox near the search bar.

We could potencially follow Visual Studio Code IDE's approach. See following image.

@martinscooper As far as I can tell the frontend issue is still there. It is not an issue with regular expressions but with the use of parentheses in search (and is most likely related to the highlighting of search results)

regarding bringing back regular expressions - I'm in favor! I really needed today the ability to type a more complicated search query: e.g., NUMBER + specific_word, or word1 [any size of text in between] word2.
I was thinking about adding a checkbox near the search box to enable regular expressions (like in Notepad++ or similar text editors). I also like the Visual Studio Code IDE's approach @martinscooper proposed. Do you think it is harder to understand than a single checkbox?

Getting back to this issue to see how this can be fixed. I agree with @arielge that it seems related to the highlighting of results. In particular, based on preliminary testing, it seems to get resolved if at https://github.com/label-sleuth/label-sleuth/blob/598e26a5f7851aad38b692955d30bde512390c57/frontend/src/modules/Workplace/sidebar/Element.jsx#L116 we switch the value of autoEscape to true.
@martinscooper could you please take a deeper look when you get a chance?

@yannisk2 Thanks for your suggestion. Indeed, setting autoEscape to true solves the issue.
We will have to change its dinamically once we let the user activate the regex search in the future.
I will merge the change and close the issue in a moment.


[Feature idea] Allow exporting individual tokens as otpauth:// URI

It is now possible to copy an individual secret for each token but then, one would need to separately copy other params. It would be great to be able to copy a string encapsulating all of such details per https://github.com/google/google-authenticator/wiki/Key-Uri-Format. Tools like Bitwarden accept this format natively: https://bitwarden.com/help/authenticator-keys/#support-for-more-parameters.

I have added function to share token to Google authenticator or other apps https://github.com/helloworld1/FreeOTPPlus/commit/5b8e4eab57594f0a47837324592b6919a499af82


Migrate current Reponsible discls

Instructions
Please migrate the current Responsible Disclosure to Flow's parent domain (onflow.org)
Issue To Be Solved

A more suitable location for the responsible disclosure to live in
Enable SEO so that Security Researchers/Reporters can easily google the page without having to search for the page in the website

cc @10thfloor

Content was migrated.


Adapt ContactsPermission to iOS 18

After iOS 18, a new status limited was added to CNAuthorizationStatus - ‘This application is authorized to access some contact data.’ In the limited status, I tried using CNContactStore to fetch contact data, and it successfully retrieved the corresponding data selected by the user. Therefore, I believe this status should be treated as authorized.

You are right and thanks!


Bump up rk-entry version to v2.2.11

Codecov Report

Merging #35 (6d93759) into master (0320a8b) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #35   +/-   ##
=======================================
  Coverage   89.95%   89.95%
=======================================
  Files          18       18
  Lines         836      836
=======================================
  Hits          752      752
  Misses         65       65
  Partials       19       19

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Cannot Screenshot Dialog

Hi, I have alert dialog that was created by using AlertDialogBuilder.create() method.
When the dialog is shown on the screen, I shake and the screenshot only covers the layer behind the dialog, without capturing the dialog.

This is a known limitation of the library. Dialogs are presented in separate Windows and are not technically part of the Activity being captured.
Some solutions to this problem exist, but with their own tradeoffs:

https://developer.android.com/reference/android/app/UiAutomation.html#takeScreenshot() (minSdk 18, can be flaky, not sure if this handles MapViews or not)
https://github.com/jraska/Falcon (uses reflection to identify all windows, then loops through them and composites the results, but probably doesn't include dimming effects?)

I currently do not have the time or interest to explore these alternatives; however, if you would like to fork BugShaker and experiment with them yourself, you are welcome to! All of the existing screenshot-capturing code lives in this package: https://github.com/stkent/bugshaker-android/tree/8ff33357268c151782ec934f4e5502609756d7cd/bugshaker/src/main/java/com/github/stkent/bugshaker/flow/email/screenshot.


[OPPRO-319]add one_step_veloxbackend.sh document.

What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)

Is it possible to call one step script in GHA ci? So the script can be covered by our daily testing.
Although it's off-topic so we can raise another PR for that if OK.

Is it possible to call one step script in GHA ci? So the script can be covered by our daily testing.
Although it's off-topic so we can raise another PR for that if OK.

OK,  I can do this, In fact, jenkens nightly test use one_step_veloxbackend.sh now.


Revamp the About Us Page for Better User Engagement

🚀 Pull Request
Description
Hello Sumit !!
First of all Thank you once for assigning me this task!
I’m excited to share that I have completed the work I was assigned with.
~~ What does this PR do?
This PR enhances the "About Us" page by integrating its content directly on the homepage. It replaces the static, text-heavy design with a more engaging and visually appealing format, including the addition of a video for better user interaction with a clear understanding of the website's objectives.
~~ Why is this PR needed?
The current "About Us" page feels disconnected and overwhelming due to the excessive amount of text and large, unengaging images. This leads to user disengagement, as most visitors are likely to skip reading the entire page. By integrating the content on the homepage, we can capture users' attention more effectively and ensure they understand the website’s purpose quickly.
~~ How does this PR address the issue?
The PR makes the content more concise by reducing the text and presenting it in a more visually appealing way, with the addition of a video. This creates a seamless user experience where visitors can grasp the website’s objectives without needing to navigate to a separate page. The result is a more dynamic, integrated homepage that better retains user interest.
Fixes # (issue)
Type of Change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

Screenshot of final output/video
373542794-545909e1-be22-421b-b63d-bbaa6fdde8c8.webm

@07sumit1002 Hey I resolved the merge conflict please review it once again.
Thankyou for your understanding

@07sumit1002 would be great if you add label and level for gssoc and hacktoberfest

Please try to check the UI on your own before creating the PR

What will happen to about us page?

As i have already mentioned in the issue the previous"About Us" page feels disconnected, it includes more information than necessary, the large images make it appear boring, leading to disengagement.
Users find it boring and often do not read through the extensive text.
Instead of having a separate "About Us" page, we integrate this content directly on the homepage. Added a video which can enhance engagement while reducing the amount of text to make it more digestible. This approach will provide users with a quick and engaging overview of the website's purpose.

@07sumit1002 bro labels are not updates yet??

@snehhhcodes Is it fine now

@snehhhcodes Is it fine now

label is not fine sumit it should be like level2 without any space

oke lol tho now gssoc-ext label is incorrect it should be small not in caps like (gssoc-ext)

@07sumit1002  oke lol tho now gssoc-ext label is incorrect it should be small not in caps like (gssoc-ext)

@07sumit1002 please correct the gssoc ext label it should be in small letter (gssoc-ext) not like GSSOC-EXT
it is not counting in leaderboard

@snehhhcodes can you check if now the labels are fine?


$app variable does not exist

Hi,
In this snippet of code for checking roles, you use a variable called $app which does not exist and is not present anywhere else.
function canEditArticle(\Delight\Auth\Auth $auth) {
    return $auth->hasAnyRole(
        \Delight\Auth\Role::MODERATOR,
        \Delight\Auth\Role::SUPER_MODERATOR,
        \Delight\Auth\Role::ADMIN,
        \Delight\Auth\Role::SUPER_ADMIN
    );
}

// ...

if (canEditArticle($app->auth())) {
    // the user can edit articles here
}

// ...

if (canEditArticle($app->auth())) {
    // ... and here
}

// ...

if (canEditArticle($app->auth())) {
    // ... and here
}

In addition to that, when I run the following code below, I get this error: Call to undefined method Delight\Auth\Auth::hasRole()
if ($auth->hasRole(\Delight\Auth\Role::SUPER_MODERATOR))  {
    //Do something
 }

I've followed all of the instructions and have the register, login, logout, and verification functions working.

Thanks for your feedback!
The usage of $app->auth() instead of $auth for the variable that holds this library’s instance was certainly a mistake. Good catch, thank you! This has now been fixed in the README: https://github.com/delight-im/PHP-Auth/commit/cbf2b52f295263fb7eaccd6646b212ce7283d3b8
Regarding the error that you’re seeing, its message claims that the class Auth does not contain any method named hasRole – but it does. So could you please check which version of this library you are using? You can look this up in your composer.lock (or, less precise, but still possible, in your composer.json) or via the $ composer show command.

I have v3.1 installed. I just tried using $auth and I'm still getting the same error back as far as hasRole not being a defined method.
Thanks in advance!

Thanks for checking the version. That version is also the cause for your problem:
As you can see in the “Releases” section or on Packagist, v3.1 is quite an old version from August 2016. We’re currently at v8.0.2. So you’d need to upgrade to get the latest features.
There’s an upgrade guide for every transition between major versions in Migration.md. Obviously, your upgrade path involves several such major version upgrades.


new install issue

It looks like the new firebase setup broke at least the digitalocean install...
from these instructions: https://apostello.readthedocs.io/en/latest/deploy_do.html
when doing this step:
./home/apostello/apostello-install/scripts/ansible_install.sh
I get this error:
fatal: [<IP_ADDRESS>]: FAILED! => {"changed": false, "failed": true, "msg": "AnsibleUndefinedVariable: 'cm_server_key' is undefined"}
I then attempted to follow the ansible instructions and I found a config file that had those values set in /home/apostello/apostello-install/ansible/env_vars/example.yml which appears to have resolved the issue

I thought I had it after the above, but still having an issue with default digital ocean install:

BTW, this is all with V2.5.1

Just for kicks I also fired up a Herokuapp.  Installed and got to first_run without any issues, however still having show stopping issue on the csrftoken, identical error to above.

Thanks for the detailed report! It will be a few days before I can get round to fixing it...

Thanks again @losto - the error messages were very helpful.
The digital ocean install should be fixed now (by monty5811/apostello-do-install@3e6bca1208da8449ce27bb24a9d5e582c35ba90f). And the CSRF issue should also be resolved for both deployment methods in v2.5.3
I have just tested both methods and they are working. Please let me know if you run into any other issues. And thanks again for the detailed bug report.


writeContractDepositUnsafe

Use the portal to allow for msg.sender = msg.sender on L2, with exception of sending from contracts.

Do not add IMO. Nobody should use this use the cross chain messenger instead