select CMakeLists.txt when starting VS Code

When VS Code in the root folder of my workspace, it asks me to select a CMakeLists.txt file. But if i understood correctly every ROS package in the workspace has such a file. If I disable the extension, than the prompt won't show up any more, but I loose the nice formation in the CMakeLists.txt files. I was wondering, whether you could help me about this, or eventually incorporate this in your guide.
All help is greatly appreciated.

Hi @Plitkam,
just to clarify, your problem is wit the cmake tools extension from microsoft that asks for a cmake file to be used as the root cmake file?
I personally don't use the Cmake Tools extension from microsoft, because I get more flexibility out of my toolchain, if I just add a task.json with my needed build configuration.
There is another extension that only adds the language support for cmake files from twxs that I use and that gives you the intellisense and syntax highlighting support.:

When building ROS nodes I used catkin_make anyway, but it's also been a while since I did somewthing with ROS :)

Yes you understand my problem correctly. Nice, thank you very much for your answer. I installed the one you recommended and I do not get the unwanted notification any more. Actually I use ROS2 but your tutorial is still a very good collection of preparations for a new workspace. :D


question about the example

Hi,
I found in your example that we have
let mut corrupted = *encoded;
// ...
println!("error correction code: {:?}", encoded.ecc());
println!("corrupted:             {:?}", corrupted);

what is the corrupted mean? I found that the corrupted doesnot have ecc() method with it.
By the way, I'm liitle confused with the parameters. I wonder why corrupted has different length with encoded.ecc(). For example, in your case our result is:
error correction code: [222, 132, 143, 149, 168, 20, 15, 242]
corrupted:             [0, 0, 0, 0, 111, 32, 87, 111, 114, 108, 100, 33, 222, 132, 143, 149, 168, 20, 15, 242]

If I use RSEnc(m, n) to represent encoding a m-bits message to a n-bits one, when using your API, should I set the length of the message to exactly m? Then use Encoder::new(n) ?
Looking forward to your kind reply.

thanks I‘ve got it


NOT_FOUND_DOTENV_ENVIRONMENT in version 0.1.2

Hi,
after updating to package version 0.1.2, phpdotenv-vault throws:
NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment DOTENV_VAULT_DEVELOPMENT in your .env.vault file. Run 'npx dotenv-vault build' to include it.
PHP: 8.2
phpdotenv-vault: 0.1.2
In my opinion the problem is, the last change Use getenv instead of
Why?
We load our .env with the following code:
$dotenv = DotenvVault::createImmutable(__DIR__, '.env.vault');
$dotenv->load();

The function createImmutable calls RepositoryBuilder::createWithDefaultAdapters(). The used default adapters are ServerConstAdapter and EnvConstAdapter (ref vlucas/phpdotenv/src/Repository/RepositoryBuilder.php).
These adapters write our environment variables to $_SERVER and $_ENV. So with these adapers we can't access our variables via getenv. The needed PutenvAdapter is only added inside createUnsafeImmutable.
How to deal with it?

This is fixed in the latest. Sorry for the delay on this. This library was largely broken. :(
It is all fixed up now. 🎉
https://github.com/dotenv-org/phpdotenv-vault/tree/v0.2.4


Add a "happy path" for index build null filtering, or speed up sampler w/ a filter (at least for nulls)

A performance regression was introduced in #2910 in order to handle nulls better during IVF-based accelerated index builds. Specifically, at these two lines.
This should be avoided somehow whenever possible. A user flag may be enough, although improvements to the sampler would probably be better.

https://github.com/lancedb/lance/pull/2970


bug: rust-tools no way to set server settings

https://github.com/NixNeovim/NixNeovim/blob/708e9fb7ddfcef4b750c5d90a9c98f399c84c171/plugins/languages/rust.nix#L126-L133
As stated in the top comment, this field of the rust tools configuration accepts settings from plugins/nvim-lsp, as it currently stands, there is no way to configure the onAttach function (ideally it would inherit the one set in nvim-lsp, and have an onAttachExtra same as all the other lsp servers)

I am not completely sure what you mean. Could specify what settings you want to have in rust.nix?
For example, you could give me an example config.

Sorry for the delay, hare is an example:
{
  lsp.enable = true;
  lsp.onAttach = "-- custom lsp code"; # I need this
  rust-tools.enable = true;
  rust-tools.server.onAttachExtra = "-- custom rust-tools code"; # I don't need this but it makes sense
}

Lua:
-- LSP
local function __on_attach(...)
  -- custom lsp code
end
local __setup = { on_attach = __on_attach }
require("lspconfig")["json_ls"].setup(__setup)
-- Rust Tools
require("rust-tools).setup {
  -- ...
  ["server"] = {
    ["standalone"] = true,
    ["on_attach"] = function(...)
      -- custom lsp code
      -- custom rust-tools code
    end
  }
}

Thanks, I will look into it

Damn, I have the same problem (at the same place, but I know there are other cases).
Basically the issue is that anything we set here, is put in the init.lua file as a string, where it’s supposed to be code.
Maybe an option could be to just add some kind of formatting trick to those fields? Something like "whatever" is a string, but "whatever" is code for example (or with three backticks if there’s a compatibility risk for some reason)?
That way you’d just need to modify the code in one place on your side, wherever the values are written in the init.lua.

Ok, in the next days I will have time to look at this, but I am still not sure what exactly you need.
You need a server.on_attach option, that will end up in rust-tools lua config like this, right?
 server = {
    on_attach = ...
  },

Ok, in the next days I will have time to look at this, but I am still not sure what exactly you need.
You need a server.on_attach option, that will end up in rust-tools lua config like this, right?
 server = {
    on_attach = ...
  },

Yup, that is the exact issue.
Ideally, whatever I set for the on_attach of the LSP, will also be set on rust-tools (I set LSP specific keybindings there).
So what I need is: a way to set on_attach.
And what I think would be nice, is for rust-tools to hook into the LSP configuration and inherit the onAttach and onAttachExtra options from the LSP configuration.

I have given it a try, but after scratching my head for 30 minutes I couldn't think of a way to get either to work.

You can set lspconfig.onAttach (formerly lsp.onAttach), where you can put code that is placed in every onAtach function of every server. Additionally, you can put code in lspconfig.servers.<server-name>.onAttachExtra. This code will only be loaded in the onAttach function of that specific server.
Does this not satisfy your "need"-problem?
The "would-be-nice"-problem should be implementable based on that.

You can set lspconfig.onAttach (formerly lsp.onAttach), where you can put code that is placed in every onAtach function of every server. Additionally, you can put code in lspconfig.servers.<server-name>.onAttachExtra. This code will only be loaded in the onAttach function of that specific server.
Does this not satisfy your "need"-problem?
The "would-be-nice"-problem should be implementable based on that.

Exactly, the problem is rust-tools doesn't interoperate with that, and I have no idea how to get it to do that.

If I understand the documentation of rust-tools correctly you can use this option:
-- all the opts to send to nvim-lspconfig
  -- these override the defaults set by rust-tools.nvim
  -- see https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#rust_analyzer
  server = {
    -- standalone file support
    -- setting it to false may improve startup time
    standalone = true,
  }, -- rust-analyzer options

This option is already available in rust-tools

This option is already available in the current rust-tools module

error: The option `home-manager.users.user1.programs.nixneovim.plugins.rust-tools.server.on_attach' does not exist.

I am using github:NixNeovim/NixNeovim/6942bb144608ff955b51d40ef97f0567b44b7698, so AFAIK, it doesn't currently work, adding it to the module would be nice, but it wouldn't integrate with the lspconfig plugin, which would be nice.

Ok, I have created a PR here: #78. Could you check if that solves your problem?


Long text in paragraphs

If a long text is used in paragraphs (About me/Skills/Projects), it's up to the user to correctly use newlines, while text should be automatically wrapped and justified/aligned.
Issue part of a series originating from a chat with @zekromaster

I have read that using a max of 65 characters across increases readability.


Python release workflow is broken

👓 What did you see?
I triggered a release of 15.1.0 and the python release failed
✅ What did you expect to see?
🦄 🌈

@jsa34 could you have a look at this one please?

To me it looks like the installation of the poetry installer is missing, something like
curl -sSL https://install.python-poetry.org | python -

see, https://python-poetry.org/docs/master/#installing-with-the-official-installer

My impression is that
curl -sSL https://install.python-poetry.org | python -

needs to be performed before
python install-poetry.py -y

so that the install-poetry.py has been downloaded.

Indeed - apologies I missed this step... I have just replaced this with a github action to install poetry which should simplify things.  Just created a new MR

Not sure how to verify other than trying to create a release!


Add to support to rotate the private key for your public certificate automatically

Description
Add variable to support to rotate the private key for your public certificate automatically by adding rotate_keys to true.
By default the Rekey during rotation is false.But need the ability to make use of it while creating public certs.

New or affected modules

By submitting this issue, you agree to follow our Code of Conduct

PR merged, closing.

@SIDDHARTHA-PRADHAN1 This is included in v1.1.0


Add "are you sure you want to navigate away from this page" prompt

Adding the frequently used "Are you sure you want to navigate away from this page" prompt to 3DuF would be really helpful. While playing around with this tools i've accidentally lost work because of accidentally swiping "back" on my trackpad.

Implemented on gh-pages (3duf.org) branch


Interactive bokeh_ext plots not working in examples

The interactive datashader graphic paired with bokeh doesn't work in the examples folders.
Can the examples be updated to have the code that enables interactive graphics that redraw the images based on pan/zoom actions?
The code update I'm requesting would enable an interactive image like the image in the Scipy 2016 video at the 17:25 mark:
https://www.youtube.com/watch?v=6m3CFbKmK_c

Please provide information about the versions go Bokeh and Datashader you have installed (all GH issues should always have such version information included). You may simply have a version mismatch, but it impossible to say without more information.

Closing; you're right.  Once I updated to 0.4.0 and used shade, it worked.  thanks.  Closing.


Support for property based distinguisher for APM Agent attacher

APM Agent attacher supports identifying target process either with PID or with name of main class/ path of the executing jar. It is common practice in in multiple applications to have same MainClass for multiple process with each process using different configuration files which are set as -D parameters while starting the process.
The existing property which holds Main Class name/ Path to the executing jar can hold the entire system properties for the jvm. This can be retrieved using "jps -lv".
It will continue to support existing properties i.e. main class name and path of executable jar along with support for any property/ config file name set in the -D properties.

[x] Implement code

Not sure whether the -l option should output the result of jps -lv or jps -l. On the one hand, you want the user to see what they can use with -i or -e, but on the other hand this output is too verbose.

Even if it's a bit verbose I think it makes sense to include that so that you can see what to match against.

We need to update the documentation accordingly. At least setup-attach-cli.asciidoc. It needs to be done manually? Is there another doc to update?

I think that's the only one and yes, it needs to be updated manually.

Even if it's a bit verbose I think it makes sense to include that so that you can see what to match against.

Agreed. @gajanan8086 please then apply the same suggestions I made to the -l option (meaning, it should read- Matches the output of 'jps -lv'

I think that's the only one and yes, it needs to be updated manually.

@gajanan8086 would you do this update so we can have your contribution properly documented?
Please add a short line to CHANGELOG as well.

Even if it's a bit verbose I think it makes sense to include that so that you can see what to match against.

Agreed. @gajanan8086 please then apply the same suggestions I made to the -l option (meaning, it should read- Matches the output of 'jps -lv'

I think that's the only one and yes, it needs to be updated manually.

@gajanan8086 would you do this update so we can have your contribution properly documented?
Done
Please add a short line to CHANGELOG as well.
Done

Still missing:

CLI help message for -l still says Same output as 'jps -l' but the output is from jps -lv
Ops that wasn't  considered, added now.
Changes in setup-attach-cli.asciidoc reflecting the changes (same as the help message)
Done
Also, I am trying to understand - it did not work on Windows without the related change you did?
Yes the tests were failing as in windows we cant get directory /tmp


Fix for pytest_sugar.py:67:13: Flake8 error

Fix for pytest_sugar.py:67:13: E741 ambiguous variable name 'l'

Codecov Report

Merging #199 into master will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master     #199   +/-   ##
=======================================
  Coverage   87.44%   87.44%
=======================================
  Files           2        2
  Lines         478      478
  Branches       85       85
=======================================
  Hits          418      418
  Misses         35       35
  Partials       25       25

Impacted Files
Coverage Δ

pytest_sugar.py
82.69% <100.00%> (ø)

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 00b8100...17117c7. Read the comment docs.

This has been fixed in another PR. Thank you still!


Video on how it works?

Tried using Ethernet Tethering/Wifi Tethering via Samsung phone,
works fine normally (without proxy),
but after doing the prerequisites & when setting the proxy settings mentioned on the app,
on the PlayStation4 custom connection proxy,
it doesn't connect at all.
btw,
i used the windows version
& it worked perfectly,
but can't seem to figure out the android app version at all.
do we use Wifi/Ethernet Tethering?
& do we have to chane any other setting on the phone itself too?

Sorry, I just saw the email now. Because I have limited Android devices, I
couldn't conduct comprehensive testing. Due to the diversity of Android
models and the customized systems provided by manufacturers, I cannot
guarantee that all devices will work. To use it normally, simply set up the
proxy for your WIFI, no additional settings are required. However, if it
doesn't work, you can only use Windows.
sammy @.***> 于2024年6月3日周一 00:21写道：

Tried using Ethernet Tethering/Wifi Tethering via Samsung phone,
works fine normally (without proxy),
but after doing the prerequisites & when setting the proxy settings
mentioned on the app,
on the PlayStation4 custom connection proxy,
it doesn't connect at all.
btw,
i used the windows version
& it worked perfectly,
but can't seem to figure out the android app version at all.
do we use Wifi/Ethernet Tethering?
& do we have to chane any other setting on the phone itself too?
—
Reply to this email directly, view it on GitHub
https://github.com/Ailyth99/RewindPS4_Android/issues/1, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUOCKTWEHEE4OP42C4M3GT3ZFNA7XAVCNFSM6AAAAABIVF5OXCVHI2DSMVQWIX3LMV43ASLTON2WKOZSGMZDSNZUGM2TSMY
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


WIP: couple of fixes (CUDAdrv changes, device resetting)

Depends on CUDAdrv.jl/#45. Doesn't fix the GC issue, but properly (and much more aggressively) resets the context, which seems to flush out some other errors now.

Codecov Report

Merging #95 into master will decrease coverage by 39.46%.
The diff coverage is 0%.

@@           Coverage Diff            @@
##           master   #95       +/-   ##
========================================
- Coverage   39.46%    0%   -39.47%
========================================
  Files          10    10
  Lines         565   557        -8
========================================
- Hits          223     0      -223
- Misses        342   557      +215

Impacted Files
Coverage Δ

src/CUDArt.jl
0% <ø> (-100%)
:arrow_down:

src/device.jl
0% <0%> (-58.07%)
:arrow_down:

src/pointer.jl
0% <0%> (-43.48%)
:arrow_down:

src/stream.jl
0% <0%> (-85.72%)
:arrow_down:

src/arrays.jl
0% <0%> (-53.31%)
:arrow_down:

src/execute.jl
0% <0%> (-100%)
:arrow_down:

src/libcudart-6.5.jl
0% <0%> (-40%)
:arrow_down:

... and 4 more

Continue to review full report at Codecov.

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


Look in .binder directory for files

If .binder exists, top-level files are ignored. This allows for top-level Dockerfiles for other uses, but binder-specific environment.yml, etc.
closes #72, #73

Forgot to open this PR a while ago.

@minrk I think this is great! Can you add a few tests for it? Can merge after that!

LMK when this is merged and I can put together a repo that uses this for an example

Tested.

This is great, I needed to override Dockerfile with requirements.txt in mybinder.org. This solution works perfectly!

@hydrosquall try it again with just binder/ instead of .binder/! I think we decided not to make the folder hidden (though that is totally unclear from this PR)

@choldgraf : ah, excellent! Yup, changing the folder name straightened out the issue.
https://mybinder.org/v2/gh/hydrosquall/pandas-cookbook/8794bf41efe3279703d5a3bd280dd69facba3f5e

yahoo!


[5.0] Generalize alloc_box test for different platforms

This is backport for #22754

@swift-ci please test

Thanks.


Some Android licenses not accepted.

Steps to Reproduce

flutter doctor :
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 2.0.5, on Microsoft Windows [version 10.0.19041.928], locale fr-FR)
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses
[√] Chrome - develop for the web
[√] Android Studio (version 4.1.0)
[√] VS Code (version 1.55.1)
[√] Connected device (2 available)

flutter doctor --android-licences
Could not find an option named "android-licences".

Run 'flutter -h' (or 'flutter  -h') for available flutter commands and options.

...

Logs

Logs

The correct word is licenses and not licences.
Run flutter doctor --android-licenses as mentioned in flutter doctor and try again.
Closing for now. If you get further issues after running correct command, write in comments and I'll reopen.
Thanks.


pretty printing doesn't put enough EOLs

related to #515
I'm getting this output:
...
method-params ↦ Φ.jeo.params, annotations ↦ Φ.org.eolang.seq0, φ ↦ Φ.org.eolang.seq3 (
  α0 ↦ ξ.aload-BD64, α1 ↦ ξ.invokespecial-BD66, α2 ↦ ξ.return-BD68
),
trycatchblocks-object@init@ ↦ Φ.org.eolang.seq0, local-variable-table ↦ Φ.org.eolang.seq0, aload-BD64 ↦ Φ.jeo.opcode (
  α0 ↦ Φ.jeo.int (
    α0 ↦ Φ.org.eolang.bytes (
      Δ ⤍ 00-00-00-00-00-00-00-19
    )
  ),
  α1 ↦ Φ.jeo.int (
    α0 ↦ Φ.org.eolang.bytes (
      Δ ⤍ 00-00-00-00-00-00-00-00
    )
  )
),
...

Obviously, a better formatting would be:
...
method-params ↦ Φ.jeo.params,
annotations ↦ Φ.org.eolang.seq0,
φ ↦ Φ.org.eolang.seq3 (
  α0 ↦ ξ.aload-BD64,
  α1 ↦ ξ.invokespecial-BD66,
  α2 ↦ ξ.return-BD68
),
trycatchblocks-object@init@ ↦ Φ.org.eolang.seq0,
local-variable-table ↦ Φ.org.eolang.seq0,
aload-BD64 ↦ Φ.jeo.opcode (
  α0 ↦ Φ.jeo.int (
    α0 ↦ Φ.org.eolang.bytes (
      Δ ⤍ 00-00-00-00-00-00-00-19
    )
  ),
  α1 ↦ Φ.jeo.int (
    α0 ↦ Φ.org.eolang.bytes (
      Δ ⤍ 00-00-00-00-00-00-00-00
    )
  )
),

@deemp @fizruk please, check

@fizruk here is a more simple example:
$ cat bar.phi
{⟦ m ↦ ⟦ x ↦ ξ.t, φ ↦ ⟦ t ↦ ⟦⟧ ⟧ ⟧.x ⟧}
$ eo-phi-normalizer rewrite -s bar.phi
{
  ⟦
    m ↦ ⟦
      ρ ↦ ⟦
        t ↦ ⟦ ⟧, ρ ↦ ⟦
          x ↦ ξ.t, φ ↦ ⟦
            t ↦ ⟦ ⟧
          ⟧
        ⟧
      ⟧
    ⟧
  ⟧
}

Obviously, the formatting is wrong.

@deemp let's close it when the problem is solved on my side, in a new release

@yegor256, we've released v2.2.0 that should resolve this issue. Please check

@yegor256 Thank you for your submission! Unfortunately, it wasn't accepted by the team. As per our policy, this results in a -16 point penalty. Your current balance is now -78. Don't be discouraged, though! Your efforts to improve our project's quality are valuable. Keep reporting bugs and suggesting enhancements, but try to be more thorough next time. Remember, bugs are welcome when they help us grow!

@deemp this problem is gone


[improve](jdbc catalog) Remove all property checks during create

Proposed changes
Issue Number: close #xxx
Previously, in order to prevent users from writing wrong parameters when creating a jdbc catalog, we checked all properties. However, we found that when the parent class adds a new property, the subclass cannot sense the parent class's newly added property and can only manually add a check list. In order to avoid this trouble, I will delete this check for now and will check it in a better way later.
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


Add style collection for applying and storing multiple encodings

References and relevant issues
Part of #2866
Description
This adds a utility class for storing a collection of style encodings. The intent is to use this class in a napari layer as a way to replace lots of individual style attributes (e.g. face_color, face_color_cycle, face_colormap). See https://github.com/andy-sweet/napari/pull/6 to see roughly what this would look like.
Credit to @jni for devising this abstraction in https://github.com/andy-sweet/napari/pull/6

I created this because when I looked at #7084 , I thought why are we doing this?
Therefore, I'm resurrecting some of the related style encoding work which was one of the motivators of moving to more structured features over properties.

The next step, which can happen before this gets merged, is to make an equivalent of https://github.com/andy-sweet/napari/pull/6 but with deprecations instead of deletions.


/vendor/zerosdev/nobubank-php/src/Services/Qris.php does not comply with psr-4 autoloading standard

Class ZerosDev\NobuBank\Services\QRIS located in ./vendor/zerosdev/nobubank-php/src/Services/Qris.php does not comply with psr-4 autoloading standard. Skipping

Fixed


Applying filter to a NormalizedCollection doesn't work

Calling .filter() on NormalizedCollection doesn't filter out the results. Here's an example:
http://plnkr.co/edit/3WRXrvtkxsHMnxHX0DRe

It looks correct to me; returned exactly one record matching the filter:

You're right, but $firebaseArray(ref) still shows all results, so I played around some more.
When I attach on('value',...) the callback gets only one result - bruce, but when I attach on('child_added',...) the callback is called twice and both users are logged.
I've updated the plunk so you can investigate this:
http://plnkr.co/edit/3WRXrvtkxsHMnxHX0DRe

I closed the issue by mistake.


Rename Public-Source-Repo-Issues.txt to Public-Source-Repo-Issues.json

This file is full of json, which might upset someone writing a script that assumes *.txt files are just url fragments....

Thank you!


Docker gpu update

More Py2 -> 3 changes. These should all be backwards compatible.
I've updated the relative import of _array2bifrost in GPUArray even though this doesn't seem to exist.

Coverage increased (+0.009%) to 61.78% when pulling f324f71ad146e5ce73a84b277d21c6b9e2a74982 on realtimeradio:docker-gpu-update into 57a2d9f2bf11614759f827702bfd316b1eb5093d on ledatelescope:docker-gpu-update.

Codecov Report

Merging #142 into docker-gpu-update will decrease coverage by 2.86%.
The diff coverage is 0.00%.

@@                  Coverage Diff                  @@
##           docker-gpu-update     #142      +/-   ##
=====================================================
- Coverage              61.71%   58.84%   -2.87%
=====================================================
  Files                     64       64
  Lines                   5281     5280       -1
=====================================================
- Hits                    3259     3107     -152
- Misses                  2022     2173     +151

Impacted Files
Coverage Δ

python/bifrost/GPUArray.py
0.00% <0.00%> (ø)

python/bifrost/udp_capture.py
0.00% <0.00%> (ø)

python/bifrost/udp_transmit.py
0.00% <0.00%> (ø)

python/bifrost/fir.py
0.00% <0.00%> (-100.00%)
:arrow_down:

python/bifrost/romein.py
0.00% <0.00%> (-100.00%)
:arrow_down:

python/bifrost/blocks/scrunch.py
37.03% <0.00%> (-59.26%)
:arrow_down:

python/bifrost/map.py
20.83% <0.00%> (-56.25%)
:arrow_down:

python/bifrost/linalg.py
36.84% <0.00%> (-52.64%)
:arrow_down:

python/bifrost/fft.py
45.00% <0.00%> (-50.00%)
:arrow_down:

python/bifrost/fdmt.py
50.00% <0.00%> (-50.00%)
:arrow_down:

... and 5 more

Continue to review full report at Codecov.

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


Stop mill goroutine when logger is closed

Fixes #56

Awesome, thank you.

Hey @natefinch mind taking a look at this?

I am still facing same issue in v2
13 @ 0x1037dab 0x1037e63 0x1007f1e 0x1007d0b 0x15658c7 0x1069101
0x15658c6	tptest/vendor/gopkg.in/natefinch/lumberjack%2ev2.(*Logger).millRun+0x46	 tptest/vendor/gopkg.in/natefinch/lumberjack.v2/lumberjack.go:379

There is a problem of retrency here. The current behaviour of the Logger is that if Close is called, and you do another Write, the file is reopened, but the milling no longer works.
I proposed my own fix to this #100 before I realised there were a number of other PRs to address the issue. My final implementation uses a similar wait group approach to yours.

Hi @natefinch/team I am using lumberjack for one of our systems since last week and it's working great. However facing this issue from 3 days where goroutines are increasing continuously.

I believe it's related with this issue. Any suggestions on mitigating this issue.


the directory gets changed from cd to d

Type: Feature Request
I am using visual studio code for my  c programming and in that i use code runner for my easy work . My os was installed newly 3 weeks back and frrom then i am facing an issue of directory getting changed from cd to d automatically for the second run in terminal please help me its irritating a lot
VS Code version: Code 1.87.0 (019f4d1419fbc8219a181fab7892ebccf7ee29a2, 2024-02-27T23:41:44.469Z)
OS version: Windows_NT x64 10.0.22621
Modes:

It looks like your report is missing some important information, See this wiki page for more info on how to report actionable terminal issues.


Please invite me to the Recode-Hive GitHub Community Organization

Name
D.Chakrika Sai
Discord Username (if applicable)
No response
Additional Context
I want to contribute

Invitation sent to join the GitHub Organisation. Welcome to the community 🎉
Don't forget after accepting to make it public so it appears on your GitHub profile for everyone else to see. You can do this by finding your name in the GitHub organisation list and change the dropdown to public https://github.com/orgs/Recode-Hive/people


qemu-guest-agent fails to shutdown VM

RancherOS Version: (ros os version)
1.5.2
Where are you running RancherOS? (docker-machine, AWS, GCE, baremetal, etc.)
VM under proxmox
I've installed qemu-guest-agent, and it's connecting as I'm able to see the IP address in proxmox GUI. However issuing shutdown from proxmox fails.
in the RancherOS /var/log/boot/shutdown.log I'm seeing these errors:
time="2019-06-21T15:07:46Z" level=debug msg="START: [shutdown -h -P +0 hypervisor initiated shutdown] in /"
time="2019-06-21T15:07:46Z" level=error msg="Sorry, can't parse '+0' as time value (only 'now' supported)"
How can I can the shutdown parameters to change the +0 to "now" as the error suggests?

It seems to be similar to https://github.com/rancher/os/issues/2647


time-grunt

https://github.com/sindresorhus/time-grunt

I tried this but it did not work. I think parallel might wonk it out. Keep it open?


how to define START_CHANNEL during runtime?

Thank you for making this library.
I am starting the process of converting some of my Teensy code to work on a PICO.
My project reads a dip switch to determine the DMX start channel.
In you example you define volatile uint8_t buffer[DMXINPUT_BUFFER_SIZE(START_CHANNEL, NUM_CHANNELS)]; befor the code starts.
Is there a way to either change the buffer or set the buffer during void setup() ?
I guess more specifically i wonder if i can call dmxInput.begin(0, START_CHANNEL, NUM_CHANNELS); again after a dip switch change was noticed? Do i need to call dmxInput.end() first?
Thank you for your advice.

Hi, and sorry for the late reply!
Yes, you can re-initialize a DMX input, but as you said, you need to call dmxInput.end() before calling dmxInput.begin(...) again

the other approach is reading the whole universe (all 512 channels) and dynamically deciding which channels to use. (from https://github.com/jostlowe/Pico-DMX/issues/15#issuecomment-1278197448). If your DMX device is sending a partial universe (which my fader does) then this is the only way of changing start channel anyways


add Tyk API Gateway exporter into exporters list

https://github.com/coliquio/tyk-gateway-prometheus-exporter

Hmm, where's the actual source code for this?
The metrics seem to be info metrics, so should end in _info and be of type gauge. Your example in the README has a secret on the command line, which is not secure.

There is no source code, it's actually using https://github.com/coliquio/http-json-query-exporter + generic config for tyk. See https://github.com/coliquio/tyk-gateway-prometheus-exporter/blob/master/Dockerfile#L1
Copy that _info. Will change that.
Agree that secrets is not best-practice, any suggestions how you deal with secrets in doc?
Besides, I now understand you want to keep the exporters list to be very focused. So just close if you like.

There is no source code, it's actually using https://github.com/coliquio/http-json-query-exporter + generic config for tyk.

Hmm, for similarish things what usually happens is that the main exporter has a contrib directory (or similar) with such configs.

Agree that secrets is not best-practice, any suggestions how you deal with secrets in doc?

Reading from a file is generally good.

Besides, I now understand you want to keep the exporters list to be very focused.

The notability of what the exporter is for generally isn't relevant, unless it's something that e.g. only the creator of the exporter uses.


Use folders in generated VS projects

Generating a VS Studio 2017 project with cmake will use folders for structuring the project:

In addition the PR sets the minimum required cmake version to 3.12.0, allowing more modern cmake constructs.

There was some reason to have CMake required at v2.8.12 (to support some Ubuntu LTS if I recall correctly). Will this support be dropped now intentionally? @sjoelund

I don't remember if there was a reason to stick at v2.8.12. For the moment I just want to use this folder feature to get a nicer project outline in VS. I need to check at which cmake version this feature was available, maybe already in v2.8.12. However, for the future I'd also like to experiment with more recent cmake features, e.g., supporting a nice integration of googletest into the project.

cmake 3.12.0 will not compile in any Ubuntu LTS release (it's only in the recently released 19.04). We still support CentOS 6, which has cmake 2.8.12 only.
Note that it is often possible to make the cmake project aware of the older version and only use the new features if the version is high enough. It should also be possible with like cmake_minimum_required(VERSION 2.8.12...3.12.0) according to https://cmake.org/cmake/help/latest/command/cmake_minimum_required.html. That in particular should remove some old policy messages.

Okay, the cmake change in the commit seems to work with v2.8.12. The CI checks failed due to some unrelated connection problems with the (external) MQTT test server.
I will try to keep the build compatible to v2.8.12, though the cmake requirement shouldn't be an issue for standard Modelica library users. It's only needed if rebuilding the external libs, which we deliver anyway as binaries for all supported platforms, is desired.


windows build doesn't work

There used boost from the folder '3rdparty', and
also included following headers:
#include <boost / log / *
which just absent in 3rdparty folder. What to do?

Until nicehash will fix it, you can get this dirs from somewhere else. Or jsut use git checkout and get this folders from an earlier versions, where this folders were presented

I took 3rdparty / boost from this commit:
3466b69ec4cd62346d177fda8d93da011d456f02 (added cmake file (Linux only for now))
and I got the following error:
nheqminer-master\nheqminer\3rdparty\boost/type_traits/common_type.hpp(43): fatal error C1001: An internal error has occurred in the compiler.
I use Microsoft Visual Studio Ultimate 2013
Version 12.0.21005.1 REL
and platform toolset:
Visual C++ Compiler Nov 2013 CTP (CTP_Nov2013)

Can't help with this one. Never faced with it. Try to run Clean adn Rebuild.

After installing update 5 (https://www.microsoft.com/en-us/download/details.aspx?id=48129) build was successful!


Introspection with Bearer fails - principal is not assignable to OAuth2ClientAuthenticationToken

Introspection calls with bearer fail with invalid client error. In the OAuth2TokenIntrospectionAuthenticationProvider the call to getAuthenticatedClientElseThrowInvalidClient fails, JwtAuthenticationToken is not assignable to OAuth2ClientAuthenticationToken.
I would expect that
a) that the introspection is handled. A bearer token could be accepted if the token used for authentication is not the same as the one to be inspected. rfc7662#section-2.1
or alternatively
b) the error message is more specific than 'invalid client' (especially since the client is successfully authenticated at this moment)

@wheredoipressnow The 3x client AuthenticationProvider's are JwtClientAssertionAuthenticationProvider, ClientSecretAuthenticationProvider and PublicClientAuthenticationProvider. Neither of these implementations support the Bearer scheme, so the client does not authenticate in the flow. However, the JwtAuthenticationProvider (enabled by http.oauth2ResourceServer()) does authenticate the Bearer Jwt and that is why you are getting the error "JwtAuthenticationToken is not assignable to OAuth2ClientAuthenticationToken".
Please see the reference documentation for the supported client authentication methods:

The supported client authentication methods are client_secret_basic, client_secret_post, private_key_jwt, client_secret_jwt, and none (public clients).

Although RFC 7662 states:

the endpoint MUST also require some form of authorization to access this endpoint, such as client authentication as described in OAuth 2.0 [RFC6749] or a separate OAuth 2.0 access token such as the bearer token described in OAuth 2.0 Bearer Token Usage [RFC6750]

It does not specify what the contents of the bearer token are. The client identity must be in the access token and the Authorization Server must know how to extract the client identity in order to validate it. This is the purpose of RFC 7523, which is implemented by JwtClientAssertionAuthenticationProvider.
Can you provide more details on the bearer token you are sending in the request? What is the structure and contents?

@jgrandja thanks for your time!
The bearer in this case is an access token issued by the same authorization server. The content looks like this:
{
  "sub": "client id goes here",
  "aud": "some audience here",
  "nbf":<PHONE_NUMBER>,
  "scope": [
    "a scope"
  ],
  "iss": "issuer goes here",
  "exp":<PHONE_NUMBER>,
  "iat":<PHONE_NUMBER>
}

I am aware of the resource server configuration. The configuration is applied like so (using Kotlin)
    ...
      .oauth2ResourceServer { oauth2ResourceServer ->
          oauth2ResourceServer
              .jwt { jwt -> jwt.decoder(jwtDecoder) }
      }

Instead of using a bearer  passing client_assertion and client_assertion_type with the request works.

@wheredoipressnow I'm glad you got it working. Based on those claims, with sub identifying the client, passing the token via client_assertion and client_assertion_type  is the correct method.


[SignalR] How to add global AuthorizationFilter?

How to add global AuthorizationFilter (with policies) to SignalR (like we are doing it for MVC via MvcOptions)?

There's nothing like this in 2.2 but in 3.0 it'll be possible with endpoint routing (there's a blog post coming soon that descibes how it will work going forward).


KeyError: 'arr_1 is not a file in the archive'

python3 train.py --datafile dataset/gridworld_8x8.npz --imsize 8 --lr 0.005 --epochs 30 --k 10 --batch_size 128
Traceback (most recent call last):
File "train.py", line 135, in
config.datafile, imsize=config.imsize, train=True, transform=transform)
File "/home/user/pytorch/tutorials/valueiterationnetworks/pytorch-value-iteration-networks/dataset/dataset.py", line 22, in init
self._process(file, self.train)
File "/home/user/pytorch/tutorials/valueiterationnetworks/pytorch-value-iteration-networks/dataset/dataset.py", line 49, in _process
S1 = f['arr_1']
File "/home/user/miniconda3/lib/python3.6/site-packages/numpy/lib/npyio.py", line 255, in getitem
raise KeyError("%s is not a file in the archive" % key)
KeyError: 'arr_1 is not a file in the archive'
I got this error, could you please

Closing this out as I am not able to reproduce and the issue has aged significantly.


[Regression]: Playwright java docker images removed curl binary since 1.47.0 focal releases

Last Good Version
mcr.microsoft.com/playwright/java:v1.46.0-focal
First Bad Version
mcr.microsoft.com/playwright/java:v1.47.0-focal
Steps to reproduce

Run the following commands below to check that curl is no longer available:

 docker run -it --rm mcr.microsoft.com/playwright/java:v1.49.0-noble /bin/curl
 docker run -it --rm mcr.microsoft.com/playwright/java:v1.49.0-jammy /bin/curl
 docker run -it --rm mcr.microsoft.com/playwright/java:v1.47.0-focal /bin/curl

you should see a similar output showing that the curl is no longer available

docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: exec: "/bin/curl": stat /bin/curl: no such file or directory: unknown.

Expected behavior

Run the following command below to check that curl exists in the image:

docker run -it --rm mcr.microsoft.com/playwright/java:v1.46.0-focal /bin/curl

you should see a similar output showing that the curl exists in the image:

curl: try 'curl --help' or 'curl --manual' for more information

It's expected that the curl binary is available in the image.
Actual behavior
Curl binary is not available in the newest images.
Additional context
I am unsure if the docker image no longer has the /bin/curl  qualifies as a loss of functionality.
We noticed this change recently while upgrading the playwright. Since AWS ECS requires the bash command for a health check and most of our infrastructure stack uses the curl command for that, it would be nice to have this back in the official docker image.
For now, I have replaced the playwright deployment health check in my infrastructure to use wget, which is still available in the image.
Currently using mcr.microsoft.com/playwright/java:v1.49.0-noble.
Environment
OS: Ubuntu 24.04 LTS
CPU: AMD64
Docker version: 27.4.0, build bde2b89
Linux Kernel: 6.8.0-49-generic x86_64

curl is considered an implementation detail. We switched from curl to wget a few months ago (see https://github.com/microsoft/playwright-java/pull/1679) which is why you don't see curl preinstalled. If your code depends on some tools, you should make sure to install them on top of playwright docker image to avoid breakages. As our documentation read, the playwright docker images have browsers and their required system dependencies preinstalled, anything beyond that is a subject to changes.


Ability to have templateUrl request happen after controllerUrl resolution

I'm nearing the end of creating a code structure and build process for my Angular app using Angular AMD to lazy load sub-programs within a main app, and it's all being managed via requireJS dependencies.
|-main-app
|-programs
  |--program1
  |--program2

When I'm running in dev mode, everything is now working fine, and program1/program2 and so on are only loaded when I navigate to their states via code that is built at runtime (because this list of programs is dynamic):
 var state =  {
   url:  prog,
   authenticate: item.authenticate,
   views: {
      "program@":angularAMD.route({
         templateUrl: "programs/" + prog + "/templates/" + prog + ".html",
         controllerUrl: "programs/" + prog + "/main.js",
         controller: prog+"Ctrl"
   })
   }
 };

All good in dev.
Now, when I build my application via gulp using the requirejs optimizer and various plugins, I'm building all my templates into my code via the gulp-angular-templatecache. Within the main app, this works fine. I insert the generated template code into a module, which in dev doesn't do much other than be defined:
define(["angular"],function(angular){
    console.log("Template Module");
    var templates = angular.module("templates",[]);

    <!-- inject:templates -->
    <!-- Contents of html templates will be injected here via gulp task-->
    <!-- endinject -->

    return templates;
});

But for each of my programs, I don't want them touching that, they can just have their template insertion code be appended to their concatenated main file, because they can know the module already exists:
angular.module("templates").run(["$templateCache", function($templateCache) {$templateCache.put("programs/programs1/templates/edit.html" ... and so on...

Which is all fine. Except for the fact that when I navigate to a state defined by one of these programs, the controllerUrl is placed within a resolve statement like I want, and so is only loaded once I try to go to it... that controller file is actually a file that defines the module and everything to do with that program (and also the controller as defined by prog+"Ctrl")... this file also has those template cache insertions.
However the templateUrl is resolved before any of that loads in, and so the templateCache has not been populated, and it tries to load from the actual URL, which doesn't exist in production.
Sooo, by way of a long example, is there a way for the templateUrl to only be resolved ONCE the controllerUrl is resolved and loaded?
TL;DR: Can I only load the templateUrl after the controllerUrl code has loaded?

Sorry, not sure if I fully understand.  Basically, you turn all your view files into a single templates module so in prod there is not more HTML files?  If that is the case, isn't this about loading the templates module on startup so all templates are available when your controller loads?

Yes, that would be the case for a system where the 'programs' weren't dynamic, and quite likely never loaded by a given client. So, you have the main app. And it's states do indeed have its templates loaded at startup.
The problem is, all the programs. We might have hundreds of these, and a given user might only use 2 in a session, so we only want to load all of their templates ahead of time within the main app. Also, that would make the main app be affected by changes to the programs, which is also bad for change management.
So, what I'm trying to do is have the templates be inserted into the template cache when the program is routed to (when it's state is activated).
The whole system works fine if I leave the templates as html files per program, they only get requested on loading of the state... it's just my wish to have them in the cache instead of that.

I think I am starting to better understand your setup.  Isn't this as simple as setting your program template module as a dependency to your controller?
Paraphrasing your example:
views: {
      "programA":angularAMD.route({
         templateUrl: "programs/" + prog + "/templates/" + prog + ".html",
         controllerUrl: "programs/" + prog + "/main.js",
         controller: prog+"Ctrl"
     })
}

I am assuming that you would have something like:
define(["angular"],function(angular){
    console.log("Template Module");
    var templates = angular.module("templates_programA",[]);

    <!-- inject:templates -->
    <!-- Contents of html templates will be injected here via gulp task-->
    <!-- endinject -->

    return templates;
});

You would do in your main.js of your programA:
define(['app', 'templates_programA'], function (app) {
    ....
})

If this is not your setup, can you elaborate on how do you define program specific template?  You example so far shows me only one generic templates module.

Hi again, Thanks for taking the time to reply.
Your suggestion gave me an idea as to having insertion points per each of my programs for the template code, so that's neatened things up a bit, which is excellent, thanks.
However I'm still stuck with the order of execution problem.
  Object {_invokeQueue: Array[0], _configBlocks: Array[0], _runBlocks: Array[0], requires: Array[4], name: "program1_module"}
main.js:527 Program 1 main :
.... and so on

Point being is that 'REQUIRE GOT: ' line I have in there is a console log I've put in your AngularAMD.prototype.route function:
 // If controller needs to be loaded, append to the resolve property
        if (load_controller) {
            console.log("LOAD CONTROLLER =",load_controller);
            var resolve = config.resolve || {};
            resolve['__AAMDCtrl'] = ['$q', '$rootScope', function ($q, $rootScope) { // jshint ignore:line
                var defer = $q.defer();
                console.log("RESOLVING ["+load_controller+"]");
                require([load_controller], function (ctrl) {
                    console.log("REQUIRE GOT:",ctrl);
                    defer.resolve(ctrl);
                    $rootScope.$apply();
                });
                return defer.promise;
            }];
            config.resolve = resolve;
        }

And before that even resolves, the client has already tried and failed to get the template.html... because that html file doesn't exist, it's inserted into the template cache during the firing up of the program1 code (which is triggered by requesting the r.js optimised file, which has a 'require' at the end which requires the main.js defined module... this is a little different to dev, where the 'controller' file, the one that controllerURL points to is of the form:
/**
 * Entry point for Program 1
 */
define(["./src/controllers/program1"], function(controller) {
    console.log("Program1 Main :");

    return controller;
});

That dependency on the controller (which is the controller for the 'state' we've just routed to), then depends on the module, and the module depends on all other controllers/factories/whatever is required for this program)
I wish I could put up a piece of working code to highlight this issue, but I'd take a fair bit of work to pull it apart and make a generic demonstration case for the web... I've just been changing the names of things here to 'program1' for the sake of simplicity :)
It boils down to, the templateUrl and controllerUrl are both requested at the same time. The controllerUrl has been turned into a resolve block, so it gets loaded before coming back, but the templateUrl is requested immediately, and so is requested too early. Effectively I guess I need to make the templateUrl only be requested after the controllerUrl code has actually run, because then it'll resolve to the template just defined in the cache, not on disc.

Oooh, actually, here's a bigger problem, and maybe gets to the root of why it works in dev but not when r.js optimized.
If I ignore the templates being the cache for now, but just have the build process copy them across, then I still get an issue with lazy loading my program.
In dev, when I navigate to a state that lazy loads, I get this as the order of things in the console :
stateChangeStart FROM:app TO: app.program1: Object {name: "$stateChangeStart", targetScope: Object, defaultPrevented: false, currentScope: Object}
RESOLVING [programs/program1/main.js]
module.js:2 Program 1 Module!
program1.js:8 Propgram1 CONTROLLER START?  Object {_invokeQueue: Array[0], _configBlocks: Array[0], _runBlocks: Array[0], requires: Array[4], name: "program1_module"}
main.js:5 Program 1 Main :
angularAMD.js:156 REQUIRE GOT: Object {_invokeQueue: Array[0], _configBlocks: Array[0], _runBlocks: Array[0], requires: Array[4], name: "program1_module"}
program1.js:10 Program 1 CONTROLLER!

And all is happy, it loads up fine.
Now, loading the same state (main app all running fine) in production mode, with the program files all optimized into a single file under the program1 folder called main.js:
$stateChangeStart FROM:app TO: app.program1: Object {name: "$stateChangeStart", targetScope: Object, defaultPrevented: false, currentScope: Object}
app.js:28294 RESOLVING [programs/program1/main.js]
app.js:28296 REQUIRE GOT: undefined
app.js:12221 Error: [ng:areq] Argument 'program1Ctrl' is not a function, got undefined
http://errors.angularjs.org/1.4.0/ng/areq?p0=program1Ctrl&p1=not%20aNaNunction%2C%20got%20undefined
    at REGEX_STRING_REGEXP (http://localhost:8080/dist/main-app/app.js:68:12)
    at assertArg (http://localhost:8080/dist/main-app/app.js:1765:11)
    at assertArgFn (http://localhost:8080/dist/main-app/app.js:1775:3)
    at http://localhost:8080/dist/main-app/app.js:8921:9
    at compile (http://localhost:8080/dist/main-app/app.js:32668:28)
    at invokeLinkFn (http://localhost:8080/dist/main-app/app.js:8604:9)
    at nodeLinkFn (http://localhost:8080/dist/main-app/app.js:8113:11)
    at compositeLinkFn (http://localhost:8080/dist/main-app/app.js:7514:13)
    at publicLinkFn (http://localhost:8080/dist/main-app/app.js:7388:30)
    at updateView (http://localhost:8080/dist/main-app/app.js:32609:23)(anonymous function) @ app.js:12221$get @ app.js:9055invokeLinkFn @ app.js:8606nodeLinkFn @ app.js:8113compositeLinkFn @ app.js:7514publicLinkFn @ app.js:7388updateView @ app.js:32609(anonymous function) @ app.js:32571$get.Scope.$broadcast @ app.js:16038$state.transitionTo.$state.transition.resolved.then.$state.transition @ app.js:31961processQueue @ app.js:14454(anonymous function) @ app.js:14470$get.Scope.$eval @ app.js:15719$get.Scope.$digest @ app.js:15530$get.Scope.$apply @ app.js:15824(anonymous function) @ app.js:28298context.execCb @ require.js:1670Module.check @ require.js:874(anonymous function) @ require.js:1124(anonymous function) @ require.js:132(anonymous function) @ require.js:1174each @ require.js:57Module.emit @ require.js:1173Module.check @ require.js:925Module.enable @ require.js:1161Module.init @ require.js:782callGetModule @ require.js:1188context.completeLoad @ require.js:1584context.onScriptLoad @ require.js:1691
main.js:426 Program 1 Module!
main.js:482 Program 1 CONTROLLER START?  Object {_invokeQueue: Array[0], _configBlocks: Array[0], _runBlocks: Array[0], requires: Array[4], name: "program1_module"}
main.js:525 Program 1 Main :

So here the problem is that the attempted loading of of the controller by name is happening before it's actually been defined. Now, I think this is because in dev the return object (by the define of the main.js file) makes the AngularAMD code wait for the resolution? And because the r.js optimised file doesn't return anything, it just carries on before the code has loaded?
Maybe I should create a simple demonstration case of this, because I'm spending a fair bit of time on it :)

OK. I bit the bullet and actually made a plunker to demonstrate how I'm using things within my dev structure:
http://plnkr.co/edit/491WzrHPwHJwnQJUj30g?p=preview

Following up this. I have managed to make my optimized files load the controller before it's requested now. I still have issues with the templates being requested before the code injecting them into the template cache runs, but if I skip the step of doing that with the templates, then the optimized version is working...
I added a wrapper around the optimized module files to return a promise:v
wrap: {
start: "define([],function() {",
end:    "var defer = $.Deferred();"+
"require(['"+program+"'], function (ctrl) {"+
"defer.resolve(ctrl);});"+
"return defer;});"
}
('program' is a variable with the name of the module being built within the particular function of the gulp task)
This means that AngularAMD correctly resolves the dependency of the main program before trying to run the code.

@spoco2 it's been another crazy week for me.  Can you get a repo going with your code and I can try to take a look tonight?

OK... first time actually using github for putting code up! (Coming from svn and just started using Mercurial)..
I've put up the dev version:
https://github.com/spoco2/AngularAMD-DynamicModules

OK. More updates. I actually have things working in a dist build now. I need to update my github/plunker examples to be the same... the things that have made this work are:

The mentioned wrap code above within the r.js config. That's a huge one, and allows the controller to be there when it's requested. So that's awesome, and a proper fix.

I discovered that my code that inserted the templates into the templateCache for the programs was never being run, because they were being placed in the runblock of my "templateStorage" module, which ran fine for the application templates, but was never run again (even though I was calling 'angularAMD.processQueue', which correctly processes the runblocks of the module for the dynamically added program.) So, modifying the way that the template injection inserted, so that it is placed within the runblock of the program's module itself, that lets the templates actually be inserted:

program1_module.run(["$templateCache",function($templateCache){
    /** @preserve inject:templates **/
    /** Contents of html templates will be injected here via gulp task **/
    /** @preserve endinject **/
    }] );

So, that's ok... a bit more stuff that has to be placed in files, and I can probably come up with a better way down the track so there is less stuff that needs to be thought about per module, but it works fine.

 :-/ Even with everything else in place, the templateUrl is requested before the js code is loaded and run when it loads program1, and so still tries to pull from disk rather than the cache, because it's not there yet. And so... I've done a nasty, nasty little hack for now, just for the code that defines the state for the parent 'program' controller/template, and only for those initial loads, because then after (and also for the initial application loads), everything is ok and in the template cache. Soooo, for these states, which are the ones added dynamically at loading of the app, by loading from a json file (in the example), I have this:

 var state =  {
	url:  prog,  //Don't Add / here, it adds one too many slashes
	auth: item.auth,
	views: {
		"program@":angularAMD.route({
			//templateUrl: "programs/" + prog + "/templates/" + prog + ".html", //This will end up in template cache, so url is ok
			controllerUrl: "programs/" + prog + "/main.js", //This will end up as the fully compiled file for the program, so this is good too :)
			controller: prog+"Ctrl",
			templateProvider: function($http,$templateCache,$q){
				console.log("templateProvider GET ["+prog+"] programs/" + prog + "/templates/" + prog + ".html");
				return $q(function(resolve,reject){
				   setTimeout(function(){
					   if($templateCache.get("programs/" + prog + "/templates/" + prog + ".html"))
						   resolve($templateCache.get("programs/" + prog + "/templates/" + prog + ".html"))
					   else
						   resolve( $http.get("programs/" + prog + "/templates/" + prog + ".html").then(function(response){return response.data;}))
				   },1000); //=-=-=-=-=-DODGY! DODGY! Just waiting so things have resolved... DODGY!!!=-=-=-=-
				});
			}
		})
	}
};

It's ugly, unwieldy, and introduces a second delay to wait for the code to be loaded. I hate just introducing time delays to make things work, it's not good at all... but it works for now. I can't find a way to wait until the controller is loaded or some other event (resolution of the controller), to then load the templateUrl.
I'll update the github and plunkers when I get some time, as they don't have this new stuff in place yet. And I'll also make them work and build using the gulpfile.

I've written a blog post on my approach now, might make my approach clearer, might confuse matters, not sure. http://simon.oconnorlamb.com/ria/2015/07/building-a-large-scale-lazy-loading-angular-application-using-angularamd/


Update tls_certificates_interface lib to fix permission deny error during scale operation

Description
Scale up operation does not crash the charm, instead scaled unit becomes to error status.
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have made corresponding changes to the documentation
[x] I have added tests that validate the behaviour of the software
[x] I validated that new and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules
[x] I have bumped the version of the library

Waiting  PR https://github.com/canonical/tls-certificates-interface/pull/70 in the tls-certificates-library to be merged.

Please update the PR description :)

Please update the PR description :)

Done


Try to bring generic and non generic together in 2 different classes

The NDArray is now extrem dynamic and flexible
The only thing I find annoyingful at moment --> indexing
I mean true indexing like np1[1,2,3] and not via Data method
we can not indexing in a gentle way since the output is always different (int, double,...)
This i think is extrem nice with our generic old class (but I dont want to go back to old class…)
my idea : NumSharp.Generic.NDArray which is 100% a child of NumSharp.Core.NDArray
check the code we can use 100% of the Core methods but the indexing here looks gentle.
every user shall decide by theirselves which is better for their project
for Pandas.NET sure we go with NumSharp.Core.NDArray

I have to admit that you are genius. You’ve found the best solution for dynamic and typed data.

haha thanks but I find your idea with the storage and non generic was the most clever solution. so we can better port scipy stack to dotnet.
i think we day by day move to a good direction with NumSharp


Load the neko wincon ndll using the absolute path

Hello,
Currently if you try and use console.hx with neko on a lix project it will fail to load the wincon ndll. Using the absolute path to the wincon ndll solves this and everything works as expected with lix and neko.
Cheers.

Hey @Aidan63, thanks for the PR
I'm thinking about how distribution would work – say you build your neko file and send to to someone else – it'll still try to load the ndll file from your system's lib path. Maybe the solution is to copy the ndll file to the build output folder Compiler.getOutput()

Yes, I just realised that myself after some more testing. That's what I get for copying macro code from one of my projects without thinking about when it will actually be ran!
Think I've realised I'm coming at this from the wrong direction, I want to add some colours to some tools which are invoked through haxelib run. So it makes more sense to find the location of the console.hx library and copy over the ndll to the build directory at runtime instead of compile time or tieing the path to an absolute location.


设置publicPath为/my-app/之后，pwa的scope错误

Version
3.4.1
Environment info
System:
    OS: macOS 10.14.3
    CPU: (8) x64 Intel(R) Core(TM) i7-8559U CPU @ 2.70GHz
  Binaries:
    Node: 8.15.0 - ~/.nvm/versions/node/v8.15.0/bin/node
    Yarn: 1.12.3 - /usr/local/bin/yarn
    npm: 6.4.1 - ~/.nvm/versions/node/v8.15.0/bin/npm
  Browsers:
    Chrome: 72.0.3626.119
    Firefox: 61.0.2
    Safari: 12.0.3
  npmGlobalPackages:
    @vue/cli: 3.4.1

Steps to reproduce
将publicPath配置成 /my-app/
What is expected?
Object(v["a"])("".concat("./", "service-worker.js"),
What is actually happening?
Object(v["a"])("".concat("/test/", "service-worker.js"),

请提供复现
不是很懂，为什么说这样是错的？

Closing due to inactivity. Please open a new issue with a reference to this one if you can follow up with more information.


Fix infinite loop in dead-branch-elimination

Create structed cfg analysis.

There are lots of optimization that have to traverse the CFG in a
structured order just because it wants to know which constructs a
basic block in contained in.  This adds extra complexity to these
optimizations, for causes too much refactoring of older optimizations.
To help with this problem, I have written an analysis that can give this
information.

Identify branches breaking from loops.

Dead branch elimination does a search for a conditional branch to the
end of the current selection construct.  This search assumes that the
only way to leave the construct is through the merge node.  But that is
not true.  The code can jump to the merge node of a loop that contains
the construct.
The search needs to take this into consideration.

Still have to add unit tests.

So, you had added tests for the analysis but I missed them because github's UI hides large diffs.  Sorry!


Possible unnecessary computation in computeMinverse

Hi, I am using Pinocchio to calculate inverse inertia matrix for my robot arm, and I am working on the computeMinverse function for research purposes. In include/pinocchio/algorithm/aba.hxx line 310, there is a computation that I couldn't exactly understand.
typedef typename SizeDepType<JointModel::NV>::template ColsReturn<typename Data::Matrix6x>::Type ColsBlock;
ColsBlock J_cols = jmodel.jointCols(data.J);
J_cols = data.oMi[i].act(jdata.S());

It seems it doesn't do anything useful, and if I delete this part my compuations for the Panda arm seems unaffected. Is there anyone who can verify that?

What do you want to do exactly (could you provide full details)?

It seems that this computation may only be necessary for certain types of robots. Perhaps we could encapsulate this computation within an if condition to check if it's required. If you think that could be useful, I can provide test cases for different robots to show it, and maybe someone who understands this can help us.

My question was rather oriented towards your need: why do you need to compute the mass matrix inverse ?

I have an optimal control based robot controller. I am using Minv in the constraints of the system. Currently I am only using a robot arm, but I'll use different robots in the future. Why do you ask?

My guess is that you might not be obliged to compute this quantity.


How to adjust height of the buttons/tabs?

How to adjust height of the buttons/tabs?

how to adjust the height of self.navigationBar on which navigationView is ?


adds dynamic social share cards

Courtesy of https://github.com/emgoto/gatsby-plugin-react-social-cards

completes https://github.com/simpixelated/simpixelated.com/issues/36


iOS 10 support issue

Hi,
The minimum supported version on the requirements is iOS 10.0+ but not really. The minimum version is iOS 11.0+ on MMPlayerView 5.0.0. ¿It's an error or the pod should support iOS 10.0+ too?
Thanks,

Fix it, only support on ios 11+


test results

Is there anyone got the Similar results to the original paper on the coco dataset？why I can't get a better result？

Is there anyone got the Similar results to the original paper on the coco dataset？why I can't get a better result？

HI~
what's ur mAP result?
the mAP with single scale in paper is 40.6 while mine is 38.0. I think the difference is acceptable.
However, I test the trained weight from this paper. the mAP is higher than the result in paper.
btw,I set the batchsize to 29 with 6 gpu,because I dont have enough GPU as the paper to set batchsize to 49.
My result and the tested result are shown as follow:
test result with trained weight:
Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.596
Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 0.772
Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 0.647
Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.335
Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.649
Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.772
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.440
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.671
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.719
Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.530
Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.769
Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.885
test result with my trained weight:
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.380
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.534
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.402
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.166
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.397
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.505
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.340
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.525
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.572
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.352
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.602
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.749

the test result with trained weight in paper is much higher than the result in paper
I could not figure out this point

Hello, I finished the test and got the result.josn, but how can I find the mAP?


Andrews python attempt , part 2

Here you go, @andrewstech

The previous pull is deleted, it is throwing an error, Ahhh

I will try merging it in test branch first

I love the  I'm kind of genius myself commit name.


Add Russian locale

Codecov Report

Merging #140 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master   #140   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           4      4
  Lines         253    253
  Branches       46     46
=====================================
  Hits          253    253

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 0d9a01e...5afa018. Read the comment docs.

@alik0211 would you please update your code to pass our unit test?
Reference here

Thanks

:tada: This PR is included in version 1.6.3 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Managing @since phpdoc tags

When writing code that supports multiple core versions, developers need to know when a class/method/property/function/constant/trait/interface/... has been introduced.
For this purpose, we can use the @since phdoc comment.
In #8061 I suggested to add @since tags everywhere, but PortlandLabs didn't accept it because it's "too risky" (?).
So, what about this different, incremental approach:
When a new pull request is submitted, we run a new test job (what about GitHub Actions? They are so great!)
This new test job checks for new classs/methods/whatever, as well as changes to visibility (eg from private to protected/public).
If the job detects a change, it checks that there's a @since future phpdoc for all the changed stuff. If such tags are not present, the job fails, telling the pull request submitter that she/he must add those @since future tags.
Right before tagging a new version (that is, when a new concrete5 version is released) - for example 8.5.3, the developer that's in charge of it (usually @aembler), runs a CLI command that replaces all the @since future tags with @since 8.5.3.
PS: This approach assumes that every commit to the repository happens with pull requests, but it seems that it's happening now (👏).

@mlocati, this sounds like a great idea.
Getting version specific information without searching through the Git history is a huge improvement.

bump


Added an api route to mark song as played

Signed-off-by: Nitesh Balusu<EMAIL_ADDRESS>Added an API route to mark song as played.
/api/bidding/remove

Closes #21


Fix URI parameters decoding

I slightly changed the deParam function to allow having encoded & characters in the URI params value.
Before this fix, with foo=bar%26bar the deParam method returned {foo: "bar", bar: undefined} but now it returns {foo: "bar&bar"} .

Seems like I am facing the same issue. Thanks.

i will re test this case and merge in next week

ok thank you

@ddo Did you have a look on mix pull request? Thanks

thank you! and i will bump the version to 1.0.0 soon(follow the semver) after recheck the whole lib


Modernise tests

Includes #78.
By dropping obsolete Python versions, we can use the newer assertion methods of unittest which give more descriptive error messages when they fail.
This could have been included in #78, but here's a separate PR to make the former easier to review. See the last two commits for this one.

Note the build is failing due to https://github.com/ryanss/python-holidays/issues/77 but here's a passing build with flake8 disabled:
https://travis-ci.org/hugovk/python-holidays/builds/294475295
I've confirmed locally no new flake8 issues are introduced.

Coverage remained the same at 98.982% when pulling 7e26624397a5f0b31a55d9fe9dd3d7a11b43ccd8 on hugovk:modernise-tests into 988bdf89207005db273263962d8ddd0dde942c28 on ryanss:master.

I've tacked https://github.com/ryanss/python-holidays/pull/80 onto this and now the build passes. 👍


Improve pub points by 10

No actual functional difference. Only some formatting.
Apparently this makes the code "has no errors, warnings, lints, or formatting issues" so  ¯\(ツ)/¯

[ ] Squash commit

How is this PR different from those commits merged in latest project commits here: https://github.com/builttoroam/device_calendar/commits/develop


inherit_height_from each child

Hi,
thank you for the great slider.
I am currently working with it and discovered a problem. I have several boxes, where I use the slider. Each box is splitted in text and a box for the slider.
The text should define the height of the box for the slider. With inherit_height_from: (textbox)  I can make that work for the first slider but the problem is, that the following sliders always take the height form the first text box.
So there is something missing like "for each"/"this child element", or does it exist and I did it wrong?
Thank you!

Or is it possible to set a variable for the inherit_height_from?
Like:
var id= $(this).attr("id");
...
$('.nb .slides').superslides({
inherit_height_from: id
})
For me it doesn't seem to work.


Using TCP/UDP on the same port, same service and IP

Describe the bug
I am basically doing this; https://chriskirby.net/highly-available-pi-hole-setup-in-kubernetes-with-secure-dns-over-https-doh/
(not using DHCP and not using cloudflare DOH, just a home DNS setup)
There are options in the pihole chart, you can run two services where in each service UDP and TCP port 53 are opened respectively, or you can have one service where they are both defined.
I have set the annotation, set loadbalancerIP (same IP) but no matter what the ports are not open. If I make a separate service with just the UDP port open on a different IP, it works. No problem. Other services work, no problem.
The logs look boring, nothing of note, no error.
To Reproduce
Steps to reproduce the behaviour:
piHole chart values:
serviceDns:
  annotations:
    kube-vip.io/loadbalancerIPs: <IP_ADDRESS>
  mixedService: true
  loadBalancerIP: <IP_ADDRESS>
  type: LoadBalancer

Expected behavior
I expected both the TCP and UDP port to be open as defined in the service.
Screenshots

 $ dig @<IP_ADDRESS> +short google.com
;; connection timed out; no servers could be reached
 $ dig @<IP_ADDRESS> +short google.com
<IP_ADDRESS>
 $ telnet <IP_ADDRESS> 53
Trying <IP_ADDRESS>...
telnet: connect to address <IP_ADDRESS>: Operation timed out
telnet: Unable to connect to remote host

Environment (please complete the following information):

OS/Distro:

Linux warvm-master01 6.1.0-20-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.85-1 (2024-04-11) x86_64 GNU/Linux
# cat /etc/debian_version
12.5

Kubernetes Version:

# k3s --version
k3s version v1.29.3+k3s1 (8aecc26b)
go version go1.21.8

Kube-vip Version: ghcr.io/kube-vip/kube-vip:v0.8.0

Kube-vip.yaml:
# https://kube-vip.io/docs/usage/k3s/
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: kube-vip
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  annotations:
    rbac.authorization.kubernetes.io/autoupdate: "true"
  name: system:kube-vip-role
rules:
  - apiGroups: [""]
    resources: ["services/status"]
    verbs: ["update"]
  - apiGroups: [""]
    resources: ["services", "endpoints"]
    verbs: ["list","get","watch", "update"]
  - apiGroups: [""]
    resources: ["nodes"]
    verbs: ["list","get","watch", "update", "patch"]
  - apiGroups: ["coordination.k8s.io"]
    resources: ["leases"]
    verbs: ["list", "get", "watch", "update", "create"]
  - apiGroups: ["discovery.k8s.io"]
    resources: ["endpointslices"]
    verbs: ["list","get","watch", "update"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: system:kube-vip-binding
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: system:kube-vip-role
subjects:
- kind: ServiceAccount
  name: kube-vip
  namespace: kube-system
---
apiVersion: apps/v1
kind: DaemonSet
metadata: # generated here ; https://kube-vip.io/docs/installation/daemonset/#generating-a-manifest
  creationTimestamp: null
  labels:
    app.kubernetes.io/name: kube-vip-ds
    app.kubernetes.io/version: v0.8.0
  name: kube-vip-ds
  namespace: kube-system
spec:
  selector:
    matchLabels:
      app.kubernetes.io/name: kube-vip-ds
  template:
    metadata:
      creationTimestamp: null
      labels:
        app.kubernetes.io/name: kube-vip-ds
        app.kubernetes.io/version: v0.8.0
    spec:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: node-role.kubernetes.io/master
                operator: Exists
            - matchExpressions:
              - key: node-role.kubernetes.io/control-plane
                operator: Exists
      containers:
      - args:
        - manager
        env:
        - name: vip_arp
          value: "true"
        - name: port
          value: "6443"
        - name: vip_nodename
          valueFrom:
            fieldRef:
              fieldPath: spec.nodeName
        - name: vip_interface
          value: ens19
        - name: vip_cidr
          value: "32"
        - name: dns_mode
          value: first
        - name: cp_enable
          value: "true"
        - name: cp_namespace
          value: kube-system
        - name: svc_enable
          value: "true"
        - name: svc_leasename
          value: plndr-svcs-lock
        - name: vip_leaderelection
          value: "true"
        - name: vip_leasename
          value: plndr-cp-lock
        - name: vip_leaseduration
          value: "5"
        - name: vip_renewdeadline
          value: "3"
        - name: vip_retryperiod
          value: "1"
        - name: address
          value: <IP_ADDRESS>
        - name: prometheus_server
          value: :2112
        image: ghcr.io/kube-vip/kube-vip:v0.8.0
        imagePullPolicy: IfNotPresent
        name: kube-vip
        resources:
          requests:
            cpu: 100m
            memory: 128Mi
        securityContext:
          capabilities:
            add:
            - NET_ADMIN
            - NET_RAW
      hostNetwork: true
      serviceAccountName: kube-vip
      tolerations:
      - effect: NoSchedule
        operator: Exists
      - effect: NoExecute
        operator: Exists
  updateStrategy: {}
status:
  currentNumberScheduled: 0
  desiredNumberScheduled: 0
  numberMisscheduled: 0
  numberReady: 0

Additional context
There seems to be no mention on how ports are handled at all, what happens if you ahve two loadbalancer services that want the same port?

This has nothing to do with kube-vip.
https://kubernetes.io/docs/concepts/services-networking/service/#load-balancers-with-mixed-protocol-types
Maybe it is a kube-proxy bug.

It worked on servicelb no problems, after the switch to kube-vip I have this problem. With or without mixed protocols. The mixed protocol's works when the ports are different... This is mixed protocols same port.

@jurgenweber could you give me a favor and provide the full yaml of your service.

Ya, sure. THanks for checking it out.
apiVersion: v1
kind: Service
metadata:
  annotations:
    argocd.argoproj.io/tracking-id: pihole:/Service:pihole/pihole-dns
    kube-vip.io/loadbalancerIPs: <IP_ADDRESS>
    kube-vip.io/vipHost: warvm-master01
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"v1","kind":"Service","metadata":{"annotations":{"argocd.argoproj.io/tracking-id":"pihole:/Service:pihole/pihole-dns","kube-vip.io/loadbalancerIPs":"<IP_ADDRESS>"},"labels":{"app":"pihole","chart":"pihole-2.24.0","heritage":"Helm","release":"pihole"},"name":"pihole-dns","namespace":"pihole"},"spec":{"externalTrafficPolicy":"Local","loadBalancerIP":"<IP_ADDRESS>","ports":[{"name":"dns","port":53,"protocol":"TCP","targetPort":"dns"},{"name":"dns-udp","port":53,"protocol":"UDP","targetPort":"dns-udp"}],"selector":{"app":"pihole","release":"pihole"},"type":"LoadBalancer"}}
  creationTimestamp: "2024-05-23T11:50:53Z"
  finalizers:
  - service.kubernetes.io/load-balancer-cleanup
  labels:
    app: pihole
    chart: pihole-2.24.0
    heritage: Helm
    release: pihole
  name: pihole-dns
  namespace: pihole
  resourceVersion: "16528804"
  uid: 79433e21-295f-4b7e-a62d-b087b405074e
spec:
  allocateLoadBalancerNodePorts: true
  clusterIP: <IP_ADDRESS>
  clusterIPs:
  - <IP_ADDRESS>
  externalTrafficPolicy: Local
  healthCheckNodePort: 32561
  internalTrafficPolicy: Cluster
  ipFamilies:
  - IPv4
  ipFamilyPolicy: SingleStack
  loadBalancerIP: <IP_ADDRESS>
  ports:
  - name: dns
    nodePort: 32238
    port: 53
    protocol: TCP
    targetPort: dns
  - name: dns-udp
    nodePort: 32238
    port: 53
    protocol: UDP
    targetPort: dns-udp
  selector:
    app: pihole
    release: pihole
  sessionAffinity: None
  type: LoadBalancer
status:
  loadBalancer:
    ingress:
    - ip: <IP_ADDRESS>
      ports:
      - port: 53
        protocol: TCP
      - port: 53
        protocol: UDP

Ok so the service status looks as expected by kube-proxy or to be more precise as the kep defines it.
Now the question why the iptables is not correctly implemented on the node attracting your traffic. Can you seek in your iptables for the rule which should allow the traffic for the LoadBalancer.

right, what is going on here:
DROP       tcp  --  anywhere             <IP_ADDRESS>          /* pihole/pihole-dns:dns has no local endpoints */ tcp dpt:domain
DROP       tcp  --  anywhere             anywhere             /* pihole/pihole-dns:dns has no local endpoints */ ADDRTYPE match dst-type LOCAL tcp dpt:32238
DROP       udp  --  anywhere             <IP_ADDRESS>          /* pihole/pihole-dns:dns-udp has no local endpoints */ udp dpt:domain
DROP       udp  --  anywhere             anywhere             /* pihole/pihole-dns:dns-udp has no local endpoints */ ADDRTYPE match dst-type LOCAL udp dpt:32238
ACCEPT     tcp  --  anywhere             anywhere             /* pihole/pihole-dns:dns health check node port */ tcp dpt:32561
ACCEPT     tcp  --  anywhere             anywhere             /* pihole/pihole-dns:dns-udp health check node port */ tcp dpt:32561

is that saying the service is pointing to nothing?

You could have a look at kubectl get endpoints in the namespace of your service.
I just don‘t know why you split services. I thought you wanted to check the topic of this issue. So you should not change the environment.

I was fault finding, because the joined service did not work. So I was wondering if it would work without the two UDP/TCP 53 port.
That said, I have worked it out. Changing:

externalTrafficPolicy: Local

to

externalTrafficPolicy: Cluster

Has fixed the issue.
$ dig @<IP_ADDRESS> +short google.com
<IP_ADDRESS>
$ telnet <IP_ADDRESS> 53
Trying <IP_ADDRESS>...
Connected to <IP_ADDRESS>.
Escape character is '^]'.

had the same Problem but wanted to use the externalTrafficPolicy: Local for the pihole
it is written in the documentation:
if you want to use that you have to enable enableServicesElection documented her --servicesElection
With this flag its working as intended.
maybe this helps someone


Roadmap to 1.0

Had this at the back of my mind for quite a while. We should discuss the roadmap for getting ReSwift to 1.0, since we've been really close for a while.
On my list I have:

Solid Example App (working on one right now; the more the merrier)
Updated Docs (a good portion of documentation is slightly out of date with recent API changes)
Nice to have: best practice / new API for async operations (can be post 1.0 as well)

I'll be traveling a fair bit in March, so my goal is to ship 1.0 in April.
My plan was to push ReSwift (core) to 1.0 and potentially the router as well and keep ReSwift-Recorder in an experimental state for now.
Thoughts, ideas, concerns?
Let's use this thread to discuss other things that might be important.

I think for version 1.0 documentation is hugely important. Especially because many iOS developers have not used Redux before. I plan on using this library for a few internal projects pretty soon so I'll see if I can swing some time to help with the documentation.

Agree! I'm starting some restructuring of the docs on a separate branch: https://github.com/ReSwift/ReSwift/tree/benji/1.0-docs
Along with the recording of the talk and the example app we're building, this should be a good starting point.
@RubenSandwich if you identify areas that are especially unclear it would be awesome if you could share them. Any form of contribution to the docs is also very welcome. I would imagine that something like a small step-by-step tutorial could be very useful, too!

I'll also arise from the dead and contribute to the docs. April is clearing up on my end and I would love to get back into this.
Great work Ben!

Most work is currently done on the Getting Started Guide. You can follow along here: https://github.com/ReSwift/ReSwift/blob/benji/1.0-docs/Docs/Getting Started Guide.md
Any thoughts so far?

It's looking good. A lot easier to follow with it all in the one guide.

Couple of notes that should probably be included. Mainly for newcomers to highlight gotchas that they may not be obvious at first sight.
State: it's normally good practice to denormalize state objects.
Reducers: need to be fast, avoid making any changes unless a matching action is passed in. E.g. Don't sort and return an array inside a reducer on every invocation. Ideally something like array sorting would be pushed to the Subscribers / ViewModels.

@Ben-G Hi, if u need help with example app, I can help :smile:

@TheSooth help would definitely be appreciated! Have you already started working on a project?

@Ben-G nope, before starting I would to discuss with u, what exactly we want to show in example app :)

How about implementing an authentication process? Every app needs it, so it
would be a natural first step to get to know the framework starting with
the example instead of from scratch.
--
Pozdrawiam,
JL

Might I suggest two different example projects, one more of a tutorial example and one more of an actual real world app example. This way someone with no familiarity with with a redux like architecture can look at the tutorial example and then have the foundation to understand the non-trivial example. For the tutorial example I was thinking something in the vein of the Elm Architecture Tutorial; a counter, a list of counters, then a dynamic list of counters and finishing on a network image loader.

I have an example app that you might be able to use: Weight. It's a weight tracker I made to teach myself the framework. I'm not sure if it follows best practices and so on but I would be willing to clean up/change it however necessary.

Docs is definitely a prio, but hammering home the need for immutability in the Store/Reducers and fleshing out the best practices for async actions (which is really the only tricky part imho) is important as well. I'll see what I can contribute once I start using it a bit more heavily in the next weeks.

I have a quick example of facebook login using reSwift:
https://github.com/vitkon/redux-swift-example

Thanks a lot for sharing your example projects! I was traveling for the last 2 weeks but hopefully this weekend I should find some time to take a look at them and provide feedback.
Really appreciate your participation!

Getting started part needs to be in more detail. It took me some time to figure out how to wire it up.


Updating CQs

FYI here's the CQs as a calculated it.

looks like we might need to do some cleanup for m2 :fearful:

closing since we made these profiles in #1095


Update Api.php

Added a new Header to the Guzzle Client, so that the API requests properly access the latest version of the Twitch API (v.5).

Re-opening this issue because I just wanted a clarification on it. @GioHunt 's change does the following in the Api class c'tor:
$this->client = new Client([
         'base_uri' => 'https://api.twitch.tv/kraken/',
        'headers'  => array('Accept' => 'application/vnd.twitchtv.v5+json')
      ]);

but later in sendRequest it looks like maybe these headers are overridden? see:
        // Headers
    $data = [
      'headers' => [
        'Client-ID' => $this->getClientId(),
        'Accept' => 'application/vnd.twitchtv.v3+json', // <-- v3 header
      ],
    ];
    // Twitch token
    if ($token) {
        $data['headers']['Authorization'] = 'OAuth '.$this->getToken($token);
    }
    // Request object
    $request = new Request($type, $path, $data);
    // Send request
    $response = $this->client->send($request);

So by the time the request is actually sent to the Twitch servers, which Accept header is being used?


Fix block and staking ledger ingestion

Fixes: https://github.com/Granola-Team/mina-indexer/issues/548 https://github.com/Granola-Team/mina-indexer/issues/610

https://github.com/Granola-Team/mina-indexer/issues/548
https://github.com/Granola-Team/mina-indexer/issues/610

LGTM. Huge props to @trevorbernard and @Isaac-DeFrain for their work on this.


Add new .gitignore created with gitignore.io to support more editors etc.

Add new .gitignore created with gitignore.io (arguments: Vim, Linux, Emacs, macOS, Windows, GitBook, SublimeText, VisualStudio, VisualStudioCode).
If anyone has suggestions for other editors etc. to get included, feel free to write them down here.

I think this PR should be merged ASAP!!!

Alright, merged!