WebGL backend hands off kernel execution to CPU if inputs are small and on the CPU

This PR addresses https://github.com/tensorflow/tfjs/issues/826
Changes

Added a shouldExecuteOnCPU method to the MathBackendWebGL that checks whether inputs are on the CPU and within a size threshold
Singled out certain ops (stridedSlice, slice, concat, min, max, subtract, multiply, greater, less) for passing kernel execution to the CPU if conditions are met. These are the ops that get called most frequently in COCO SSD with tiny inputs.

This PR is not productionized (no tests or environment flag) - I wasn't sure whether we wanted to just experiment with the approach first.
COCO SSD benchmark
MacBook Pro
on master: 277ms
on webgl_cpu_handoff: 184ms (+50.5%)
Linux workstation
on master: 372ms
on webgl_cpu_handoff: 191ms (+95%)
iPhone 8 - iOS11
on master: 1170ms
on webgl_cpu_handoff: 976ms (+20%)
These are prediction times across 20 runs.
Note
I think there's a better way to write this so we don't have to repeat the checking logic in so many places. If we just create an array of kernel names we want to apply this treatment to, then we could loop through them and forward to the CPU using arguments. And if we could get a list of all the kernels then we could apply the treatment across the webGL backend. But it might require some TypeScript overrides...

For repository owners only:
Please remember to apply all applicable tags to your pull request.
Tags: FEATURE, BREAKING, BUG, PERF, DEV, DOC, SECURITY
For more info see: https://github.com/tensorflow/tfjs/blob/master/DEVELOPMENT.md

This change is

@pyu10055 I thought about this even more, and I actually believe we won't be able to move this out of the WebGL backend code, even if we do some smart backend allocation down the road (which I still think we should, though it's lower priority because there isn't a concrete use-case).
The WebGL-backend knows more information than we can ever pass up to the engine, namely where the data actually is stored physically -- the tensor data can be in the WebGL backend, but on the CPU as a Float32Array or the GPU as a WebGLTexture. The actual physical location is not available outside the backend because that complexity is hidden by the WebGL backend. For example, we wouldn't want the engine to know about paging logic which can move data between the CPU and the GPU within the WebGL backend.

@pyu10055 I thought about this even more, and I actually believe we won't be able to move this out of the WebGL backend code, even if we do some smart backend allocation down the road (which I still think we should, though it's lower priority because there isn't a concrete use-case).
The WebGL-backend knows more information than we can ever pass up to the engine, namely where the data actually is stored physically -- the tensor data can be in the WebGL backend, but on the CPU as a Float32Array or the GPU as a WebGLTexture. The actual physical location is not available outside the backend because that complexity is hidden by the WebGL backend. For example, we wouldn't want the engine to know about paging logic which can move data between the CPU and the GPU within the WebGL backend, but the WebGL backend should be able to make decisions about where to run operations that depend on how paging logic has moved data around.

I agree what you said that WebGL has more detail information about location of the tensors, but it does not conflict with the decision to give up the execution of the op. The engine does not need to know the details, it just need to push the execution to the next available backend.
The coupling makes more sense to me if the cpu backend is a child of webgl backend and hidden from the engine. Since we have the new syntax of run on a specific backend now, this type of forwarding can be surprising if the user specifically want to run the op on a particular backend.

I think we can move forward with this change.


chore: use discord-typings pypi package

This PR updates pyproject.toml to use the discord-typings PyPi package.
Stalled until next release of discord-typings. Stalls PyPi release of v0.1.0.

Closing as stale.


Support V2 Triggered and Orchestrated topics

This PR was successfully deployed to production by CircleCI build 154 at 2017-01-31 15:24 GMT.


Javascript intellisense and ctrl + click navigation is not working for JavaScript Object annotation with module.exports

VSCode Version: 1.12
OS Version: MacOS sierra 10.12.5

Steps to Reproduce:

Create a first.js Javascript file with following code:

// In this file create an object p with two properties "hello" and "world". and export the object using module.exports like following code.i.e. one property with direct assignment and another is added after main object is created.
let p = {
    "world":"world"
};
p.hello = "hello";
module.exports = p;

In the second file, import the first.js file.

but intellisense is not showing "hello" property. I am able to see the "world" property in intellisense menu. Following code is attached.
const first = require("./first");

//Able to see world property in intellisense menu.
console.log(first.world);

//Not able to see hello property in intellisense menu.
console.log(first.hello);

Same issue is with Javascript functions as well.

Also while clicking on the "world" property in the second file, it can navigate to first file. But it is not working with "hello" property.

Reproduces without extensions: Yes

yes i m also facing the same issue while navigating.
Kindly fix this issue.

hi
i am using windows 7 OS and facing the same issue

Duplicate of https://github.com/Microsoft/TypeScript/issues/10868


Memoization destorys semchunk.chunk()'s signature

Memoization is destorying semchunk.chunk()'s signature as described in this issue. A fix is to run:
def chunk(text: str, chunk_size: int, token_counter: callable, memoize: bool=True, _recursion_depth: int = 0) -> list[str]:
    ...

chunk = functools.wraps(chunk)(functools.cache(chunk))

Instead of:
@functools.cache
def chunk(text: str, chunk_size: int, token_counter: callable, memoize: bool=True, _recursion_depth: int = 0) -> list[str]:
    ...

This bug has been fixed in v0.2.3.


Please don't include internal header files of bluedroid of esp-idf

Hi, @nkolban ,
There's a minor thing should be corrected.
find . -name "*.cpp" |xargs grep -nr "\<gatt_api.h\>"
/cpp_utils/BLEServer.cpp:21:#include <gatt_api.h>
It should include esp_gatts_api.h or esp_gattc_api.h
Due to I cleanup the component.mk of esp-idf/component/bt/(the MR is ready in our internal GIT server, still not merged), the internal header files of bluedroid will be invisible to application. Application should only include the header files which prefix is esp_.
Could you modify this to use esp_xxx APIs?

No problem my friend.  We'll change it ASAP.

I just tried installing and testing the ESP32 BLE Arduino library and am getting error: fatal error: gatt_api.h: No such file or directory
I assume this is related to this issue?
Any ideas?

Yes, update library. gatt_api.h header name has been changed a long time ago to esp_gatt_api.h.

OK. The problem that just lost me some hours today is that the Arduino IDE Library Manager is only showing and installing up to version 0.4.7.   Also the Git Repo 'Releases' section is only up to 0.4.7. (https://github.com/nkolban/ESP32_BLE_Arduino/releases)
Whereas the current master of the library is at version 1.0.1.
https://github.com/nkolban/ESP32_BLE_Arduino/blob/master/library.properties#L2
I will get the Zip from Github.


Bootstrap CSP compatibility - adding a custom navbar toggler icon

_Originally posted by @mjgs in https://github.com/twbs/bootstrap/issues/25394#issuecomment-443697450

No need to make a new issue, though.


Add a codeowners file to automate the code review process

When you’re dealing with dozens, hundreds, or more repositories and engineers, it’s nearly impossible to know who owns which parts of the codebase and need to review your changes.
Even in smaller teams you’d still have code owners – for example, front-end code changes should be reviewed by the Front-End Engineer.
Use Code Owners feature to define which teams and people are automatically selected as reviewers for the repository.
You can use a CODEOWNERS file to define individuals or teams that are responsible for code in a repository.
about code owners
Is there already something similar setup?
What do you think?

CODEOWNERS file was already inplace. An updated version is available in a PR. #2111


Add mabl

Adds the following events or companies:

mabl

Checklist

[x] I have updated the event or company counts
[x] I have put the most recent relevant date in the "Last Update" column
[ ] I have linked to the article about the change, not the company's website

Hi there! We recently re-worked the site to use yaml data files. We'd be happy to accept your PR once it's been reworked to use the right format.
Thanks!

Underlying repo changed fundamentally between submission and PR review.


demo using semantic HTML5 elements

@zurbrandon As promised, here is that demo I mentioned. What do you think? I can take out all the Simpsons stuff if it's not welcome.

Closing this as per https://github.com/zurb/foundation-sites/pull/9487#issuecomment-306000181

@paxperscientiam just for some reason if you needed that giddy.html file
Here it is
<!doctype html>

  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <title>Foundation for Sites Testing</title>
  <link href="../assets/css/foundation.css" rel="stylesheet" />

The Simpsons

    Last Exit to Springfield

     Dental Plan! Lisa needs braces. Dental Plan! Lisa needs braces. Dental Plan! Lisa needs braces. Dental Plan! Lisa needs braces. Dental Plan! Lisa needs braces. Dental Plan! Lisa needs braces. Dental Plan! Lisa needs braces. Dental Plan! Lisa needs braces. Dental Plan! Lisa needs braces. Dental Plan! Lisa needs braces. Dental Plan! Lisa needs braces. Dental Plan! Lisa needs braces.

    <q>I'd like to cash in these chips.

     Give me most of it in cash

     and the rest in suitcases to carry the cash.</q>

   FOOTER


Allure report treats passed Mocha beforeAll and afterAll hooks as passed tests

I am building a ta-framework using
--<EMAIL_ADDRESS>--<EMAIL_ADDRESS>`--<EMAIL_ADDRESS>My framework has around 20 spec files, most of which make use of mocha's beforeAll and afterAll hooks to do setup and cleanup.
My Allure report (generated by jenkins) sees these hooks as actual tests, reporting them as such. This causes allure to report almost 40 extra tests, which messes up my report
I also found a variation to this behaviour: if a spec file contains one or more skipped tests, the beforeAll method will show up as skipped also. This could have something to do with the freshly fixed bug that causes only 1 skipped test to be shown, but I am not sure.
For reference, the images below are allure report and wdio spec report for the same test run.

Could the wdio allure reporter be adjusted so that beforeAll and AfterAll hooks are not shown anymore when passing? (a failing hook is a different story, the default mocha way of handling these could use some improvement too)

@MartijnThiele
create sample project on github to help me reproduce these issue

@BorisOsipov
created a sample project here:
Thanks for taking the time to look into this.
Please let me know if there are any questions

@MartijnThiele thank you. I will have look into it

yes, it is a bug.

I suspected as much. Anything you can fix?

I think we can disable\enable reporting hooks at all with configuration option.

Anything you can fix?
I am not sure. I don't have plans to support this version much.
Recently I port this to v5 and will continue adding fixes\improvements only for v5

Pity, can you point me towards this configuration option? I am not sure what you mean by this.

I mean if you want to make PR to fix this bug, I suppose the best solution is to create a new option to disable reporting hooks at all.

OK, thanks for the info. That would sound like a good solution.  I'm afraid I am not experienced enough to solve something like this myself, but I will have a go and see what I can do.

Hello guys! Is this issue fixed? I'm experiencing the same issue. Hooks "before all" and other are marked as test cases and including to the total number of tests.

Can this be ported?
https://github.com/allure-framework/allure-js/commit/cbbb4491d4d4c8a81b58aed1d28210d4d0cfb75d

Can this be ported?

Feel free to provide a PR

It is fixed in v5

unfortunately still stuck on v4 for a while longer thanks for the updat @BorisOsipov

still stuck on v4 for a while longer

Why is that? It is really not much work to update.

v4 is wrapped up in our own tooling suite in a way that requires more work than anticipated to move but, that was based on beta v5 last time we looked.  Going to start the move / assessment again.
thanks @christian-bromann

It is fixed in v5

@BorisOsipov I use v5 and still have this issue
"devDependencies": {
    "@wdio/allure-reporter": "^5.12.1",
    "webdriverio": "^5.12.5"
  }

My report:

fix @qwez relesed in v5.13.0

I am using 5.16.11, still having this wired unknown status for hooks.


Which tool you used to draw this architecture diagram shown in readme

Hi @damikun
May I know which tool you used to draw this architecture diagram shown in readme?

Hi,  I used no tools for this just plain vector editor You need to build it from scratch.. But than you have all flexibility to edit anytime.. It take more time but once you have drive it is maybe faster as using tools...


Set HMAT_GIT_VERSION=OFF

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Switch the relationship ends for Asset and SchemaType in method saveA…

…ssociatedSchemaType
Signed-off-by: Graham Wallis<EMAIL_ADDRESS>

Fixes #3214


Update build.sh

Those aren't comments but actually calls to the build_grub and build_qemu functions declared earlier which I intentionally commented out.
Take build.sh as some guidelines to build the project, not as an out-of-the-box working solution. Of course, I'll change it in the future, but it's not my priority for now.


revise and update README

Pull Request Test Coverage Report for Build 882910213

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 90.295%

Totals

Change from base Build 875674016:
0.0%

Covered Lines:
345

Relevant Lines:
379

💛  - Coveralls


JVM warnings running Netty 4.0.52 on Java 9

Expected behavior
No warnings from the JVM.
Actual behavior
The following warnings get written to STDERR when launching an application using Netty 4.0.52:
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by io.netty.util.internal.ReflectionUtil (file:/home/user/.m2/repository/io/netty/netty-common/4.0.52.Final/netty-common-4.0.52.Final.jar) to constructor java.nio.DirectByteBuffer(long,int)
WARNING: Please consider reporting this to the maintainers of io.netty.util.internal.ReflectionUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

Steps to reproduce
Run a Netty 4.0.52 application on Java 9.
Minimal yet complete reproducer code (or URL to code)
https://github.com/ctron/milo-ece2017/blob/master/client-examples/src/main/java/de/dentrassi/ece2017/milo/step01/Connect.java
Netty version
4.0.52.Final
JVM version (e.g. java -version)
openjdk version "9"
OpenJDK Runtime Environment (build 9+181)
OpenJDK 64-Bit Server VM (build 9+181, mixed mode)
OS version (e.g. uname -a)
Linux hostname 3.10.0-693.2.2.el7.x86_64 #1 SMP Sat Sep 9 03:55:24 EDT 2017 x86_64 x86_64 x86_64 GNU/Linux

Duplicate of https://github.com/netty/netty/issues/7254

Closing as duplicate...


fix: missing file extension in downloaded font

The downloaded font is sometimes saved without extension to the file system.
webfontDownload([
  'https://fonts.googleapis.com/css2?family=Roboto:wght@700&display=swap&text=Sign in with Google',
]),

Thanks @bopazyn!
Released with v3.9.3.


Add new lint: trait_method_unsafe_removed

Adds the lint described in #606.

So far so good! Let me know if you have any questions.

I'm still pretty new to Trustfall, so I mostly just copied #608 making modifications where necessary. Would you be able to look over the query and see if there's anything wrong or that could otherwise be improved?

Would you be able to look over the query and see if there's anything wrong or that could otherwise be improved?

It was great, no notes!
Might you be interested in getting some more practice with Trustfall? There are more opportunities for writing lints (Trustfall query language practice), as well as more opportunities to expose data in the Trustfall schema which is a way to get familiarized with the rest of Trustfall's APIs.


Rework build process

New process allows:

Separate dev and prod webpack build configurations
Minification (to degrees)
Chunking of vendor code (for now, just one big chunk)
Worker loading that is compatible with chunking
Deployment script that captures git hash of Confluence and FOAM2 in version

Codecov Report

Merging #151 into master will decrease coverage by 0.03%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master     #151      +/-   ##
==========================================
- Coverage   60.63%   60.59%   -0.04%
==========================================
  Files          35       35
  Lines        1773     1774       +1
  Branches      135      135
==========================================
  Hits         1075     1075
- Misses        698      699       +1

Impacted Files
Coverage Δ

lib/client/api_service.es6.js
33.33% <0%> (-1.05%)
:arrow_down:

Continue to review full report at Codecov.

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


Failed to madvise

Describe the bug
I'm receiving an error like this
{"level":"error","ts":1699304853.5940816,"caller":"process/allocate.go:75","msg":"Failed to madvise","pid":138,"error":"Malformed version: 5....
after it attaches to the running process.
Environment

Kubernetes 1.25
Go Version: 1.20
Version: autoinstrumentation-go:v0.7.0-alpha

To Reproduce

Inject autoinstrumentation-go:v0.7.0-alpha as a sidecar
Check the container logs
See error just after it attaches to the running process

Expected behavior
Start successfully sending metrics, traces.
Additional context
Sidecar container definition
        - name: autoinstrumentation-go
          image: >-
            ghcr.io/open-telemetry/opentelemetry-go-instrumentation/autoinstrumentation-go:v0.7.0-alpha
          imagePullPolicy: IfNotPresent
          securityContext:
            runAsUser: 0
            privileged: true
            capabilities:
              add:
                - SYS_PTRACE
          env:
            - name: OTEL_SERVICE_NAME
              value: "<MY_SERVICE>"
            - name: OTEL_GO_AUTO_TARGET_EXE
              value: "<PATH_TO_SERVICE_BINARY>"
            - name: OTEL_EXPORTER_OTLP_ENDPOINT
              value: http://<COLLECTOR_ENDPOINT>:4318
            - name: OTEL_EXPORTER_OTLP_PROTOCOL
              value: http/protobuf
            - name: OTEL_LOG_LEVEL
              value: error

Logs:
{"level":"info","ts":1699303610.5771084,"caller":"cli/main.go:36","msg":"building OpenTelemetry Go instrumentation ..."}
{"level":"info","ts":1699303612.57775,"caller":"process/discover.go:57","msg":"found process","pid":138}
{"level":"info","ts":1699303612.5778592,"caller":"opentelemetry/controller.go:101","msg":"Establishing connection to OTLP receiver ..."}
{"level":"info","ts":1699303612.5884514,"caller":"binary/binary.go:27","msg":"found relevant function for instrumentation","function":"net/http.(*Client).do","start":2617280,"returns":[2617787,2620205,2620295,2620732,2620930,2621020,2621308,2621403,2621493]}
{"level":"info","ts":1699303612.5885556,"caller":"binary/binary.go:27","msg":"found relevant function for instrumentation","function":"net/http.HandlerFunc.ServeHTTP","start":2925536,"returns":[2925582]}
{"level":"info","ts":1699303612.5888944,"caller":"binary/binary.go:27","msg":"found relevant function for instrumentation","function":"google.golang.org/grpc/internal/transport.(*loopyWriter).headerHandler","start":5571456,"returns":[5571765,5571804,5571829,5571863,5572024,5572370]}
{"level":"info","ts":1699303612.589109,"caller":"binary/binary.go:27","msg":"found relevant function for instrumentation","function":"google.golang.org/grpc/internal/transport.(*http2Client).NewStream","start":5620640,"returns":[5620992,5622087,5622189,5622319,5622427,5623030,5623139]}
{"level":"info","ts":1699303612.589913,"caller":"binary/binary.go:27","msg":"found relevant function for instrumentation","function":"google.golang.org/grpc/internal/transport.(*http2Server).operateHeaders","start":5658272,"returns":[5658799,5665209,5665508,5665724,5665856,5665912,5665999,5666671,5667546]}
{"level":"info","ts":1699303612.590001,"caller":"binary/binary.go:27","msg":"found relevant function for instrumentation","function":"google.golang.org/grpc.(*ClientConn).Invoke","start":6034016,"returns":[6034541,6034599]}
{"level":"info","ts":1699303612.5902107,"caller":"binary/binary.go:27","msg":"found relevant function for instrumentation","function":"google.golang.org/grpc.(*Server).handleStream","start":6112704,"returns":[6113795,6115065,6115117,6115182,6115247]}
{"level":"info","ts":1699303612.5905566,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":1082}
{"level":"info","ts":1699303612.5905952,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":138}
{"level":"info","ts":1699303612.5906215,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":159}
{"level":"info","ts":1699303612.5906472,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":160}
{"level":"info","ts":1699303612.5906763,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":161}
{"level":"info","ts":1699303612.590702,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":162}
{"level":"info","ts":1699303612.590729,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":163}
{"level":"info","ts":1699303612.5907557,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":164}
{"level":"info","ts":1699303612.590785,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":165}
{"level":"info","ts":1699303612.5908139,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":166}
{"level":"info","ts":1699303612.5908465,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":167}
{"level":"info","ts":1699303612.5908728,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":168}
{"level":"info","ts":1699303612.5908942,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":169}
{"level":"info","ts":1699303612.5909195,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":170}
{"level":"info","ts":1699303612.5909455,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":171}
{"level":"info","ts":1699303612.590972,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":206}
{"level":"info","ts":1699303612.5910025,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":207}
{"level":"info","ts":1699303612.5910325,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":225}
{"level":"info","ts":1699303612.5910604,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":226}
{"level":"info","ts":1699303612.5910926,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":227}
{"level":"info","ts":1699303612.5911188,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":245}
{"level":"info","ts":1699303612.5911465,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":246}
{"level":"info","ts":1699303612.5911727,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":247}
{"level":"info","ts":1699303612.5912108,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":266}
{"level":"info","ts":1699303612.591237,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":267}
{"level":"info","ts":1699303612.5912673,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":268}
{"level":"info","ts":1699303612.591298,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":287}
{"level":"info","ts":1699303612.5913262,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":303}
{"level":"info","ts":1699303612.5913532,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":354}
{"level":"info","ts":1699303612.5916862,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":452}
{"level":"info","ts":1699303612.5917253,"caller":"ptrace/ptrace_linux.go:132","msg":"attach successfully","tid":688}
{"level":"error","ts":1699303612.5922253,"caller":"process/allocate.go:75","msg":"Failed to madvise","pid":138,"error":"Malformed version: 5.15.134\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","errorVerbose":"Malformed version: 5.15.134\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ngo.opentelemetry.io/auto/internal/pkg/process/ptrace.(*TracedProgram).Madvise\n\t/app/internal/pkg/process/ptrace/ptrace_linux.go:229\ngo.opentelemetry.io/auto/internal/pkg/process.remoteAllocate\n\t/app/internal/pkg/process/allocate.go:73\ngo.opentelemetry.io/auto/internal/pkg/process.Allocate\n\t/app/internal/pkg/process/allocate.go:35\ngo.opentelemetry.io/auto.NewInstrumentation\n\t/app/instrumentation.go:94\nmain.main\n\t/app/cli/main.go:37\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:250\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1598","stacktrace":"go.opentelemetry.io/auto/internal/pkg/process.remoteAllocate\n\t/app/internal/pkg/process/allocate.go:75\ngo.opentelemetry.io/auto/internal/pkg/process.Allocate\n\t/app/internal/pkg/process/allocate.go:35\ngo.opentelemetry.io/auto.NewInstrumentation\n\t/app/instrumentation.go:94\nmain.main\n\t/app/cli/main.go:37\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:250"}

https://github.com/open-telemetry/opentelemetry-go-instrumentation/pull/390 should resolve this

#390 should resolve this

Indeed. I built a new image from the main branch and that issue is solved.


Allow making background transparent via gruvbox_transparent_bg

Resolves #78

hey @begss thanks for the PR. However, this repo is a lua version of the community one and it seems both community and the original version do not have that option so until they do so I will keep it that way for now. You can still manually change the ctermbg and guibg to get that result

Owner
 ** ellisonleao ** commented 7 days ago

Well, sadly, it simply doesn't work. It takes no effect if placed in config, probably because of async startup.


Need more detail on docker commands

This document literally spends more time explaining what a using statement and a .NET namespace are than explaining the docker commands. Surely if someone is working with docker they already know the language?
The following needs much more explanation:
> docker build -t dotnetapp-dev .
> docker run --rm dotnetapp-dev Hello from Docker

Where do I run this command from?
What exactly is a tag? Is this the name of my container? The name of an app? The name of the instance of my dev container?
Does this command create me a container?
Where does the container live?
What is the . referring to? The location of the Dockerfile?
What does rm mean? It sounds dangerous!

Anyway the point being this is meant to be about docker basics, and unfortunately I have way more questions now than when I started :-(

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

ID: 72ef1481-3b6f-30bf-330d-45400c0a349c
Version Independent ID: 03a156f7-b178-4d54-503d-26d229f89dcd
Content: Learn Docker Basics with .NET Core
Content Source: docs/core/docker/docker-basics-dotnet-core.md
Product: dotnet-core
GitHub Login: @JRAlexander
Microsoft Alias: johalex

ping @Thraka

The tutorial does assume some basic knowledge of docker and includes some references for further reading.

Where do I run this command from?

Open a terminal (e.g. cmd.exe on Windows) and cd into the directory where you ran the dotnet new console command.  Then run the docker commands from that directory.

What exactly is a tag? Is this the name of my container? The name of an app? The name of the instance of my dev container?

It's a friendly name you can attach to the Docker image that is built.  The image containers everything needed to run your app in a container.  You can add a version to the tag (default is "latest"), e.g. docker build -t dotnetapp-dev . produces an image called dotnetapp-dev:latest (run the docker images command to see this).  But you could also use a specific version tag, like docker build -t dotnetapp-dev:v1 . which would create an image called dotnetapp-dev:v1.  You can add additional tags to the same image with the docker tag command.
Does this command create me a container?

No, docker build creates a Docker image.  docker run creates a container.  You can create many containers from the same image, similar to how you can spin up many VMs from the same VM image template.
Where does the container live?

The container runs on your local machine and is managed via the Docker engine (e.g. Docker Desktop).  You can see running containers by typing docker ps.  If the container exits, as in the case of the "hello world" app, then you can type docker ps -a to see exited containers (which can be removed manually with docker rm).  However, the example used  docker run --rm which automatically removes the container when it exists (i.e. when the hello world program terminates).
What is the . referring to? The location of the Dockerfile?

Yes.  If the Dockerfile was called something else, e.g. Dockerfile.dev then you need to also use the -f flag to specify the custom filename.
What does rm mean? It sounds dangerous!

As described above, it means "Automatically remove the container when it exists".  Otherwise, you need to clean up exited containers manually.  Exited/stopped containers take up some disk space.  A quick way to clean up all exited or stopped containers is with docker container prune.

I just published an update to this article which should show up sometime today. Please let me know if it helps. I rewrote everything with a less focus on the app and more focus on docker.


pysatSpaceWeather Updates

Description
Partially Addresses #3  by adding and adjusting templates based on pysatSpaceWeather
Type of change

New feature (non-breaking change which adds functionality)

How Has This Been Tested?
Not tested
Test Configuration:

Operating system: OS X Big Sur
Version number: Python 3.9
Any details about your local setup that are relevant

Checklist:

[x] Make sure you are merging into the develop (not main) branch
[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
[ ] 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
[ ] Add a note to CHANGELOG.md, summarizing the changes

If this is a release PR, replace the first item of the above checklist with the release
checklist on the wiki: https://github.com/pysat/pysat/wiki/Checklist-for-Release

@jklenzing feel free to rebase to main and/or delete develop.

OK.  dropped develop for the time being.


Modernize builder UI with Panel 1.x compatibility

Various updates to ensure the Builder UI renders correctly with Panel 1.x

Codecov Report
Attention: 17 lines in your changes are missing coverage. Please review.

Comparison is base (ce5a303) 69.37% compared to head (f51a140) 69.63%.
Report is 3 commits behind head on main.

Files
Patch %
Lines

lumen/ui/base.py
21.42%
11 Missing :warning:

lumen/ui/sources.py
14.28%
6 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #518      +/-   ##
==========================================
+ Coverage   69.37%   69.63%   +0.25%
==========================================
  Files          79       80       +1
  Lines        9192     9276      +84
==========================================
+ Hits         6377     6459      +82
- Misses       2815     2817       +2

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


Uninstalled on Update

Every time it auto updates, It automatically uninstalls itself without even notifying.
When i close terminus, It asks for elevated permission, Which i think would be inorder to update itself.
But as i restart my machine next day. Terminus shortcut is gone, And i cant find the program anywhere on my machine.
I'm using Avast antivirus. I don't know if that could be causing it? But i haven't seen avast do that with any other program.

I've gotten this three times already, every since I've started using terminus

This happened to me again yesterday evening, now I have to come download it again


Implement Display trait & unify TryFrom implementations

Hi.
First, thanks for this crate.
Now.

I think its necessary the NonEmptyString::to_string method. Because is usefull, and is weird not implement this method in a String wrapper.
The TryFrom implementations are uncongruent. I think this more congruent

impl TryFrom<String> for NonEmptyString {
    type Error = String;
   ...
}

impl<'s> TryFrom<&'s str> for NonEmptyString {
    type Error = &'s str;
   ...
}

that
impl TryFrom<String> for NonEmptyString {
    type Error = String;
   ...
}

impl<'s> TryFrom<&'s str> for NonEmptyString {
    type Error = ();
   ...
}

For the tests, I'm trying to simplify the code 🦀

Thanks for the contribution!


Сolor palette doesn't appear in case the side menu is not minimized

Related issue https://github.com/cuba-platform/emailtemplate-addon/issues/31

The following cases are reproduced for the email-template-addon with not minimized side menu and small screens.

Color palette is cropped on the left and the scroll bar can be moved only to the righ.

Bottom scroll bar does not appear in case color palette is called from the sub-section.

Tested on
CUBA Platform version: 7.2.15
CUBA Studio plugin version: 15.6-211
GrapesJs v.0.5.3
IntelliJ version: IntelliJ IDEA 2021.2.1 (Ultimate Edition)


fix(test): added E2E tests for new clusters

Please do not merge until accompanying user accounts are created - thx!

I am ok to merge this and let tests pass when they do, is there any other reason to hold these back ?

The user accounts on which these test jobs depend are not yet approved. Once they are approved - this PR can be merged and the tests can run. Thx!

Note - the configuration of jobs on the 1b cluster were intentionally removed from this pull request to not interfere with other tests running this week. We will add them back in later.

I think that this pull request can now be merged - thanks!

I am ok to merge this and let tests pass when they do, is there any other reason to hold these back ?

That must have been a cut and paste error - thank you KB for seeing that!

Please merge after May 2 - so that the E2E tests will run on the new clusters. Thx!

@ldimaggi please confirm once this is good to go in

Hi KB - the user accounts have been provisioned and verified to be usable today.
The @2E smoke test was failing earlier int he week due to a Chrome beta issue which was resolved today by using the new chrome stable.
We are good to go - yes - please merge - thanks!


Indicate which instructions that Windows Server OS should use for SMB/NFS

Despite the fact that these instructions are listed under Azure Stack HCI, they overlap with AKS on Windows Server.
This tab should probably indicate 22H2 and Windows Server (same for the NFS and uninstall tabs below this):

Alternatively, update the Windows Server docs with matching information:
https://learn.microsoft.com/en-us/azure/aks/hybrid/persistent-volume

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

ID: 687119fa-7670-bddc-8e08-171bf89b1fc1
Version Independent ID: 284f2797-f3ec-fa8c-3a23-188988c77d66
Content: Use Container Storage Interface (CSI) file drivers in AKS enabled by Azure Arc - AKS hybrid
Content Source: AKS-Hybrid/container-storage-interface-files.md
Service: azure-stack
Sub-service: aks-hci
GitHub Login: @sethmanheim
Microsoft Alias: sethm

Hi @eponerine, thanks for reaching out. We added an "applies to" banner at the top of the article that indicates it's supported on 22H2, AKS on Windows Server, and AKS on Azure Stack HCI 23H2.

@sethmanheim - yes, I saw that:

The problem is that Azure Stack HCI and Windows Server are two completely different operating systems with vastly different methods to install and configure AKS Hybrid, let alone the CSI drivers.
The top APPLIES TO stuff is a good start, but the PowerShell code example tabs also need to reflect what OS they are applicable for.


[Batch] Upgrade api-version to v2023-11-01

Related command
az batch
Description

Upgrade the Batch data plane to 14.1.0
Upgrade the Batch management plane to 17.2.0
Add --resource-tags support to pool add
Add SecurityProfile support to VirtualMachineConfiguration on pool add

This includes support for --security-type, --encryption-at-host, --secure-boot-enabled, and --v-tpm-enabled

Add OSDisk support to VirtualMachineConfiguration on pool add

This includes support for --caching, --disk-size-gb, --write-accelerator-enabled, and --storage-account-type

Testing Guide
History Notes
[Batch] az batch pool create:

Add new parameter --resource-tags to support specifying resource tags for the pool. Any resource created for the pool will then also be tagged by the same resource tags.
Add new parameters 'security-type, --encryption-at-host, --secure-boot-enabled, and --v-tpm-enabled to support Trusted Launch Security Type for VMs/VMSS deployments.
Add new parameters '--caching, --disk-size-gb, --write-accelerator-enabled, and --storage-account-type to support Batch Node Agent temp disk-less SKUs

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

Batch

Could you please resolve these CI issues? https://github.com/Azure/azure-cli/pull/28315#issuecomment-1931435825

Please note that we are launching the release for this sprint this week. Please resolve all comments by tomorrow, otherwise the release of this PR will have to be postponed to the next sprint (on 04-02)


New blockhash argument for lbrycrd RPC commands

@kaykurokawa commented on Wed Oct 24 2018
There will now be an optional new blockhash argument for the below lbrycrd RPC commands once this PR is merged https://github.com/lbryio/lbrycrd/pull/189 :
getvalueforname
getclaimsforname
getclaimsintrie
getclaimtrie
getnameproof
This solves the problem where lbryumx must make multiple calls to lbrycrd with the assumption that lbrycrd is maintaining a consistent claimtrie state. However, lbrycrd may have incremented the block in the mean time, making this assumption false. By passing the same blockhash as an argument to these functions, consistent claimtrie state can be maintained.

spv server now uses its own database, this ticket is no longer valid.


Add update_without_password to Devise

Hi,
I've read the following wiki : https://github.com/plataformatec/devise/wiki/How-To:-Allow-users-to-edit-their-password-

For obvious security reason, a user CANNOT modify his password when signed in

However, the use of the method :update_attributes on a resource will allow anyone to pass over such restrictions, when signed in.
resource.update_attributes :password => 'password', :password_confirmation => 'password'
 => true
resource.valid_password? 'password'
 => true

So, I've started trying to fix this issue by doing the following stuff :

  def update_attributes_with_password(params={})
    if !params[:password].nil?
      update_with_password(params)
    else
      update_attributes_without_password(params)
    end
  end
  alias_method_chain :update_attributes, :password

  # Update record attributes when :current_password matches, otherwise returns
  # error on :current_password. It also automatically rejects :password and
  # :password_confirmation if they are blank.
  def update_with_password(params={})
    current_password = params.delete(:current_password)

    #if params[:password].blank?
    #  params.delete(:password)
    #  params.delete(:password_confirmation) if params[:password_confirmation].blank?
    #end

    result = if valid_password?(current_password)
      update_attributes_without_password(params)
    else
      self.attributes = params
      self.valid?
      self.errors.add(:current_password, current_password.blank? ? :blank : :invalid)
      false
    end

    clean_up_passwords
    result
  end

I'm not yet a senior on Ror and I just start playing with Devise (a great work btw, thanks) so feel free to comment or improve it in a more appropriate manner.

update_without_password not work yet


Document unreadable when adding HTML to Header or Footer

In this example i add HTML to a Header, body and Footer. Only the one in the body is shown.
template file:
https://filebin.net/ixb8zs4j5i1e0xvk
Tested using the HTML example from the examples
const template = fs.readFileSync('test.docx');
const buffer = await createReport({
template,
cmdDelimiter: ['{', '}'],
});
fs.writeFileSync('final.docx', buffer);

Are you sure that's supposed to be possible? HTML in the header of the image sounds pretty high-end. Maybe you can find something about that here http://officeopenxml.com/anatomyofOOXML.php
Note that this library is limited to the possibilities of the .docx file format and its interpreters (MS Word and the like).

Thanks for replying, I was looking for a way to give some customization options programmatically by inserting some HTML and CSS from an application, but it does look more of a hack that anything else, but I gave it a shot.  The library is amazing as it is ofc and i appreciate all your work :)
Thanks for the link, I'll take a look


throws exception when not locked

in locker.rb
unless opts[:retry_sleep]
            locked_until = Mongoid::Locker::Wrapper.locked_until(self)
            retry_sleep = locked_until - Time.now
end

but locked_until can (and does) return nil if not locked. So locked_until - Time.now throws error.
Sorry, no patch as I'm not that familiar with mongo + locker

Looks like this issue has been fixed. https://github.com/mongoid/mongoid-locker/blob/master/lib/mongoid/locker.rb#L140

Closing.


Document visitrc file in Animations->Scripting part of GUI manual

The GUI manual does describe the cli a tad...http://visitsphinxusermanual.readthedocs.io/en/latest/Animation/Scripting.html?highlight=cli#commandwindow In that section, might make sense to describe visitrc file... lives in ~/.visit/visitrc has commands that will be executed when Options->cli...is started
-----------------------REDMINE MIGRATION-----------------------
This ticket was migrated from Redmine. As such, not all
information was able to be captured in the transition. Below is
a complete record of the original redmine ticket.
Ticket number: 3110
Status: Pending
Project: VisIt
Tracker: Docs
Priority: Normal
Subject: Document visitrc file in Animations->Scripting part of GUI manual
Assigned to: -
Category: -
Target version: 3.0
Author: Mark Miller
Start: 05/16/2018
Due date:
% Done: 0%
Estimated time:
Created: 05/16/2018 03:34 pm
Updated: 05/29/2018 06:46 pm
Likelihood: 3 - Occasional
Severity: 2 - Minor Irritation
Found in version: 2.12.3
Impact:
Expected Use:
OS:
Support Group: Any
Description:
The GUI manual does describe the cli a tad...http://visitsphinxusermanual.readthedocs.io/en/latest/Animation/Scripting.html?highlight=cli#commandwindow In that section, might make sense to describe visitrc file... lives in ~/.visit/visitrc has commands that will be executed when Options->cli...is started
Comments:

Resolved in #4369


re-arranging tabs on MacOS

This may be related to #1870
According to #82 and 538b5c4c it should be possible to rearrange tabs, but on terminus vv1.0.97 on MacOS v10.14.6 attempting to drag a tab drags the whole window instead

Due to Electron limitations on macOS, you have to drag them by their number tag


[C++] power_checked incorrectly returns NaN

Describe the bug, including details regarding any error messages, version, and platform.
>>> a = pa.array([-117], type=pa.int8())
>>> b = pa.array([7], type=pa.decimal128(38,18))
>>> pa.compute.power_checked(a, b)
<pyarrow.lib.DoubleArray object at 0x000001F398AF9F00>
[
  nan
]
>>>

I would expect this to return -300124211606973, not NaN. If B is re-scaled, then it returns correct result:
>>> b = pa.array([7], type=pa.decimal128(3,2))
>>> pa.compute.power_checked(a, b)
<pyarrow.lib.DoubleArray object at 0x000001F398AF8DC0>
[
  -3.00124211606973e+14
]
>>>

Component(s)
Python

It was due to an inaccurate cast from decimal to float.
>>> b = pa.array([7], type=pa.decimal128(38,18))
>>> pc.cast(b, pa.float64())
<pyarrow.lib.DoubleArray object at 0x7fbb78518d00>
[
  7.000000000000001
]

Powering a negative number to a non-integer number results in NaN.
The casting issue is solved by #35997, so this error won't happen any more starting from release 13.0.

Thanks for checking, do you know when release 13.0 will be available?

Would coming soon, 13.0.0 code freeze seems done yet, I guess it could be release about this month

Thanks for checking, do you know when release 13.0 will be available?
Actually, I was wrong. The PR I mentioned solves Float->Decimal, not Decimal->Float in your case. This is another issue #35942 which hasn't been resolved yet. I'll take a look at this issue today.

@rohanjain101 Hi, this was fixed in #36667, but will unfortunately only be available since pyarrow 14, which should be released in a few months. If you need this fix now, you can use the nightly pyarrow package.


Redo Architecture Samples / apptop

Issue moved from GCCode: https://gccode.ssc-spc.gc.ca/iitb-dgiit/nw-ws/sgdc-cdts/issues/113
@StdGit created this issue
Write a single file for samples / apptop with variables and perhaps for GcWeb/GcIntranet (Or standardize call)
For French/english perhaps we can use json file or i18n
Doc Should be embedded in sample.

@shawnthompson commented:
Move this to document repo

@MaximMartel Could you confirm this issue is still valid for version 4.0.39 ? Thanks.

Ce billet est toujours approprié
Issue is still relevant


Added and translated into Brazil of the Portuguese session of the URL helper

Added and translated into Brazil of the Portuguese session of the URL helper.
Lets rock!

Thank you! Unfortunately, I don't know Portugalian to ensure that there are no spelling mistakes :)
We are always trying to get at least one review of a PR, therefore @gugoan may I ask you to check the spelling, please?

ok @SilverFire i have translater outhers files in the components boostrap, gii, etc.... I'm live from Brazil and português BR is my language default.
I checked it after PU submit. But a second review of a Brazilian is always good.

@janfrs ou @davidsonalencar  podem revisar isto?

Merged, thank you


Slow down if rate limited

Sometimes the API gives an HTTP 429 Too Many Requests error even with the rate limiters in place. On receiving such an error, it would probably be best to take some kind of action for the crawler as a whole and delay. Otherwise, the IP address might get temporarily locked out.

Quitting works for now. This could be handled with the Docker restart policy as much as anything and doesn't need to be an application level concern.


User authentication "code" param missing

I found that some of the users sometimes when logging in the application through OAuth 2.0 and getting successful authentication result don't receive "code" param in resulting url. Would you be so kind to check or may be explain when this may happen and how to avoid it?
Thanks

Do you mean that the user is redirected from authorization page, but the code isn't there? Can you reproduce it or it happens randomly? Might be worth re-checking your redirect url whitelist.

Exactly. The user redirected back to application, but the code isn't there. Unfortunately I didn't manage to reproduce this myself, I get this kind of errors through crash reports service occasionally. As the app is the same and mostly work I think it's not something with the whitelist.

I've also got the following message when returning from authorization:
error=access_denied&error_description=The+resource+owner+or+authorization+server+denied+the+request
The callback URL is specified in white list and is correct.

That actually explains everything. It means user clicked "Deny" on the authorization page. You can handle it by showing an appropriate message in the app

Thanks! Hopes this is the only problem. I'll close for now, unless I get error without message.


Device Info - Status

Status indicator has stopped functioning.  Make sure it is updated when the device responds to requests or receives packets.

Fixed.


fix(charts): reference registry-proxy on <IP_ADDRESS>

On some providers, "localhost" is not set up on the host network. explicitly calling the loopback
address fixes this.
See https://github.com/deis/workflow/issues/678

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@bdb5acd).

Continue to review full report at Codecov.

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

Tested by editing controller and builder deployments with this change.  Deploying a Dockerfile-based app (and using local registry) now works.


Add new Action.ToggleVisibility action type and isVisible property on all elements

This will not be merged until the associated issue is reviewed and approved.

@dclaux,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Various fixups related to submission status

[x] remove the status from the top of teh Submission Details page.
[ ] In place of status, add a conditional display for "Notice: Manuscript expected" when source=other, submitted=false
[ ] Fix the logic on "Complete" to make sure all Repository Copy statuses are complete
[ ] Make that Submissions table display defensive for empty records

I'm not sure including the Manuscript expected at the top is strictly necessary, as the separate Repositories section will also have the Manuscript expected status where relevant


add docker-compose file for turtl

i added a docker-compose.yml file which every one can use on top of your build :) thx do provide a docker image

Hi,
Thanks for the contribution.
Actually i did it in another way.

Having this repo for the automated-build of the image
Contributed to rancher catalog with docker-compose infos (https://github.com/rancher/community-catalog/tree/master/templates/turtl/0)

You may want to check it out because it uses a data-volume to keep your data safer and maybe a better option to you.
If not i will will be please to merge your PR too.

Hey @fredleger,
i looked into rancher and it looks really nice but a litte to complex for a private admin how is not running rancher already. And i guess for the community it is easy to do only a docker-compose up -d command.
What do you think?
Servus

Hey,
I think there was a missunderstanding here.
My point was not to say that you should use rancher (which is a great product anyway) but that the docker-compose.yml file i did provide in rancher repos (which can be used strait without rancher) is making use of data-volumes for the uploads and rethinkdb data, which is considered to be a better practice than bind mounts.
So i would be pleased to add a docker-compose but why not using data-volumes ?
Cheers
Frederic

Hey,
yes it was ^^ so now with volume container ^^

Perfect. merged !
Thanxs for this contribution.

Cool awesome :) thanks to you and keep your work up :)


Update resource-usage-monitoring.md

There's a minor typo at the start of the document, "to scale and application"

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
For 1.12 Features: set Milestone to 1.12 and Base Branch to release-1.12

If you're having trouble signing the CLA, or you have signed it and it's not
working correctly, see https://github.com/cncf/servicedesk for more info. You
can also contact #sig-contribex on Slack. Please reopen this PR when it is all
sorted out, as we cannot accept this code until the checks are working
correctly. Thanks!


Sending duplicate header

I have two methods in my interface:
[Get("/Session/GetId")]         Task<ApiInt> GetProfileId([Header("X-SecureCode")] string secureCode, [Header("X-SessionId")] string sessionId);
and
[Post("/Order")]         Task<ApiOrder> CreateOrder([Body]ApiOrder order, [Header("X-SessionId")] string sessionId);
that are called one after another (need the id to create the order).
However, I've noticed that when the second method is being run, the x-sessionid header is being sent over twice so when the API received it, it's coming as a comma separated list.
I've run this through fiddler and can see header coming over.
Is there something I should be doing in Refit to stop this happening?

Sounds like a bug - can you create a small repro project (or add a test)?

Also, totally unrelated but as of 2.2.0 you shouldn't need the ApiInt wrapper class anymore.

Ok, I've spent some time putting together something... (here: http://github.com/pierskarsenbarg/RefitTest)
However, (and annoyingly so) I can't reproduce the duplicated header.
It's not like it's coming through as two headers, the value is reproduced (so in my example, X-Header: foobar becomes X-Header: foobar, foobar
I had a look to see if there was anywhere that we were setting default headers and the only one is an accept header (setting it to application/json).

:+1: here. It only happens on my Android app. Exact same scenario, my session token header is being duplicated.
I'll dig into it and if I find anything relevant I'll update this post. I also have a couple of default headers (X-User-Agent, X-Locale) but it worked fine until... a couple of days ago! Suddenly it started duplicating the X-Token header!

Guys,
The problem is here:
        var s = value.ToString();
        request.Headers.TryAddWithoutValidation(name, s);

        if (request.Content != null) {
            request.Content.Headers.TryAddWithoutValidation(name, s);
        }

The header is being added twice only on POST calls, because request.Content is not null. Then, before the request is made, HttpClient joins the two headers into a single one, concatenated by a comma.
I don't know what triggered it since it started a couple of days ago. Before that, everything worked just fine, including POST requests.
The other question is: do we really need to add the header on both request.Headers and request.Content.Headers?

BTW, the above snippet is on RequestBuilderImplementation.cs, lines 154-159.

@bennor do you have any idea why this is happening? Apparently it doesn't affect everyone, for me it only happens on Android.

The reason we add to content headers as well is that some headers are content headers (and can't be added to the regular headers collection) and vice-versa.
My guess for what's happening here is that if the header isn't a known header (e.g. X-Locale), the framework doesn't know whether it's a content header or a regular header and will just add it to both collections.
I don't know of a clean way to check if a header is a known content header - there seems to be an internal static method in HttpContentHeaders (shown below), but I don't think we want to do get into calling that with reflection:
    internal static void AddKnownHeaders(HashSet<string> headerSet)
    {
      headerSet.Add("Allow");
      headerSet.Add("Content-Disposition");
      headerSet.Add("Content-Encoding");
      headerSet.Add("Content-Language");
      headerSet.Add("Content-Length");
      headerSet.Add("Content-Location");
      headerSet.Add("Content-MD5");
      headerSet.Add("Content-Range");
      headerSet.Add("Content-Type");
      headerSet.Add("Expires");
      headerSet.Add("Last-Modified");
    }

That leaves us with:

copying that into our own hashset and checking the header against it before adding to the headers collections; or
checking for headers that match @"(?i)X(-\w+)+" and not adding them to the content headers.

Which do you reckon we should go for @paulcbetts? I'm thinking the first is probably going to be more reliable.

I'm facing the exact same problem. Please fix it.

I have that issue too

Same here.

Same issue here.

Will fix this today or tomorrow.


Make tests more realistic

Previously, pumpWidget() would do a partial pump (it didn't trigger
Ticker callbacks or post-frame callbacks), and pump() would do a full
pump. This patch brings them closer together. It also makes runApp run a
full actual frame, rather than skipping the transient callback part of
the frame logic. Having "half-frames" in the system was confusing and
could lead to bugs where code expecting to run before the next layout
pass didn't because a "half-frame" ran first.
Also, make Tickers start ticking in the frame that they were started in,
if they were started during a frame. This means we no longer spin a
frame for t=0, we jump straight to the first actual frame.
Other changes in this patch:

rename WidgetsBinding._runApp to WidgetsBinding.attachRootWidget, so
that tests can use it to more accurately mock out runApp.

allow loadStructuredData to return synchronously.

make handleBeginFrame handle not being given a time stamp.

make DataPipeImageProvider.loadAsync protected (rather than private),
and document it. There wasn't really a reason for it to be private.

fix ImageConfiguration.toString.

introduce debugPrintBuildScope and debugPrintScheduleBuildForStacks,
which can help debug problems with widgets getting marked as dirty but
not cleaned.

make debugPrintRebuildDirtyWidgets say "Building" the first time and
"Rebuilding" the second, to make it clearer when a widget is first
created. This makes debugging widget lifecycle issues much easier.

make debugDumpApp more resilient.

debugPrintStack now takes a label that is printed before the stack.

improve the banner shown for debugPrintBeginFrameBanner.

various and sundry documentation fixes

cc @HansMuller for review. Sorry man.
fyi @abarth, this changes some pretty low-level assumptions of the framework, especially around bootstrapping.

I'm not going to claim to have understood every aspect of this but it LGTM.

LGTM.


Checker rst/rst2pseudoxml: errors without a line #

Stop a type of error failing silently; for example if a document
includes:
`Link text`__

but misses the corresponding:
.. __: http://www.example.org

then without this patch, syntastic shows no errors. rst2pseudoxml
produces output like:
file.txt:2: (ERROR/3) Anonymous hyperlink mismatch: 1 references but 0 targets.
See "backrefs" attribute for IDs.

This patch adds a pattern to 'errorformat' to catch this type of error
message that doesn't include a line number.

It isn't entirely clear whether this is the right solution or not.  Loclist items without line numbers are mostly useless, since they don't allow you to move to the corresponding point in the sources.  Syntastic doesn't handle them very well, either.  They should be reserved for things like fatal conditions, when you want to know about the problem but you can only do something about it outside Vim.  In this particular case I'd say this would be better addressed by fixing it in rst2pseudoxml.  But if you want error lines without line numbers, you can have them.  Commit c3882ef.

Thanks!


GDB on macOS does not launch

Issue Type: Bug
I am attempting to run GDB in the debugging tab in order to debug some C++ and Fortran combined programming. I have a launch.json file created that used to work with a previous version of VSCode on macOS, but after many months of updates from both VSCode and macOS, I can no longer get gdb to launch correctly when hitting the run button in the debug tab.
GDB works correctly with the same simple supplied options within a terminal. Screenshots are shown below for what VSCode gives as an error when attempting to launch gdb, and what GDB does when called from a terminal.


Spike Prime / Robot Inventor Integration

Integrate robot Spike Prime / Robot Inventor in the OpenRoberta Lab.

[x] Check robot capabilities
[x] Add code generation (Micro Python)
[x] Add configuration (differential drive)
[x] Add tests
[ ] Add background image
[ ] Add configuration image
[x] Add icon
[ ] Add wiki entries/help files
[x] Add program transfer possibilities in the Connector Program

forgotten issue linking 14c90adbb60498f270b1e3b0e6f060a723b629a4

link to LEGO couls not be supplied due to legal reasons. Works as expected.


Survey Card Options

ITS-Pro time category: https://its-pro.ucsd.edu/browse/MA-81
This is complete when a technical options are presented that will allow users to:

[ ] Take the survey once
[ ] Take the survey once a day, week, quarter, etc.
[ ] Take the survey multiple times throughout the day
[ ] This setting is configurable per survey

Here's a doc where I listed out some options for the survey card:
https://docs.google.com/document/d/1jM2GUS9ODyjgbgK47w4hYXYvuGLzdnH1bdpyIFVuo30/edit?usp=sharing
I'll keep adding as I think of some more!

@sramcode I've added my comments to the doc. Thank you.


Synthesis failed for ServiceDirectory

Hello! Autosynth couldn't regenerate ServiceDirectory. :broken_heart:
Please investigate and fix this issue within 5 business days.  While it remains broken,
this library cannot be updated with changes to the ServiceDirectory API, and the library grows
stale.
See https://github.com/googleapis/synthtool/blob/master/autosynth/TroubleShooting.md
for trouble shooting tips.
Here's the output from running synth.py:
2021-03-19 22:47:13,615 autosynth [INFO] > logs will be written to: /tmpfs/src/logs/ServiceDirectory
2021-03-19 22:47:14,126 autosynth [DEBUG] > Running: git config --global core.excludesfile /home/kbuilder/.autosynth-gitignore
2021-03-19 22:47:14,130 autosynth [DEBUG] > Running: git config user.name yoshi-automation
2021-03-19 22:47:14,135 autosynth [DEBUG] > Running: git config user.email<EMAIL_ADDRESS>2021-03-19 22:47:14,138 autosynth [DEBUG] > Running: git config push.default simple
2021-03-19 22:47:14,142 autosynth [DEBUG] > Running: git branch -f autosynth-ServiceDirectory
2021-03-19 22:47:14,146 autosynth [DEBUG] > Running: git checkout autosynth-ServiceDirectory
Switched to branch 'autosynth-ServiceDirectory'
2021-03-19 22:47:14,361 autosynth [DEBUG] > Running: git rev-parse --show-toplevel
2021-03-19 22:47:14,368 autosynth [DEBUG] > Running: git log -1 --pretty=%H
2021-03-19 22:47:14,372 autosynth [DEBUG] > Running: git remote get-url origin
2021-03-19 22:47:14,406 synthtool [ERROR] > Failed executing git checkout master:

error: Your local changes to the following files would be overwritten by checkout:
	google/cloud/dialogflow/v2/answer_record.proto
	google/cloud/dialogflow/v2/conversation.proto
	google/cloud/dialogflow/v2/conversation_profile.proto
	google/cloud/dialogflow/v2/participant.proto
Please commit your changes or stash them before you switch branches.
Aborting

Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 354, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 189, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 312, in _inner_main
    git_source.enumerate_versions(sources, pathlib.Path(temp_dir))
  File "/tmpfs/src/github/synthtool/autosynth/git_source.py", line 202, in enumerate_versions
    source_versions = enumerate_versions_for_source(git_source, temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/git_source.py", line 166, in enumerate_versions_for_source
    local_repo_dir = str(synthtool_git.clone(remote))
  File "/tmpfs/src/github/synthtool/synthtool/sources/git.py", line 85, in clone
    shell.run(["git", "checkout", "master"], cwd=str(dest), check=True)
  File "/tmpfs/src/github/synthtool/synthtool/shell.py", line 39, in run
    raise exc
  File "/tmpfs/src/github/synthtool/synthtool/shell.py", line 33, in run
    encoding="utf-8",
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 438, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['git', 'checkout', 'master']' returned non-zero exit status 1.

Google internal developers can see the full log here.

Autosynth passed, closing! :green_heart:


Test case: add additional collaborator and verify new members sign as well

Acceptance criteria

There is a testworld test covering this.

Fixed by https://github.com/centrifuge/go-centrifuge/pull/535


Updated documentation with information what has to be installed on CI VM

Added info about required steps needed in order to add IOS devices

This change is

THANK YOU!! Seriously... I know writing stuff like this (or more to the point, figuring out what needs to be written) is zero fun but some day it's going to save us all a ton of pain. So thank you!

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Use blob/HEAD instead of blob/master.

This fixes one currently broken link and will fix future cases if people rename their default branches.

Have a great life
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/github/opensource.guide/pull/1704#pullrequestreview-446211114,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANMSNUPYHZ4V3WXOQTB4WYDR23FJ5ANCNFSM4OVWW2SA
.


AFNetworking says “cannot parse response” while parsing json in IOS8

I am sending a request to server, which is handling the request and responsding. However on my app I am receiving:
Error Domain=NSURLErrorDomain Code=-1017 "cannot parse response" UserInfo=0x167668d0
{NSErrorFailingURLStringKey=https://_, _kCFStreamErrorCodeKey=-1,
NSErrorFailingURLKey=https://_/, NSLocalizedDescription=cannot
parse response, _kCFStreamErrorDomainKey=4, NSUnderlyingError=0x16731990 "cannot parse
response"
althought my respond is valid json.

Hello @huongnguyen166,
I've got a similar issue in my app. Sometimes the request is returning this error, other times, not. I checked server side and a response is correctly sent each time.
Could you tell me what was the issue in your case? It might be the same for me.
Thanks a lot!
Best,

We are seeing the same thing. Sending a GET request with a null request body. Server responds with valid JSON, but getting this code 1017

@nlepisto thanks!

In my case, I was using JSON parameter encoding. I changed it to URL parameter encoding and it is solved. Makes sense to me.

@smozgur where did you update the encoding?

@sao101 : when building the URLRequest variable. The ones that I am sending url parameters requires me to encode it URL encoding (collection types requires page URL parameter), the others requires JSON encoding. So I ended up using a switch then set encoding according to requests type.

@smozgur @sao101 You can also create multiple request serializers for each type of request you need to build. Then use the appropriate serializer to build each request. This lets you not have to use a switch or other conditional.

thank you @smozgur, you save my life.

@holin, glad to hear it helps.
@taylesworth, sorry I didn't see your message before. Isn't it better to use conditional instead creating and splitting the serializers? I didn't have chance to try that but it sounds like that it will also cause code repeating... I'll look at it anyway.

@snolangps I have this issue too and I cannot reproduce it. It's only one or two users at our app that are having it. What was the problem in your case, and how did you fix it?

@snolangps I have this issue too and I cannot reproduce it. It's only one or two users at our app that are experiencing this error. What was the problem in your case, and how did you fix it?

@charlotte-nextapps the Host attribute/value was missing from the header options. So the Host should be the host of where you're making your requests to, idk why, and it seems strange, but that fixed it for me...


[BUG] new volume create fails with "Unauthorized"

Describe the bug
I recently added a new node to my k3s cluster. The node has healthy longhorn replicas on it, but when a new volume was to be created on that node, it failed with:
80s         Warning   ProvisioningFailed       persistentvolumeclaim/teleport-cluster           failed to provision volume with StorageClass "longhorn": rpc error: code = Internal desc = Bad response statusCode [500]. Status [500 Internal Server Error]. Body: [code=Server Error, detail=, message=unable to create volume: unable to create volume pvc-953bd9d9-5b39-45b2-9d03-2e9578626319: Unauthorized] from [http://longhorn-backend:9500/v1/volumes]

A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Perform '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Log or Support bundle
If applicable, add the Longhorn managers' log or support bundle when the issue happens.
You can generate a Support Bundle using the link at the footer of the Longhorn UI.
Environment

Longhorn version: 1.2.3
Installation method (e.g. Rancher Catalog App/Helm/Kubectl): kubectl
Kubernetes distro (e.g. RKE/K3s/EKS/OpenShift) and version: k3s  v1.22.6+k3s1

Number of management node in the cluster: 4 (untainted)
Number of worker node in the cluster: 0

Node config

OS type and version: Fedora IoT  35.20220218.0
CPU per node: 4
Memory per node: 16GB
Disk type(e.g. SSD/NVMe): NVMe
Network bandwidth between the nodes: 1Gbps

Underlying Infrastructure (e.g. on AWS/GCE, EKS/GKE, VMWare/KVM, Baremetal): baremetal
Number of Longhorn volumes in the cluster: 4

Additional context
Add any other context about the problem here.

I drained and cordoned the node, and was able to create a pvc. where can I upload a support bundle?

You can upload the support bundle here or via UI to send us.

this looks to have been caused by the new node not having NTP enabled.

Some warnings and errors found in your log

No available disk for replica

2022-02-23T02:30:58.450925561Z time="2022-02-23T02:30:58Z" level=error msg="There's no available disk for replica pvc-5ccf7d90-a66e-4740-835e-777b3a889a22-r-3e0cb9f6, size<PHONE_NUMBER>"
2022-02-23T02:30:58.450936924Z time="2022-02-23T02:30:58Z" level=error msg="unable to schedule replica of volume with HardNodeAffinity = hpt1.sud0.com" accessMode=rwo controller=longhorn-volume frontend=blockdev migratable=false node=hpt1.sud0.com owner=hpt1.sud0.com replica=pvc-5ccf7d90-a66e-4740-835e-777b3a889a22-r-3e0cb9f6 state=attached volume=pvc-5ccf7d90-a66e-4740-835e-777b3a889a22
2022-02-23T02:30:58.559505947Z time="2022-02-23T02:30:58Z" level=debug msg="Found 1 use zones []" accessMode=rwo controller=longhorn-volume frontend=blockdev migratable=false node=hpt1.sud0.com owner=hpt1.sud0.com replicaAutoBalanceType=zone state=attached volume=pvc-5ccf7d90-a66e-4740-835e-777b3a889a22

Time skewed
It should be fixed by enabling the NTP as you mentioned.

2022-02-22T12:30:51.604262272-06:00 time="2022-02-22T18:30:51Z" level=error msg="Error inspecting backup config" backup=backup-d75c71cb5dc64761 controller=longhorn-backup error="error getting backup config s3://longhorn@us-east-1/?backup=backup-d75c71cb5dc64761&volume=pvc-5ccf7d90-a66e-4740-835e-777b3a889a22: Failed to execute: /var/lib/longhorn/engine-binaries/longhornio-longhorn-engine-v1.2.3/longhorn [backup inspect s3://longhorn@us-east-1/?backup=backup-d75c71cb5dc64761&volume=pvc-5ccf7d90-a66e-4740-835e-777b3a889a22], output failed to list objects with param: {\n  Bucket: \"longhorn\",\n  Delimiter: \"/\",\n  Prefix: \"/\"\n} error: AWS Error:  RequestTimeTooSkewed The difference between the request time and the server's time is too large. <nil>\n403 \n\n, stderr, time=\"2022-02-22T18:30:51Z\" level=error msg=\"Fail to list s3: failed to list objects with param: {\\n  Bucket: \\\"longhorn\\\",\\n  Delimiter: \\\"/\\\",\\n  Prefix: \\\"/\\\"\\n} error: AWS Error:  RequestTimeTooSkewed The difference between the request time and the server's time is too large. <nil>\\n403 \\n\" pkg=s3\ntime=\"2022-02-22T18:30:51Z\" level=error msg=\"failed to list objects with param: {\\n  Bucket: \\\"longhorn\\\",\\n  Delimiter: \\\"/\\\",\\n  Prefix: \\\"/\\\"\\n} error: AWS Error:  RequestTimeTooSkewed The difference between the request time and the server's time is too large. <nil>\\n403 \\n\"\n, error exit status 1" node=hpt3.sud0.com
2022-02-22T12:31:21.522116800-06:00 time="2022-02-22T18:31:21Z" level=error msg="Error inspecting backup config" backup=backup-d75c71cb5dc64761 controller=longhorn-backup error="error getting backup config s3://longhorn@us-east-1/?backup=backup-d75c71cb5dc64761&volume=pvc-5ccf7d90-a66e-4740-835e-777b3a889a22: Failed to execute: /var/lib/longhorn/engine-binaries/longhornio-longhorn-engine-v1.2.3/longhorn [backup inspect s3://longhorn@us-east-1/?backup=backup-d75c71cb5dc64761&volume=pvc-5ccf7d90-a66e-4740-835e-777b3a889a22], output failed to list objects with param: {\n  Bucket: \"longhorn\",\n  Delimiter: \"/\",\n  Prefix: \"/\"\n} error: AWS Error:  RequestTimeTooSkewed The difference between the request time and the server's time is too large. <nil>\n403 \n\n, stderr, time=\"2022-02-22T18:31:21Z\" level=error msg=\"Fail to list s3: failed to list objects with param: {\\n  Bucket: \\\"longhorn\\\",\\n  Delimiter: \\\"/\\\",\\n  Prefix: \\\"/\\\"\\n} error: AWS Error:  RequestTimeTooSkewed The difference between the request time and the server's time is too large. <nil>\\n403 \\n\" pkg=s3\ntime=\"2022-02-22T18:31:21Z\" level=error msg=\"failed to list objects with param: {\\n  Bucket: \\\"longhorn\\\",\\n  Delimiter: \\\"/\\\",\\n  Prefix: \\\"/\\\"\\n} error: AWS Error:  RequestTimeTooSkewed The difference between the request time and the server's time is too large. <nil>\\n403 \\n\"\n, error exit status 1" node=hpt3.sud0.com

Unauthorized

2022-02-23T02:23:51.933141189Z time="2022-02-23T02:23:51Z" level=warning msg="Error syncing Longhorn node longhorn-system/nuc1.sud0.com: fail to sync node for longhorn-system/nuc1.sud0.com: Unauthorized"

2:30:52.006752442Z time="2022-02-23T02:30:52Z" level=debug msg="Failed to check for the latest and stable Longhorn versions" controller=longhorn-setting error="failed to get Kubernetes server version: the server has asked for the client to provide credentials" node=nuc1.sud0.com


Mark .Execute method of RedirectToActionResultExecutor and RedirectToRouteResultExecutor virtual

Is there any specific reason why the methods void Microsoft.AspNetCore.Mvc.Internal.RedirectToActionResultExecutor.Execute(ActionContext, RedirectToActionResult) and void Microsoft.AspNetCore.Mvc.Internal.RedirectToRouteResultExecutor.Execute(ActionContext, RedirectToRouteResult) are not virtual?
These types are part of the Internal namespace so I guess they are intended to be used by the framework only, but making these methods virtual would enable developers to register derived implementations at the service collection to create different redirection strategies like adding a location header for regular requests but return something like window.location = '...' with a content-type text/javascript when the resource has been requested with AJAX depending on the action and so on.
Currently this cross-cutting cannot be implemented at a single place easily. You'd either have to create a base-class for controllers and override the respective methods or implement some sort of extension methods on a controller.

Hi @DerPeit I think I would prefer for this to be a different type of action result. Changing the behavior of the existing RedirectXyz methods on ControllerBase and its relation action executors would change the intention of those features. Those features are specifically designed and implemented to do an HTTP redirect with a 302/301 status code.
I would instead suggest writing a new action result type that's something like this:
// pseudo-ish code; won't compile as-is!
public class FancyRedirectResult : IActionResult
{
    public override Task ExecuteAsync(...)
    {
        if (request.IsAjax)
        {
            return DoAjaxWindowLocationRedirect(...);
        }
        else
        {
            return new RegularRedirectResult(...).ExecuteAsync(...);
        }
    }
}

I think this would make it clearer that this isn't just a regular redirect - it's something similar, but different.
Oh, and to the original aspect: yeah, stuff that's in the .Internal namespaces is not meant to be used by anything outside of the framework itself. That code can change at any time and is not supported, so even if we make the suggested change, we would still urge people to not use it.

Hi @Eilon. I see what you mean although I disagree for several reasons: First, the method names .RedirectToRoute and .RedirectToAction say nothing about how the user is being redirected. Just because it behaves like this since MVC 3 (maybe earlier, I am not sure) does not necessarily mean that you cannot provide certain hooks to improve it.
As a consumer of this API I am not interested in how the user is being redirected as long as he is redirected at all. In terms of expressiveness (you said it would be clearer) even the .Redirect... methods would then have to be renamed to point out that they are using a location header (I don't argue for that!).
Don't get me wrong: I love ASP.NET Core for providing way better API code than MVC did before. For example: I worked in a project once where the customer required us to add a star as a suffix to labels of mandatory form fields. Though this was a cross-cutting concern it was not easy to implement. We had to write an extension method for the HtmlHelper as an overload to create those labels based on the model-metadata because there were no better hooks. As a result we had to adjust every label in every view. Nowadays you can simply derive from this HtmlHelper and register your own implementation as a service which is absolutely great. And we already have an implementation for those executors which are registered as services as well but we have no chance here. Why is that?
In my opinion these classes should even be moved out of the .Internal namespace (why are the classes in there public at all, that's also not quite expressive) so developers have a chance to override (not more, it's not about changing the default behavior) the behavior of how results are being executed because they actually don't claim how they have to be executed, just declare what they should do, which is totally fine.
It's an API. So why restrict developers? I always feel sad when I find a very appropriate hook for my intent and then see that I just cannot use it because of those trivials. Regardless of a method not being virtual or a class being sealed or internal. 😉

It's an API. So why restrict developers? I always feel sad when I find a very appropriate hook for my intent and then see that I just cannot use it because of those trivials.

This is a loaded question. We can't anticipate every need developers will have, and we can't anticipate every way you will try to address your needs.

Discussed with @Eilon - we're going to do a pass and make the Executors be virtual. Caveat Emptor with taking a dependency on these things as they are still .Internal for now.

This is a loaded question. We can't anticipate every need developers will have, and we can't anticipate every way you will try to address your needs.
It's never our intent to make you feel sad or restricted. In this case it's probably an oversight.

It was no offense. I am perfectly fine with that. I am glad that we as a community are finally involved in the development process at all.

One of the biggest challenges building this framework is that using DI and relying on constructor injection is also a contract. If we want to add logging to a public class that you're allowed to extend, then that's a breaking change.

That is of course true and I know that it's very hard work to keep all this in mind. Unfortunately any change to a public surface can be considered as a breaking change so I guess this is our developer's life. 😄

Replacing a service is a big hammer because you can only do it once per app, and inheritance is often a clumsy way to change behavior - as it requires us to figure out ahead of time what extension points you will need and add them as protected methods.

Not necessarily. Anticipating the need for protected methods as hooks is of course great, but in the end even making the "entry point" to an artifact (whatever that is) virtual enables customization. Concerning inheritance: Maybe it's worth to consider to extract interfaces for those executors. If these specific executors would be registered as interfaces to the DI container, one could implement decorating executors (by composition instead of inheritance) and register them instead.

Discussed with @Eilon - we're going to do a pass and make the Executors be virtual.

Great. I really appreciate that!

4d905a4110484185173be3de24b59e3b28dd6416


(Camera) get Bitmap

In the camera demo D11 how can i get the bitmap in Timage?
Apparently it should be in the procedure CameraFrameAvailableHandler?
Please tell me how to call this procedure and what should be registered in it? Thank you

The demo code actually tells you what you need to do:
https://github.com/DelphiWorlds/Kastri/blob/a390d1ff19cf6255e759c179630094a797043f21/Demos/Camera/Views/CD.View.Camera.pas#L142
i.e. the project needs a conditional define of USEGL. In Project Options, select Building > Delphi Compiler and put USEGL in the Conditional Defines property

Thank you very much for the quick response. Did as you said.
Then I wrote in the procedure:
Form3.Image1.bitmap.Assign(AFrame);
Form3.show;

but TImage is empty. What am I doing wrong? How to call this procedure?
I'm sorry, I'm just a newbie and I really need to do this. Thank you very much for your help

I add in this procedure:
Showmessage('');
But it didn't work

If that code is not being called, it is most likely you have not included the conditional define correctly. Please see my other comment: https://github.com/DelphiWorlds/Kastri/issues/157#issuecomment-1448760511

Can you see screenshot https://prnt.sc/fbtoTf-DWJ78 ?

I managed! After compiling and Build project/
Thank you so much!


adopt setuptools_scm

this simply adds setuptools_scm - it can also be used for release automation later sionce now versions come from tags

Thanks @RonnyPfannschmidt  -- do we need to add this package to requirements.txt as well?

for development its certainly helpful, note that if releasing is automated with wheels, a user wont need setuptools_scm

Added setuptools_scm to requirements.txt as well (for now..)


3.0.7 install fails

On macOS:
$ sudo npm install -g lzma-native --verbose
Password:
npm info it worked if it ends with ok
npm verb cli [ '/usr/local/bin/node',
npm verb cli   '/usr/local/bin/npm',
npm verb cli   'install',
npm verb cli   '-g',
npm verb cli   'lzma-native',
npm verb cli   '--verbose' ]
npm info using<EMAIL_ADDRESS>npm info using<EMAIL_ADDRESS>npm verb npm-session 5fe0ffa2a6ae399c
npm http fetch GET 200 https://registry.npmjs.org/lzma-native 40ms (from cache)
npm http fetch GET 304 https://registry.npmjs.org/nan 312ms (from cache)
npm verb correctMkdir /Users/ilg/.npm/_locks correctMkdir not in flight; initializing
npm verb lock using /Users/ilg/.npm/_locks/staging-3a08f0df5026584d.lock for /usr/local/lib/node_modules/.staging
npm info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>npm info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>npm verb unbuild rmStuff<EMAIL_ADDRESS>from /usr/local/lib/node_modules
npm info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>npm info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>npm info linkStuff<EMAIL_ADDRESS>npm verb linkBins<EMAIL_ADDRESS>npm verb linkBins [ { lzmajs: './bin/lzmajs' }, '/usr/local/bin', true ]
npm verb linkMans<EMAIL_ADDRESS>/usr/local/bin/lzmajs -> /usr/local/lib/node_modules/lzma-native/bin/lzmajs
npm info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>
><EMAIL_ADDRESS>install /usr/local/lib/node_modules/lzma-native
> node-pre-gyp install --fallback-to-build && node node_modules/rimraf/bin.js build

node-pre-gyp info it worked if it ends with ok
node-pre-gyp verb cli [ '/usr/local/bin/node',
node-pre-gyp verb cli   '/usr/local/lib/node_modules/lzma-native/node_modules/.bin/node-pre-gyp',
node-pre-gyp verb cli   'install',
node-pre-gyp verb cli   '--fallback-to-build' ]
node-pre-gyp info using<EMAIL_ADDRESS>node-pre-gyp info using<EMAIL_ADDRESS>| darwin | x64
node-pre-gyp verb command install []
node-pre-gyp info check checked for "/usr/local/lib/node_modules/lzma-native/binding-v3.0.7-node-v59-darwin-x64/lzma_native.node" (not found)
node-pre-gyp http GET https://node-pre-gyp.addaleax.net/lzma-native/lzma_native-v3.0.7-node-v59-darwin-x64.tar.gz
node-pre-gyp ERR! Tried to download(undefined): https://node-pre-gyp.addaleax.net/lzma-native/lzma_native-v3.0.7-node-v59-darwin-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for<EMAIL_ADDRESS>and<EMAIL_ADDRESS>(node-v59 ABI, unknown) (falling back to source compile with node-gyp)
node-pre-gyp http EACCES: permission denied, mkdir '/usr/local/lib/node_modules/lzma-native/binding-v3.0.7-node-v59-darwin-x64'
node-pre-gyp verb command build [ 'rebuild' ]
node-pre-gyp http 200 https://node-pre-gyp.addaleax.net/lzma-native/lzma_native-v3.0.7-node-v59-darwin-x64.tar.gz
gyp info it worked if it ends with ok
gyp verb cli [ '/usr/local/bin/node',
gyp verb cli   '/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/node_modules/node-gyp/bin/node-gyp.js',
gyp verb cli   'clean' ]
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| darwin | x64
gyp verb command clean []
gyp verb clean removing "build" directory
gyp info ok
gyp info it worked if it ends with ok
gyp verb cli [ '/usr/local/bin/node',
gyp verb cli   '/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/node_modules/node-gyp/bin/node-gyp.js',
gyp verb cli   'configure',
gyp verb cli   '--fallback-to-build',
gyp verb cli   '--module=/usr/local/lib/node_modules/lzma-native/binding-v3.0.7-node-v59-darwin-x64/lzma_native.node',
gyp verb cli   '--module_name=lzma_native',
gyp verb cli   '--module_path=/usr/local/lib/node_modules/lzma-native/binding-v3.0.7-node-v59-darwin-x64' ]
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| darwin | x64
gyp verb command configure []
gyp verb check python checking for Python executable "python2" in the PATH
gyp verb `which` failed Error: not found: python2
gyp verb `which` failed     at getNotFoundError (/usr/local/lib/node_modules/npm/node_modules/which/which.js:13:12)
gyp verb `which` failed     at F (/usr/local/lib/node_modules/npm/node_modules/which/which.js:68:19)
gyp verb `which` failed     at E (/usr/local/lib/node_modules/npm/node_modules/which/which.js:80:29)
gyp verb `which` failed     at /usr/local/lib/node_modules/npm/node_modules/which/which.js:89:16
gyp verb `which` failed     at /usr/local/lib/node_modules/npm/node_modules/which/node_modules/isexe/index.js:42:5
gyp verb `which` failed     at /usr/local/lib/node_modules/npm/node_modules/which/node_modules/isexe/mode.js:8:5
gyp verb `which` failed     at FSReqWrap.oncomplete (fs.js:170:21)
gyp verb `which` failed  python2 { Error: not found: python2
gyp verb `which` failed     at getNotFoundError (/usr/local/lib/node_modules/npm/node_modules/which/which.js:13:12)
gyp verb `which` failed     at F (/usr/local/lib/node_modules/npm/node_modules/which/which.js:68:19)
gyp verb `which` failed     at E (/usr/local/lib/node_modules/npm/node_modules/which/which.js:80:29)
gyp verb `which` failed     at /usr/local/lib/node_modules/npm/node_modules/which/which.js:89:16
gyp verb `which` failed     at /usr/local/lib/node_modules/npm/node_modules/which/node_modules/isexe/index.js:42:5
gyp verb `which` failed     at /usr/local/lib/node_modules/npm/node_modules/which/node_modules/isexe/mode.js:8:5
gyp verb `which` failed     at FSReqWrap.oncomplete (fs.js:170:21)
gyp verb `which` failed   stack: 'Error: not found: python2\n    at getNotFoundError (/usr/local/lib/node_modules/npm/node_modules/which/which.js:13:12)\n    at F (/usr/local/lib/node_modules/npm/node_modules/which/which.js:68:19)\n    at E (/usr/local/lib/node_modules/npm/node_modules/which/which.js:80:29)\n    at /usr/local/lib/node_modules/npm/node_modules/which/which.js:89:16\n    at /usr/local/lib/node_modules/npm/node_modules/which/node_modules/isexe/index.js:42:5\n    at /usr/local/lib/node_modules/npm/node_modules/which/node_modules/isexe/mode.js:8:5\n    at FSReqWrap.oncomplete (fs.js:170:21)',
gyp verb `which` failed   code: 'ENOENT' }
gyp verb check python checking for Python executable "python" in the PATH
gyp verb `which` succeeded python /usr/bin/python
gyp verb check python version `/usr/bin/python -c "import platform; print(platform.python_version());"` returned: "2.7.10\n"
gyp verb get node dir no --target version specified, falling back to host node version: 9.10.1
gyp verb command install [ '9.10.1' ]
gyp verb install input version string "9.10.1"
gyp verb install installing version: 9.10.1
gyp verb install --ensure was passed, so won't reinstall if already installed
gyp verb install version not already installed, continuing with install 9.10.1
gyp verb ensuring nodedir is created /Users/ilg/.node-gyp/9.10.1
gyp WARN EACCES user "root" does not have permission to access the dev dir "/Users/ilg/.node-gyp/9.10.1"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/lzma-native/.node-gyp"
gyp verb tmpdir == cwd automatically will remove dev files after to save disk space
gyp verb command install [ '9.10.1' ]
gyp verb install input version string "9.10.1"
gyp verb install installing version: 9.10.1
gyp verb install --ensure was passed, so won't reinstall if already installed
gyp verb install version not already installed, continuing with install 9.10.1
gyp verb ensuring nodedir is created /usr/local/lib/node_modules/lzma-native/.node-gyp/9.10.1
gyp WARN EACCES user "root" does not have permission to access the dev dir "/usr/local/lib/node_modules/lzma-native/.node-gyp/9.10.1"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/lzma-native/.node-gyp"
gyp verb tmpdir == cwd automatically will remove dev files after to save disk space
...
gyp verb command install [ '9.10.1' ]
gyp verb install input version string "9.10.1"
gyp verb install installing version: 9.10.1
gyp verb install --ensure was passed, so won't reinstall if already installed
gyp verb install version not already installed, continuing with install 9.10.1
gyp verb ensuring nodedir is created /usr/local/lib/node_modules/lzma-native/.node-gyp/9.10.1
gyp WARN EACCES user "root" does not have permission to access the dev dir "/usr/local/lib/node_modules/lzma-native/.node-gyp/9.10.1"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/lzma-native/.node-gyp"
gyp verb ^Ctmpdir == cwd automatically will remove dev files after to save disk space
npm verb lifecycle<EMAIL_ADDRESS>unsafe-perm in lifecycle false
npm verb lifecycle<EMAIL_ADDRESS>PATH: /usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/usr/local/lib/node_modules/lzma-native/node_modules/.bin:/usr/local/lib/node_modules/.bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
npm verb lifecycle<EMAIL_ADDRESS>CWD: /usr/local/lib/node_modules/lzma-native

The problem is not related only to Pythin, I tried both on Ubuntu and ARCH:
lzma-native-arch.txt

I am pretty sure this is happening because you’re running with sudo, which is not something recommended by npm in any case.
I can try to look into this, but as far as I can tell, this happens with any native module that uses node-gyp (which means, effectively, any native module).

I am pretty sure this is happening because you’re running with sudo

How can you install globally on macOS or GNU/Linux without sudo?

The way that npm recommended it for a while, is to change the ownership of /usr/local (if that’s where it’s installing packages, which seems the to be the case on your mac) to your non-admin user, if that’s the only one using the system.
You could also take a look at https://docs.npmjs.com/getting-started/fixing-npm-permissions.

change the ownership of /usr/local

unfortunatelly, for the machines where my tools are intended to run, this is not a solution.
anyway, my tools were perfectly functional before adding a dependency to decompres-tarxz; right now I'm removing this dependency and reverting to bz2.

@ilg-ul Which bz2 library are you using? If it’s a native one, it might be helpful to know what they are doing differently.

I'm using the decompress module.
But your question helped me realize that bz2 might be as risky as xz, so I'll probably revert to .tgz, which seem to no longer need external native modules.

@ilg-ul Yes, but the problem is also not coming from this module. It’s unfortunate that this doesn’t work – if you want to raise an issue at the node-gyp repo about it, feel free to do that.

Idk, I can re-open this issue to keep track of it, but don’t expect any miracles – this is still a spare-time OSS project after all.

The global install may complete successfully if the --unsafe-perm option is used.
sudo npm install -g lzma-native --unsafe-perm


Enabling Geolocation

Hey,
When I try to use the Geolocation, I get:
message: undefined is not an object (evaluating 'RCTLocationObserver.getCurrentPosition')"

It seems that require('NativeModules').LocationObserver returns undefined in Geolocation.ios.js
I did add this to my info.plist:
	<key>NSLocationWhenInUseUsageDescription</key>
	<string>You need to add NSLocationWhenInUseUsageDescription key in Info.plist to enable geolocation, otherwise it is going to *fail silently*!</string>

Am I missing something ?
Thanks!
J

What about when developing for Android on Windows?

If you are working with Cocoapods, adding RCTGeolocation to the Podfile and then running pod install again should do the trick.
source 'https://github.com/CocoaPods/Specs.git'
pod 'React', :path => '../node_modules/react-native', :subspecs => [
  'Core',
  'RCTGeolocation',
  'RCTImage',
  'RCTNetwork',
  'RCTText',
  'RCTWebSocket'
]

Why was there is no mention of any of this on https://facebook.github.io/react-native/docs/geolocation.html ? :(

@naoisegolden    I also got this error and i'm using pod too, but i can't fix this bug with the method you reminded. When I use pod search RCTGeolocation to search it, nothing can be find in the repos. Could you do me a favor to analyze about it? Thank you very much!

@a2 is there a solution for Xcode 7.3.1?  I was able to follow until selecting the library.  I don't have libRCTGeolocation.a available.


Memory leak in Rox AI due to excessive use of require

Describe the bug
The voice application module, Rox, reads the configuration file for every call which causes a memory leake.
To Reproduce
See the relevant code here
Expected behavior
The configuration should be loaded only at on start.
Screenshots
If applicable, add screenshots to help explain your problem.
System information (please complete the following):

OS: All
NodeJS, NPM versions: All
CTL version at until 0.0.13

Additional context
NA

🙉

The issue is now replicated on my local... I can see the memory of the running program, increasing every time a new call is being made.
I'll self-assign it to me and work in the solution later.

I can use some help with this one. You got it.

@psanders This issue was solved here:
https://github.com/fonoster/rox/commit/957951efe6d54cf1b6893388213c9ae3efaa5270#diff-a495a1b2884e88ccde24d73816611e44195feefbe78f246446e97bb2434d17a2

Closing this issue, it was fixed a few months ago.

Perfect. Thanks.