RFC: klog: Add klog logging to framework and plugins

Unify our logging across the repo to use klog.
This brings with it extra annotations to the log entries, as well as a bunch of command line arguments to the plugins to allow control of how and where to log.
Related-To: #323

@mythi - posting a short RFC so we can direction check before modifying the rest of the plugins.
/cc @pohly

I'll look at the CI fails. ironically, I was promoting we checked for:
# github.com/intel/intel-device-plugins-for-kubernetes/cmd/qat_plugin/kerneldrv
##[error]cmd/qat_plugin/kerneldrv/kerneldrv.go:186: Warningf call has arguments but no formatting directives

but, the klog interface/docs don't naturally list non-'f' calls - I'll go check the klog code to see if it does actually support them...

Updated and extended.
Now we are using klog for logs, it makes sense to also move our use of debug over to use klog as well with its V(4).Info() calls (defined as 'debug' in the k8s logging guidelines).
That then ripples on to remove the -debug option from the command line, update the tests to set themselves into debug mode via the klog flags, and then rework the kustomize scripts a bit to use those new flags.
@mythi ptal.
@askervin - would appreciate a look at the kustomize code (iirc you wrote it). I'd love to find a nicer way to get kustomize to edit a container command commandline argument array, but I could not find one...  Using the ENV vars seems not too scalable if somebody wanted to add more flags to the command in the future through a kustomize.

OOI, I see this on the Jenkins CI:
+ sudo apt-get -y install e2fslibs-dev libfuse-dev libgpgme11-dev libdevmapper-dev libglib2.0-dev libprotobuf-dev libusb-1.0-0-dev

E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)

E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?

script returned exit code 100

In the past when I've seen that, it is because there is a package auto updater running in the background that has grabbed the lock, so the script update then fails.... if you want me to dig up some details and possible mitigations, just shout...

I've dropped the RFC from this. I suspect it will be easier for review/merge if we do this framework and QAT move to klog first, and then do separate PRs for the other plugins. Thus, this series is ready for review.

Ooh, then I just found a bunch of fmt.Print's over in pk/deviceplugin that I probably also should update. Expect an update..

@grahamwhaley thanks for driving this! It looks good to me so far

way to get kustomize to edit a container command commandline argument array, but I could not
find one... Using the ENV vars seems not too scalable if somebody wanted to add more flags to
the command in the future through a kustomize.

The way QAT plugin parameters are handled existed before kustomize and I'm the one to blame for it ;) kustomize allows json patching overlays so that's one way... qat_dpdk_app uses that a lot...

@mythi Updated. Added a JSON patch to append the debug command line arguments. That's nicer in some ways, but does move away from using a ConfigMap. For debug mode, I suspect that is OK.
I've noted in the commit, but we should also note here, that adding klog and moving the debug from --debug to -v 4 is a slight breaking change to the plugin command line, so once this merges, it will not work with the upstream images until they are updated (which, I think is automatic, so not really a problem?).

some ways, but does move away from using a ConfigMap. For debug mode, I suspect that is OK.

I'm thinking is this necessary? I wonder if we could have VERBOSITY in the configmap which defaults to 0 and then patch it with 4 in the debug overlay?

@grahamwhaley Can you show some examples of log output, please? With and without annotations if possible.

@mythi Updated. Added a JSON patch to append the debug command line arguments. That's nicer in some ways, but does move away from using a ConfigMap. For debug mode, I suspect that is OK.
I've noted in the commit, but we should also note here, that adding klog and moving the debug from --debug to -v 4 is a slight breaking change to the plugin command line, so once this merges, it will not work with the upstream images until they are updated (which, I think is automatic, so not really a problem?).

some ways, but does move away from using a ConfigMap. For debug mode, I suspect that is OK.

I'm thinking is this necessary? I wonder if we could have VERBOSITY in the configmap which defaults to 0 and then patch it with 4 in the debug overlay?

Adding VERBOSITY to the config map makes sense to me - it keeps us unified in the config map as the one place of config. I'll rework and repush with that change.

@grahamwhaley Can you show some examples of log output, please? With and without annotations if possible.

Sure. There is a one line comparison in one of the commit messages, but I'll add a more expanded version here. I'll show the output of stdout/err when running on the commandline - which is the same as you get in the container logs for the plugins:
Let's start with the now default output, where you can see the new pre-annotations from klog. I should point out - remember that the idea is that these are more for machine parsing than human parsing - ultimately the logs will be captured and processed in a system like an EFK stack is my expectation:
$ ./qat_plugin
W0318 11:05:26.678105    6630 dpdkdrv.go:268] Can't read sysfs for driver as Driver vfio-pci is not available: Skipping
W0318 11:05:26.678245    6630 dpdkdrv.go:268] Can't read sysfs for driver as Driver d15xxvf is not available: Skipping

If we then turn off the headers, you get back to un-annotated:
$ ./qat_plugin -skip_headers
Can't read sysfs for driver as Driver vfio-pci is not available: Skipping
Can't read sysfs for driver as Driver d15xxvf is not available: Skipping

One noticeable change then is, by default you do not get the Info messages. We could default to having the 'normal' info messages such as:
$ ./qat_plugin -v 1
I0318 11:07:39.867247    6653 qat_plugin.go:58] QAT device plugin started in 'dpdk' mode
W0318 11:07:39.867327    6653 dpdkdrv.go:268] Can't read sysfs for driver as Driver vfio-pci is not available: Skipping
W0318 11:07:39.867468    6653 dpdkdrv.go:268] Can't read sysfs for driver as Driver d15xxvf is not available: Skipping

And then ultimately, for debug mode, one adds -v 4. Easiest for me to show a go test in the dpdk driver dir, where the test code automatically enables -v 4 in its startup code:
dpdkdrv $ go test
W0318 11:08:47.456200    6919 dpdkdrv.go:268] Can't read sysfs for driver as Driver  is not available: Skipping
W0318 11:08:47.457604    6919 dpdkdrv.go:268] Can't read sysfs for driver as Driver igb_uio is not available: Skipping
W0318 11:08:47.457900    6919 dpdkdrv.go:268] Can't read sysfs for driver as Driver igb_uio is not available: Skipping
W0318 11:08:47.458202    6919 dpdkdrv.go:268] Can't read sysfs for driver as Driver igb_uio is not available: Skipping
I0318 11:08:47.458849    6919 dpdkdrv.go:133] 02:00.0 device: corresponding DPDK device detected is sometestfile
W0318 11:08:47.458896    6919 api.go:53] GetTopologyInfo: device /dev/sometestfile doesn't exist
I0318 11:08:47.460829    6919 dpdkdrv.go:133] 02:00.0 device: corresponding DPDK device detected is sometestfile
W0318 11:08:47.460864    6919 api.go:53] GetTopologyInfo: device /dev/sometestfile doesn't exist
W0318 11:08:47.461391    6919 dpdkdrv.go:268] Can't read sysfs for driver as Driver igb_uio is not available: Skipping
I0318 11:08:47.461754    6919 dpdkdrv.go:121] The vfio device group detected is vfiotestfile
I0318 11:08:47.461761    6919 dpdkdrv.go:133] 02:00.0 device: corresponding DPDK device detected is vfiotestfile
I0318 11:08:47.461791    6919 dpdkdrv.go:121] The vfio device group detected is vfiotestfile
W0318 11:08:47.461818    6919 api.go:53] GetTopologyInfo: device /dev/vfio/vfiotestfile doesn't exist
PASS
ok      github.com/intel/intel-device-plugins-for-kubernetes/cmd/qat_plugin/dpdkdrv     0.010s

Hope that clarifies @bart0sh ?

@grahamwhaley > Hope that clarifies @bart0sh ?
Absolutely! /lgtm

@mythi - reworked the deployment to add a VERBOSITY setting - looks and feels quite sane. Good idea.

@grahamwhaley looking good! I think we should transition all plugins in this PR so I'll keep this open until all plugins are reworked. Makes sense?

@mythi I'd support Graham proposal on this.

I suspect it will be easier for review/merge if we do this framework and QAT move to klog first, and then do separate PRs for the other plugins. Thus, this series is ready for review.

@mythi I'd support Graham proposal on this.

I suspect it will be easier for review/merge if we do this framework and QAT move to klog first, and then do separate PRs for the other plugins. Thus, this series is ready for review.

I have four more PRs lined up and ready to push based off of this PR already - vpu, gpu, fpga etc.
I think doing them separately will make it easier for each plugin owner to review just their relevant part. I can add the 10+ commits to this PR if you want though - I don't mind...

@mythi I'd support Graham proposal on this.

I had missed the proposal, sorry. OK, let's keep that proposal, I'll finish reviewing this and then submit a PR for each plugin separately.

This looks good to me but please squash the commits in one.

Sure. Would you like future PRs pre-squashed, or separated for review, and only squashed once ack'd?

I spent some extra time understanding the conformance to the twelve-factor app logging principles @rojkov pointed out.
AFAICS the gap is with "writes its event stream, unbuffered, to stdout" but meets the goal of "During local development, the developer will view this stream in the foreground of their terminal to observe the app’s behavior." as seen from the examples posted by @grahamwhaley. @rojkov any concerns?

I suspect there is a mild conflict between the twelve factors, and the k8s current standards and working practices. Given we are k8s focussed, and the twelve factors came out 3 years ago in this rapidly changing environment .... we probably have to choose where our allegiances lay :-) Personally, if they conflict, I think klog and k8s wins...
It might also come down to partly if you consider the plugins to be 'just container apps', or part of the k8s infra. From my pov, they definitely feel like infra, as they handle and manage hardware resource on the nodes...

@rojkov - ah, I see the klog code that auto-appends the \n's ;-). done, dropped...
@mythi - squashed into one commit.


.env are not recognised when dotenv is enabled.

Describe the bug
When using dotenv it doesn't grab dotenv files.
Things I have tried to fix it

I have tried enabling it and specify it but nothing works.
I have tried it without direnv using nix develop --impure to see if direnv was the issue.
Swtiching Branches of nixpkgs repo from NixOS/nixpkgs/nixos-unstable to NixOS/nixpkgs/nixpkgs-unstable & NixOS/nixpkgs/nixpkgs-unstable to cachix/devenv-nixpkgs/rolling

To reproduce
https://gist.github.com/Eveeifyeve/fb7d6ce15e4e632e69dfe129023cac47
Logs:
direnv: loading ~/projects/TeaClient/API/.envrc
direnv: using flake . --impure
direnv: ([/nix/store/q71rzcnj4kpv6pp7alasws5si5dp216c-direnv-2.34.0/bin/direnv export zsh]) is taking a while to execute. Use CTRL-C to give up.
direnv: nix-direnv: Renewed cache
💡 The dotenv file '.env' was not found.

   To create this file, you can copy the example file:

   $ cp .env.example .env

direnv: export +AR +AS +CARGO_INSTALL_ROOT +CC +CFLAGS +CONFIG_SHELL +CXX +DATABASE_URL +DEVENV_DOTFILE +DEVENV_PROFILE +DEVENV_ROOT +DEVENV_RUNTIME +DEVENV_STATE +GIT_EXTERNAL_DIFF +IN_NIX_SHELL +LD +LD_DYLD_PATH +MACOSX_DEPLOYMENT_TARGET +NIX_BINTOOLS +NIX_BINTOOLS_WRAPPER_TARGET_HOST_aarch64_apple_darwin +NIX_CC +NIX_CC_WRAPPER_TARGET_HOST_aarch64_apple_darwin +NIX_CFLAGS_COMPILE +NIX_DONT_SET_RPATH +NIX_DONT_SET_RPATH_FOR_BUILD +NIX_ENFORCE_NO_NATIVE +NIX_HARDENING_ENABLE +NIX_IGNORE_LD_THROUGH_GCC +NIX_LDFLAGS +NIX_LDFLAGS_FOR_BUILD +NIX_NO_SELF_RPATH +NIX_PKG_CONFIG_WRAPPER_TARGET_HOST_aarch64_apple_darwin +NIX_STORE +NM +PATH_LOCALE +PKG_CONFIG +RANLIB +RUSTDOCFLAGS +RUSTFLAGS +RUST_SRC_PATH +SIZE +SOURCE_DATE_EPOCH +STRINGS +STRIP +XDG_DATA_DIRS +ZERO_AR_DATE +__darwinAllowLocalNetworking +__impureHostDeps +__propagatedImpureHostDeps +__propagatedSandboxProfile +__sandboxProfile +cmakeFlags +configureFlags +mesonFlags +name +system -HOST_PATH -NIX_BUILD_CORES -__structuredAttrs -buildInputs -buildPhase -builder -depsBuildBuild -depsBuildBuildPropagated -depsBuildTarget -depsBuildTargetPropagated -depsHostHost -depsHostHostPropagated -depsTargetTarget -depsTargetTargetPropagated -doCheck -doInstallCheck -dontAddDisableDepTrack -nativeBuildInputs -out -outputs -patches -phases -preferLocalBuild -propagatedBuildInputs -propagatedNativeBuildInputs -shell -shellHook -stdenv -strictDeps ~PATH ~XPC_SERVICE_NAME

Well I expect to happen is all of my .env variables to be available in the dev shell.
Version
I am using flakes and it's on version 1.0.7.

We should error out since this feature doesn't work with Flakes.

:(

@Eveeifyeve why do you need to use flakes? Maybe there's a way to use devenv cli.

Well here is the thing I have all of my devenv in flakes and flakes are a much easier way to write than a yaml file.

And to be honest with you most people that are using nix are using flakes.

We should error out since this feature doesn't work with Flakes.

also the services don't work in flakes? I assume

Look if you don't support flakes then remove it from devenv website, as people use flakes with devenv and it doesn't support basic features that people will be using. Not to be rude or anything it makes it hard for people to find out if a tool is not supporting what they are trying to use.

It seems devenv up gives the directory permissions but nix develop --impure doesn’t.

If you are still looking for a solution:

My problem was that my .env was in my .gitignore - so it wasn't tracked by git, so nix can't track it either
In your .envrc (if you are using direnv) you can call dotenv, which loads even .env files that are not tracked by git

If you are still looking for a solution:

My problem was that my .env was in my .gitignore - so it wasn't tracked by git, so nix can't track it either

In your .envrc (if you are using direnv) you can call dotenv, which loads even .env files that are not tracked by git

if ! has nix_direnv_version || ! nix_direnv_version 2.2.1; then

  source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/2.2.1/direnvrc" "sha256-zelF0vLbEl5uaqrfIzbgNzJWGmLzCmYAkInj/LNxvKs="

fi

dotenv

watch_file flake.nix

watch_file flake.lock

if ! use flake . --impure

then

  echo "devenv could not be built. The devenv environment was not loaded. Make the necessary changes to devenv.nix and hit enter to try again." >&2

fi

I will get around trying the direnv method that you have suggested I will let you know asap how it goes.

If you are still looking for a solution:

My problem was that my .env was in my .gitignore - so it wasn't tracked by git, so nix can't track it either
In your .envrc (if you are using direnv) you can call dotenv, which loads even .env files that are not tracked by git

if ! has nix_direnv_version || ! nix_direnv_version 2.2.1; then

  source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/2.2.1/direnvrc" "sha256-zelF0vLbEl5uaqrfIzbgNzJWGmLzCmYAkInj/LNxvKs="

fi

dotenv

watch_file flake.nix

watch_file flake.lock

if ! use flake . --impure

then

  echo "devenv could not be built. The devenv environment was not loaded. Make the necessary changes to devenv.nix and hit enter to try again." >&2

fi

I will get around trying the direnv method that you have suggested I will let you know asap how it goes.

Update I have tried it still doesn't work. I have specified in one project with .env.development and .env.production I can try with another project and see what happens.

We should error out since this feature doesn't work with Flakes.

It actually does it's because nix is not including files that are in gitignore.

Also the .env files thing is really bad practises as it gets included in nix store on eval time.

Another options is to use enterShell to load the .env dynamically. So it does not need to be in the nix store and not stracked by git.
{
  enterShell = ''
    [ ! -f .env ] || export $(grep -v '^#' .env | xargs)
  '';
}

Another options is to use enterShell to load the .env dynamically. So it does not need to be in the nix store and not stracked by git.
{
  enterShell = ''
    [ ! -f .env ] || export $(grep -v '^#' .env | xargs)
  '';
}

I will try this in a few days.

Another options is to use enterShell to load the .env dynamically. So it does not need to be in the nix store and not stracked by git.
{
  enterShell = ''
    [ ! -f .env ] || export $(grep -v '^#' .env | xargs)
  '';
}

I will try this in a few days.

Doesn't work, look it's not worth getting this working as there is agenix-shell so thanks for your help, but I think this is not worth it.


Update the readme

Updating the readme to give a very brief synopsis of the API

link to our official ruby gem
link to unofficial go library
link to unofficial node.js library

:shipit: Looks good!  Much clearer.


Update to Alpine 3.17

See also https://alpinelinux.org/posts/Alpine-3.17.0-released.html.

Nice, thanks!


Better colour fields

It would be great to have a special field to render the colour from the tags colour, roof:colour, building:colour, etc
Something like what github does for instance (when you type #CD853F, github turns it to #CD853F) or like this web component:

FYI, it has been done in osm.org:

for reference: this was mostly fixed in #8782


[tests-only] update golangci-lint to v1.51.1

Description
update golangci-lint to the newest version
Related Issue

Fixes <issue_link>

Motivation and Context
CI is currently very unstable and often fails in the linting phase, see if that fixes it
How Has This Been Tested?

test environment:
test case 1:
test case 2:
...

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Technical debt
[ ] Tests only (no source changes)

Checklist:

[ ] Code changes
[ ] Unit tests added
[ ] Acceptance tests added
[ ] Documentation ticket raised:

this is the wrong way of doing it, need to use bingo to update
golangci-lint 1.51.1 needed go 1.19 and we are using 1.18 so far


Update header comments

Resolves #129

Pull Request Test Coverage Report for Build 221

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

Totals

Change from base Build 216:
0.0%

Covered Lines:
2176

Relevant Lines:
2395

💛  - Coveralls


Do not build a connection to see if its connected.

This avoids trying to require redis into Rails when you're using active_record as your data source.

This isn't the fix i was looking for.


Reserve a package for classes that need to be loaded by the boostrap classloader.

Codecov Report

Merging #395 into master will decrease coverage by 0.04%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #395      +/-   ##
============================================
- Coverage     90.49%   90.44%   -0.05%
  Complexity      581      581
============================================
  Files            96       96
  Lines          2062     2062
  Branches        208      208
============================================
- Hits           1866     1865       -1
  Misses          142      142
- Partials         54       55       +1

Impacted Files
Coverage Δ
Complexity Δ

...a/io/opencensus/trace/export/SpanExporterImpl.java
90% <0%> (-1.67%)
6% <0%> (ø)

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 67683b6...f5fc855. Read the comment docs.


Development

Adds coverage support to master and improves README badges

Changes Unknown when pulling 89e44ead67803b65feb35c90db25e72dabb5b4a9 on development into ** on master**.


Up Zig to 0.12.0

Closed by https://github.com/zig-gamedev/zig-gamedev/pull/578. We're skipping 0.12.0 but I will leave this branch intact for not for any users targeting 0.12.0


quick fix for adding a plugin

Codecov Report

Merging #456 into experimental will not change coverage.
The diff coverage is 0%.

@@              Coverage Diff              @@
##           experimental     #456   +/-   ##
=============================================
  Coverage         50.28%   50.28%
=============================================
  Files                50       50
  Lines              3180     3180
=============================================
  Hits               1599     1599
  Misses             1581     1581

Impacted Files
Coverage Δ

vent/menus/choose_tools.py
20.27% <0%> (ø)
:arrow_up:

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 fa7c9d6...623bde2. Read the comment docs.


Test Cilium

Context
Cilium seam to be an interesting project for observability and security. The ideia is to test is capabilities at this cluster.
DoD

[ ] Rollout cilium
[ ] Add hubble: https://github.com/cilium/hubble

Too many images without arm support: https://github.com/cilium/cilium/issues/9898


failed to reslove: com.journeyapps:zxing-android-embedded:3.0.3

I use android studio
I add the follow code in build.gradle of module as you suggest
compile 'com.journeyapps:zxing-android-embedded:3.0.3@aar'
compile 'com.google.zxing:core:3.2.0'
but gradle throw this error:
failed to reslove: com.journeyapps:zxing-android-embedded:3.0.3

Make sure you include this:
repositories {
    jcenter()
}

yes,I have included this

In that case I'll need more details / log output. There's no reason I know of that that shouldn't work.

in your sample module, i comment compile(project(':zxing-android-embedded')) { transitive = true }
and add
compile 'com.journeyapps:zxing-android-embedded:3.0.3@aar'
compile 'com.google.zxing:core:3.2.0'
it still not work

That works for me without any issue. It could be some network issue on your side. I can maybe help you if you give me detailed logs (e.g. build with --trace or --debug).

I have checked the net,it's ok and aar has download in my module floder when I used VPN.But it still goes wrong when I when './gradlew assemble',and I has checked the log but don't find any reason.Today it is ok,I just restart the mac,and it's ok now.....
Thank you for your help.

I had got this issue, too. So I download lib and add it into libs folder ^^.

if your Android SDK version is above 28, Android SDK > 28. Then use this dependency.
repositories {
mavenCentral()
}
dependencies {
implementation 'com.journeyapps:zxing-android-embedded:4.2.0'
implementation 'androidx.appcompat:appcompat:1.0.2'
}
android {
buildToolsVersion '28.0.3' // Older versions may give compile errors
}


Types for parentRef

Does the drag and drop functionality just accepts the use of <ul> and <li> tags?
I'm currently having an issue related to the parent definition, where the error Type 'MutableRefObject<HTMLUListElement>' is missing the following properties from type 'HTMLElement': accessKey, accessKeyLabel, autocapitalize, dir, and 290 more. is present. I've tried different definition types for my parentRef, but is not working. Before this definition, I was trying to use a <div>, but it has the same problem.
Please, give us more information about expected types in both

useDragAndDrop

and

dragAndDrop

hooks, so users can avoid having this kind of issues
My implementation:
const parentRef = React.useRef() as React.MutableRefObject<HTMLUListElement>;
	const [imagesList, setImagesList] = useState(images)
		dragAndDrop({
			parent: parentRef,
			state: [imagesList, setImagesList]
			})

no

you can use parentRef.current, but you're still going to have issues. I've never gotten this to work properly with React unless I use nothing but the demo ul/li implementation with the useDragAndDrop hook. The only documentation is a 3 line snippet that doesn't even show full usage, so I'd recommend @hello-pangea/dnd library


RFC: Add ability to use UUID primary keys

Opening this as an RFC since it's scratching a very specific itch of mine. This is using a hidden configuration option (:uuid_primary_keys) which in addition to modifying the generated users and accounts migrations allows me to use UUID primary keys with sentinel. Mainly interested in if you'd entertain this as an option and if so, is it OK being a hidden configuration or if you'd rather it be formally documented?

At the moment I don't think we need to formally document this one.


Fixes column text width calculation in CupertinoDatePicker on CupertinoDatePickerMode.monthYear mode

Fixes #138305, #110319
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] I followed the breaking change policy and added Data Driven Fixes where supported.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Thank you for your contribution. This PR will need tests before we can review it. Thanks! If you are not sure how to write tests, the #hackers-new channel on our Discord is available for new contributors seeking guidance.

Another PR with a different implementation was filed here: #151142

@MitchellGoodwin @LongCatIsLooong I made some changes. One problem is that I need to add a new font to the artifacts (Tajawal). I did local tests with it.

One problem is that I need to add a new font to the artifacts (Tajawal). I did local tests with it.

I think if we just tested against Portuguese, that would be sufficient. The problem is that text with longer displays than a word with more characters causes clipping, not those languages in particular. If local testing works I don't think it's worth adding to the artifacts.
@Mairramer did you try IntrinsicWidth per @LongCatIsLooong 's suggestion. I'm curious if that would work as well.

suggestion. I'm curious if that would work as well.
I tested it but I was a little apprehensive. I will create another PR draft with these changes (When I recover the changes I had made), if necessary.

Hey @Mairramer it looks like this might need a rebase to fix the ci.yaml check


Have the scan() API return an object of results.

At present, we are returning a std::vector() from scan().  While this is "ok", we can do better by returning an object that is a container of results ... eg.
BLEScanResults
-> getCount() -> Number of results
-> getResult(i) -> Get the ith result
This would provide a nice encaspulation.  However, the most important reason (to me) is that it would elminate the need to expose a piece of std::c++ in an Arduino environment.

Starting work

Code changes made and tested.


Deaktivate Blue Retro via WebOS

Hi,
Will there be an option in the WiFi settings to deactivate the esp until the next hardreset? This option would be great for installation inside the console.

Thanks for suggestion, I'll try to add it in the near future.


Implement the UI Feedback

main, develop branch on top
branches as tree view
PR information in the PR Detail View
Sticky Navigation Bar
General CSS adjustments

An idea:
Consider using https://github.com/jfcere/ngx-markdown (or something else) for PR titles since it is in markdown format. I have seen that some people convert markdown to HTML and use innerHtml but that feels dangerous to me so


[WIP][RFC] Hyperlink Refactor

I noticed that link abbreviations weren't supported, and wanted to make a PR to do that.
After looking at the code, I quickly started understanding why they weren't supported.
So I set to work refactoring the entire Hyperlink section.
This is a draft because

Unittests still need to be written
Other unit tests still need to be modified
Type annotations still need to be put in
Documentation for new features needs to be written

However, I'm going on vacation soon, so I thought I'd present it so this can be reviewed whilst I'm away.
Also, if this is not something that's desired, I don't have to bother writing all the Unit tests.
I've tried to keep the Api stable, but I do know that at least org-roam.nvim does some calls to link.url which doesn't exist anymore.
I am willing to make a PR for org-roam.nvim to resolve those issues.
As for what this pull request changes feature-wise:

Improved autocompletion for links on org-insert-link
Support for Link Abbreviations
Support for Custom Hyperlink Types

In addition to being much more maintainable and easier to extend in future.

List of issues this would resolve/make easier to resolve:
https://github.com/nvim-orgmode/orgmode/issues/387
https://github.com/nvim-orgmode/orgmode/issues/783
https://github.com/nvim-orgmode/orgmode/issues/506
https://github.com/nvim-orgmode/orgmode/issues/593 (maybe)
https://github.com/nvim-orgmode/orgmode/issues/556
https://github.com/nvim-orgmode/orgmode/issues/228
https://github.com/nvim-orgmode/orgmode/pull/578

I really appreciate this refactoring. As the author of the original Url class I also spent a lot of time with the hyperlink feature (the situation before was even more constraining), and I am very happy, that you're driving this more forward.
Currently a couple of tests are still failing - I didn't hat the time to take a deeper look. Is this mainly because of changed API/changed assumptions? If so and you consider this feature as usable, I would be very happy to merge it on my personal development branch and test it during my daily work.
I also took a brief look into the code. It looks promising, but I hadn't had the time for a focused review.
The last saying has @kristijanhusak. I think, he is also a bit busy right now - but I hope he can just have a brief look soon to look, if your PR is aligned with his vision of orgmode, so you can continue and polish your PR.

Thank you for having a look @seflue!
And yeah the failing tests are because i haven't had time to fix them yet with the changed behaviour.
I have done some brief testing of the major features I believe to have touched, and they all seem to work properly.
It'd be very useful if you could do some more extensive testing, and I'd greatly appreciate it!
So be aware that it currently doesn't work with org-roam.nvim, so if you use that, you might have to disable it.

Are you planning to make a PR to org-roam too? Actually I am using org-roam quite extensively. Can I help you to craft an PR? I am also contributing to this project.
It would be good, to have the PR in for org-roam ready to merge when your PR in Orgmode gets merged, to keep the implications for org-roam users at a minimum.

I am planning on making a PR to Org-Roam too, as in a user of it too. I just happen to be on vacation until Saturday so i dont currently have time to work on it.
Feel free to make a PR/local version of Org-roam that works with this refactor. That'd be greatly appreciated, and would probably help in getting this merged sooner rather than later.

Hey, thanks for the PR!
I really appreciate the effort, but I had something different in mind.
My idea is to have very similar structure to what we currently have for autocompletion (see https://github.com/nvim-orgmode/orgmode/tree/master/lua/orgmode/org/autocompletion).
This PR has similar ideas, but it's not structured in that way.
If you would like to attempt to do the changes, I'd prefer if we do this in several steps (PRs), so it's easier to review and catch any potential bugs:

Create a separate folder that will hold all the structure, but is not actively used in the code. It should be testable manually by calling it directly
Introduce the usage of the new code internally, without exposing the extension through configuration
Expose a configuration option (or an api method) to add custom link handlers.

Thank you for having a look @kristijanhusak!
I've got some questions to try and ensure we have the same ideas in mind.
What do you mean exactly with "a similar structure to autocompletion"?
Do you mean that we have a registry class (like OrgCompletion) which holds the different link types internally?
If so, this should be fairly easy to accomplish. I basically do this already, but I use config.hyperlinks as the registry, instead of having a dedicated class.
I would also like to know how you imagine the usage of the current link handling (Primarily OrgUrl) during this transitional period.
I understand the desire for a gradual phase-out, but I also do not believe it would be a good idea to have multiple different implementations for the same link type.
Do you have any suggestions on how to handle this gracefully? I would be more than willing to take on the work, especially since I'm now very familiar with how all the hyperlink stuff works.

As this is a breaking change, @kristijanhusak do you plan to bump the released version of this plugin when this rolls out? So far, org-roam.nvim has been compatible with the latest version of this plugin without needing to support new and old logic.
If this is going to be a break, having a tag so I can publish a new version of org-roam.nvim matching that tag would be great 😄

What do you mean exactly with "a similar structure to autocompletion"?

In the autocompletion that I linked https://github.com/nvim-orgmode/orgmode/blob/master/lua/orgmode/org/autocompletion/init.lua, there is a "master" OrgCompletion class that has a list of sources, and orchestrates everything. In completions example, it knows how to figure out the context, collect all sources for the completion and return it.
I'd like to have a similar thing for hyperlinks, basically:

Have an OrgHyperlink class that has a list of sources (for start only internal ones), like CustomId, Id, File, etc. that adhere to the same interface. You do similar thing here but structured differently
Have a handler that will know how to find the matching source for the link, and handle it (for example follow, autocomplete, etc). This should work similar to how we collect autocompletions in this section https://github.com/nvim-orgmode/orgmode/blob/master/lua/orgmode/org/autocompletion/init.lua#L43. By similar, I mean there should be no switch case or some hardcoded logic. Sources should be dynamic, and the handler should have a matcher to find what it needs.
This class needs to be initialized and accept the files (and any other dependencies), and attached to the main org instance.

To give you an example of usage. Once we have this, and we want to autocomplete all of the links that match a partial string, we would do this:
local autocompletion_string = 'file:/home`

local results = OrgHyperlink:complete(autocompletion_string)

--- results = OrgHyperlinkSource[]
--- where OrgHyperlinkSource is something like this:

---@class OrgHyperlinkSource
---@field protocol string - id,file,headline
---@field path
--- and other similar fields that `OrgUrl` currently have

I would also like to know how you imagine the usage of the current link handling (Primarily OrgUrl) during this transitional period.

OrgUrl is somewhat of a God class that holds all internal hyperlinks logic at this moment. With this (and other) PRs, we would have it split across multiple classes, which I refer above as sources. None of the current logic should be changed. We should just have new code that works from top to bottom, and we will just swap usages in the mappings and everywhere. I know it's not that straightforward, but just explaining the idea.

I understand the desire for a gradual phase-out, but I also do not believe it would be a good idea to have multiple different implementations for the same link type.

As mentioned, current code is not touched, we just write the new one. I don't expect any bigger changes to the OrgUrl or Hyperlink at this moment.

Do you have any suggestions on how to handle this gracefully?

Yeah, basically these steps (high level):

Create a Hyperlink class as explained above, with the internal sources and stucture (interface) around it
Once that's deployed, Swap the usages that we currently have with the new code
Deprecate/Remove old code

@chipsenkbeil No worries, I don't plan to release any breaking changes without a notice.

---@class OrgHyperlinkSource
---@field protocol string - id,file,headline
---@field path
--- and other similar fields that `OrgUrl` currently have

Are we sure we want every (Hyper)link source to have all the fields the current OrgUrl class has? I think they should only contain the fields relevant to themselves, and you can check whether the field exists on attempting to access it (non-existant fields will give nil anyways).
One of the reasons I wanted to restructure this OrgUrl is because it contains too many of these fields, because it's responsible for too many disparate things currently. I think it's much more extensible to check whether the returned link has link.id than make sure every type of link implements link:is_id() and link:get_id().

Are we sure we want every (Hyper)link source to have all the fields the current OrgUrl class has? I think they should only contain the fields relevant to themselves, and you can check whether the field exists on attempting to access it (non-existant fields will give nil anyways).

That's correct, we don't want to have all of them. We just need to figure out what they all share.
Looking at the OrgUrl class should give you an idea how to split it. For example, we have path_type and target type that are enums.
There are some catches there because a headline can either be from file, or directly with *.  In this case, I would have only a OrgHyperlinkHeadline source, that would have a reference to the file that it operates on. If it's a file:/path/to/file::*headline, then the reference is /path/to/file`. Otherwise, the reference is the current working file. Just giving an idea.
Ideally we should have the interface with methods that are generic, like get_type and get_target, instead of going for get_id and similar.

Thanks for all the responses @kristijanhusak! I'm currently working on restructuring my current code to the way you had in mind (similar to OrgCompletion). I might have some questions as I run into unresolved questions.
Previously you suggested

local results = OrgHyperlink:complete(autocompletion_string)

--- results = OrgHyperlinkSource[]

I originally used a structure similar to this, but ended up falling back to returning string[]. This made it easier to provide partial completion (Such as only completing the 'protocol' (Bit before the :) in the same way Emacs does on org-link-insert.
Is this alright, or do you have a suggestion in mind to mitigate this issue?

Is this alright, or do you have a suggestion in mind to mitigate this issue?

Start with what you can work with, and we can expand on it later if necessary.

@SlayerOfTheBad please open up a separate PR with those changes so I can leave comments on it.

@kristijanhusak new PR has been created, https://github.com/nvim-orgmode/orgmode/pull/793.
As that one superseeds this one, I will close this one.


[FLINK-19297][network] Make ResultPartitionWriter record-oriented

What is the purpose of the change
Currently, ResultPartitionWriter is buffer-oriented, that is, RecordWriter will add buffer of different channels to ResultPartitionWriter and the buffer boundary serves as a nature boundary of data belonging to different channels. However, this abstraction is not flexible enough to handle some cases where records are appended a joint-structure shared by all channels and sorting is used to cluster data belonging to different channels.
This PR makes ResultPartitionWriter record-oriented which offers more flexibility to the implementation of ResultPartitionWriter. And based on the new record-oriented Interface, we will introduce the sort-merge based blocking shuffle to Flink in the future.

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

Thanks for updating the PR.
I would merge this and apply the minor clarification change directly during the merging.

@StephanEwen Thanks for the review and suggestions, I have resolved all issues.

@flinkbot run azure

@StephanEwen Sorry for the inconvenience. I found there is unused import which fails the compile. I have fixed it a moment ago.

Conflicts resolved.

@StephanEwen Yesterday's code has some conflicts with the main branch because of the new merged commit. I have resolved the conflicts and the Azure Pipeline is now green.

Thanks for your contribution. @StephanEwen asked me to help you rebase but it's apparently not needed. I'll merge.

I've just encountered those changes in the master code by looking at what has happened with the BroadcasterRecordWriter. I really like how the new code is handling broadcast writes optimisations. Much better abstraction compared to the previous one :) Well done @wsry :)


Make XML output compatible with Gitlab CI

Unfortunately Gitlab cannot read/understand the generated XML output from DUnitX.
More infos: https://docs.gitlab.com/ee/ci/junit_test_reports.html
Limitations
Currently, the following tools might not work because their XML formats are unsupported in GitLab.

 does not have classname attribute (https://gitlab.com/gitlab-org/gitlab-foss/-/issues/50964)

-> This resulted in adding classname to eslint (https://github.com/eslint/eslint/pull/11683).
Maybe something similar could allow using DUnitX with Gitlab CI? Or does it need more changes?

DUnitX generates NUnit format xml. This is done by a logger class, it should be simple to create a logger to produce JUnit xml. Happy to accept a PR for this if someone want's to have a go, I don't currently have the time to work on it (and all the tools I use work with nunit style xml).


invalid character under name row

When you look at the Ilorin category, there's a polygon event whose event title has an invalid character [ You should remove it.
Here's a Jumpstart on the exact line to focus on.
https://github.com/kaf-lamed-beyt/ng-tech-events/blob/762ad240be4bf2bb0f0da251a1d67a6cceae76c2/README.md#L33

oh that true

Yep. Thank for opening the PR, champ! 🚀


isPhone extension implementation is strongly incorrect.

https://github.com/FunkyMuse/KAHelpers/blob/e40d6c5b09ef8439b8e7fc1d2b92f1735bf4e111/string/src/main/java/com/crazylegend/string/StringExtensions.kt#L91-L95
this regex fully incorrect and no matches much of possible numbers. ^1([34578])\\d{9}\$

Phone always must not checked or validated by regex because not one regex for all phone number cases. Phone always validating by code, or by regex but for only one culture.

Closed https://github.com/FunkyMuse/KAHelpers/commit/43e87010e18d5f9dc43c6ff72dc79cc8132404e8


Solve text color issue

when you select dark mode, these texts color blends with background color. which doesn't look good.
I want to Fixed this issue properly.
PA please assign me this task.

@SaurabhS55 @pulkitpathak99 @Rizwan102003 PA please assign me

@pulkitpathak99 Thank you PA


Trying to enable animation but failed

Hi Peli,
I have changed all global variables into local scope which is dependent on the variables values in Board class. However, after I did that, the animation stopped. I think it might be the function declaration issue with the variable requestAnimFrame but I am not sure. Could you please take a look and help me out? Thank you!

This is a massive change. Please provide smaller code changes to review.

Sorry, could you just check the one at commit number 3146a7e if its possible?

You'll have to figure this out with the debugger.

Don't create massive pull request. Instead work incrementally with small, tested, reviewed changes. You can create many many PRs, no problem. Have massive changes like these ones make it really hard to go back in time and investigate issues.

Sure, thanks for your advice! As I was unfamiliar with how pull requests work, I accidentally sent a pull request with showing massive changes. But I was meant to only send the most recent change for discussing.

No worries.

@pelikhan hi Peli, just a quick question on the simulator map design when you have time. I have sent you a map design on slack, which includes a 23 intersection map with a tilt road. However, when I implement this map design, I have trouble to draw the diagonal road, because the native code doesn't contain diagonal rendering logic. Would you mind provide some help? Right now I have a 24 intersections map from commit 3534f1c.

Just drop the tilt road for now.
Get Outlook for iOShttps://aka.ms/o0ukef

From: Chelsea Zhang<EMAIL_ADDRESS>Sent: Monday, November 13, 2017 9:07:01 PM
To: liolop/MPS-Project-Q2
Cc: Peli de Halleux; Mention
Subject: Re: [liolop/MPS-Project-Q2] Trying to enable animation but failed (#6)
@pelikhanhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fpelikhan&data=02|01|jhalleux%40microsoft.com|42be30c3e86b443f6e6e08d52b1d8b13|72f988bf86f141af91ab2d7cd011db47|1|0|636462328248441392&sdata=ZGdk85ITXb8YEo31a32FFHvn2%2BbCU2GT6pBouER3qYg%3D&reserved=0 hi Peli, just a quick question on the simulator map design when you have time. I have sent you a map design on slack, which includes a 23 intersection map with a tilt road. However, when I implement this map design, I have trouble to draw the diagonal road, because the native code doesn't contain diagonal rendering logic. Would you mind provide some help? Right now I have a 24 intersections map from commit 3534f1chttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fliolop%2FMPS-Project-Q2%2Fcommit%2F3534f1ce3d530322cf3d00993f51fadf71421e75&data=02|01|jhalleux%40microsoft.com|42be30c3e86b443f6e6e08d52b1d8b13|72f988bf86f141af91ab2d7cd011db47|1|0|636462328248441392&sdata=CopdkrUCBEqHZxl3%2FlzuaLoivtJdrY%2Ba4V2dv9q1KR0%3D&reserved=0.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fliolop%2FMPS-Project-Q2%2Fpull%2F6%23issuecomment-344147986&data=02|01|jhalleux%40microsoft.com|42be30c3e86b443f6e6e08d52b1d8b13|72f988bf86f141af91ab2d7cd011db47|1|0|636462328248441392&sdata=37AkNnG%2BYwpYYxJsg%2B5v5KlQF1Nvwwe%2FRKa%2BTBijPpc%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAD-4KTeJ0ed7yUeEIVH6eNQjHIMkLhwgks5s2R_1gaJpZM4QXSdQ&data=02|01|jhalleux%40microsoft.com|42be30c3e86b443f6e6e08d52b1d8b13|72f988bf86f141af91ab2d7cd011db47|1|0|636462328248441392&sdata=rlz97RejmgulVZXy5w%2FrYkzNdASY2s8afUUjNlyxexA%3D&reserved=0.

Thanks! We will work on the 2*4 map for now.


TypeScript 1.4 does not work in VS 2013 Update 4

The following, when present in a .ts file in any Visual Studio 2013 Update 4 project will generate an error.  That error is immediately visible if Web Essentials 2.5.4 is installed, otherwise you won't see it until you examine the generated .js file:
const enum Color { Blue, Green, Red };
I've verified the following:

Right-click project, Properties, TypeScript Build: EcmaScript version : I've tried all three choices, none of which prevent the error: EcmaScript3, 5 or 6.
Unloaded the project, Edit, verified the following line is present:
TypeScriptToolsVersion 1.4 TypeScriptToolsVersion

(note: had to remove HTML markup from this issue text comment; otherwise, the entire line disappears upon save of this issue text)
3. There is a directory on the computer at the following location:
C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.4
in that directory is a tsc.exe with the following properties:
File Version <IP_ADDRESS>115
Product Version: <IP_ADDRESS>115

What is the actual error you're seeing? In the Playground: http://www.typescriptlang.org/Playground#src=const enum Color { Blue%2C Green%2C Red }%3B

If I type the following the the Playground:
const enum Color { Blue, Green, Red };
var c : Color = Color[Color.Blue];
The right hand screen looks like this:
;
var c = Color[0 /* Blue */];

The Playground is currently running TypeScript 1.4, the bits for VS2013 are here https://visualstudiogallery.msdn.microsoft.com/2d42d8dc-e085-45eb-a30b-3f7d50d55304
The behavior you're describing for enum emit is exactly as intended. const enum is a new feature, distinct from non-const enums which still exist.

@danquirk the link in your comment gives an error.

If you see this page, it is because an error occurred in the system while trying to process your request. We apologize for the inconvenience. This error has been reported to our team for analysis.

@GaryB432 I assume you're referring to the VS gallery link. It works for me at the moment, is it still broken for you? Maybe a temporary hiccup.

Yes the VS gallery link.  I am still seeing this..

If you see this page, it is because an error occurred in the system while trying to process your request. We apologize for the inconvenience. This error has been reported to our team for analysis.
Error Log Reference #450fea7e-76cc-4478-a0c3-c08f2d841862

Now I've tried searching and clicking within the gallery itself and that error comes up on every item I click, except with a different GUID.
Thanks for looking

Very odd, I've sent mail to the appropriate folks to make sure they're looking into it in case the automated reporting system isn't sufficient.

I am wondering if you are able to access other extensions on the VS Gallery?
thanks

I was not able to access anything in the gallery using Chrome.  I tried in IE11 and it seems to work. I am now downloading 1.4 for VS2013!

I am not able to use Typescript 1.4 in Visual Studio 2013 Update 5 and it always throws the build error. I verified my installed version and i have 1.4 and 1.5, the path in environment variable is updated to 1.4, the typescriptversion is the VS proj is also set to 1.4. I dont know what else is missing for it to work. Appreciate your input

does compiling on the commandline works for you? does the files you have contain any newer syntax that was introduced in newer versions of the language (e.g. union types was introduced in 1.5, intersection types in 1.6, and this types in 1.7, etc..) ? can you provide a sample file that is causing you the build errors?

No, the compiling command line also doesnt work and it gives error "let" can be used on ecma 6 and above. All i have done is created a visual studio project and added nuget packages for angularjs.TypeScript.DefinitelyTyped.6.1.0 and jquery.TypeScript.DefinitelyTyped.3.0.5, which automatically creates a typings folder. I created a Learning.ts file outside the folder. The build error is from all the files that have been added from nuget angular package like angular.d.ts, angular-resource.d.ts

@kspranesh let is a new syntax introduced in TS 1.5, so it is an error in prior versions. if you want to use a library (angular) that uses the new syntax, you need to update to a newer version of the tools.
here is the link for VS 2013 installer for TS: https://www.microsoft.com/en-us/download/details.aspx?id=48739


Error on decoding on device

I'm trying your library, it works on simulator (32 and 64 bit) but it doesn't work on device. Your demo project crashes after about one second if is runned on device (ios 7.1 iphone 5)
The application crashes on CGSConvertAlphaByte
Any advices?

Just noticed this OLD issue, not sure if it's still one though, but it's working on my iOS 8.3 device.


[bug]: Error when running stacked create service

Describe the bug
i have a problem when running stacked create service, the file appears in the services folder but an error appears in the terminal and i cant use the service
PS: I'm using the Isar local database, perhaps the problem because I'm using Isar with the stacked architecture I'm not sure, if there's any help ill be very grateful.
also i deleted the test file because i don't need it .
What operating system do you use?
macOS
Information about the installed tooling
No response
Steps to reproduce the issue
run stacked create service
Expected behavior
No response
Screenshots

Additional Context
No response

Hi @ZackBela, can you provide the code of app.dart and stacked.json please?

@ferrarafer this is the app.dart and stacked.json files

@ferrarafer this is the app.dart and stacked.json files

I was having the exact same issue and it seems the file test/helpers/test_helpers.dart is required to exist for the CLI to modify files correctly. Once I created that file (even if empty) the CLI started working.

@ZackBela I was going to ask why I don't see the test folder in your structure. Use the advice of @KoalityJustin above.

This error was happening in our Stacked project as well, and it ended up being related to using a Custom Package Repository in a Stacked project.
The stacked_cli relies on a package called pubspec_yaml, which was last updated prior to the release of 'hosted' packages.
It'll throw the Map<String, dynamic> casting error whenever there is a hosted package in the pubspec, and the Stacked CLI won't be able to do its thing.
I was able to fix the issue by pulling down stacked_cli locally and updating the pubspec.yaml to point to a PR of pubspec_yaml that added hosted dependency support.
In the stacked_cli pubspec.yaml:
pubspec_yaml:
    git:
      url: https://github.com/alexei-sintotski/pubspec_yaml.git
      ref: db06db6e88e12da2905e65babecd07ec232c00af

Unfortunately, it looks like pubspec_yaml isn't actively maintained anymore, so this was the only work-around I could find.
I know hosted dependencies are a pretty niche use case, but if it seems like something Stacked would want to support and there's work needed in order to accomplish this, I would be happy to contribute.
For now, we're just using a locally installed version of the stacked_cli, which isn't a huge inconvenience.
@KoalityJustin may have a totally different, unrelated issue, but this fixed it for us.

I created the empty files and the cli worked perfectly , thanks a lot for the help @KoalityJustin  @ferrarafer .


Traffic Monitor cleanup DataSummary class, add tests for it

Wicket uses reflection so a lot of this code isn't dead after all.


[Bug] Download marked as completed but chapter is corrupted

Describe the bug
For a test, trying to download chapter 0 of https://mangadex.org/title/18964/kenja-no-mago
To Reproduce
Try to download from Mangadex with a slow connection...
Expected behavior
Download witouth error :) Could you check validity of CBZ before mark file as downloaded ?
Docker (if you are running Mango in a Docker container)

The docker-compose.yml file you are using

Additional context
With 7Zip

With Komga (Marked as empty)

Thanks !

Extract from logsq :
[INFO] 2020/04/07 12:47:16 | The library directory /root/mango/library does not exist. Attempting to create it
[INFO] 2020/04/07 12:47:16 | Scanned 0 titles in 0.442ms
[ERROR] 2020/04/07 12:49:58 | Error reading socket: Connection reset by peer
[WARN] 2020/04/07 12:49:58 | Failed to download page https://s5.mangadex.org/data/e4743dfe492b9ddccf160f07f1f6146c/x6.png. Retrying... Remaining retries: 3
[ERROR] 2020/04/07 12:51:22 | Error reading socket: Connection reset by peer
[WARN] 2020/04/07 12:51:22 | Failed to download page https://s5.mangadex.org/data/e4743dfe492b9ddccf160f07f1f6146c/x11.png. Retrying... Remaining retries: 3
[WARN] 2020/04/07 12:52:16 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 12:52:16 | Scanned 0 titles in 9.699ms
[WARN] 2020/04/07 12:57:16 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 12:57:16 | Scanned 0 titles in 1.962ms
[WARN] 2020/04/07 13:02:16 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 13:02:16 | Scanned 0 titles in 1.815ms
[WARN] 2020/04/07 13:07:16 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 13:07:16 | Scanned 0 titles in 1.717ms
[WARN] 2020/04/07 13:09:40 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[WARN] 2020/04/07 13:12:16 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 13:12:16 | Scanned 0 titles in 3.058ms
[WARN] 2020/04/07 13:17:16 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 13:17:16 | Scanned 0 titles in 2.777ms
[ERROR] 2020/04/07 13:18:00 | connect: Operation timed out
[WARN] 2020/04/07 13:18:00 | Failed to download page https://s5.mangadex.org/data/e4743dfe492b9ddccf160f07f1f6146c/x5.png. Retrying... Remaining retries: 3
[ERROR] 2020/04/07 13:19:04 | SSL_read: Unexpected EOF
[WARN] 2020/04/07 13:19:04 | Failed to download page https://s5.mangadex.org/data/e4743dfe492b9ddccf160f07f1f6146c/x8.png. Retrying... Remaining retries: 3
[ERROR] 2020/04/07 13:19:52 | connect: Operation timed out
[WARN] 2020/04/07 13:19:52 | Failed to download page https://s5.mangadex.org/data/e4743dfe492b9ddccf160f07f1f6146c/x9.png. Retrying... Remaining retries: 3
[ERROR] 2020/04/07 13:20:21 | Error reading socket: Connection reset by peer
[WARN] 2020/04/07 13:20:21 | Failed to download page https://s5.mangadex.org/data/e4743dfe492b9ddccf160f07f1f6146c/x9.png. Retrying... Remaining retries: 2
[ERROR] 2020/04/07 13:20:32 | SSL_read: Unexpected EOF
[WARN] 2020/04/07 13:20:32 | Failed to download page https://s5.mangadex.org/data/e4743dfe492b9ddccf160f07f1f6146c/x9.png. Retrying... Remaining retries: 1
[ERROR] 2020/04/07 13:20:44 | Error reading socket: Connection reset by peer
[WARN] 2020/04/07 13:20:44 | Failed to download page https://s5.mangadex.org/data/e4743dfe492b9ddccf160f07f1f6146c/x9.png. Retrying... Remaining retries: 0
[ERROR] 2020/04/07 13:21:12 | SSL_read: Unexpected EOF
[WARN] 2020/04/07 13:21:12 | Failed to download page https://s5.mangadex.org/data/e4743dfe492b9ddccf160f07f1f6146c/x11.png. Retrying... Remaining retries: 3
[WARN] 2020/04/07 13:22:17 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 13:22:17 | Scanned 0 titles in 2.668ms
[WARN] 2020/04/07 13:27:17 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 13:27:17 | Scanned 0 titles in 2.911ms

Thanks for the report!
Normally Mango would set the status as "Missing Pages" if it fails to download any page of the chapter. It looks like the log you provided above is not complete. Could you show me the full log? If it's too long, you can paste it in a gist and link it here.
I am running Mango on a remote server, so it's not easy for me to test it with a slow connection. With a normal connection speed I can download the same chapter without any issues.
BTW it looks like your console does not support ANSI escape codes so the log formatting is messed up. Normally it should look something like this

I should probably add an option to disable the log coloring to make it readable.

Hello,
I am on unraid 6.8.3 on your new docker image :) The console is only a html screen displaying log...not a true console.
full log 👍
ErrorWarningSystemArrayLogin
The config file /root/.config/mango/config.yml does not exist. Do you want mango to dump the default config there? [Y/n]
The config file has been created at /root/.config/mango/config.yml.
Initial user created. You can log in with {"username" => "admin", "password" => "XXXX"}
[INFO] 2020/04/07 12:47:16 | The library directory /root/mango/library does not exist. Attempting to create it
[INFO] 2020/04/07 12:47:16 | Scanned 0 titles in 0.442ms
[ERROR] 2020/04/07 12:49:58 | Error reading socket: Connection reset by peer
[WARN] 2020/04/07 12:49:58 | Failed to download page https://s5.mangadex.org/data/e4743dfe492b9ddccf160f07f1f6146c/x6.png. Retrying... Remaining retries: 3
[ERROR] 2020/04/07 12:51:22 | Error reading socket: Connection reset by peer
[WARN] 2020/04/07 12:51:22 | Failed to download page https://s5.mangadex.org/data/e4743dfe492b9ddccf160f07f1f6146c/x11.png. Retrying... Remaining retries: 3
[WARN] 2020/04/07 12:52:16 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 12:52:16 | Scanned 0 titles in 9.699ms
[WARN] 2020/04/07 12:57:16 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 12:57:16 | Scanned 0 titles in 1.962ms
[WARN] 2020/04/07 13:02:16 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 13:02:16 | Scanned 0 titles in 1.815ms
[WARN] 2020/04/07 13:07:16 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 13:07:16 | Scanned 0 titles in 1.717ms
[WARN] 2020/04/07 13:09:40 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[WARN] 2020/04/07 13:12:16 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 13:12:16 | Scanned 0 titles in 3.058ms
[WARN] 2020/04/07 13:17:16 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 13:17:16 | Scanned 0 titles in 2.777ms
[ERROR] 2020/04/07 13:18:00 | connect: Operation timed out
[WARN] 2020/04/07 13:18:00 | Failed to download page https://s5.mangadex.org/data/e4743dfe492b9ddccf160f07f1f6146c/x5.png. Retrying... Remaining retries: 3
[ERROR] 2020/04/07 13:19:04 | SSL_read: Unexpected EOF
[WARN] 2020/04/07 13:19:04 | Failed to download page https://s5.mangadex.org/data/e4743dfe492b9ddccf160f07f1f6146c/x8.png. Retrying... Remaining retries: 3
[ERROR] 2020/04/07 13:19:52 | connect: Operation timed out
[WARN] 2020/04/07 13:19:52 | Failed to download page https://s5.mangadex.org/data/e4743dfe492b9ddccf160f07f1f6146c/x9.png. Retrying... Remaining retries: 3
[ERROR] 2020/04/07 13:20:21 | Error reading socket: Connection reset by peer
[WARN] 2020/04/07 13:20:21 | Failed to download page https://s5.mangadex.org/data/e4743dfe492b9ddccf160f07f1f6146c/x9.png. Retrying... Remaining retries: 2
[ERROR] 2020/04/07 13:20:32 | SSL_read: Unexpected EOF
[WARN] 2020/04/07 13:20:32 | Failed to download page https://s5.mangadex.org/data/e4743dfe492b9ddccf160f07f1f6146c/x9.png. Retrying... Remaining retries: 1
[ERROR] 2020/04/07 13:20:44 | Error reading socket: Connection reset by peer
[WARN] 2020/04/07 13:20:44 | Failed to download page https://s5.mangadex.org/data/e4743dfe492b9ddccf160f07f1f6146c/x9.png. Retrying... Remaining retries: 0
[ERROR] 2020/04/07 13:21:12 | SSL_read: Unexpected EOF
[WARN] 2020/04/07 13:21:12 | Failed to download page https://s5.mangadex.org/data/e4743dfe492b9ddccf160f07f1f6146c/x11.png. Retrying... Remaining retries: 3
[WARN] 2020/04/07 13:22:17 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 13:22:17 | Scanned 0 titles in 2.668ms
[WARN] 2020/04/07 13:27:17 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 13:27:17 | Scanned 0 titles in 2.911ms
[WARN] 2020/04/07 13:32:17 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 13:32:17 | Scanned 0 titles in 1.762ms
[WARN] 2020/04/07 13:37:17 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 13:37:17 | Scanned 0 titles in 1.779ms
[WARN] 2020/04/07 13:42:17 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 13:42:17 | Scanned 0 titles in 1.612ms
[WARN] 2020/04/07 13:47:17 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 13:47:17 | Scanned 0 titles in 1.789ms
[WARN] 2020/04/07 13:52:17 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 13:52:17 | Scanned 0 titles in 1.986ms
[WARN] 2020/04/07 13:57:17 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 13:57:17 | Scanned 0 titles in 1.512ms
[WARN] 2020/04/07 14:02:17 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 14:02:17 | Scanned 0 titles in 1.786ms
[WARN] 2020/04/07 14:07:17 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 14:07:17 | Scanned 0 titles in 1.486ms
[WARN] 2020/04/07 14:12:17 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 14:12:17 | Scanned 0 titles in 1.674ms
[WARN] 2020/04/07 14:17:17 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 14:17:17 | Scanned 0 titles in 1.68ms
[WARN] 2020/04/07 14:22:17 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 14:22:17 | Scanned 0 titles in 1.684ms
[WARN] 2020/04/07 14:27:17 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 14:27:17 | Scanned 0 titles in 1.743ms
[WARN] 2020/04/07 14:32:17 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 14:32:17 | Scanned 0 titles in 1.428ms
[WARN] 2020/04/07 14:37:17 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 14:37:17 | Scanned 0 titles in 1.598ms
[WARN] 2020/04/07 14:42:17 | File /root/mango/library/Kenja no Mago/Vol.1 Ch.0 Prequel.cbz is corrupted or is not a valid zip archive. Ignoring it.
[INFO] 2020/04/07 14:42:17 | Scanned 0 titles in 1.768ms

I tried to reproduce the bug by:

Modifying the code to make the downloads fail randomly (20% of the pages would fail to download)
Running Mango on a local machine and throttling the connection speed to 300kbps

Unfortunately, neither of these reproduced the issue you are having.
It's easy to verify the integrity of the downloaded file before marking it as completed, but it still bugs me why this would happen. Does the problem persist when you download the same chapter again? Also, it would be helpful if you could send me the .cbz file so I can inspect to see what went wrong.

Hello,
Yes i have always the problem with this chapter. I can't delete incomplet chapter, i must stop the docker before deleting the chapter. A process must be using the file ...
The incomplet file is in  this post (decompress the zip, the cbz is inside).
Thanks a lot :)
PS : i have restarted the docker, and now the chapter is available for reading and readable ... Maybe downlaod is working but a process crash and block end of writing of file ?
Vol.1 Ch.0 Prequel.zip

In v0.3.0, Mango will check if the downloaded cbz file is valid before marking the job as completed. I am closing this, but feel free to reopen if you could find a reliable way to reproduce the problem.


Rename incrementalcompiler to zinc

Reflect the rename of the repo to zinc in project's structure.

LGTM


Yet another cs4 cg4 update

This update has been tested for c4g. I'm not worried about cs4.
Still to do:

check that everything will be fine for IPS
turn off the switch heater WITHOUT sweeping down when stopping the measurement

Note: certain things are not fine for now for IPS (for example didn't correct there the use of dict instead of an OrderedDict) but @MatthieuDartiailh wants to refactor the code in any case :)

@lcontami I made my changes. They could definitively use another set of eyes and some manual testing. Could you take care of it ?

I addressed all comments that do not require the hardware to test.

Closing in favor of #47


Does django-filer support StackedInline or TabularInline FilerFileField?

I would like to know if django-filer supports StackedInline or TabularInline FilerFileField for the admin.
I couldn't figure out how to do it. Any help would be really appreciated.

Do you mean something like:
class BaseModel(models.Model):
    name = models.CharField(max_length=200)

class RelatedFiler(models.Model):
    basic = models.ForeignKey(BaseModel)
    image = FilerImageField()

class RelatedInline(admin.TabularInline):
    model = RelatedFiler

class BaseAdmin(admin.ModelAdmin):
    inlines = (RelatedInline, )


Add classes study factsheet, OEP study factsheet and scenario study #1069 and #1058

Add classes:

study factsheet: A study factsheet is a factsheet that contains information about a scenario study.
OEP study factsheet: An OEP study factsheet is an study factsheet hosted on the Open Energy Platform. It is used to access the Open Energy Knowledge Graph (OEKG).
scenario study: A scenario study is a study that investigates one or more scenarios.

Closes #1069
Closes #1058

I added the last missing axiom and thus this PR now also ready for review.


ComponentDidUpdate doesn't call when using Redirect and ref

Version
version: 5.0
Test Case
https://codesandbox.io/s/8lmvq3yq68
Steps to reproduce
Expected Behavior
I want the componentDidUpdate in the Superhero is called when calling this.superheroElement.current.changeName()
Actual Behavior
componentDidUpdate doesn't invoke.

That's not how you're supposed to be using refs. Regardless, you'll notice the name isn't updating either. This isn't a React Router issue, it's how you're using React. I'd read up on props and passing data properly.

I know I solve the problem by lifting the prop, but if I don't use the Redirect,  the name can be updated success.


Clone tickets for refresh

#1607 When we are asked to refresh a cookie either via sliding refresh or manual, clone the ticket so that any app modifications are not persisted.
@NinoFloris

Ok I think the PR is fine, but can we add a few tests to 'spec' the behavior around custom identities and the update validate principal behavior so we at least have some coverage of the existing behavior going forward?

What spec for custom identities? We've always said it isn't supported. At best you'd have to replace the ticket serializer.
I can add a test for modifications inside validate principal.

Updated

@HaoK @Tratcher I believe this change has broken automatic claims refreshes for Identity, so role and claims changes aren't applied to users

Nevermind that, though I'd recommend adding a separate callback for Identity so as to not modify the original identity pipeline when adding logic for the callback doesn't break the original pipeline

I believe the issue is because ReplacePrincipal replaces the principal object inside the validation context, but the clone method uses the principal inside the ticket, and after OnValidate is called context.Principal is modified, not context.Ticket.Principal.

@kanadaj please open a new issue with a repro for your scenario.


Add HTTP & WS comm methods to enum

For now, adding these 4 methods (HTTP, HTTPS, WS, WSS) will prevent serialization exceptions if an attempt is made to serialize a control properties object that contains HTTP as a method.

close #22


Programmatic mcd_swipe

Should clarify in the docs that the user has to manually call wasChosenWithDirection when using the mdc_swipe function on the MDCSwipeToChooseView.
In my case, the front card view would not be removed either.
Here's a basic sample of getting it to work:
[self.frontCardView mdc_swipe:MDCSwipeDirectionLeft];
[self.frontCardView removeFromSuperview];
[self view:self.swipeView wasChosenWithDirection:MDCSwipeDirectionLeft];

[self.frontCardView mdc_swipe:MDCSwipeDirectionRight];
[self.frontCardView removeFromSuperview];
[self view:self.swipeView wasChosenWithDirection:MDCSwipeDirectionRight];

Sounds like the module can't correctly determine which side of the screen the item should be swiped to. I had a similar issue when using constraints for my items. Eventually I settled on doing a quick animation to move the constraints so the item passes the swipe threshold, then triggering the swipe programmatically which was able to complete the rest of the actions (including calling wasChosenWithDirection).


Title home page is incorrect

The title should be changed and aligned as well

Sample comment

Fixed in #2


Missing Challenger series of 6502 based machines

They were quite popular back in the day:
https://en.wikipedia.org/wiki/Ohio_Scientific

Yup. Unfortunately, I don't have access to one and I'm unlikely to get one in Japan. But if you've got a link to an emulator or similar, I could start with that.


TypesenseInstantSearchAdapter Sends Requests to /multi_search Instead of /search and Fails to Include query_by Parameter

Description
I'm using TypesenseInstantSearchAdapter with InstantSearch.js in a Flask project to search through a jobs collection in Typesense. However, I'm encountering an issue where the adapter is sending search requests to the /multi_search endpoint instead of the /search endpoint. This happens even though I have not explicitly enabled multi_search in my configuration. Additionally, the query_by parameter is not being correctly added to the request when performing the search from the front-end.
When testing the search manually using Invoke-WebRequest (or curl), the search works correctly, returning the expected results from the /search endpoint.
Steps to Reproduce
Setup a Flask project using InstantSearch.js and TypesenseInstantSearchAdapter.
Create a Typesense schema for the jobs collection with fields like title, company, location, and date_posted.
Configure TypesenseInstantSearchAdapter as follows:
const typesenseInstantsearchAdapter = new TypesenseInstantSearchAdapter({
  server: {
    apiKey: "xyz",
    nodes: [
      {
        host: "localhost",
        port: "8108",
        protocol: "http",
      },
    ],
    cacheSearchResultsForSeconds: 2 * 60, // Cache search results
  },
  additionalSearchParameters: {
    query_by: "title"
  },
});

const searchClient = typesenseInstantsearchAdapter.searchClient;

const search = instantsearch({
  searchClient,
  indexName: "jobs",
});

search.addWidgets([
  instantsearch.widgets.searchBox({
    container: "#searchbox",
  }),
  instantsearch.widgets.hits({
    container: "#hits",
    templates: {
      item(hit) {
        return `
          <div class="hit-name">
            ${instantsearch.highlight({ attribute: 'title', hit })}
          </div>
        `;
      },
    },
  }),
  instantsearch.widgets.pagination({
    container: "#pagination",
  }),
]);

search.start();

Perform a search via the search bar in the front-end.
I can see in the Network tab on Chrome that the following URL is being called:
http://localhost:8108/multi_search?x-typesense-api-key=xyz
Expected Behavior
The search request from the front-end should be sent to the /search endpoint, with the query_by parameter included in the request. The search results should be returned from the jobs collection, filtering on the title field.
Actual Behavior
Instead of sending the request to the /search endpoint, the adapter is sending it to /multi_search even though no multi-index search is configured. Additionally, the query_by parameter is not being added to the request, resulting in a "No search fields specified for the query" error.
When manually testing via Invoke-WebRequest or curl, the request to /search works correctly, and the expected search results are returned from Typesense.
curl -sv "http://localhost:8108/collections/jobs/documents/search?q=developer&query_by=title" -H "X-TYPESENSE-API-KEY: xyz"
Metadata
Typesense Version: Typesense Server 0.23.1, TypesenseInstantSearchAdapter 2.3.0

However, I'm encountering an issue where the adapter is sending search requests to the /multi_search endpoint instead of the /search endpoint.

This is by design to avoid an extra OPTIONS (CORS) request. All searches (even single ones) are sent to the multi_search endpoint, since multi_search uses POST and we don't use any extra headers. This makes it a "Simple Request" as defined here: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#simple_requests
re: the other query_by issue, could you try running this demo locally, modify it just enough to replicate the issue you're seeing and then share a link to your GitHub fork?

@jasonbosco thanks for the help! I changed "query_by" to "queryBy" and it worked.
I copied the original code from the typesense docs:
https://typesense.org/docs/guide/search-ui-components.html#with-a-package-manager
I think the docs might be wrong. Please see the section where it tells you that queryBy is required in the comment, but then (incorrectly?) has query_by in the code snippet. Not sure if that is something you have control over.
  //  queryBy is required.
  additionalSearchParameters: {
    query_by: "title,authors"
  }

Ah! I've fixed the docs. Thank you for the heads up.


Fix visualmap typo

@Ovilia I've made the requested changes. Can you take a look again?

Thanks Clement!


Aarch

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

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.

I guess @nehaljwani used cross compilation because this is a slow package to build.
I wonder if we will get lucky and have "fast" aarch machines, or "slow" ones.

Right in the nick of time. 54 mins / 60.

yes @hmaarrfk - there is one fast one and one slow one
@isuruf and I see this when building compilers

Is it accetable that it works in 54/60 mins? or would you like us to cross compile again?

I would cross compile. Life's too short to deal with slow machines :wink:

For ppc64le, it always crossed the time limit, so I had given up on it and resorted on cross compile.

Ah, this passed the CI, finally! Alright, we can switch to cross if it gives us pain in the future, for now, I'll merge it!

🤞 we get the fast machine with the build on master...

We were lucky, the one in master finished in 23 mins :stuck_out_tongue_winking_eye:

nice


bug: Pod logs periodically fail with "syncer tunnels: tunnel closed"

Describe the bug
Requests to the pod logs sub-resource sometimes fail with:
Error from server (InternalError): an error on the server ("syncer tunnels: tunnel closed") has prevented the request from succeeding (get pods camel-kcp-86cc47559f-56jfc)

Steps To Reproduce

Start kcp locally and a local KinD cluster as sync target:
$ kcp start --batteries-included=+user --feature-gates=KCPSyncerTunnel=true
$ kind create cluster --name pcluster --kubeconfig pcluster.kubeconfig
$ kubectl kcp workload sync pcluster | kubectl --kubeconfig pcluster.kubeconfig apply -f -

Create a deployment and get the logs, e.g.:
$ watch -n 1 -x kubectl logs <pod_name> --tail 1

Expected Behaviour
The requests to pod logs should always succeed.
Additional Context
Likely related, watching the pod logs fails after a couple a minutes, e.g.:
$ kubectl logs <pod_name> -f
error: stream error: stream ID 3; INTERNAL_ERROR; received from peer

What's the connection between your kcp and physical clusters? If the underlying transport is closed, not sure we can do much - in e.g. deployments where k8s sits behind some router that has a timeout on connections, any kubectl --watch request exhibits the same behavior.

I've updated the description with more context about the setup to reproduce the issue. It's all local, with local KinD clusters, so the transport layer between kcp and the physical clusters should not be responsible for the issue.


#27 Updating dependencies.

Codecov Report

Merging #29 (6a5be2c) into main (6a994ab) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main       #29   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            6         6
  Lines          722       722
  Branches        79        79
=========================================
  Hits           722       722

Flag
Coverage Δ

data
100.00% <ø> (ø)

data-backend
100.00% <ø> (ø)

data-frontend
100.00% <ø> (ø)

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


(docs) Fix inconsistencies in lookup function docs (DOCUMENT-414)

In this commit:

Clarify use of options_hash
Fix description of merge enum
Clarify how override hash is used.
Add table with mappings from Hiera to lookup

thoughts @jtappa @nfagerlund @gguillotte?

I think @nfagerlund is part of some bigger ongoing conversations around our documentation of Hiera data in modules, so I'd defer to him on some of the details here.

I'm cool with merging this for now, and we'll be coming back and revising it again soon anyway. We have an additional revision of the lookup function tracked as DOC-2225, which is related to the broader Puppet lookup docs (tracked as DOC-2311).

This is superseded by #4455. It should probably be closed.


Mergeback/releases/1.1.0

Summary

Merge back releases/1.1.0 to develop after releasing 1.1.0

How to test

Checklist

[ ] I have added unit tests to cover my changes.
[ ] I have added integration tests to cover my changes.
[ ] I have added the description of my changes into CHANGELOG.
[ ] I have updated the documentation accordingly

License

[ ] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.
[ ] I have updated the license header for each file (see an example below)

# Copyright (C) 2023 Intel Corporation
#
# SPDX-License-Identifier: MIT

Because there is a conflict between releases/1.1.0 and develop, I have to create vinnamkim:mergeback/releases/1.1.0 and resolve the conflict by https://github.com/openvinotoolkit/datumaro/pull/888/commits/fa20fd592414277086aadc75fb5c0dbb4ef45f5a.

Codecov Report
Patch coverage: 92.27% and project coverage change: +0.10 :tada:

Comparison is base (f67fc90) 78.49% compared to head (fa20fd5) 78.60%.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #888      +/-   ##
===========================================
+ Coverage    78.49%   78.60%   +0.10%
===========================================
  Files          206      205       -1
  Lines        24939    25067     +128
  Branches      5007     5029      +22
===========================================
+ Hits         19577    19704     +127
+ Misses        4236     4230       -6
- Partials      1126     1133       +7

Flag
Coverage Δ

macos-11_Python-3.8
?

ubuntu-20.04_Python-3.8
78.60% <92.27%> (+0.11%)
:arrow_up:

windows-2019_Python-3.8
?

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

Impacted Files
Coverage Δ

datumaro/plugins/transforms.py
76.72% <ø> (ø)

datumaro/components/crypter.py
80.00% <81.25%> (-0.86%)
:arrow_down:

datumaro/components/exporter.py
84.84% <87.50%> (+0.52%)
:arrow_up:

datumaro/plugins/data_formats/datumaro/exporter.py
95.72% <90.90%> (+0.07%)
:arrow_up:

...o/plugins/data_formats/datumaro_binary/exporter.py
95.74% <92.75%> (-2.13%)
:arrow_down:

datumaro/components/format_detection.py
93.58% <100.00%> (+0.03%)
:arrow_up:

datumaro/components/importer.py
90.00% <100.00%> (+0.31%)
:arrow_up:

...umaro/plugins/data_formats/datumaro_binary/base.py
93.82% <100.00%> (+0.67%)
:arrow_up:

...aro/plugins/data_formats/datumaro_binary/format.py
89.47% <100.00%> (+0.58%)
:arrow_up:

datumaro/plugins/data_formats/image_dir.py
80.55% <100.00%> (-1.50%)
:arrow_down:

... and 5 more

... and 2 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Slowly turn on browse image

Hi Danialfarid and everyone,
Thank you so much for your control (Mr. Danialfarid).
I have a problem which relate with the performance of upload control. When I click on upload control, I must wait more than 10 seconds to display pop-up browse.
I didn't know why it slowly loaded.
Any suggests, I looking forward to hearing from you.
Many thanks.

Same problem here, did you manage to fix you issue? and how especially ;)


Full workbench mode

~The built version of the demo seems to be not working yet~

@CGNonofr wow, I just build everything locally and checked out the demo. Looks really great.

@kaisalmen rebased on main after the other MR merge

@kaisalmen or @CompuIves will you have the time to have a look at it anytime soon?

@CGNonofr I will check this again today

@CGNonofr The latest changes are not in v2.2.0-next.4, right. Can you create a next.5 please`?

branch rebased and next.5 in preparation
btw there is not much changes with the next.4 (https://github.com/CodinGame/monaco-vscode-api/commit/fc1ed50eea857cf044f5c10d57c43e8a29a66133)

Apologies for the late reply. I'll test this tomorrow as well!


Text changes in "Import Partners"

Summary
Minor text changes in "Import Partners"
Details
1/ Change "locations"  in the last line of the Import Partners Instructions to "partners"
2/In the Import Partners instructions, change "Then click the "Import CSV" button to import your partners instructions." to "Then click the "Import CSV" button to import your partners."
Recreation
Sign in as<EMAIL_ADDRESS>Partner Agencies
All Partners
Import Partners

Criteria

[ ] Text changed
[ ] Visually confirmed

Hi @cielf! I'd be happy to work on this. I also noticed the h2 header isn't quite aligned and can change that as well if needed.

@DariBerrie   Go for it!


Why not use 200, Was it a clerical error?

https://github.com/LiWentomng/BoxInstSeg/blob/main/configs/boxinst/boxinst_r50_fpn_1x_coco.py#L88
max_per_img = 2000, but in other framework configurations it's 200.

@jiangxb98  The parameter for max_per_img = 2000  or  max_per_img = 200  have the similar performance  for general coco and voc dataset.   For the scene with the very dense objects, like remote sensing image,  max_per_img = 2000  could have the better performance.


Does this approach use submodules similarily to Mega-nerf?

Hello, thanks for the great job.
I wanted to ask if this approach uses submodules similarly to the Mega-NeRF, if yes what replaced the merge_submodules.py since I noticed that both approaches uses similar training phase.
Thanks in advance.

We use one model to represent the scene instead of using submodules, thus it doesn't need 'merge_submodules'. Thanks.


Texture issue for Redstone Dust

When a piece of redstone is broke, the other pieces do not update there texture

.

diagonal neighbors :pain:

This should’ve been fixed

it is indeed fixed


Add build and milestone badges to README

Using the dockeri.co service would be sufficient:

http://dockeri.co/image/annixa/docker-nginx-letsencrypt-proxy


⚠ Bofrost.lu has degraded performance

In 6b33d4a, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2542 ms

Resolved: Bofrost.lu performance has improved in fe6fe73 after 14 minutes.


why not set 'convert_to_bgr=True'?

Hi,
Thanks for this amazing tool! I have a question about flow color.  According to the flow color coding, it seems that we should set 'convert_to_bgr=True' to match flow color coding? Am I right?

Hi,
Thanks for this amazing tool! I have a question about flow color. According to the flow color coding, it seems that we should set 'convert_to_bgr=True' to match flow color coding? Am I right?

oh, sorry. I found that my code has a bug.


console warning on d2d tests async

Windows 11
Chrome
file:///C:/GitHubClonesDev/twr-wasm/examples/tests-d2d/index.html#async
https://html.spec.whatwg.org/multipage/canvas.html#concept-canvas-will-read-frequently

It seems like the only way to set context attributes (like willReadFrequently) is when first creating the context. So, in order to fix that warning the constructor for twrconcanvas would need to take arguments to pass in when creating the context or the ability to create a new context later.
Example of setting willReadFrequently:
this.ctx = element.getContext("2d", { willReadFrequently: true }) //(compared to here)

So the warning is being triggered by the way your test app uses the d2d API?
I am pretty sure GPU acceleration can help a lot with certain 2D operations.
It sounds like trying to optimize this would require the API user to be able to set it, and that that is not really possible or would require us to change our API a bit for a pretty rare situation.
I suggest we punt, and don't worry about this one.


Fix translation

Thanks for your pr😉
I replaced “could be left blank” with “optional” (for consistency) and merged it in #5 .