Running librespot in a docker container

Hello everyone,
Just wanted to ask if anyone already tried to run librespot in a docker container?
I came so far that I am able to see the device in spotify connect, but afterwards it disconnects and I cannot see it anymore, also in that time I cannot play any songs.
Here are the logs I can get over docker logs:
INFO:librespot: librespot UNKNOWN (UNKNOWN). Built on 2019-02-23. Build ID: OFG14TeI
WARN:mdns: Failed to register IPv6 receiver: Os { code: 19, kind: Other, message: "No such device" }

Here is my Dockerfile:
FROM alpine:edge

WORKDIR /data

RUN apk -U add libgcc curl cargo portaudio-dev protobuf-dev \
 && cd /root \
 && curl -LO https://github.com/librespot-org/librespot/archive/master.zip \
 && unzip master.zip \
 && cd librespot-master \
 && cargo build --jobs $(grep -c ^processor /proc/cpuinfo) --release --no-default-features \
 && mv target/release/librespot /usr/local/bin \
 && cd / \
 && apk --purge del curl cargo portaudio-dev protobuf-dev \
 && apk add llvm-libunwind \
 && rm -rf /etc/ssl /var/cache/apk/* /lib/apk/db/* /root/master.zip /root/librespot-master /root/.cargo

CMD librespot --name "$SPOTIFY_NAME" --bitrate "$SPOTIFY_BITRATE" --disable-audio-cache --enable-volume-normalisation --linear-volume --initial-volume="$SPOTIFY_VOLUME" --zeroconf-port "$SPOTIFY_PORT"

PS: I am also new into Docker, so I know this is not best practice here. I am happy for improvement suggestions.

I suspect zeroconf in docker is going to be problematic

Zeroconf should work in docker, why?
Found out one of the ways how to do it, just /dev/snd and it should work. It includes the audio data sinks.

Just based on other problems we've seen around here w/ regards to zeroconf problems, though if it works for you, great. We're not going to be giving much/any time to supporting Docker though, as there are more pressing priorities. Good luck getting it running though.

I will try to find a bit more proficient way of doing it, afterwards I will release it to github and update this ticket...

@xMordax which command do you use to launch you docker container ?

I managed to have it work in a container after some tinkering.
zeroconf is not an issue in itself (granted you use the appropriate networking mode for your container - eg: host or mac/ip vlan - bridge of course will not work).
It seems that librespot will not work if there is no ipv6 though (and I couldn't find a way to disable ipv6 in librespot) (disclaimer: I'm new to librespot, apologies if I'm mistaken or otherwise missed something on that part)
So, the trick is to enable ipv6 for docker, eg: /etc/docker/daemon.json
{
        "ipv6": true,
        "fixed-cidr-v6": "2001:db8:1::/64"
}

Once you get ipv6 enabled for Docker, and granted your networking is in order librespot will properly advertise and accept input (I'm using macvlan on wired machines, and ipvlan on wifi devices - but I assume host networking would work as well if you can't be bothered to setup mac/ip vlan).
I'm still struggling to get it use an alsa card other than hw:0, but that's a different problem.
Here is a github repo with a working multi-arch image:
https://github.com/dubo-dubon-duponey/docker-librespot
Image can be pulled from the Hub as well:
https://hub.docker.com/r/dubodubonduponey/librespot/tags
I'll add detailed instructions on the networking part later on but the above should be enough to get going...
Hope that helps.

Seems like the requirement for ipv6 came from the mdns library being used https://github.com/plietar/rust-mdns/blob/0974ab4ff7874437e11a89037c8258362a0061f8/src/lib.rs#L109
Which is no longer true since https://github.com/librespot-org/librespot/commit/d91bf573a460045a08d3d41c5493f64ce2ee1950 landed.
@xMordax updating to librespot v0.1.0 or more recent should "fix" your problem (making it unnecessary to setup ipv6 for docker)
^ again, my understanding of librespot is limited, so, take it with a grain of salt - bottom-line though, I'm now running d91bf573a460045a08d3d41c5493f64ce2ee1950 WITHOUT any ipv6 monkeying, on a raspberry pi.
Librespot rocks! ;-)

Seems like the requirement for ipv6 came from the mdns library being used https://github.com/plietar/rust-mdns/blob/0974ab4ff7874437e11a89037c8258362a0061f8/src/lib.rs#L109

That's not really an error, but more the library warning you that it didn't find any ivb6 interface - it can be ignored.

That's not really an error, but more the library warning you that it didn't find any ipv6 interface
it can be ignored.

Well, it still seems that librespot (before d91bf573a460045a08d3d41c5493f64ce2ee1950) will not work without ipv6... so...
Either way the latest does not exhibit the same behavior, and does work (with or) without ipv6, which is great!

I have never seen that warning ever cause an actual problem. Librespot certainly has never required ipv6 to work (at least outside of the world of docker networking).


Revise precheck messages output default threshold, and add threshold control option

Please provide a description of this PR:
This may need to be discussed:
Currently using precheck outputs annotation maturity messages, for example:
Info [IST0136] (Pod default/gateway-test-76944c88cf-6g77l) Annotation "proxy.istio.io/overrides" is part of an alpha-phase feature and may be incompletely supported.
Info [IST0136] (Pod default/gateway-test-76944c88cf-6g77l) Annotation "sidecar.istio.io/userVolume" is part of an alpha-phase feature and may be incompletely supported.
Info [IST0136] (Pod default/gateway-test-76944c88cf-6g77l) Annotation "sidecar.istio.io/userVolumeMount" is part of an alpha-phase feature and may be incompletely supported.
Info [IST0136] (Pod bookinfo/gateway01-6dbb454df-4q8dv) Annotation "inject.istio.io/templates" is part of an alpha-phase feature and may be incompletely supported.
Info [IST0136] (Pod bookinfo/gateway01-6dbb454df-4q8dv) Annotation "proxy.istio.io/overrides" is part of an alpha-phase feature and may be incompletely supported.
Info [IST0136] (Pod bookinfo/gateway01-6dbb454df-4q8dv) Annotation "sidecar.istio.io/discoveryAddress" is part of an alpha-phase feature and may be incompletely supported.
Info [IST0136] (Pod default/s2-68b5b6dd9b-glqn5) Annotation "sidecar.istio.io/proxyCPU" is part of an alpha-phase feature and may be incompletely supported.
Info [IST0136] (Pod default/s2-68b5b6dd9b-glqn5) Annotation "sidecar.istio.io/proxyCPULimit" is part of an alpha-phase feature and may be incompletely supported.
Info [IST0136] (Pod default/s2-68b5b6dd9b-glqn5) Annotation "sidecar.istio.io/proxyMemory" is part of an alpha-phase feature and may be incompletely supported.
Info [IST0136] (Pod default/s2-68b5b6dd9b-glqn5) Annotation "sidecar.istio.io/proxyMemoryLimit" is part of an alpha-phase feature and may be incompletely supported.

I prefer to set default message output threshold to warning instead of info for reasons:

These annotations are not actually influence the installation/upgrade process, we can just filter the Info message by default. If they use istioctl analyze, they will still see the alpha annotations.
Added --output-threshold flag to let users control the output threshold.
The annotation statuses are not maintained very well? The annotations are used for years but they are still in alpha state.

@hanxiaop: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
1e710a47b1d4e713911cdc49606cacf4864f2070
link
true
/test release-notes

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

bumping to warning sounds good. There's a lot of ongoing discussion on the community call around proper feature status. It may be worthwhile creating an issue for tracking or to see if it is currently on @whitneygriffith 's radar

@GregHanson thanks, I've created a issue https://github.com/istio/istio/issues/46273 for tracking.

@hanxiaop: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-pilot-multicluster_istio
d87f7cbeba08f3e19eac7a1ba6d1fc5d6938590c
link
unknown
/test integ-pilot-multicluster

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test integ-pilot-multicluster


Add Filters mixin to schedules

This is second part of issue https://github.com/ManageIQ/manageiq/issues/20768
This moves methods(build_filter_expression_from, ...) responsible for building search filter(expression) for schedules added here (https://github.com/ManageIQ/manageiq-ui-classic/pull/7470)
WIP:
Depends on https://github.com/ManageIQ/manageiq-ui-classic/pull/7470
Links
https://github.com/ManageIQ/manageiq-ui-classic/pull/7470
Next: https://github.com/ManageIQ/manageiq/pull/20764
@miq-bot add_label refactoring

@miq-bot assign @gtanzillo

This moves methods(build_filter_expression_from, ...) responsible for building search filter(expression) for schedules added here (ManageIQ/manageiq-ui-classic#7470)

Is this is straight move from ui-classic to core?  Is there a PR for the removal in ui-classic?  I can't see if anything was changed during the move.

This moves methods(build_filter_expression_from, ...) responsible for building search filter(expression) for schedules added here (ManageIQ/manageiq-ui-classic#7470)

Is this is straight move from ui-classic to core? Is there a PR for the removal in ui-classic? I can't see if anything was changed during the move.

@jrafanie Removal in UI repo is 4 point in https://github.com/ManageIQ/manageiq/issues/20768 and yes it was not visible thanks to typo in description.


List not sorted after favorite status changes

When a star is added or removed the item moves to the end of the list.
I do not know why this happens.
Any ideas?

Problem was mix of bool representation


Added Inheritances and Exports | Fixed Embed not Sending when you change blips while on-duty.

Been need Inheritances for awhile so I spent a few hours and did it :P
Also made a PR for your docs @JaredScar

There is a lot of nested for loops... I am trying to think of ways to optimize it but it works lol. At least the code doesn't run 24/7 and just on player join or resource restart.
Also on resource restart it goes through the online players and registers them and waits half a second before doing the next player. Hopefully that is enough for it not to get rate limited.

Everything seems to be working fine.

Done extensive testing on my live server. Good to go.


Add mlkem package.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 93.41%. Comparing base (534b363) to head (807c683).

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #40   +/-   ##
=======================================
  Coverage   93.41%   93.41%
=======================================
  Files           9        9
  Lines        1124     1124
  Branches       96       96
=======================================
  Hits         1050     1050
  Misses         74       74

Flag
Coverage Δ

unittests
93.41% <ø> (ø)

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

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


win7 or win2008  can't work

It  errors in win7 or win2008.
无法将“Resolve-DnsName”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请
检查名称的拼写，如果包括路径，请确保路径正确，然后重试。
https://xbuba.com/questions/51423281
Please, is there any resolution?

I am aware of this issue which is due to the fact that the Resolve-DnsName cmdlet has been introduced in PowerShell V3 but Windows 7 and Server 2008 only supports PowerShell V2. In order to fix this issue, we need to find an alternative to Resolve-DnsName that fits in the small payload size available...
I would like to work on this issue but I don't have much time right now... Any help or suggestion will be highly appreciated!

I am aware of this issue which is due to the fact that the Resolve-DnsName cmdlet has been introduced in PowerShell V3 but Windows 7 and Server 2008 only supports PowerShell V2. In order to fix this issue, we need to find an alternative to Resolve-DnsName that fits in the small payload size available...
I would like to work on this issue but I don't have much time right now... Any help or suggestion will be highly appreciated!

Hello! How about this? https://powershellmagazine.com/2013/01/07/pstip-resolving-ip-addresses-with-wmi/


Handling skew image

Enhancement 🚀
The ability to handling skew document image.
Motivation  💪
Ensuring the document image is in a straight position is beneficial for subsequent steps.
Additional context 🧬
There is a package that you can use, https://github.com/phamquiluan/jdeskew

Thank you very much for suggesting the enhancement. I was actually considering added this feature as well. I will take a look at your suggestion to see how it could be integrated.


Support MSYS2 MinGW64 builds

These changes will allow v8go to work for users using the MSYS2 MinGW-w64 toolchain (https://www.msys2.org/) and the v8 package in their package manager,
pacman -S mingw-w64-x86_64-v8
Resolves #7, resolves #44
Note that the snapshot_blob.bin file will have to exist in your program's working directory. If the default install paths are used, this file is located at C:\msys64\mingw64\bin\snapshot_blob.bin

awesome!

Resolves #44 #7

Amazing @neptoess for getting this working on Windows.
One of the key design decisions of v8go is to include pre-built binaries so that users are able to simply use go get and it "just works".
If we're not able to do this for Windows we'll need to add detailed instructions to the README. Are you able to add this to the PR?

@rogchap Adding prebuilt isn't a great option on Windows, in my opinion, because the default Go installer won't even leave the user with working cgo. Mingw-w64 gcc is the only compiler I'm aware of that allows creating native Windows binaries via cgo, and MSYS2 is a pretty popular way to acquire it, because of how awesome their pacman repo is. It's one extra command for the user to acquire libv8 in addition to gcc. Now, if this package contained a static build of libv8, I would definitely say we should bundle it here. Because it doesn't, shipping a static libv8 for Windows means signing up to build said static library with the Mingw-w64 toolchain. I took a look at the scripts used to build the package (https://github.com/msys2/MINGW-packages/blob/master/mingw-w64-v8/PKGBUILD) and decided that it would probably be significantly more effort to get a static library built than to just dynamically link V8.
tl;dr Yeah I'll modify the README :)

@rogchap Let me know how this looks https://github.com/rogchap/v8go/pull/46/commits/458d4c7ef1f7927c44aae7f6a9b12f9d7a190bd1

Yup; this is a fair compromise; might also be a better way to provide support for other architectures like freebsd etc. So static binaries for darwin and linux, but dynamic for the others 🤷♂

Hey @neptoess Thanks for continuing to update this PR.
I've fixed up the test so I could check for any regressions in the PR.
The CI does not include any Windows tests; but we can add that suite later.

Hey @neptoess Thanks for continuing to update this PR.
I've fixed up the test so I could check for any regressions in the PR.
The CI does not include any Windows tests; but we can add that suite later.

I won't sign up to do it here, but I did this with Travis CI for confluent-kafka-go and it wasn't terrible
https://github.com/confluentinc/confluent-kafka-go/pull/564/files

Published as part of 0.3.0


Include demo template code

The demo code could be very useful to compliment the wonderful article of yours.

Great job! And you're fast!


WMSGetFeatureInfo accept more formats

Hi
According to documentation of WMSGetFeatureInfo, It currently supports only GML2. Some servers like GeoServer can provide other formats like JSON which maybe more common and in some cases, has smaller size -compared to GML-.
In fact, there are some ambiguity and indeterminacy for working with GML and considering different aspects of its different versions. for example, I couldn't display GML returned by Geoserver in response to getGetFeatureInfoUrl() method, contrary to JSON.
Thanks

In OpenLayers, you can pass any INFO_FORMAT to the getGetFeatureInfoUrl() method. And OpenLayers can also parse GML2, GML3 and GeoJSON using the respective format classes. The ol.format.WMSGetFeatureInfo format is mostly for MapServer.


JuliaCon 2017 | JuliaDB | Jeff Bezanson

JuliaDB, https://www.youtube.com/watch?v=i9mfWKzEXcg
I hope they are good enough.
00:00 Welcome!
00:29 Why we need JuliaDB.jl?
00:59 We need to do more about Julia persistent operations
01:45 JuliaDB.jl features
03:16 Due to use of Dagger.jl package JuliaDB.jl can due distributed and in core computations
03:38 Currently available operations
04:46 Demo of using JuliaDB.jl with 4 processors
05:05 We realised it quite early, so latency can be quite big
06:27 "I think it is mostly compiling"
07:08 Analysing data
08:14 For performance reason JuliaDB.jl make many operation lazily
09:33 Writing output to director by using ingest function

Added, thank you!


App creates numerous duplicate entries

windows_native_app/7.4.32 logs: 454346

Since I downloaded release 7.4.32 some time entries are being duplicated. It seems to be an incorrect behaviour after idle detection, I guess (perhaps when I choose "Discard time and continue" it duplicates entry, but I'm not 100% sure). I mean, "duplication" is not the right term, app creates a new entry running on the same time window.

Duplicates can be seen in h4x, check 13.04 entries. Has been reported by one other user, waiting for logs.

This is happening to me as well.  <IP_ADDRESS>.  I'm not 100% sure the scenario, but at some point the app starts logging a duplicate time entry, once per second.
So if I had an entry "working on project" that was from 10:00am to 10:15am, I'll see that exact same entry be logged multiple times.  If I have the app open for 5 minutes, I'll get 300 duplicate entries (1 per second).
Right now I have 1600 entries I'm trying to clear out from the past half hour or so.
It might have something to do w/ the idle box... normally I press "continue" or whatever, and it goes away.  This bug might be caused after I hit that button, it goes into crazy mode.
I can't start the app - menu is grayed out, app is locked up (I assume from the # of entries).  Where are the debug logs stored?

Above user, rocketmonkeys, provided logs here 454456.

Issue appears to be caused by the 7.4.32 dev version. It's happening on both Windows and MacOS.
Desk case: 454631

User in desk case 454766 confirmed that downgrading to 7.4.18 fixes the issue.

Issue is caused by time entry delete request failing


Add basic perf_event API

Codecov Report

Merging #14 (0697302) into main (e886aac) will decrease coverage by 48.25%.
The diff coverage is 0.00%.

@@             Coverage Diff             @@
##             main      #14       +/-   ##
===========================================
- Coverage   83.87%   35.61%   -48.26%
===========================================
  Files           3        4        +1
  Lines          31       73       +42
  Branches        9       22       +13
===========================================
  Hits           26       26
- Misses          0       42       +42
  Partials        5        5

Impacted Files
Coverage Δ

elphi/src/perf_events.cpp
0.00% <0.00%> (ø)

elphi/include/elphi/utils.hpp
64.28% <0.00%> (-35.72%)
: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 e886aac...0697302. Read the comment docs.


Add developer facing tutorial/architecture documents

As the project is growing we could do with some tutorials and documentation around the architecture decisions and reasoning. These could be a useful tool for helping new contributors understand the project and interested users.

Add the packaging documentation to the built documentation.


Fine-tuning Chronos with number of worker>=1

While running chronos-forecasting/scripts/training/train.py for dataset generated from chronos-forecasting/scripts/kernel-synth.py, dataloader_num_workers =1 or greater causes TypeError: no default __reduce__ due to non-trivial __cinit__.
If this is commented from training_args it works fine.
pyarrow version used was '8.0.0'. I wanted to check what version of pyarrow was used for fine-tuning or what could possibly cause this error. Thank you in advance!
Here is the full traceback of error:
Traceback (most recent call last):
  File "/lustre/orion/csc605/scratch/hstellar/chronos-forecasting/scripts/training/fine_tune.py", line 1240, in <module>
    app()
  File "/lustre/orion/csc605/scratch/hstellar/miniconda/envs/tn/lib/python3.10/site-packages/typer/main.py", line 328, in __call__
    raise e
  File "/lustre/orion/csc605/scratch/hstellar/miniconda/envs/tn/lib/python3.10/site-packages/typer/main.py", line 311, in __call__
    return get_command(self)(*args, **kwargs)
  File "/lustre/orion/csc605/scratch/hstellar/miniconda/envs/tn/lib/python3.10/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/lustre/orion/csc605/scratch/hstellar/miniconda/envs/tn/lib/python3.10/site-packages/typer/core.py", line 721, in main
    return _main(
  File "/lustre/orion/csc605/scratch/hstellar/miniconda/envs/tn/lib/python3.10/site-packages/typer/core.py", line 225, in _main
    rv = self.invoke(ctx)
  File "/lustre/orion/csc605/scratch/hstellar/miniconda/envs/tn/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/lustre/orion/csc605/scratch/hstellar/miniconda/envs/tn/lib/python3.10/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/lustre/orion/csc605/scratch/hstellar/miniconda/envs/tn/lib/python3.10/site-packages/typer/main.py", line 683, in wrapper
    return callback(**use_params)  # type: ignore
  File "/lustre/orion/csc605/scratch/hstellar/miniconda/envs/tn/lib/python3.10/site-packages/typer_config/decorators.py", line 92, in wrapped
    return cmd(*args, **kwargs)
  File "/lustre/orion/csc605/scratch/hstellar/chronos-forecasting/scripts/training/fine_tune.py", line 1212, in main
    for batch in train_dataloader:
  File "/lustre/orion/csc605/scratch/hstellar/miniconda/envs/tn/lib/python3.10/site-packages/torch/utils/data/dataloader.py", line 438, in __iter__
    return self._get_iterator()
  File "/lustre/orion/csc605/scratch/hstellar/miniconda/envs/tn/lib/python3.10/site-packages/torch/utils/data/dataloader.py", line 386, in _get_iterator
    return _MultiProcessingDataLoaderIter(self)
  File "/lustre/orion/csc605/scratch/hstellar/miniconda/envs/tn/lib/python3.10/site-packages/torch/utils/data/dataloader.py", line 1039, in __init__
    w.start()
  File "/lustre/orion/csc605/scratch/hstellar/miniconda/envs/tn/lib/python3.10/multiprocessing/process.py", line 121, in start
    self._popen = self._Popen(self)
  File "/lustre/orion/csc605/scratch/hstellar/miniconda/envs/tn/lib/python3.10/multiprocessing/context.py", line 224, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
  File "/lustre/orion/csc605/scratch/hstellar/miniconda/envs/tn/lib/python3.10/multiprocessing/context.py", line 288, in _Popen
    return Popen(process_obj)
  File "/lustre/orion/csc605/scratch/hstellar/miniconda/envs/tn/lib/python3.10/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/lustre/orion/csc605/scratch/hstellar/miniconda/envs/tn/lib/python3.10/multiprocessing/popen_fork.py", line 19, in __init__
    self._launch(process_obj)
  File "/lustre/orion/csc605/scratch/hstellar/miniconda/envs/tn/lib/python3.10/multiprocessing/popen_spawn_posix.py", line 47, in _launch
    reduction.dump(process_obj, fp)
  File "/lustre/orion/csc605/scratch/hstellar/miniconda/envs/tn/lib/python3.10/multiprocessing/reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
  File "stringsource", line 2, in pyarrow.lib._RecordBatchFileReader.__reduce_cython__
TypeError: no default __reduce__ due to non-trivial __cinit__

It works for me. My arrow version is pyarrow==16.1.0.
Note: With the way datasets are setup currently, I wouldn't recommend using dataloader-num-workers>1 if you only have a few datasets.

Thank you! I was able to run with pyarrow==16.1.0 and with training dependencies in fresh env.


[Event Parameter Request] Table 167 "Job" - Event "OnBeforeSellToCustomerNoUpdated"

Describe the request
Can we get the variable SkipSellToContact as a parameter in the event OnBeforeSellToCustomerNoUpdated in the job table
Event
[IntegrationEvent(false, false)]
    local procedure OnBeforeSellToCustomerNoUpdated(var Job: Record Job; var xJob: Record Job; CallingFieldNo: Integer; var IsHandled: Boolean)
    begin
    end;

New Event
[IntegrationEvent(false, false)]
    local procedure OnBeforeSellToCustomerNoUpdated(var Job: Record Job; var xJob: Record Job; CallingFieldNo: Integer; var IsHandled: Boolean; var SkipSellToContact: Boolean)
    begin
    end;

Additional context
We need this parameter to differentiate if the procedure is called from the UpdateSellToCust procedure in the job table.
Internal work item: AB#541680

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 21820.


Update copyright

Coverage remained the same at 99.394% when pulling bf8cfd8cf3fcbfc0376b2b26c18c6409fd88ad51 on mantal:master into 8de1c668c715aae4ac0070b7ef7f34627c2c4cf4 on jaredhanson:master.

Hi @mantal,
I have looked at changes that you have made, and for certainly that should be changed. But I have noticed that in README.md there is also Copyright notice and years. I think that this also need to be updated in this pull request, if author ever decide to merge it.


[FEAT EXTRACTION] How do we visualize/plot the label map from sitk.ConnectedComponentImageFilter()?

How do we visualize/plot the label map from sitk.ConnectedComponentImageFilter()?

You could save it into file and load into https://slicer.org.


Data Discrepancy ?

I have come across what appears to be a curious anomaly between the data retrieved from the payments api and the data retrieved from the paymentshops api.  I have found only this one instance, for a particular payment_hash.
In the payments api, the total value of the payment is shown as 29,411 sats for a rebalance from MyChannel-A.  BUT the paymentshops data shows only 14,705 sats hoping from MyChannel-A to MyChannel-B for this payment_hash.  There is a 14,706 sats discrepancy!
I have poked about in my lnd data and come to find there is another series of hops associated with this payment_hash:  14,706 sats from MyChannel-C to NotMyChannel-X to MyChannel-B, which completes the total.   Can you speak to why this series of hops does not appear in LNDg paymenthops data?
When I look at this payment_hash in the lnd payments.json, it shows this transaction failed at many attempts to pay 29,411 sats before the payment was split into one 14,705 sats payment and another 14,706 payment and processed from separate outgoing channels to the one incoming channel.
As I have continued to poke, I am seeing more discrepancies like this between payments and paymenthops.  It usually doesn’t stick-out because the multiple payments for a single payment_hash have previously been generated from the same channel rather than separate channels.

Interesting, it seems very possible we are not handling multi-path payments correctly in the hop data then.
Would you be able to provide an example of the hops data that produces a discrepancy?

That is my thinking too.  I will be happy to provide what I can.  Can you be more specific as to what count as an example?  I already shared that I didn't find it in the hops data, but in my lnd payments json file after some time consuming poking.  So I could give you that particular payment_hash from that file.  Would there be anything there I should't share?  Would that help?

If you could share the data in the hops section of the payment, that should suffice. You can remove all the identifying information including channel ids and values if you like, mostly looking for just the structure of the data.

I was looking into LNDg to reconcile a discrepancy that I found with my spreadsheet.  I had attributed the totality of a split payment to one paying channel.  I resolved my discrepancy with understanding the split payment was being made with different channels.  I noticed that bos and LNDg were doing it the way I did before I noticed the issue.
I updated my script at the suggestion of Alex, and thought you might like this information.   Looking for more than one “SUCCEDED” in the htlcs section of lnd listpayments json file revealed the issue to me.  I have found payments split into as many as three parts but not yet seen them split among more than two channels.   I don’t know how to get this information in the hops section.  I can try to answer more questions and provide more detail as I understand it.

Ah this is helpful, so you are saying that there are 2 successful htlcs both of which have their own set of hop data under this one payment. So LNDg is indeed missing one route of hop data for this payment in paymenthops?
It does appear that would be the result if there are more than one successful htlc.

Yes 2 (or more) successful htlcs in the payment.  I am coming to learn that is the definition of split payment.  It made no effect on my spreadsheet until the payment was split amount two or more channels.

Thanks, will try to address this scenario in an upcoming update.

Addressed in https://github.com/cryptosharks131/lndg/pull/63


Additional deploy guides

Description
Additional deploy guides on Google Compute Engine, gunicorn/uwsgi and Nginx. Add this to the deployment guide.
Rationale
This should be implemented to help others productionize their project.

altho this is for AWS, the concepts are fairly similar:

EC2 deployment: https://github.com/Andrew-Chen-Wang/cookiecutter-django-ec2-github
ECS deployment: https://github.com/Andrew-Chen-Wang/cookiecutter-django-ecs-github

This would be a welcome addition, but personally, I don't really want to maintain such thing: I'm not using GCE personally, so would be hard to review these. Unless someone at Google supports us to do so, I'm not willing to give my free time for that.
If someone wants to write a blog post like the above, I would happily include them in our README. No need to keep an issue around for that, hence closing this.


Is the Yeoman generator up-to-date?

According the Yeoman's generator list the last update was 8 months ago.

The source structure is a different as well.

It is possible to update it ourself?

You'd need the rights to do this. And there's potentially a reason why it hasn't been updated - either it's not a priority or there are issues maintaining it.


Is it possible to load many libraries at the same time with loadable.lib ?

Nesting loadable.lib components seems to work but requests happen in a waterfall-like fashion, which is not optimal. Can something like this be supported?
loadable.lib(() => Promise.all[import('moment'), import('somthing-else')])

I think it's already supported
const TwoAtOnce = loadable.lib(() => Promise.all(import('moment'), import('somthing-else')]))
<TwoAtOnce>
{([{default:moment}, {default:somthing}]) => moment(somthing(date)).fromNow()}
</TwoAtOnce>

PS: Year, default is not cool.

If I try this I'm getting loadable: multiple import calls inside loadable() function are not supported.

Hello @BowlingX, you can create another file:
export { default as moment } from 'moment'
export { default as something } from './something'

How about loading multiple React Components at the same time ?

You can load them using loadable.lib and use the previous tip if you want.


Profile ClientStore with YourKit

Make a fake load, and see how we can optimize.

@ianoc has done this, I believe.


Update links to Angular convention specification

conventional-changelog was recently broken down into smaller modules.
During this change, the convention specs were deleted. This caused links to the Angular spec in CONTRIBUTING.md to break.
This pull request expands the existing Angular convention spec links to their canonical form.

Current coverage is 96.00%

Merging #624 into master will not affect coverage as of 92252aa

@@            master   #624   diff @@
=====================================
  Files           16     16
  Stmts         1150   1150
  Branches         0      0
  Methods          0      0
=====================================
  Hit           1104   1104
  Partial          0      0
  Missed          46     46

Review entire Coverage Diff as of 92252aa

Uncovered Suggestions

+0.34% via ...alidationMessages.js#25...28
+0.26% via src/test.utils.js#38...40
+0.26% via ...s/formlyUsability.js#18...20
See 7 more...

Powered by Codecov. Updated on successful CI builds.

Thanks!


Check FindCheck to look for submodule

Thanks for adding libcheck everywhere - I got blocked in gnss converters trying to add a test because of issues with libcheck (despite having it installed locally).


fixed typo on homepage

Closes #144
Hopefully, I'm submitting this correctly this time!

Hey Wes, yarn is on version 1.22.19. I used WSL2 to code/test/format for this latest PR.
I've now set up Ubuntu in a VM to see if it was an OS issue. Whenever I run yarn test the test-projects/node/yarn.lock and test-projects/browser/yarn.lock files still get modified. However, it looks like test-projects/node/package.json temporarily gets modified but then reverted once testing is completed.
I think the workaround for this will be for me to code the change, run yarn test, revert those changes to the yarn.lock files, and then run yarn format and commit. I'll submit another PR and hopefully, third time's a charm :)


CLI flag to specify --destBasePath

I would like to distribute a portable plopfile via npm.  I know this is a non-standard use-case, but I want to extract generators from my project, publish them to npm, and allow other people within my company to npx @myemployer/useful-generator to run the plopfile.  Ideally these users would not need to create their own plopfile.js; I realize that a plopfile can declare additional generators by require()ing them, but I'd like to avoid that requirement.
To do this, I roughly need to be able to do the following:
plop --cwd $rootOfProject --propfile<EMAIL_ADDRESS>--destBasePath $rootOfProject

The missing piece is adding a --destBasePath flag to plop's CLI.
Unfortunately, using node-plop directly is not ideal.  There's a non-trivial amount of code in plop/src/plop.js that would need to be duplicated.

Is the goal here to generate the seed codebase, or to generate structures within an existing codebase? If the goal is to generate structures inside the codebase, I'd highly recommend using plop.load(). This would just require the codebase to have a plopfile with a single line at the top...
module.exports = function (plop) {
  plop.load('name-of-my-module');
}

This approach gives the codebase the flexibility to grow and expand its use of generators as needed.
If the goal is to generate a seed codebase, I'd recommend adding process.cwd() to the data used in the templates (there are several ways to do this) so that all paths can be made relative to the current working directory.

My use case is a little bit of both categories.  Basically I want to wrap up plop as a CLI tool I can share internally at my company.  So ideally I'd allow both of these usages:
a) expose a CLI tool on the path, such as companyname-docsite (npm install -g @companyname/docsite)
b) allow people to load it via plop.load('@companyname/docsite')
Option (a) could even create the seed plopfile.js.
Would it make a little more sense if this was exposed as a method of plop's API, for example runPlopFile?  await runPlopFile(pathToPlopFile, destBasePath);

What would you envision happening when someone calls runPlopFile()? A plopfile can have multiple generators inside.
Could you create 2 codebases (1 for the seed, and the other for the project generators)? The seed repo could even use the create- convention (create-docsite) so someone in your company could call npm init docsite to invoke the project scaffolder. That seed project could include a package.json dependency for @companyname/docsite and a plopfile that calls plop.load() to get it hooked up.
Just a thought.

I expect runPlopFile to have equivalent behavior to the plop CLI: it will show interactive prompts equivalent to the CLI, asking which generator to run, etc.  It is a JS function-call entrypoint, as opposed to the process-spawning entrypoint offered by the plop CLI.
The following 2 invocations are equivalent:
# From bash
$ plop --cwd $rootOfProject --plopfile<EMAIL_ADDRESS>--destBasePath $rootOfProject

// From JS
await require('plop').runPlopFile({
    cwd: rootOfProject,
    plopfile: require.resolve('@myemployer/useful-generator/reusableplopfile.js'),
    destBasePath: rootOfProject
});

Splitting into multiple npm modules sounds like extra effort with no benefit; much easier to keep it all in one module.

released with v2.5.0


Questions about the different branches of Kong

What are the differences between different branches of Kong except for the Openresty version on which it depends?
Check whether there is a maintenance plan for each branch, such as the EOL time (planned EOL time) of each branch,evolution strategy of each branch？
thanks.

This link may be helpful. https://docs.konghq.com/gateway/latest/support-policy/


make module jacks larger

make the jacks larger so that when patching many-to-one or many-to-many (if a cable is already in a jack and we want to spawn a new one). problem is that an existing cable makes it really hard to select the jack for spawning a new cable, instead the existing cable gets grabbed by mistake

update: in lieu of this, i've made all modules 20% larger (with jacks increasing in scale accordingly)

fixed! see userSettings.json to change this


feat: added style controls to KML ground overlay

still need to deal with the following:

failing to persist, LayerSyncDescriptor.onLayerChange is not being called on change
visual bug where the screen goes white for a split second when altering the style sliders


299 refactoring removing range cluster 07

This pull request removes range constraints from thirty object properties in ebucoreplus ontology.
Changes

Removed the range "time:Instant" from the property "hasStartDateTime".
Removed the range "Department" from the property "hasDepartment".
Removed the range "ActiveFormatDescriptorCode" from the property "hasDisplayAspectRatio".
Removed the range "Dopesheet" from the property "hasDopesheet".
Removed the range "MediaResource" from the property "hasDub".
Removed the range "TimelinePoint" from the property "hasDuration".
Removed the range "EditorialObject" from the property "hasEditorialFormatOf".
Removed the range "Artefact" from the property "hasEmbodyingArtefact".
Removed the range "TimelinePoint" from the property "hasEnd".
Removed the range "Programme" from the property "hasEpisode".
Removed the range "Person" from the property "hasFictitiousPerson".
Removed the range "FileFormat" from the property "hasFileFormat".
Removed the range "FoodStyle" from the property "hasFoodStyle".
Removed the range "Format" from the property "hasFormat".
Removed the range "AncillaryDataFormat" from the property "hasAncillaryDataFormat".
Removed the range "AudioEncodingFormat" from the property "hasAudioEncodingFormat".
Removed the range "CaptioningFormat" from the property "hasCaptioningFormat".
Removed the range "ColourSpace" from the property "hasColourSpace".
Removed the range "ContainerEncodingFormat" from the property "hasContainerEncodingFormat".
Removed the range "MimeType" from the property "hasContainerMimeType".
Removed the range "DataFormat" from the property "hasDataFormat".
Removed the range "DocumentFormat" from the property "hasDocumentFormat".
Removed the range "EncodingFormat" from the property "hasEncodingFormat".
Removed the range "Medium" from the property "hasMedium".
Removed the range "MimeType" from the property "hasMimeType".
Removed the range "Standard" from the property "hasStandard".
Removed the range "SubtitlingFormat" from the property "hasSubtitlingFormat".
Removed the range "VideoEncodingFormat" from the property "hasVideoEncodingFormat".
Removed the range "Identifier" from the property "hasFormatId".
Removed the range "Identifier" from the property "hasFormatVersionId".

Reviewer
@aro-max
@JuergenGrupp

Thank you, @alexander-schulze, well done!
I've checked every single change and merge now.


dragout callback

Would it be possible to add a callback function like dragover, for when we leave the dropZone?

The plugin only has its own dragover event handler to be able to apply the copy drop effect in this line:
https://github.com/blueimp/jQuery-File-Upload/blob/master/jquery.fileupload.js#L699
The plugin's dragover callback trigger allows to prevent that behavior by returning false in the callback.
You can bind event handlers for any drag event independently of the plugin:
http://www.html5rocks.com/en/tutorials/dnd/basics/#toc-dragging-events
e.g.:
$('#dropzone').bind('dragleave', function (e) {
    // dragleave event handler code
});


chore: add Release-plz workflow

This PR adds a workflow for Release-plz. The way this tool works:

Whenever something is merged to main, it creates a PR for publishing unpublished crates. It automatically bumps versions and generates changelogs for you, but you have to ability to make manual changes to this PR as well.
Whenever the release PR is merged, it publishes the bumped versions for you.

I cannot test this setup on your repository, but I think this will attempt to publish all crates referenced from your root Cargo.toml, so it will include marzano-* crates. If you want to exclude crates, add publish = false to the relevant Cargo.tomls.
Tokens and permissions will need to be setup as well. Instructions can be found here, which is where I basically pulled this workflow from as well :) https://release-plz.ieni.dev/docs/github/quickstart
Personally I mainly care about the publication of the grit-util and grit-pattern-matcher crates, so I can add publish = false to the others if you like. But I figured I'd leave to choice to you.

Summary by CodeRabbit

New Features

Implemented a new automated release workflow to enhance software updates.

Note the two pieces of functionality: creating release PRs, and publishing crates, are decoupled. So if you don’t care about having release PRs, we can also disable that. But when I bump a version number in a PR for grit-util or grit-pattern-matcher, it should auto-publish that on merge.


create the machine arm for haas example #1672

感谢提交 Pull Requests！
Thanks for submitting a pull request.

Security Check : dc2eb30baee7c29eebb73ed18cb76504f9f3a269


RN 0.25 warnings

Hi, can you fix the import warnings?

@marcosinigaglia i didn't use this lib as original way. i did some changes, u might be intrested to it. u can use it this way:
https://gist.github.com/mahanhaz/1c05890fe80ce8b0f79708c46349d6c2

i aint create PR because i had my own usage into my project but feel free to copy and paste or possibly make PR base on it.
btw, make sure the progress value that u send is int number, i already divide the progress prop in 100


Nick: Watch netjara.com

Nick requests the watch of the watch_keyword netjara\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

netjara\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by cigien in Charcoal HQ


Chewed through my HDD space

Where does it store temp files etc after training? lost about 20-30 gigs not sure where?

Classification image is stored in appdata dir
The docker image takes 20 gigs, you can remove them in the docker GUI.


support for dimensions that can have a value based on the context

Request from @pstout , have a well defined way to support dimensions that can get the value dynamically from the context. Example:
public class Server {
  private final Id requestsCountId;

  public Server(Registry registry) {
    // The id is setup and placeholders are added with the set of dimensions needed for
    // a given id. However, the value is not known at this time, it needs to be retrieved when
    // the activity is recorded.
    requestsCountId = registry.createId("requestCount")
      .withTag(new CountryTag())
      .withTag(new DeviceTag());
  }

  public Response handleRequest(Request req) {
    // In some cases a particular dimension may get overridden at the call site. Others should
    // retrieve the value from the context when increment is called.
    Tag device = req.getDevice();
    registry.counter(requestsCountId.withTag(device)).increment();
  }
}

For cases where additional overrides are not necessary it would be convenient if a cached meter could be used, e.g.:
public class Server {
  private final Counter requestsCount;

  public Server(Registry registry) {
    // The id is setup and placeholders are added with the set of dimensions needed for
    // a given id. However, the value is not known at this time, it needs to be retrieved when
    // the activity is recorded.
    Id requestsCountId = registry.createId("requestCount")
      .withTag(new CountryTag())
      .withTag(new DeviceTag());
    requestsCount = registry.counter(requestsCountId);
  }

  public Response handleRequest(Request req) {
    requestsCount.increment();
  }
}

Right now this won't work because the id will be eagerly evaluated with the assumption it will be used many times and we don't want to repeat the computations.

Being worked on in #231


SW-3931 API to assign projects in bulk

Add an API endpoint to assign multiple accessions, seedling batches, and
planting sites to a project.

Current dependencies on/for this PR:

main

PR #1305   👈

This comment was auto-generated by Graphite.


Make a convenient install script

Just like you can do curl https://get.docker.com | sh -, and the script figures out your platform and installs, should have curl https://get.dotmesh.io | sh -  and it will work on any platform.

Won't fix - it's not better enough than curl for the dm binary then running dm cluster init, and piping from URLs into bash as root is evil :-)

piping from URLs into bash as root is evil

Well, I don't think it is as bad as eval(), but...
We still need an easier way to install. Homebrew? Not sure.


fix clone job bug

Add workaround for comments in commands
fix clone job job

Coverage decreased (-0.01%) to 51.225% when pulling fdc63d94e0bbca06a6639dd31734f94d5441a5f5 on binyli/clone-bug into 4afd2eb10e3a13b7ae1defbc55d951487c4f7129 on pai-0.14.y.


php-cs-fixer config path problem

For the most tools I use my own configuration files. All the files are located in the same folder as the phpqa.yml.
The strange thing is that  the config declaration for php-cs.dist has be set as an absolute path or relative to get it work. In any case it's not enough to set just the name of the config file like for the other tools.
`php-cs-fixer:
config: /app/custom/plugins/my-new-plugin/dev-ops/gitlab-ci/.php_cs.dist
phpmd:
standard: phpmd.xml
phpunit:
binary: null
config: phpunit.xml
`
In my case the absolute paths of the above mentioned tools  are:

/app/custom/plugins/my-new-plugin/dev-ops/gitlab-ci/.php_cs.dist
/app/custom/plugins/my-new-plugin/dev-ops/gitlab-ci/phpmd.xml
/app/custom/plugins/my-new-plugin/dev-ops/gitlab-ci/phpunit.xml

It look like the path to the .php_cs.dist file is not set correctly, because for phpmd and phpunit it works perfectly.

You are right. php-cs-fixer's config isn't relative to .phpqa.yml. I'll fix it.
Similar phpunit issue fixed in v1.14

Thank you


Entities with string attributes have their properties generated with "strong" instead of "copy".

Referencing this Twitter thread: https://twitter.com/aqgunja/status/432994099688263680

Bump. Would be nice at least to have a command line switch. Our guidelines is to use copy for NSString properties, so it would be great to have generated code to conform as well.

This is a dupe of #41.

We are declaring pull request and issue 0 now that 1.3 is out. If this is still an issue you'd like to see address with 1.30 and going forward, please open a new issue so we can start a fresh discussion. Thank you!


ci: create workflow to generate terradocs

@atiterlea setup a PR to see how the terradocs workflow would look like for adding READMEs to the modules


What about the ablation study of AGW on visible-infrared Re-ID?

Hi~
It is a nice job. The proposed WRT loss seems to be the improved version of the original Triplet loss. Did you carry out any ablation studies on the proposed AGW baseline for cross-modality visible-infrared Re-ID? If so, how much performance improved by the WRT comparing to the triplet?
Thanks

You may try the code in https://github.com/mangye16/Cross-Modal-Re-ID-baseline

You may try the code in https://github.com/mangye16/Cross-Modal-Re-ID-baseline
Thanks for your reply. I have tried the recommend code using triplet loss and the proposed wrt loss, respectively. However, the one with triplet loss exceeds that with wrt loss by ~7% and ~2.7 in terms of the rank-1 under the POOL and FC setting, respectively.

You may try the code in https://github.com/mangye16/Cross-Modal-Re-ID-baseline

Thanks for your reply. I have tried the recommend code using triplet loss and the proposed wrt loss, respectively. However, the one with triplet loss exceeds that with wrt loss by ~7% and ~2.7 in terms of the rank-1 under the POOL and FC setting, respectively.


rules of hooks - translated

fixed typos and updated the branch.
used the term hook as it is...


Crabrawler RNG Support

Although we can use blank stationary pokemon with timedelay = 0+4F and check off 3IVs, it should belong to wild Pokemon type

Tried in Route 3, there is a little problem with the NPCs

I'm testing on route 8

is there a problem of NPCs changing also there?

I think no.


Backport #2181: Convert meth_get functions to const getters

(cherry picked from commit 693be9a2cb0fc79fe856259feea54772c18a3637)

Checklist

[x] documentation is added or updated
[ ] tests are added or updated

@mattcaswell: Will you merge this?

Pushed. Thanks.


Syntax is not highlighted

Describe the bug
Syntax is not highlighted
To Reproduce
Steps to reproduce the behavior:

Go to https://docs.microsoft.com/en-us/sql/t-sql/functions/rank-transact-sql?view=sql-server-2017
Look at any sample code

Desktop (please complete the following information):

OS: windows 10
Browser chrome, edge

Hi @Hoxni , thanks for your feedback! Sorry, would you mind clarifying what you mean by "not highlighted"? Are you referring to the color of the text, in that it's gray, and not multi-colored like typical T-SQL text, or am I misunderstanding something? Thanks!

Yes, it's about colour of the text

Hi @Hoxni , thanks for bringing this to our attention! Did you know you could modify the text yourself? You can find more information here: http://aka.ms/editsqldocs but basically, you just need to select the "edit" button at the top right of the document, and then select the pencil icon to edit the text. . If you do so, you'll be listed as a contributor to the documentation. It's actually a pretty easy fix:
Right now, the code blocks are like:
tsql

The only thing you need to add is a "sql" after the ``` so that the code looks like:
tsql

Did you want to make this change yourself? If not, however, I would be happy to do so for you! :) Thanks again!

Hi @Hoxni , I went ahead and made these changes for you :) Thanks again for letting us know! #please-close


[Android] Custom / Build pose_tracking have no effect

System information

Linux Ubuntu 18.04

Bazel version:

Bazelisk version: v1.10.1
Build label: 3.7.2

Solution :

Pose

Programming Language and version :

Java
Gradle

Archetype used :

https://github.com/yuxiaohui78/Mediapipe-android-pose-tracking

I want to custom the landmarks output ( color, thickness, etc... ) so i modify the .pbtxt file :
mediapipe/graphs/pose_tracking/subgraphs

For my test, i change the color of landmarks and delete connections.
After that, to be sure i got a clean environment, i go to my directory mediapipe and run :
bazel clean
bazel shutdown

Then :
bazel build -c opt --strip=ALWAYS --host_crosstool_top=@bazel_tools//tools/cpp:toolchain     --fat_apk_cpu=arm64-v8a,armeabi-v7a mediapipe/graphs/pose_tracking:pose_tracking_gpu_binary_graph

I go to :
mediapipe/bazel-bin/mediapipe/graphs/pose_tracking

and copy the pose_tracking_gpu.binarypb generated into my app/assets/
So i got :

pose_detection.tflite
pose_landmark_full.tflite
pose_tracking_gpu.binarypb

But when i build my apk with gradle ( installDebug ), i don't see the modification.
I'm a beginner with mediapipe and i don't know what i did wrong.

I think the following steps should update the graph file in the android project:

modify pose_renderer_gpu.pbtxt
build the "pose_tracking_gpu_binary_graph" target
copy the generated binarypb into the assets dir

If you don't see those changes, you can first build the mediapipe pose example app (https://google.github.io/mediapipe/solutions/pose#mobile) with the modified pose_renderer_gpu.pbtxt to see if your modifications are valid or not.


Flow not filtering based on label selector.

Describe the bug:
I recently upgraded from 3.7 to the latest 4.3. After updating I create a simple Flow to validate functionality:
apiVersion: logging.banzaicloud.io/v1beta1
kind: Flow
metadata:
  annotations:
    argocd.argoproj.io/sync-wave: "0"
  labels:
  name: test
  namespace: kube-system
spec:
  match:
    - select:
        labels:
          app.kubernetes.io/name: external-dns
  globalOutputRefs:
    - opensearch

The rendered configuration within FluentD looks correct:
<source>
  @type forward
  @id main_forward
  bind <IP_ADDRESS>
  port 24240
</source>
<match kubernetes.**>
  @type tag_normaliser
  @id globalFilter:0
  format ${labels.app}
</match>
<match **>
  @type label_router
  @id main
  metrics true
  <route>
    @label @3d67961aedd2b604409cfba1dc8e2c4d
    metrics_labels {"id":"flow:kube-system:test"}
    <match>
      labels app.kubernetes.io/name:external-dns
      namespaces kube-system
      negate false
    </match>
  </route>
</match>
<label @3d67961aedd2b604409cfba1dc8e2c4d>
  <match **>
    @type opensearch
    ...
  </match>
</label>

However what ends up happening is that all logs, from all containers get sent to the opensearch cluster. If I look at the buffer files in the fluentd container I see they grow quite large and contain messages from all containers. This is then reflected in opensearch when I query the data, I get back logs from all containers.
Expected behaviour:
Based on the configured flow and match section I would expect that only logs from PODs with label app.kubernetes.io/name: external-dns would be sent to the defined output.
Steps to reproduce the bug:
Create logging object:
apiVersion: logging.banzaicloud.io/v1beta1
kind: Logging
metadata:
  labels:
    app.kubernetes.io/name: logging
    app.kubernetes.io/instance: logging
    app.kubernetes.io/managed-by: argocd
  name: logging-server
  namespace: logging
spec:
  enableRecreateWorkloadOnImmutableFieldChange: true
  controlNamespace: logging
  globalFilters:
  - tag_normaliser:
      format: ${labels.app}
  fluentbit:
    HostNetwork: true
    dnsPolicy: ClusterFirstWithHostNet
    filterKubernetes:
      Kubelet_Port: "10250"
      Use_Kubelet: "On"
    labels:
      app.kubernetes.io/prometheus-operated: "true"
      backstage.io/kubernetes-id: logging
    metrics:
      # handle this via our configuration
      serviceMonitor: false
    positiondb:
      hostPath:
        path: /var/cache/fluentbit
        type: DirectoryOrCreate
    podPriorityClassName: system-node-critical
    resources:
      limits:
        cpu: 200m
        memory: 128Mi
      requests:
        cpu: 100m
        memory: 64Mi
    tolerations:
    - key: kiam/nodetype
      operator: Equal
      value: server
      effect: NoSchedule
  fluentd:
    labels:
      app.kubernetes.io/prometheus-operated: "true"
      backstage.io/kubernetes-id: logging
    bufferStorageVolume:
      pvc:
        spec:
          accessModes:
          - ReadWriteOnce
          resources:
            requests:
              storage: 20Gi
          volumeMode: Filesystem
          storageClassName: gp2
    metrics:
      # handle this via our configuration
      serviceMonitor: false
    resources:
      limits:
        cpu: "1"
        memory: 512Mi
      requests:
        cpu: 500m
        memory: 128Mi

Create cluster output:
apiVersion: logging.banzaicloud.io/v1beta1
kind: ClusterOutput
metadata:
  labels:
    app.kubernetes.io/name: logging
    app.kubernetes.io/instance: logging
    app.kubernetes.io/managed-by: argocd
  name: opensearch
  namespace: logging
spec:
  opensearch:
    host: xxxxxxx
    port: 443
    scheme: https
    ssl_version: TLSv1_2
    index_name: dev
    buffer:
      flush_thread_count: 8
      chunk_limit_size: 1M
      total_limit_size: 5M
      timekey: 1m
      timekey_wait: 30s
      timekey_use_utc: true
      retry_max_interval: 30s
      retry_forever: true

Finally create flow:
apiVersion: logging.banzaicloud.io/v1beta1
kind: Flow
metadata:
  annotations:
    argocd.argoproj.io/sync-wave: "0"
  labels:
  name: test
  namespace: kube-system
spec:
  match:
    - select:
        labels:
          app.kubernetes.io/name: external-dns
  globalOutputRefs:
    - opensearch

With this setup, I end up with all logs from all containers being sent to the defined output.
Additional context:
Environment details:

Kubernetes version: EKS v1.23
Cloud-provider/provisioner (e.g. AKS, GKE, EKS, PKE etc): EKS
logging-operator version (e.g. 2.1.1): 4.3.0
Install method (e.g. helm or static manifests): helm

/kind bug

I downgraded to 3.17 and the issue persists. This is a new cluster that wasn't running the operator before so I am a bit confused why this worked before and now isn't.

It's not just you.  I seem to get all or nothing coming through.  I'm also doing fluentd to OpenSearch as well.

So, I was able to get it to just send what is selected in the flow spec. I did this by removing the globalFilter I had specified in the logging spec
globalFilters:
  - tag_normaliser:
     format: ${labels.app}

Not sure why having this would have the affect that it did but it would be interesting if you have the same filter specified, whether removing that solves your issue.

I was trying to reproduce last week, without much success, will take another look.

@pepov we are facing a similar issue with labels such as foo.example.com/my-flow: "true" which does not seam to work. Is there a limitation of what symbols label names can consist of?

There are multiple things going on here, could you please describe the exact issue you see a bit more @Starefossen ?

Apologize for the late response, we tracked down our issue to being related to caching of labels for pods with the same name (statefulsets) so when labels were changed they were not detected properly. My bad.

Thanks @Starefossen !
I'm going to close this issue, because we haven't been able to reproduce any of the mentioned bugs in an isolated way or some of the reports turned out to be unrelated.
Please open a separate issue if you have a similar problem, but also please try to attach a reproducible configuration as well!


Update skip check

Description
fixes bug where if a pr comes from a fork the commit messages were checked between the main/master of the fork and the pr. If the PR came from a fork on main/master there would be no commits listed. Now we add the upstream base repo, fetch the commits and check against the correct repo/braches
Release required?

[ ] No release
[x] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

/run pipeline

/run pipeline

/run pipeline

:tada: This PR is included in version 1.29.4 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[FR] Create Hotkeys to adjacent notes

I would like to set hotkeys to navigate between notes. Like "previous", "next" and "up".
So, if it is about daily notes, it would have a shortcut for yesterday, tomorrow and the next scope (week, month, quarter or year according to what is enabled in the configurations).
e.g. Let's say weekly notes are disabled but monthly notes are enabled, then the "up" shortcut would go to the current month. If you go to the month, then the shortcuts would be to the previous month, next month and the next scope and so on.
I'm not sure if this is the right plugin to request this feature, but I couldn't find a better place to request it.

Thank you for your suggestion.
It is reasonable to add such commands to this plugin since there is a situation like monthly note is enabled in periodic notes plugin but disabled in this plugin.
I have added commands for hotkeys, and released them in 1.0.5.


Add types.secretPath

Motivation for this change
NixOS modules currently have no way to declare a path option as a secret. Using types.path in no way prevents people from putting secrets in the Nix store (you can prevent it only for path literals like /run/keys/foo by setting apply = toString, which I've been suggesting for some time).
This PR solves this problem by introducing types.secretPath which is a type that prevents assignments to values in the Nix store. Along with it comes the function lib.secretInNixStore, which explicitly imports a secret into the Nix store, and is the only way to get around the checks in secretPath. This is for scenarios where you don't care about a secret being in the Nix store.
On the side this also introduces lib.strings.validDerivationName for generating a valid derivation name from a potentially invalid one.
Things done

[ ] Go through the code to do some cleaning up, making sure the comments are all up-to-date
[ ] Added tests, ideally including ones that verify secrets aren't imported unless secretInNixStore is used
[ ] Added documentation
[ ] Go through NixOS modules to replace types.path with types.secretPath where appropriate
[ ] Ideally make sure that the _secretInNixStore attribute doesn't end up in the nix store. This doesn't matter much since the secret is already in the store, but we shouldn't help an attacker by letting them know which files are secrets and which aren't

Ping @Profpatsch @rycee @roberth

@roberth I like the idea of protectPath, for both being able to audit modules more easily but also for telling module authors "watch out, you're handling a path to a secret, don't expose it". I'll make sure to incorporate this idea.
Some comments on what you said:

I don't think it makes sense to support in-memory secrets in any way, because the only way to extract information out of Nix (for a NixOS build) is via derivations, and those are in the Nix store, which is no good for secrets. Maybe in the future when there's something for https://github.com/NixOS/nix/issues/8, but not for now

Note that these use cases should be supported:

secretPath = secretInNixStore ./the-secret: A path literal to a file not in the store is imported into the store (the file has to exist in the eval host) and copied to the target host
secretPath = secretInNixStore /nix/store/xxx-hello: A path literal to a file in the store already (could be a symlink pointing to a store file) is not imported into the store since it's already there (but the path has to exist in the eval host), but is copied to the target host
secretPath = "/run/keys/the-secret": A string to a path is just passed along, expected to exist at runtime (not on the evaluation host). This does not need secretInNixStore.
secretPath = secretInNixStore "/nix/store/xxx-hello": A string to a path in the Nix store on the target host. Could be useful if the secret is put into the store on the target host through other means.

So using a literal means "Is going to be in the eval hosts store", while a string means "Is going to be in the target host". But note that 3. is the target use case, as it doesn't mean to have secrets in the store, which is why all the others require secretInNixStore.

because the only way to extract information out of Nix (for a NixOS build) is via derivations

Currently. It's basically one nix-instantiate call away. The rest is performance optimization.
https://github.com/NixOS/nix/issues/8 is an interesting idea, but unlikely to become successful. I'd love to be proven wrong, but the status quo of an unencumbered nix store seems quite attractive.
To return to the PR topic :) It looks like it's going to be a good change.

also see nixos/rfcs#59

@zimbatm Not entirely sure what you're saying, but no that's not enough, because people can still pass "${./path/to/secret}", which when used eventually is still imported into the store.
The goal with this is to prevent any secrets from accidentally ending up in the store. Unfortunately as I just discovered, there's a problem with Nix evaluation itself that prevents some safety for this, see https://github.com/NixOS/nix/issues/3358. Unfortunately I think this is a blocking issue for this PR.

@Infinisil IMHO the string context functions are edge cases that shouldn't block this. Even if this change doesn't support complete safety because of these cases, it's a significant improvement over the status quo (where paths where it's avoidable are copied in silently) and should be merged and used.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/low-effort-and-high-impact-tasks/21095/15

What's the status on this? Is there more a minimal version we could have that'd still be an improvement over the status quo?

@Atemu I've seen https://github.com/NixOS/nixpkgs/pull/328472 which is a recent PR trying to take a stab at a very similar problem.


go/compiler: Improve diagnostic on attempting to use struct literals in constant expressions

Go version
go version go1.23.2 darwin/arm64
Output of go env in your module/workspace:
GO111MODULE=''
GOARCH='arm64'
GOBIN='/Users/varun/.local/share/mise/installs/go/1.23.2/bin'
GOCACHE='/Users/varun/Library/Caches/go-build'
GOENV='/Users/varun/Library/Application Support/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='arm64'
GOHOSTOS='darwin'
GOINSECURE=''
GOMODCACHE='/Users/varun/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='darwin'
GOPATH='/Users/varun/go'
GOPRIVATE=''
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/Users/varun/.local/share/mise/installs/go/1.23.2'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/Users/varun/.local/share/mise/installs/go/1.23.2/pkg/tool/darwin_arm64'
GOVCS=''
GOVERSION='go1.23.2'
GODEBUG=''
GOTELEMETRY='local'
GOTELEMETRYDIR='/Users/varun/Library/Application Support/go/telemetry'
GCCGO='gccgo'
GOARM64='v8.0'
AR='ar'
CC='clang'
CXX='clang++'
CGO_ENABLED='1'
GOMOD='/Users/varun/Code/sourcegraph/go.mod'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -ffile-prefix-map=/var/folders/tr/gylnxkts3bn0gyhhlrv8z9_m0000gn/T/go-build266442858=/tmp/go-build -gno-record-gcc-switches -fno-common'

What did you do?
https://go.dev/play/p/entU62NdkPA
type S struct{}

const s = S{}

What did you see happen?
The error message is:
./prog.go:7:11: S{} (value of type S) is not constant

What did you expect to see?
It's not unusual to want to specify struct constants in code, but using struct literals with constant fields is not supported.
The error message could be made clearer to indicate that struct literals are not permitted in constant expressions (because at face value, struct literals with constant fields and no pointers or casting are conceptually constant). It might be helpful to state that only boolean, numeric and string literals are allowed in constant expressions.
Potential ideas for improved error messages:
./prog.go:7:11: struct literal S{} (value of type S) not permitted in constant expression; only boolean, numeric and string literals can be used as constants

./prog.go:7:11: struct literal S{} (value of type S) not permitted in constant expression; use var instead of const

Related Issues and Documentation

affected/package: cmd/compile #52663 (closed)
cmd/compile: bad error message when defining a variable for a parenthesized type #68589
cmd/compile: provide a more explanatory error message on trying to take the address of an unaddressable value e.g. constants, integer and string literals #28393
Compile / parse error at `if variable == definedType{} {...}` #25890 (closed)
cmd/compile: can't use aliased type as underlying type in type parameter #68935 (closed)

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

It's not precisely correct to say that "only boolean, numeric and string literals" can appear in constant expressions.  For example, len([4]int{}) is a valid constant expression.  The exact rules are at https://go.dev/ref/spec#Constant_expressions; I don't know whether it's helpful for compiler error to point directly to the spec.
We could at least "is not a constant expression" which is a better search term.

It's not precisely correct to say that "only boolean, numeric and string literals" can appear in constant expressions. For example, len([4]int{}) is a valid constant expression

Yeah, I got that simple expressions as being allowed from reading the spec earlier, I meant it more like "out of all literals only these literals are allowed" but it's hard to convey that within the limited space of a single error message.
I'm not sure if there are other compiler error messages which are split across multiple lines. If that's acceptable, there's potentially more room to provide helpful information without it being overwhelming.

cc @golang/compiler

I believe the current error message "is not constant" is just as clear as what is proposed. I don't believe anything needs to be done here.

but changing from "not a constant" to "not a constant expression" doesn't seem to add much

That's why I provided several alternatives, for example, this one:

struct literal S{} (value of type S) not permitted in constant expression; use var instead of const

@varungandhi-src "use var instead of const" may work in this specific case, but the compiler doesn't know if that is in fact the error. Maybe you actually meant to use a constant, and then saying "using var" would be strange. That is why the compiler in general doesn't provide suggestions: it simply cannot know what the right suggestion is.
I like @adonovan's suggestion. I will take care of it.


Fix a few issues with the menu system

[ ] Focus should be trapped within the mobile nav and it's related overlay when open. Running in to an issue where I can't detect :focus on children.
[x] Menus don't close on touch devices unless you actually navigate to a link. Something to do with focusout not firing when leaving an element with touch.

60 fps animations https://medium.com/outsystems-experts/how-to-achieve-60-fps-animations-with-css3-db7b98610108#.3bnshvsp4


The Pi5 has different device names

This means we can keep the pi5 in its current box and use it for 4/12 drive day


Remove formation config

Specifying the size as eco is an issue when;

the Heroku account is a personal account that is not subscribed to the Eco Dynos Plan
the application is under a team where "eco" size is unavailable and the deployment fails.

It's safe to remove the formation block fully instead of just the size key since the rest of the configuration will be the same as the default

@Joffcom this looks good to me - any objections?


No semantics to distinguish labels, hint texts and error messages

When we have a hint text and/or an error message under a label, we currently put everything into the label element and only separate them with spans. That is not very semantic and means it gets read out all at once by screen readers.
Example
Example "full name" within Elements
Screenshot

Code

    Full name
    As shown on your birth certificate or passport
    Error message about full name goes here

Screen reader output

"full name as shown on your birth certificate or passport error message about full name goes here"

Screenshot without CSS

Is this actually a problem?
This is probably just a relatively mild issue for screen reader users as they will be used to missing or small pauses between various texts. But it would be good to get confirmation from real screen reader users how big or small this issue is. @edwardhorsford told me there was a discussion about this before. Can you add a reference to that here?
But another issue is that this generally doesn't make a lot of semantic sense. You can best see the lack of semantics when you disable the CSS (see screenshot above).
Potential solutions
Add punctuation
Adding punctuation could work in general but will be really difficult to apply as form labels, hints and error message can be so very different per form. They are sometimes several sentences, sometimes a single sentence, sometimes just a word or several words with or without already existing punctuation.
So, this could only work with a complicated set of guidance, which, in my opinion, rules this solution out.
Move out of label into paragraphs
Ideally labels, hints and error messages should be in their own paragraphs. But that is not possible if they're in the label as it would be invalid HTML. There are some people who also argue that if everything is within the label, it is too verbose for screen reader users.
So, another solution would be to move them out of the label and make the relation between them with aria-describedby instead. For example:

    Full name

As shown on your birth certificate or passport

Error message about full name goes here

Other solutions
I'm pretty sure there must be a couple of more solutions. But that is probably for a team which includes designers and content designers to figure out.

Is there a possible benefit for maintenance of forms in future?
With semantic markup, it ought to be much easier to extract the different text elements according to their use, and therefore to compare / check / decide whether they need to be updated.
For example, I can see a circumstance in which all the 'first name' boxes across GOV.UK need to be updated with a different hint text, such as 'as shown on your passport or driving license'. A much easier job if you have markup saying that there's hint text.

Assuming 'ariadescribedby' has good support there are definite advantages to splitting out the hint text from the label. Better semantic structure, more control over positioning etc.
If we did this, we could roll it out in Elements, or save it for GOV.UK Frontend. Thoughts?

@selfthinker I've forwarded you the thread from last year that I think I was talking about.
A possible downside of going with ariadescribedby is the increased code complexity and opportunity for errors. On the other hand, it would probably give us more control.

We had a legend that contained both a label (“Does the person need any support getting around the airport or to and from the plane?”) and hint text (“For example, they are physically impaired or have communication difficulties”).
We tested with a screen reader user (not an actual user of our app; it’s an internal tool, and none of the current users use a screen reader), who found it repetitive to have so much text read out every time a radio button in the fieldset was focused.
Based on this feedback, we removed hint text from fieldset legends.

Following the launch of the GOV.UK Design System, GOV.UK Elements will now only get major bug fixes and security patches, so I'm going to close this.


Broad+Narrow Balmer line components

Some Seyfert galaxies will likely have both a broad and a narrow Balmer line components. This example shows such a case with broad+narrow components on H-beta and H-alpha. However, the linewidth reported by fastspecfit is not larger for Halpha than for [OIII]5007, as I would have expected if fitting a single broad component to Halpha but a single narrow component to forbidden lines such as [OIII]5007.
     TARGETID     HPXPIXEL SURVEY FAPRGRM HALPHA_SIGMA OIII_5007_SIGMA
----------------- -------- ------ ------- ------------ ---------------
39628517884825354     9730    sv1    dark    126.67458       139.04639

For reference, these are the values as above for fastspecfit, and the linewidths reported by SDSS emission line VAC (DR12), where the Balmer lines are just fit with one component.

Here is another example. This is a low-mass broad AGN from Reines2013 sample.

If needed, the sdss information is -

Thanks @stephjuneau @Ragadeepika-Pucha, I should be able to tackle this feature request soon.
One question is how to expand the data model in order to accommodate the fact that the Balmer lines would appear twice, once for the broad line and once for the narrow line? Currently, these are the quantities fastspec outputs:
HALPHA_AMP | float32 | 1e-17 erg / (Angstrom cm2 s) | Emission line amplitude.
HALPHA_AMP_IVAR | float32 | 1e+34 Angstrom2 cm4 s2 / erg2 | Inverse variance of line-amplitude.
HALPHA_FLUX | float32 | 1e-17 erg / (cm2 s) | Gaussian-integrated emission-line flux.
HALPHA_FLUX_IVAR | float32 | 1e+34 cm4 s2 / erg2 | Inverse variance of integrated flux.
HALPHA_BOXFLUX | float32 | 1e-17 erg / (cm2 s) | Boxcar-integrated emission-line flux.
HALPHA_VSHIFT | float32 | km / s | Velocity shift relative to the redrock redshift.
HALPHA_SIGMA | float32 | km / s | Gaussian emission-line width.
HALPHA_CONT | float32 | 1e-17 erg / (Angstrom cm2 s) | Continuum flux at line center.
HALPHA_CONT_IVAR | float32 | 1e+34 Angstrom2 cm4 s2 / erg2 | Inverse variance of continuum flux.
HALPHA_EW | float32 | Angstrom | Rest-frame emission-line equivalent width.
HALPHA_EW_IVAR | float32 | 1 / Angstrom2 | Inverse variance of equivalent width.
HALPHA_FLUX_LIMIT | float32 | erg / (cm2 s) | One-sigma upper limit on the emission line flux.
HALPHA_EW_LIMIT | float32 | Angstrom | One-sigma upper limit on the emission line equivalent width.
HALPHA_CHI2 | float32 |   | Reduced chi^2 of the line-fit (default value 1e6).
HALPHA_NPIX | int32 |   | Number of pixels attributed to the emission line.

I propose using the HALPHA_* prefix for the narrow component and adding one new line (per Balmer line) for the broad component, HALPHA_BROAD_*.
Thoughts?

Hi @moustakas, so I think you could use NARROW_SIGMA and BROAD_SIGMA as all the narrow (broad) components could be interpreted as coming from the same gas kinematics. So the Balmer lines case is not unique because narrow+broad components will also exist for HeII, and other broad lines, etc. I think it's fine to assign the default name for the narrow component and add the LINE_BROAD-* as a new line. If you do this, will the *_CHI2 value be calculated for the total line fit (narrow+broad)? Also, you wouldn't need additional continuum quantities (CONT and CONT_IVAR). One last question, will fastspecfit include an overall RCHI2 value? It seems that there is a continuum CHI2 and then a value per line, but I think it would be informative to have the overall value for the model (continuum+lines) if not already available -- I didn't see it in the Everest files. Happy to discuss any of this further!

@stephjuneau @Ragadeepika-Pucha how do you want me to handle the helium lines? I realize that they should have the same gas dynamics as the Balmer lines but I doubt we'll be able to constrain both the broad and narrow helium components. Can I just assume they will be narrow? Other suggestions?

@stephjuneau @Ragadeepika-Pucha here's a first crack at modeling<PHONE_NUMBER>3259365 with the https://github.com/desihub/fastspecfit/tree/fuji-dev branch. The deblending doesn't look too bad! However, the forbidden lines really look like they want a slightly different velocity shift from the narrow Balmer lines...
fastspec /global/cfs/cdirs/desi/spectro/redux/everest/healpix/sv2/bright/111/11191/redrock-sv2-bright-11191.fits \
  -o fastspec-new.fits --targetids<PHONE_NUMBER>3259365 --specprod everest

Finally, here's a nice QSO example at low redshift, z=0.69:
fastspec /global/cfs/cdirs/desi/spectro/redux/everest/tiles/cumulative/80607/20201219/redrock-9-80607-thru20201219.fits \
  -o fastspec.fits --targetids<PHONE_NUMBER>8141827 --specprod everest

Here, I get a narrow Balmer line-width of 139 km/s and a broad Balmer line-width of 1203 km/s. By contrast, the MgII doublet yields a line-width of 1261 km/s and a very different velocity shift (-297 km/s vs +16 km/s) from the broad Balmer lines. We might actually be able to measure black hole masses!
In addition, here I get an [OII] doublet ratio (see #39) of 1.13, which implies an electron density of ~500/cm^3 (depending on the electron temperature), which is consistent with this being a QSO, while the MgII doublet ratio ends up being pegged at its lower limit of 0.5. Nevertheless, the fit looks OK.
For completeness, I show the Everest-era fit below the new fit.
fuji-dev branch

Everest branch

@moustakas Thank you for the fits - These look amazing! The velocity shifts in forbidden lines in the first example are interesting. How can I access the fastspecfit results for these fits?

Hi John, sorry I'm a bit late to this thread!
I have used PyQSOFit to fit all the QSOs in your updated fastspecfit file and broadly find good agreement:

QSO fitting comparison: PyQSOFit to modified fastspecfit #59

#59

QSO fitting comparison: PyQSOFit to modified fastspecfit #59

Done in https://github.com/desihub/fastspecfit/pull/55 and https://github.com/desihub/fastspecfit/pull/69.


Add "copy link/open link in browser" on right click

Why is right click on links disabled? It's useful to copy links of tracks when I want to download them.

Good point, will add a copy link/open link in browser option to the right click context menu.
Also note that downloading tracks with the "download" button on soundcloud.com (where the uploader allowed that) should just work (at least in 1.0.0).

Fixed in 1.1.0


Remove expand and collapse feature & Ticket compare feature.

Codecov Report

Merging #118 into master will increase coverage by 2.11%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master     #118      +/-   ##
==========================================
+ Coverage   54.66%   56.78%   +2.11%
==========================================
  Files          98       92       -6
  Lines        1489     1430      -59
==========================================
- Hits          814      812       -2
+ Misses        675      618      -57

Impacted Files
Coverage Δ

src/reducers/index.js
0% <ø> (ø)
:arrow_up:

src/components/Timeline/AddEventCard.js
100% <ø> (ø)
:arrow_up:

src/components/Incident/IncidentSummary.js
0% <ø> (ø)
:arrow_up:

src/components/Timeline/Event.js
47.05% <ø> (ø)
:arrow_up:

src/components/MainComponent.js
0% <ø> (ø)
:arrow_up:

src/components/Incident/DisplayIncident.js
0% <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 38aec72...f0be79c. Read the comment docs.

Coverage increased (+2.1%) to 53.522% when pulling f0be79c88a230a61726bfe400e5d15f5e6779d00 on macrobug:ux/remove-collapse into 38aec727caa11db8b06e2b8f4f21962ad3ee163d on Azure:master.


Add email download

Via email:

Dear Mr. Jones,
I hope this email finds you well. My name is [redacted], and I wanted to reach out to you regarding your excellent project, "aws-ses-v2-local." I have implemented a new feature that allows for the download of emails in the eml format.
If you have a moment, I would greatly appreciate it if you could review the forked repository (https://github.com/Ymmy833y/aws-ses-v2-local) and consider merging the changes into the next release.
Should you have any questions, concerns, or feedback regarding the implementation, please feel free to contact me. I understand that you are incredibly busy, but I would be honored to receive your insights.
Thank you for your time and consideration. I look forward to hearing from you.

@domdomegg sorry for the late reply. Thank you for checking this new feature.
Regarding the line endings issue, it appears that the root cause lies within Nodemailer. See: https://github.com/nodemailer/nodemailer/issues/1639.
As a workaround for this issue, I could propose reformatting the return value of transporter.sendMail to use the appropriate line endings for the platform.
For example:
transporter.sendMail(convertToMailOptions(email), (error, info) => {
  if (!error) {
    resolve({
      messageId: email.messageId,
      fileName: email.subject,
      body: (process.platform === 'win32') ? info.message : convertCRLFtoLF(info.message)
    });
    ...

  }
});

const convertCRLFtoLF = (buffer: Buffer): Buffer => {
  return Buffer.from(buffer.toString().replace(new RegExp('\r\n', 'g'), '\n'));
}

However, since there is a possibility that this issue may not be resolved in the future and the functionality may be removed, merging a pull request may not be the best solution at this time.
I will keep you updated if I receive any further information regarding this issue.

On further review, I think that other programs should handle CRLF line feeds better because this is the standard. I've raised a bug report against Apple Preview and will be merging this PR. Thanks for the great contribution @Ymmy833y! 🙌


v2: Endpoint for getting requests related to a source (and vice versa)

Context
Part of #248
Part of #254 and #253
Requirements

[ ] on data source details, we will need to get related requests
[ ] on request details, we will need to get related sources

There should be endpoints for these, using the data sources-requests link table.
Tests
TBD
Docs
API docs

@josh-chamberlain
Structuring the endpoint
The simplest way to do this from an implementation standpoint is to create a /data-sources/id/{id}/related-requests and /data-requests/id/{id}/related-sources endpoint (piggybacking off the existing /data-sources/id/{id} etc. endpoints). I do note, however, that this assumes that users will only want to get the related requests/sources for one source/request at a time. I think that's a reasonable assumption when we're still early in development and we don't fully know our user's preferred use cases, but it is worth making that assumption explicit.
Alternatively, if we were interested in getting multiple related sources/requests for multiple sources/requests at a time, we could instead:

Add related sources/requests to the request/source results already returned,
Also create /data-requests/page/{page_number}/related-sources etc. endpoints

1 would violate the standard I discuss here, where I recommend keeping the basic endpoints limited to one table each. I still stand by that for the moment, in part because it helps separate logic and keep things simpler for us and the end users, even if it's more redundant for some use cases.
2 feels like overkill at this juncture.
What are we returning?
Assuming we're going with the "by-id" form, it then is worth asking what information do we want returned for each related request/source. It could be:

A simple list of IDs of the related requests/sources.
IDs along with a limited suite of additional information on the requests/sources derived from their relevant tables (e.g., name, submission_notes, etc.)
The full suite of allowable columns for each result, just as if we were querying the /data-requests or /data-sources endpoint through that endpoint.

I'm guessing we don't want 3, because that makes things a bit too redundant. I could see either 1 or 2 as sensible, though.
No ownership permissions to take into account
I'm also making an assumption that we'll ignore ownership permissions in the case of all things data requests; whatever the results are, it won't matter if the user owns any of the related requests (if they are querying /data-sources/id/{id}/related-requests) or if the user owns the request they are seeking the related data sources of (if they are querying /data-requests/id/{id}/related-sources).
Adding/Removing related sources/requests.
Presumably, if we're returning related sources/requests, we also want the option to add or remove them. Again, I'm assuming we only want to add or remove one related request/source at a time.
I'm seeing two options:

POST/DELETE on /data-sources/id/{data_source_id}/related-requests/{request_id}
PUT on /data-sources/id/{data_source_id}/related-requests, with the request ID and action in the body

I can't say I have a strong preference, but I probably favor 1, just because it's more RESTful, even if it means an extra endpoint.

Test Cases/Design Assumptions
In this case (pun not intended), I'll structure the tests based on a set of design assumptions which I'll provide below:

Users should not be able to add a related request/source already added to that source/request; attempting to do so will either trigger an error or an alert that the request/source was already added.
Users should not be able to delete a request/source that does not currently exist for that source/request; attempting to do so will either trigger an error or an alert that the request/source does not currently exist.
Users must have a specific permission (DB_WRITE or something else we specify) to add/delete a related request/source.
When requesting related requests/sources for a given source/request, results will be structured as a list provided in the data key of the json request body.
If there are not related requests/sources for a given source/request, a message "No related requests/sources found" should be provided in lieu of a list.
Each call for a related request/source for a given source/request should return ONLY request/sources for that source/request identified as related, and not return any others.

Interesting, I had always used this in Airtable by starting from a request and adding/removing related data sources. Does the direction matter, really? I think the endpoint would be usable either way, because you have both the source and the request at hand. But if there's no obstacle to it, I think it makes more sense to interact with /requests/id/related-sources/{source_id}. This is marginal.

Alright! We can have the interaction only occur from the data sources side (which should simplify things). So owners and admin-level permissions people can add/remove related data sources for their requests.

@joshuagraber Including Joshua in this as a sanity check to make sure we're thinking through this right.

Related to the conclusions drawn in https://github.com/Police-Data-Accessibility-Project/data-sources-app/issues/429#issuecomment-2338212545, perhaps it is useful to have the associated data sources included in the basic /data-requests GET function. It would follow a structure similar to the results there, with a list of the associated data requests included as a property of the main data requests JSON entry being returned.

Yes, I think this would be useful.


Svelte template

Svelte Template for the tic-tac-toe game.

Thanks @omar-abdul for the contribution! I'll do one more round of testing for it.


when i remove sim card in device after that it give privous carrier name IOS

Summary

Version
?

Affected OS
?

OS Version
?

Current behavior

Expected behavior

You've skipped our template!


Added CoreNavigation to App Routing section

Project URL
https://github.com/aronbalog/CoreNavigation
Category
App Routing
Description
Added CoreNavigation to App Routing section
Why it should be included to awesome-ios (optional)
You decide. 😉
Checklist

[x] Only one project/change is in this pull request
[x] Addition in chronological order (bottom of category)
[x] Supports iOS 9 / tvOS 10 or later
[x] Supports Swift 4 or later
[x] Has a commit from less than 2 years ago
[x] Has a clear README in English

          1 Warning

:warning:
Found 2 link issues, a project collaborator will take care of these, thanks :)

Link issues by awesome_bot

Line
Status
Link

1246
301
https://pusher.com/push-notifications redirects tohttps://pusher.com/beams

2344
301
https://github.com/xorshine/KafkaRefresh redirects tohttps://github.com/OpenFeyn/KafkaRefresh

  Generated by :no_entry_sign: Danger


Unclear how to start tutorial example

After removing the n (#20) I start the server using stack runghc app/Main.hs. I open my browser at localhost:8081, and it says it can't find Index.html (I wrote a comment on a commit for that). How do I launch the example from the bottom of the tutorial?

You need to compile code with GHCJS first and copy produced Main.jsexe folder to <project root>/static/out.jsexe if I'm not mistaken.  To make this work with stack you may need something similar in your stack.yaml configuration:
setup-info:
  ghcjs:
    source:
      ghcjs-<IP_ADDRESS>60414_ghc-7.10.3:
         url: https://s3.amazonaws.com/ghcjs/ghcjs-<IP_ADDRESS>60414_ghc-7.10.3.tar.gz
         sha1: 6d6f307503be9e94e0c96ef1308c7cf224d06be3

If I'm not mistaken with this config you'll be able to install GHCJS first by running stack setup --compiler=ghcjs-0.2.0_ghc-7.10.3 from project root and after GHCJS will be booted you can build your project with GHCJS via stack build --compiler=ghcjs-0.2.0_ghc-7.10.3.
Hope this helps.

I tried that, but now I get this error:
    /home/janus/Skrivebord/transient-test/app/Main.hs:31:19:
        No instance for (Typeable a7) arising from a use of ‘wlink’
        In the first argument of ‘fire’, namely
          ‘wlink "Hi!" (toElem "This link say Hi!")’
        In the second argument of ‘(++>)’, namely
          ‘wlink "Hi!" (toElem "This link say Hi!") `fire` OnClick’
        In a stmt of a 'do' block:
          r <- br ++> wlink "Hi!" (toElem "This link say Hi!") `fire` OnClick

This is my app/Main.js: https://gist.github.com/ysangkok/60d57e67713ac67427306230532a472c
I don't know how to proceed. Thanks for your help.

Hi,
The problem is with OverloadedStrings:
r <- br ++> wlink "Hi!" (toElem "This link say Hi!")fire OnClick
rawHtml . b  $ " returns "++ r
Due to the overloadedString all literal string  has now a polimorphic type.
"Hi!"  is disambiguated to String, since the second line  concatenate with (++)  what was returned by wlink, which is the first parameter "Hi!"
But
(toElem "This link say Hi!")
is ambiguous, since toElem belongs to a class that has many types.
to disambiguate avoid OverloadedString, and use  fromString   (from Data.String) for conversion from String to another type.
or use
(toElem  ("This link say Hi!" :: String))

Ok, I got it running by removing OverloadedStrings, changing fromStr to fromString and adding the import. But when I browser the page on localhost:8081, the JavaScript console reports <stdin>: hGetLine: end of file and there are no input elements. Here is my code: https://github.com/ysangkok/transient-test/blob/6b610b3ac6593bdf4297cd486e2d24bae22a88b8/app/Main.hs

Hi Janus:
the reason is because unlike haplayground, that renders the widgets using his own monad,, ghcjs-hplay need to use a "render" primitive explicitly: Note the render additions
main= simpleWebApp 8081 $ local $  buttons  <|> linksample
  where
  linksample= do
      r <- render $ br ++> wlink "Hi!"  I verfied that there is some problem that I´m trying to solve.
render must be put in each monadic sentence that has widgets to produce dynamic updates when events happens. For static rendering, a single render at the beginning may suffice. But this is rarely the case.

Nice, thanks, finally works!


Deployment name should always be kubecf

Is your feature request related to a problem? Please describe.
It's difficult to consume subcharts if the main chart changes names based on some random value.
Describe the solution you'd like
Until this operator story is complete, always use kubecf as a deployment name.
Additional context
#465

See: https://github.com/cloudfoundry-incubator/kubecf/blob/master/deploy/helm/kubecf/templates/bosh_deployment.yaml#L6

Please test with a non kubecf helm release name.


Add the algorithm OMG-MEGA to QDax

Related to issue #19
This PR adds OMG MEGA (Objective and Measure Gradient MAP-Elites via Gradient Arborescence), a baseline from the paper Differentiable Quality Diversity.
In this algorithm, one suppose access to the derivatives of the scoring function (fitness and behavior descriptor).
Future improvement:

double addition in the archive: in this implementation, in order to fit into the actual design of MAP-Elites, we have to compute the addition in the grid two times. As a matter of fact, gradients are stored in a grid repertoire, just like the genotypes, and when the scoring is made, the gradients are updated in the gradients repertoire just like it has been made in the genotypes repertoire. A better solution would be to have access to the indices from the addition mecanism to avoid having to re-compute them. This will be discussed in the future with the development team to this if we can improve this.

This branch was a bit messy. I'll cherry-pick the important commits and put them on the current develop to have cleaner PR and ease the reviews.