text:
Conform fails to parse schema for umbrella app during release generation

Hi
I've been migrating my umbrella project to Erlang 20 and Elixir 1.5.0. I upgraded confrom from 2.1.2 to 2.5.0 to get latest fixes for Elixir 1.5.0 but now I have an error from conform plugin during release generation with distillery.
==> Assembling release..
==> Building release conform_umbrella_test:0.1.0 using environment dev
==> Plugin failed: Invalid schema at line 74: syntax error before: [<<"second_app.another_var">>].

I looked at the schema by dumping input argument for Conform.Schema.parse!/1 and got this in transform section:
  transforms: [
    "first_app.my_var": #Function<6.99386804/1 in :erl_eval.expr/5>,
    "second_app.another_var": #Function<6.99386804/1 in :erl_eval.expr/5> # <-- line 74
  ],

Full schema from this step can be seen here.
I also checked non-umbrella app release generation and it works fine with similar case (using transforms). Instead of inspected anonymous functions in transform section (like in example above), there were actual functions text, which I assume is how it should be.
I've made a demo app which reproduces umbrella case https://github.com/tenkai9/conform_umbrella_test

@bitwalker do you have any ideas what may be going on here? Anonymous functions do not appear to work for transforms (at least in umbrella projects). I've been a ways down the rabbit hole and can't figure out what's going on. When I start a shell and read the file, then call Code.string_to_quoted, and Code.eval_quoted it evals fine but when building a release it thinks there's a syntax error.

Hi, I'm experiencing the same issue and trying to understand what the problem is.
For me it looks that Conform.ReleasePlugin does Conform.Schema.load and then writes result to a temporary file. The problem is that Conform.Schema.load is not made that way to use it to writing a file. The load function basically does the following:
iex(8)> Code.string_to_quoted!("fn -> :ok end") |> Code.eval_quoted
{#Function<20.99386804/0 in :erl_eval.expr/5>, []}

See https://github.com/bitwalker/conform/blob/master/lib/conform/schema.ex#L87
I think to solve this issue we need to use another version of load function in Conform.ReleasePlugin which does roughly the same:
iex(10)> Code.string_to_quoted!("fn -> :ok end") |> Macro.to_string
"fn -> :ok end"

I also experienced this same issue on version 2.5.2. Downgrading to 2.1.2 fixed the issue. I also tried version 2.3.9 and it did not work either.

repo: bitwalker/conform


text:
conform: Add support for ':to' attribute in the mappings with complex…

… types
Previously, a mapping with a complex data type can't have ':to' attribute that
name differs from the mapping name. For example:
"my_app.complex_list.*": [
...
...
...
datatype: [:complex],
to: "my_app.Elixir.Data.lists",
...
],
This patch provides support for this case.

@0xAX I've already implemented this in the changes I'm working on, so I won't be able to merge this :(. In the future please open an issue on the tracker first, that way I can prevent duplicate work being done. Sorry about that :(

@bitwalker Hello, where does it implemented, in nested_complex branch? or somewhere else?

source: gharchive/pull-request

license: mit

license_type: permissive

license_source: bigquery


text:
Some Date.* functions require updating after recent fixes

Date.shift, Date.compare, and Date.diff all require review/rework after #32 was merged. Review the PR and #24 for details.
/cc @bbense

Actually, the PR for #24 include changes to Date.compare and Date.shift,
based on the fixing the bug in Date.to_secs.
These changes pass all the current tests.
On Fri, Jan 9, 2015 at 4:59 PM, Paul Schoenfelder notifications@github.com
wrote:

Date.shift, Date.compare, and Date.diff all require review/rework after
#32 https://github.com/bitwalker/timex/pull/32 was merged. Review the
PR and #24 https://github.com/bitwalker/timex/issues/24 for details.
/cc @bbense https://github.com/bbense
—
Reply to this email directly or view it on GitHub
https://github.com/bitwalker/timex/issues/33.

So just Date.diff requires review?

Sorry, I'm being a bit sloppy with my language and it's causing confusion.
As far as I know, there are no functions that need reworking currently.
Changing Date.to_secs to correctly
account for timezone caused both Date.compare and Date.shift to need
reworking since they "relied"
on the incorrect behavoir of Date.to_secs. These functions now pass all
current tests.
I misread my patch, I did not require any changes to Date.diff.
I did a quick overview of all other uses of Date.to_secs in the library and
did not find any issues. The code currently
passes all the tests.
However, it would probably be a good idea for someone to double check the
other uses of Date.to_secs
in the code to make sure there are no issues that aren't covered by the
current test suite.

Booker C. Bense

On thing I noticed is that many of the tests do not have versions with timezones other than utc. I think the best way forward would be to add timezone version tests of all the Date functions.

Excellent point. So to amend the TODO for this, we probably just need to review usages to ensure it's being used properly. I would guess it's entirely possible the test coverage misses some gaps, but we'll have to probably wait for bug reports before we know what those are (if they are present).

source: gharchive/issue

authors: bbense bitwalker

repo: bitwalker/timex


text:
Bunch of changes with the form

@RuslanHamidullin please review carefully, it's my first commits around that.
Moreover:
I've changed the Country field to be County in one of the questions for Trade. If I understand the problem correctly now all forms on servers which has the principal_address_country instead of county would be invalid ?
so I need to update them all after that

@jaleszek looks good, but some notes:

You need to setup principal_address sub_fields here (as default):
https://github.com/bitzesty/qae/blob/master/lib/qae_form_builder/address_question.rb#L46
instead of in app/forms
As you changed name of data field, so need to add simple rake task in order to make existing forms valid again on 4 servers after deploying this progress

@RuslanHamidullin
1) You need to setup principal_address sub_fields here (as default):
https://github.com/bitzesty/qae/blob/master/lib/qae_form_builder/address_question.rb#L46
instead of in app/forms

Are you sure ?
      if sub_fields.present?
        sub_fields

I assume it gets the subfields from the question ?

@jaleszek it's default
https://github.com/bitzesty/qae/blob/master/lib/qae_form_builder/address_question.rb#L41

I do not need to specify it in 3 places as  they same

Story doesn't cover changing it everywhere.

authors: RuslanHamidullin jaleszek

repo: bitzesty/qae


text:
fix constant namespace

https://github.com/bitzesty/qae/issues/552
it was already fixed on line 42, but found another constant usage on line 47

Good :+1:

authors: RuslanHamidullin dreamfall


text:
数据存储位置

gwe的数据存储实在应用目录下的userData文件夹，但是这个星铁的程序在获取了记录后并没有在应用目录下找到userData，请问数据是存在哪里呢

config.json也没有

全都存到AppData下去了，请问是bug还是以后都没有portable的特性了呢

C:\Users\用户名\AppData\Roaming\star-rail-warp-export\userData
特地改成这样了，你是要用U盘啥的方便带着走吗

是啊，有个小小的提议，像一些别的应用是检测在应用目录下有没有一个叫做userData的文件夹，如果有就存那里，没有就存appdata

对，随程序本地目录的话比较方便迁移，希望作者能加回这个功能

authors: Rimliya biuuu earthjasonlin

repo: biuuu/star-rail-warp-export

license: MIT

license_source: github-api


text:
Publish to maven

Start publishing the project to maven central repo.

@bivas - Any chance there can be a push to maven any time soon?  I'd like to use the latest JsonJackonFormatter and it's not available on the latest 1.2 version
http://search.maven.org/#artifactdetails|com.googlecode.protobuf-java-format|protobuf-java-format|1.2|jar

I guess, I'd like to see 1.3 released, most importantly, but, short of that, is the 1.3-SNAPSHOT available from any repo?

I haven't released anything for real long time. If you like, you're welcome
to add yourself to the commiters sections and release a new version.
Eliran Bivas
On Oct 14, 2015 9:14 PM, "Sheridan C Rawlins" notifications@github.com
wrote:

I guess, I'd like to see 1.3 released, most importantly, but, short of
that, is the 1.3-SNAPSHOT available from any repo?
—
Reply to this email directly or view it on GitHub
https://github.com/bivas/protobuf-java-format/issues/1#issuecomment-148142157
.

Thanks - is there a write up of your deployment mechanism?  I personally deploy to sonatype using their plugin for https://github.com/scr/j8iterables - I'll try the usual directives and see where I get stuck.

I'm not sure I understand what you meant when you said "add yourself to the commiters sections" - Does https://github.com/bivas/protobuf-java-format/pull/8 solve it (By adding to the developers in the pom.xml?).
Here's what I see when I run
mvn clean deploy -DsignArtifacts=true:

With nexus-staging-maven-plugin for deployment: https://gist.github.com/scr/a0a73013759bc38808d8
With maven-deploy-plugin for deployment: https://gist.github.com/scr/fbb2b23a1d74be4447e9

@scr yes, issue #8 solve it

Hmm… @bivas - I'm wondering - did the <id>...</id> need to be my sonatype id? I just followed the convention you had of firstname.lastname, thinking it was just a maven-specific ID of sorts.
Please merge PR #9 to see if that helps.

@scr I've merged it. Do you need my access token for Sonatype release?
Can you post here the errors you're getting when you attempt a release?

[INFO] Deploying remotely...
[INFO] Bulk deploying locally gathered artifacts from directory:
[INFO]  * Bulk deploying locally gathered snapshot artifacts to URL https://oss.sonatype.org/content/repositories/snapshots
Downloading: https://oss.sonatype.org/content/repositories/snapshots/com/googlecode/protobuf-java-format/protobuf-java-format/1.4-SNAPSHOT/maven-metadata.xml
Uploading: https://oss.sonatype.org/content/repositories/snapshots/com/googlecode/protobuf-java-format/protobuf-java-format/1.4-SNAPSHOT/protobuf-java-format-1.4-20151018.185229-1.jar
Uploading: https://oss.sonatype.org/content/repositories/snapshots/com/googlecode/protobuf-java-format/protobuf-java-format/1.4-SNAPSHOT/protobuf-java-format-1.4-20151018.185229-1.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 14.673 s
[INFO] Finished at: 2015-10-18T11:52:31-07:00
[INFO] Final Memory: 35M/145M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.sonatype.plugins:nexus-staging-maven-plugin:1.6.5:deploy (injected-nexus-deploy) on project protobuf-java-format: Failed to deploy artifacts: Could not transfer artifact com.googlecode.protobuf-java-format:protobuf-java-format:jar:1.4-20151018.185229-1 from/to ossrh (https://oss.sonatype.org/content/repositories/snapshots): Access denied to: https://oss.sonatype.org/content/repositories/snapshots/com/googlecode/protobuf-java-format/protobuf-java-format/1.4-SNAPSHOT/protobuf-java-format-1.4-20151018.185229-1.jar, ReasonPhrase: Forbidden. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

FYI, I tried with -DsignArtifacts but the results didn't change.

You don't have access to that repo as I'm the owner. Have you set anything
in settings.xml?
Eliran Bivas
--
On Sun, Oct 18, 2015 at 10:00 PM, Sheridan C Rawlins <
notifications@github.com> wrote:

FYI, I tried with -DsignArtifacts but the results didn't change.
—
Reply to this email directly or view it on GitHub
https://github.com/bivas/protobuf-java-format/issues/1#issuecomment-149039140
.

@bivas - I filed https://issues.sonatype.org/browse/OSSRH-18347 to ask Sonatype to help us with extending permissions to deploy.

@scr Got my approval (and blessing).

@scr SonaType added your id to publishers. Lets give it another run.

It looks like 1.3 went through!!!  Please pull #10 and do:
git tag 1.3 23b27d51be2564b517a311fa5fe4a6652497cb7e

Done

authors: a86c6f7964 bivas scr

repo: bivas/protobuf-java-format


text:
Failing Integration tests - PyVista

Giving you a heads up that we're seeing failing integration tests in PyVista at:
https://github.com/pyvista/pyvista/actions/runs/11340590481/job/31585628612?pr=6704
Specifically:
=================================== FAILURES ===================================
_________________________ test[spatial_index.uber_h3] __________________________

plot_nodeid = 'test_examples.test__spatial_index.uber_h3'
example = 'spatial_index.uber_h3'
verify_image_cache = <pytest_pyvista.pytest_pyvista.VerifyImageCache object at 0x7f80aba73bf0>

    @pytest.mark.example
    @pytest.mark.image
    @pytest.mark.parametrize("example", EXAMPLES)
    def test(plot_nodeid, example, verify_image_cache):
        """Image test the example scripts."""
        verify_image_cache.test_name = plot_nodeid

        # apply individual test case image tolerance exceptions only when
        # executing within a remote GHA runner environment
        if CI and example in thresholds:
            for attr, value in thresholds[example].items():
                setattr(verify_image_cache, attr, value)

        try:
            # import the example module
            module = importlib.import_module(f"geovista.examples.{example}")
            # execute the example module for image testing
>           module.main()

tests/plotting/test_examples.py:46:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

    def main() -> None:
        """Plot the Uber H3 spatial index.

        Notes
        -----
        .. versionadded:: 0.5.0

        """
        color = H3Asset(
            icosahedron="grey",
            icosahedron_edges="darkgrey",
            resolution_0="black",
            resolution_1="orange",
            resolution_2="lightblue",
            resolution_3="lightgrey",
            base_layer="blue",
        )

>       indexes_resolution_0 = h3.get_res0_indexes()
E       AttributeError: module 'h3' has no attribute 'get_res0_indexes'. Did you mean: 'get_res0_cells'?

src/geovista/examples/spatial_index/uber_h3.py:442: AttributeError
=========================== short test summary info ============================
XFAIL tests/search/test_find_nearest_cell.py::test_cell_centers__lam_rotated_pole - requires projection support
FAILED tests/plotting/test_examples.py::test[spatial_index.uber_h3] - AttributeError: module 'h3' has no attribute 'get_res0_indexes'. Did you mean: 'get_res0_cells'?

@akaszynski Thanks 👍
Already fixed. The issue was a major release of uber/h3-py 4.x, which had breaking API changes.
I have a daily cron job that specifically runs all the geovista tests for the latest resolved conda dependencies.
Interestingly this wasn't failing as it didn't pull the latest 4.x version into the environment, probably due to a dependency incompatibility from another package.
However, this only fails when building an environment from PyPI. Hence why the geovista integration test was failing on pyvista as you guys use pip to create your environments.
I've fixed the main branch of geovista and reran all the broken GHAs on pyvista, which are now all passing.
Subsequently I'm going to add a new GHA to test geovista against it's PyPI dependencies and also look to adopt dependabot to provide notification of package updates. That should be sufficient to plug this gap.
If you're satisfied that all is well again on pyvista then feel free to close this issue 👍

Reference https://h3geo.org/docs/library/migration-3.x/functions/#general-function-names

authors: akaszynski bjlittle

repo: bjlittle/geovista


text:
Trying to implement an A-Buffer (Metal)

Hi,
currently I am trying to port my GLSL version of an A-Buffer for Per-Pixel-Linked-List Order Independent Transparency to bgfx.
Is there any way to do imageStore or imageLoad in a fragment shader compiled for Metal using the new version of shaderc (spirv)? My shader compiles fine using an IMAGE2D, but it seems like binding images is not supported in the bgfx Metal backend.
After realizing this, I tried to use DynamicBuffers (Index and Vertex) to achieve my goals. Like before: My shader compiles fine using a BUFFER_RW, but again, it seems like binding dynamic buffers is not supported in the bgfx Metal backend.
Generally writing to and reading from buffers is now supported in Metal's fragment shaders. See: What’s New in iOS 10, tvOS 10, and macOS 10.12
Function Buffer Read-Writes Available in: iOS_GPUFamily3_v2, OSX_GPUFamily1_v2 Fragment functions can now write to buffers. Writable buffers must be declared in the device address space and must not be const. Use dynamic indexing to write to a buffer.
Or is there someone who already did an A-Buffer implementation in bgfx who could help me or give me some hints?
I would use compute shaders to do that, but I don't see how an A-Buffer could be achieved without rasterization?!
Thanks you and best regards!
Gabriel

Metal doesn't support atomic RW for texture, only for buffers. See changes @attilaz made for 39-assao to make it work around this Metal limitation.

Yeah, I have already seen that. But doesn‘t this example use compute shader? I would need a buffer in a fragment shader.
Sent with GitHawk

authors: bkaradzic thegabman

repo: bkaradzic/bgfx


text:
Undefined symbols when build "Hello World" project on Emscripten

Let's say, I have 6 projects. They are bx, bimg, bimg_decode, bgfx, MyEngine, and Example-00-HelloWorld.
MyEngine depends on bx, bimg, bimg_decode, and bgfx.
Example-00-HelloWorld depends on MyEngine.
But I have no luck with errors
$ cd ../gmake-asmjs && source /Users/Nobley/emsdk/emsdk_env.sh && make config=debug Example-00-HelloWorld

Adding directories to PATH:
PATH += /Users/Nobley/emsdk
PATH += /Users/Nobley/emsdk/clang/e1.38.29_64bit
PATH += /Users/Nobley/emsdk/node/8.9.1_64bit/bin
PATH += /Users/Nobley/emsdk/emscripten/1.38.29

Setting environment variables:
EMSDK = /Users/Nobley/emsdk
EM_CONFIG = /Users/Nobley/.emscripten
LLVM_ROOT = /Users/Nobley/emsdk/clang/e1.38.29_64bit
EMSCRIPTEN_NATIVE_OPTIMIZER = /Users/Nobley/emsdk/clang/e1.38.29_64bit/optimizer
BINARYEN_ROOT = /Users/Nobley/emsdk/clang/e1.38.29_64bit/binaryen
EMSDK_NODE = /Users/Nobley/emsdk/node/8.9.1_64bit/bin/node
EMSCRIPTEN = /Users/Nobley/emsdk/emscripten/1.38.29

==== Building bx (debug) ====
==== Building bimg (debug) ====
==== Building bimg_decode (debug) ====
==== Building bgfx (debug) ====
==== Building MyEngine (debug) ====
==== Building Example-00-HelloWorld (debug) ====
Linking Example-00-HelloWorld
Running post-build commands
Running asmjs finalize.
error: undefined symbol: _ZN4bgfx11setViewRectEttttt
warning: To disable errors for undefined symbols use `-s ERROR_ON_UNDEFINED_SYMBOLS=0`
error: undefined symbol: _ZN4bgfx12dbgTextClearEhb
error: undefined symbol: _ZN4bgfx12setViewClearEttjfh
error: undefined symbol: _ZN4bgfx13dbgTextPrintfEtthPKcz
error: undefined symbol: _ZN4bgfx15getRendererTypeEv
error: undefined symbol: _ZN4bgfx16setViewTransformEtPKvS1_
error: undefined symbol: _ZN4bgfx4InitC1Ev
error: undefined symbol: _ZN4bgfx4initERKNS_4InitE
error: undefined symbol: _ZN4bgfx5frameEb
error: undefined symbol: _ZN4bgfx5resetEjjjNS_13TextureFormat4EnumE
error: undefined symbol: _ZN4bgfx5touchEt
error: undefined symbol: _ZN4bgfx8setDebugEj
error: undefined symbol: _ZN4bgfx8shutdownEv
Error: Aborting compilation due to previous errors
shared:ERROR: '/Users/Nobley/emsdk/node/8.9.1_64bit/bin/node /Users/Nobley/emsdk/emscripten/1.38.29/src/compiler.js /tmp/tmpdayj9llx.txt /Users/Nobley/emsdk/emscripten/1.38.29/src/library_pthread_stub.js' failed (1)
make[1]: *** [../../asmjs/bin/Example-00-HelloWorldDebug.bc] Error 1
make: *** [Example-00-HelloWorld] Error 2
The terminal process terminated with exit code: 2

Please note that everything works well on OSX and iOS platforms, but not for Emscripten.
Do you have a solution @hugoam ? Correct me if I wrong.

Try simply reversing the order of dependencies (high level to low level). As a general rule of thumb, start by copy pasting from bgfx examples. See here the order in which those are linked (bgfx, bimg, bx): https://github.com/bkaradzic/bgfx/blob/master/scripts/genie.lua

Try simply reversing the order of dependencies (high level to low level)

Yes it works after ordering MyEngine, bgfx, bimg_decode, bimg, and bx instead of MyEngine only.
But I don't know why it doesn't work if it only depends on MyEngine, even though it works for OSX and iOS platforms?

One possibility is that you made MyEngine a SharedLib ?
SharedLib don't exist in emscripten, so when building to emscripten you got to consider all libraries as StaticLib, which means you got to link everything into the final project.

One possibility is that you made MyEngine a SharedLib ?

No, MyEngine, bgfx, bimg_decode, bimg, and bx are StaticLib.

@hugoam You can fix GENie scripts for Emscripten and send PR.

authors: bkaradzic hugoam pratamabayu


text:
Bump version

as titile

sorry to PR wrong repo

repo: blackbeam/rust-mysql-simple


text:
script to install bcr robot

https://github.com/ncnynl/commands/blob/master/commands_extra/ros2_gazebo/shell/install_bcr_bot.sh
add a rapid script to install bcr bot for ros2
curl -k https://www.ncnynl.com/rcm.sh | bash -
rcm -s install_bcr_bot

run:

ros2 launch bcr_bot ign.launch.py
ros2 launch bcr_bot rviz.launch.py

@ncnynl Thank you for the installation script for bcr_bot. We now have binaries available for easier installation. Could you try using them and let us know your feedback?
sudo apt-get install ros-humble-bcr-bot

We may include your script in a future release.
Best regards,
Devanshu Sharma
Black Coffee Robotics

@D-1shu
Yes, I understand your apt installation method and tested your code. Thank you for providing such a good program.
By learning your URDF, I fixed the point cloud problem of my rtabmap mapping. Based on learning needs, we still need to install the source code version, especially if we want to do secondary development.
So I wrote a script and also wrote a concise tutorial on how to quickly install and use bcr bot,
https://www.ncnynl.com/archives/202407/6453.html

Thank you for the feedback! Great to hear you fixed the issue and wrote a helpful script and tutorial!


text:
[Gally]: master <- dev

Automatically created by Git-Ally

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

repo: blackflux/lambda-example


text:
Pony Clicker Analysis

I have developed a very primitive analysis of Pony Clicker's gameplay using an automated buying mechanism which is now available in the master development branch under utilities/analysis.html. I re-organized ponyclicker.js so that all code with DOM side-effects is now at the bottom of the page, under a if(disable_ponyclicker) statement. I also had the ponyclicker JS file return a few basic public objects. This allows the analysis page to load up the game logic without loading the game itself.
The game simulator works by selecting an optimal building purchase, then fast-forwarding time to the exact moment at which it can buy it, then selecting another building purchase, and repeating. The optimal playing algorithm should be:

Find building with lowest per +1 SPS cost. This is the target building.
Look for other buildings that can be bought before the target building, and whose SPS bonus result in a reduced time-to-buy for the target building that exceeds the amount of time lost by purchasing that building instead.
If such buildings exist, set the target building to the one that results in the greatest time reduction.
Buy the building when it becomes available, go back to step 1.

I attempted to implement steps 2 and 3, but it didn't seem to work and it doesn't make enough of a difference to bother with right now.  Simply following step 1 repeatedly seems to produce a reasonable playthrough all by itself. The algorithm skips the very start of the game by starting at 100 smiles and going from there. It also has special handling for when it wants to buy a friendship, but can't - it will attempt to buy a pony instead.
Currently, at precisely 101 steps, this happens:

It seems abundantly obvious that the moment a grand galloping gala becomes available, the entire game begins to fall apart. The SPS curve completely explodes once anything with a 2^P is purchased, to an almost hilarious degree:

Currently, this page uses Google Charts, because I needed to get this up and running as soon as possible. Even with this comparatively primitive analysis of pony clicker, it has already demonstrated precisely where the game unravels, which will be instrumental in rebalancing it to something more sane. A properly balanced game will have a smooth SPS curve and a time-to-buy delta average that increases very slowly over the course of the game.
In the future, I'd like this page to incorporate buying upgrades and highlighting where upgrades get bought, as well as showing where certain store-based or smile-based achievements would be earned in a master timeline. Ideally, it should display the SPS generation algorithms and cost curves of each store item, as well as the governing SPS ratio curve in editable text fields that dynamically update the graphs when they are changed to facilitate analyzing new formulas. In a perfect world, I would build a customized master timeline graph using D3.js, but this is nontrivial and very time consuming, so for right now, Google charts will do.
I will be actively updating this analysis page as I add more graphs in an effort to settle on a gameplay experience that isn't completely broken. I do not expect this to be finished in time for v1.0. The v1.0 release only needs to un-break the late game and make it at least not completely stupid. Given how utterly broken the game is right now, simply selecting subexponential functions will likely suffice. I want to continue developing this analysis page well past v1.0 so the game curve can be carefully tweaked as time goes on. It will also allow us to test new features and ensure they don't make something violently blow up.

I'd be curious to see where your analysis page goes if you let it run further.
I'm sitting at 26 Ponies, 307 Friendships, 310 Recitals, 276 Parties, 240 Parades, 214 Concerts, 200 Festivals, 181 Raves, 161 GGGs, 125 Coronations, 105 National Holidays, and 93 Elements. On top of that, I have 21/21 upgrades and 209 muffins. This is sitting me at +36.24 octillion SPS, which sounds like a lot, but upgrading any further seems impossible to do in any amount of time.
Every upgrade of the Elements gives me septillions of SPS for decillions of smiles, and the Holidays and Friendships give me quadrillions of SPS for tens of nonillions. Everything else is labeled under the ambiguous but very clear label of "almost nothing". The only thing I can upgrade that will give me significant gains are Ponies, but the next one costs 10.5 decillion, which would take days to achieve at the speed I am currently stuck at. To make matters worse, when at some point I actually am able to get it, it will only increase my SPS by shy of a nonillion, which has limited usefulness when everything is costing me hundreds of nonillions or more and increases greatly on every purchase. I shudder to think how much the next pony will cost.
There is definitely a drastic pattern of diminishing returns currently in the game. The only apparent strategy has been to try and get muffins from the building mile marks, as that increases my SPS by a percentage rather than by a flat amount that ranges from laughably insignificant to utterly useless. But I have reached a point where the buildings are prohibitively expensive without increasing my SPS by any margin that is even noticeable. The next closest batch of muffins would be the 200 Raves mark, but I am still 19 Raves away from achieving it, and when the next rave costs almost 400 nonillion which will take me nearly 3 hours to get, I feel like I could easily be weeks away from seeing a single new muffin.
This happened on the v0.88 patch. Before then, I was sitting at a comfortable increase in scale. Once that patch hit, my SPS fell by several orders of magnitude, and I literally couldn't afford anything. At v0.89, the prices of buildings fell a bit so I was at least able to do something, but the overall damage is still there.

Letting the analysis run further results in a violent explosion, where almost everything stops making sense and the entire early game is blown to pieces. The graph basically turns into an L shape that you see in the second image, where the exponential growth is so ridiculously enormous you can't tell what's going on anymore.
The v0.88 patch fixed upgrades, which meant that muffin bonuses to SPS were no longer multiplicative, which drastically reduced SPS. The muffin bonuses, however, are keyed off of achievements, which meant they were simply staving off the inevitable, which was the outpacing of the cost function from the SPS function.
I am currently looking into a drastically reduced SPS generation function focused on specific building synergies instead of exponential growth functions that simply get out of hand.

I'm curious to know what that point of explosion in the data would look like on a logarithmic scale.

Estimated SPS of each individual building, by number of friendships owned, on a LOGARITHMIC SCALE

Yes, the elements of harmony are twice as many orders of magnitude more powerful than the national holidays, which in turn are twice as many orders of magnitude as grand galloping galas. It becomes obvious where everything else stops being useful, and you can see the upticks caused by each bought pony in the graph.
Needless to say, the late game buildings are utterly broken.

Yeah, that pretty much reflects exactly what I've been seeing in the game myself. Though one thing I feel like I have to add is that while there are points in every building's life where the previous ones become hopelessly obsolete (particularly in regards to the final three buildings), there also seems to be a point where the cost of a building far outweighs its benefits. To that end, other graphs I might suggest that could be helpful in terms of balance-finding would be ones illustrating SPS with respect to cost, or the ratio of SPS over cost with respect to quantity.

It seems to me like, with that graph in mind, it's basically impossible to balance exponential gains with linear gains. That makes sense, though, since there only seems to be three ways of handling the situation as is.
The first two: 1] make the linear building a cheap early building, or 2] ramp up the slope of the linear function to crazy amounts to compensate. The problem of the first is that it makes the building quickly obsolete, and the problem of the second is that at early quantities it can easily be insanely overpowered - and a problem they both share is that, no matter what, an exponential function will catch up to both of them eventually and will quickly surpass them once it does.
Then the third is to design some kind of "smart" linear function that alters its benefits to dynamically match up with the exponential function's growth... but at that point the linear function is basically acting like an exponential function anyway.
So really, there's only two solutions to this problem in regards to the late game. Either all the buildings have to have exponential benefits, or none of them can.

Progress on balancing the game:

The route i'm trying to go with this rebalance is that each building gets bonuses from certain previous buildings. Roughly speaking, this means each tier adds another multiplicative term on to the equation, which seems to do a good job of not uncontrollably blowing up. The building equations right now look something like this:

0
1
P
F
P+F
P+F+A+B+C
P*F
PFD
PF(B+C)
PFD*M
PFCEG
PFABD

Where P = ponies, F = friends, and A, B, C, etc. denote recitals, parties, etc. This is all without upgrades. At the moment there are dips in the CPS curve that are causing frequent buying sprees after a given building is purchased that I'd like to do something about. It's not clear whether the fundamental curves should be altered, or if upgrades should be introduced to slightly modify the curves at specific points to try and stave off "building buyout starvation" which can be seen in the massive spikes in the Time To Buy graph, which represent a much more powerful building becoming the ideal buyout, but without sufficient SPS allowing it to be bought for a significant period of time.
This does a nice job of stabilizing late game without allowing anything to absolutely dominate (as far as I can tell), but as expected, the cost functions eventually outrun the SPS increase and the graph starts leveling out in extreme lategame with no upgrades to push it forward:

Thus with no upgrades, you will never get more than about 20 to 21 ponies and your SPS levels out at 10 trillion per second. I suggest introducing a late-game upgrade that normalizes the SPS growth rate of all buildings to match their cost increase, which would keep the SPS steadily climbing - even then, eventually we would encourage players to do a soft reset.

After throwing around ideas and some more experimentation, I landed on this formulation:

This transforms the Elements of Harmony into a superpolynomial function based on both buildings and friendships, which in turn forces [i]everything[/i] to remain relevant through the late game, because buying anything will fuel the superpolynomial expression. However, the time-to-buy still increases steadily, so by the time you get to late game everything starts taking forever. Fundamentally, however, we do not get a tapering off - the SMS can theoretically increase at a linear rate, just very slowly.

It turns out that upgrades were completely broken. How broken? This broken:

After incorporating upgrades into the optimal play algorithm, it became immediately obvious that they were insanely overpowered. To preserve the curve, I have drastically increased the prices of both friendship and muffin upgrades. Additional upgrades will be utilized later on to boost the curve to allow for higher SPS ratios.

Just a humble suggestion, when you do implement a soft reset feature, I recommend simply calling it "September"

"September"

You sly pony, you.

Ha ha, I was actually referencing the LTS/Mic song, ie. the soft reset being when every pony died, but that works well too; either way, the name fits!

I think i'm going to call it "New Season" but I can make one of the achievements "September"

If you soft reset after the Pinkiepocalypse starts but before it ends? Or if you sell all your ponies after getting a certain number of them (say, 20)?

You can't sell ponies, and the pinkiepocalypse is a perpetual endgame state that is triggered. It doesn't end, so it's expected that you will soft reset in the middle of it.


text:
Dataview breaks subsequent codeblocks inside blockquotes

What happened?
(This is not a feature request... the following general setup was operating fine in my vault just a few weeks ago)
When trying to render an inline button (using the Buttons plugin) within a bockquote (or callout) after a Dataview querry the button is not rendered. From a quick test, it seems any codeblock is problematic in this scenario, including subsequent dataview queries. Inline JS queries, along with buttons and other code blocks inside the blockquote seem not to fix themselves after refreshing, unlike in the mentioned issued.
Edit: removed two mentions to issues which are not relevant.
DQL
'''button
name ExampleButton
'''
^button-examplebutton
button-examplebutton

'''dataview
TASK FROM #example
'''
This is text
As a buffer in-between
The query and the button
button-examplebutton

button-examplebutton

[ ] This is the result from a dataview query #example

The preview:

JS
No response
Dataview Version
0.5.34
Obsidian Version
0.14.15
OS
Linux

I'm not able to reproduce this on Obsidian v0.15.1 / Dataview 0.5.34 - at least, when I try to put multiple buttons + dataviews inside of a blockquote it appears to work without any issue.
Do you have any plugins that affect blockquote rendering?

Ok, so the problematic plugin was Embedded Code Title, an update to that plugin, v1.2.8 was enough to fix the issue with using Buttons. However, the issue where the entire page was sometimes not rendered required that I remove it entirely. I may get around to opening an issue over on that project's GitHub page.

No problem, thanks for the update.

authors: blacksmithgu tristonlees

repo: blacksmithgu/obsidian-dataview


text:
Update Xiaomi_QBKG23LM.md

it works with deconz

thanks

authors: blakadder jankryh

repo: blakadder/zigbee


text:
How to have custom ordering method on gql.django.ordering.order class definition

Hello!
So, I have a Django model, Invoice, which let's say has two fields, id and amount, a float.
class Invoice(models.Model):
    id = models.PrimaryKey(...)

    @property
    def amount(self) -> float:
        # calculates amount on the fly, returns a float

Likewise, I use Strawberry Django Plus to define a custom Filter class for this (yes I know it's not particularly efficient, but it does work):
@gql.django.filters.filter(Invoice, lookups=True)
class InvoiceFilter:
    id: gql.auto

    amount_range: List[float] | None

    def filter_amount_range(self, queryset: InvoiceManager):
        if self.amount_range is not None and len(self.amount_range) == 2:
            # convert queryset into a list so I can access my aggregate InvoiceManager calculated values
            return ListAsQuerySet([
                invoice
                for invoice in queryset.all()
                if invoice.amount >= self.amount_range[0]
                and invoice.amount <= self.amount_range[1]
            ], model=Invoice)
        return queryset

In the above Filter definition, I am able to define custom filtering logic for the Invoice, and I have access to my custom Django InvoiceManager.
Similarly, I am trying to implement custom sorting logic in my InvoiceOrder class, in the same fashion as the above filter snippet; however I can't find any documentation or examples on how to do this. Here is what I have so far, which is failing with cannot resolve keyword 'amount'. Choices are: 'id'. no matter what I try to return from order_amount.
@gql.django.ordering.order(Invoice)
class InvoiceOrder:
    #this field exists on the underlying Invoice django model class.
    id: gql.auto

    # this field is an @property method on the underlying django model class
    amount: gql.auto

    def order_amount(self, queryset):
        # how do I return an ordering definition here?
        pass

Is there a way for me to define custom sorting logic in a gql.django.ordering.order class?
thank you!

Hey @insomniac34 . Unfortunatly not yet. The filtering/ordering code is based on the functionality provided by https://github.com/strawberry-graphql/strawberry-graphql-django and it doesn't provide that.
I'm actually planning on creating a new ordering functionality to solve not only that issue, but also others that are not so apparent. For example, there's no way for you to choose the order of the orderings when defining more than one

Thanks for the clarifiation @bellini666

I made a working patch for having ordered order-by clauses, but if @bellini666 has something prepared for this, it will be probably better. If you really need this now @insomniac34, tell me and I’ll post my dirty patch here :-)

@cpontvieux-systra I did not start working on it yet, I only have what I want in mind and how to execute it =P.
But feel free to post your patch here and we can discuss the implementation :)

My patch is in two steps.
First, I patch the order decorator:
from strawberry_django.ordering import order as _order

ORDER_FIELDS_NAME = 'order'

def order(model):
    def wrapper(cls):
        cls.__annotations__[ORDER_FIELDS_NAME] = list[str]
        setattr(cls, ORDER_FIELDS_NAME, None)
        return _order(model)(cls)
    return wrapper

This will add an order field to the schema of type list[str] to any Order type defined. Maybe the name order is bad chosen, I don’t know.
Then the django field using the order type needs to be patched too (it’s a bigger patch as multiple functions need to be patched):
from functools import partial
from django.db.models import QuerySet
from strawberry.utils.str_converters import TO_KEBAB_CASE_RE as TO_SNAKE_CASE_RE
from strawberry_django.fields.field import StrawberryDjangoField
from strawberry_django.ordering import Ordering
from strawberry_django.utils import fields
from strawberry_django_plus import gql

def ordering_orderby_patch(django_field: StrawberryDjangoField) -> None:
        """
        Allow to use an `order` field in order type to order ascending/descending conditions by name.
        """
        def to_snake_case(name: str) -> str:
            return TO_SNAKE_CASE_RE.sub(r'_\1', name).lower()

        def order_order_args(order, args: set[str]) -> list[str]:
            ordering_value = getattr(order, ORDER_FIELDS_NAME, gql.UNSET)
            if ordering_value is gql.UNSET:
                ordering_value = []
            order_list = [to_snake_case(name) for name in ordering_value]
            ordered_args: list[str] = []
            for field in order_list:
                if field in args:
                    ordered_args.append(field)
                    args.remove(field)
                elif (desc_field := f'-{field}') in args:
                    ordered_args.append(desc_field)
                    args.remove(desc_field)
            ordered_args.extend(args)
            return ordered_args

        def generate_order_args(order, prefix="") -> set[str]:
            args = set()
            for field in fields(order):
                ordering = getattr(order, field.name, gql.UNSET)
                if field.name == ORDER_FIELDS_NAME:
                    continue
                if ordering is gql.UNSET:
                    continue
                if ordering == Ordering.ASC:
                    args.add(f"{prefix}{field.name}")
                elif ordering == Ordering.DESC:
                    args.add(f"-{prefix}{field.name}")
                else:
                    subargs = generate_order_args(ordering, prefix=f"{prefix}{field.name}__")
                    args.update(subargs)
            return args

        def apply_order(self, queryset: QuerySet, order) -> QuerySet:
            if order is gql.UNSET or order is None:
                return queryset
            args = order_order_args(order, generate_order_args(order))
            return queryset.order_by(*args) if args else queryset

        setattr(django_field, 'apply_order', partial(apply_order, django_field))

Then you define your order as usual but use the patched order decorator and you need to patch any strawberry django field:
@order(models.YourModel)
class YourModelOrder:
    name: auto
    priority: auto

@gql.django.type(models.YourModel, order=YourModelOrder)
class YourModel:
    id: auto
    name: auto
    priority: auto

all_yourmodels = gql.django.field()
# it’s ok to patch any gql.django.field, it does not harm if your type/field does not have an order class
ordering_orderby_patch(all_yourmodels)

@gql.type
class Query:
    all_yourmodels: list[YourModel] = all_yourmodels

Then in your query:
query {
    allYourmodels (order: {name: ASC, priority: DESC, order: ["priority", "name"]}) {
        id
        name
        priority
    }
}

Most of this code is already in strawberry_django.ordering. As I say, it’s a dirty patch.
On better way would also to have sorted Ordering attributes before any transformation. I may try to improve that.
I’m also not sure order is that smart of a name. If one have an attribute named order and want to sort against it, it will clash. _order could also be an option as it translates to Order in the graphQL Schema and so the capitalization can make it clear that it’s a different kind.
There is also no checking for the values in order. Exceptions should be raised if a non order attribute is used there.

That's an interesting solution, and probably the only way to enforce the requested ordering order currently.
What I was thinking was to actually deprecate the current order and define an ordering. That ordering would receive a list of objects from the current order type, and since graphql doesn't support input type unions, we could use the oneOf directive which is going to be supported on strawberry when this PR gets merged. That way we can enforce the ordering order.
With that I also want to make it easier to define custom resolvers for both ordering and filtering. Currently you have to define a resolve_<attr> field, which can lead to errors if you mistype it. I want to create a decorator to define those for both cases.

repo: blb-ventures/strawberry-django-plus


text:
Please add the Linux net namespace,  like: wireguard.

name: Net namespace request
about: Add the linux net namespace support, like wireguard. Can move tun to namespace, proxy namespace net.

Description
    sudo ip netns add test
    sudo ./target/release/tun2proxy --setup --proxy "socks5://1.2.3.4:1080"
    sudo ip link set dev tun0 netns test

Background
TThe Linux net namespace can fake a new net env, like a new OS env.  Can use iptables , and very easy to proxy all net request. like:
   sudo ip netns exec test ip route replace default dev tun0

Expected Behavior
Use tun2proxy create a new tun0, and create a new net namespace test, move the tun0 to test net namespace inside. the tun0 also can be proxy the net requset.
Additional Information
boring tun
wireguard namespace  example

It should work with network namespaces already, although it does not support the slirp use case.
What is the issue with creating a network namespace as follows and running tun2proxy inside?
https://gist.githubusercontent.com/dpino/6c0dca1742093346461e11aa8f608a99/raw/27df052e57009d9ffc1a0ce9d6a8047dc711ad46/ns-inet.sh

authors: Aromate blechschmidt


text:
Index 0 is not shown in the derivation parth

The value 0 (index 0) is not shown in the derivation path when an account is selected. It is shown correctly when 1 or another value is used. This is likely due to number/string parsing, thinking "0" is equal to null/undefined/empty string.

Closing this issue. This is now working fine. It only shows 'index' now

authors: missmeowness sondreb

repo: block-core/blockcore-wallet


text:
Update versions of github actions (+ test fix)

There are some warnings in CI that should be fixed by bumping actions versions.
example:
https://github.com/blockscout/blockscout-rs/actions/runs/8560946122/job/23461168368?pr=823#step:8:23
the update should be trivial as the updated actions have barely any options and seem to do elementary stuff

maybe you know the way to extract common workflow steps into a separate workflow which can be reused further?

AFAIR this is what we need:
https://docs.github.com/en/actions/using-workflows/reusing-workflows
sounds good, we should do it some time 👀

Let's merge this PR, and then check if we can apply reusable workflows to our setup when we have time

repo: blockscout/blockscout-rs


text:
🛑 Maxthon API is down

In 08826c7, Maxthon API (https://api.maxthon.com) was down:

HTTP code: 500
Response time: 421 ms

Resolved: Maxthon API is back up in 943f0a1 after 1 hour, 18 minutes.

repo: bloodchen/upptime


text:
Dynamically set hannibal hbase.regionserver.info.port

This PR provides a way to set hbase region server info port for hannibal. Default port in hannibal is 60030.
It also cleans up some unused templates.

Tested on my vbox VM cluster.

Please split the mass-deSQLing into its own commit.

Done

authors: cbaenziger kiiranh

repo: bloomberg/chef-bach


text:
s_ntctst::TestUtil?

In ntci_timer.h, there are several places with this code:
///     bsl::shared_ptr<ntci::Timer> timer =
///         s_ntctst::TestUtil::createTimer(timerOptions, timerFuture);

I assume that this is a stale example and that the timer should be created by calling Interface::createTimer() instead?

Yes, this is a stale example. The example should illustrate create the timer using ntci::Interface::createTimer. I will create a PR for this.

Fixed in https://github.com/bloomberg/ntf-core/pull/29

repo: bloomberg/ntf-core


text:
Distress Admin Database

Merge with HACC branch.
Check the collections and exporting for distress for the animals. Add animal column.

Completed with HACC

authors: kyliehigashionna microtaryn

repo: bloombugs/application


text:
s9 - please remove my "i9" previously reported, it's actually an s9 (no such thing as an "i9"!)

Roomba Model:
s9
Did It Work
Yes

@douginoz Can you provide your settings?

Sorry, I deleted the plugin and settings a while ago. The interface is just too cumbersome to use. The native application is superior. I never found a use for having it set up in homebridge.

authors: bdsoha douginoz


text:
[Thread Failure] 'ascii' codec can't decode byte 0xe2 in position 120: ordinal not in range(128)

I'm getting this when running:
s4cmd dsync -r --verbose /Volumes/Volume_Name-1/Foo_Bar_Project/ s3://dir01/archive/Foo_Bar_Project/
I'm running on OS X 10.11.5 El Capitan (I know, it's what I have available at this moment in time) I have admin privileges, and I can verify that PIP, Brew, Python - they're all up to date.
When running in verbose, I can see that it is actually going through and verifying wether an object has been previously synced.  I started this transfer with CyberDuck and it timed out at the end, oddly enough, but with no specific error.
Has anyone ran into a similar problem in their workflow?

This is what I get running --debug
  (E)s4cmd.py:188  [Thread Failure] [Errno 2] No such file or directory: '/Volumes/Server/xx_To_ARCHIVE/photos/SPY2L7~E'
I notice that the ~ within SPY2L7~E is listed under "Characters to Avoid" on http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html.
Also, I ran find . -iname "*~*" on the offending directory and others than I plan on uploading a got a full list of similarly named files containing ~ in the file name.

https://github.com/aws/aws-cli/issues/1841
Seems to be an identical concern using AWS CLI with exclude tagging notably not working with files that start with .

I get the same when I run a s4cmd dsync. It would be really great if someone could pay attention to this issue.

By chance, do you find many files in your directories that are hidden with a './foo/bar/' don't upload successfully or that '~' or something may also be a part of the concern?
Seeking to confirm exactly a similar issue. There has to be a better method for handling characters to avoid.
I even tried throwing the whole parent directory of my project in a .tar but that yielded a time out once and a memory error the second time around.  The Python process in Activity Monitor was using like 18 GB of 20 GB of real memory on the iMac I was uploading from.

I can't confirm that that is the cause, but I saw you got a 'no such file or directory' where a tilde symbol was involved. I have just started using s4cmd. A few days ago I uploaded over 20 GB without problem, but that was pretty uniform files with "normal" names. Today, I tried syncing a large folder with a lot of different file names, also temporary files with the tilde symbol and other exotic characters. I had imagined that the s4cmd team had overcome Amazon's weird character ban, but concluded too early.
If you have problems with time out, you can try multipart upload, which can be resumed in case of failure. Use the option '--max-singlepart-copy-size=[bytes]'.


text:
Api addons

Describe your problem
DId it's possible to make the possibility to found page by categories, and tags but with the API, not only the php.
And of course double option : by cat. and by tags for exemple...

Hello, with the new version of Bludit v4.0 rc1, I would like to close the old Github issues. If you feel that your issue is not resolved in the latest version, create a new ticket.

Help and Support use the Forum https://forum.bludit.org
Bugs and new requests here in Github https://github.com/bludit/bludit/issues

authors: dignajar liartfr

repo: bludit/bludit


text:
Update glance to fix traversal bug

https://bugs.launchpad.net/glance/+bug/1400966

Failed CI, local CI run failed, will need to be rebased once #721 is merged.

#721 has been merged.

Tests pass, please review again @masteinhauser @dlundquist

Not too much to review here, but tests pass and I've verified the ref is the new stable/juno branch.

authors: dlundquist j2sol masteinhauser

repo: blueboxgroup/ursula


text:
[META] Check progress

4/4からのめやす
Dennis

[ ] クーポンサーチAPI 3週間
[ ] クーポンGET API 2週間
[ ] 画像関連 JSON API 1.5週間

Okamoto

[ ] テンプレートファイルの修正 2週間
[ ] フロントエンド追加対応 2週間
[ ] フロントエンドデバグ 1.5週間
[ ] バックエンドデバグ 0.5週間

The 画像関連 JSON API has been implemented in #170.

authors: arowM cdepillabout

repo: blueimpact/kucipong


text:
[Feature] Implement deque in C++

Description
deque is a data structure in python's collections module, documented on https://docs.python.org/3/library/collections.html#collections.deque.
It is used in basic algorithms such as BFS (broad-first search).
Currently, pkpy's deque was written in pure python at here. It is not efficient enough.
Our goal
Move the implementation of deque into c++, if possible.
It is allowed to use mixed python and c++ code.

hi @blueloveTH , I find this problem can be solved.
Can I get myself assigned to it.
thankyou!

Yes, you can!

Hello, it seems you are not working on this issue by either fork/star/pr.
So I have cancelled the assignment and leave the chance to new contributors.

Hi @blueloveTH I'd love to work on this issue. Please assign me.

Hi @blueloveTH I'd love to work on this issue. Please assign me.

This task is not easy. Do you think you have enough time to get familiar with pkpy's c++ bindings?

@blueloveTH, as I already have completed my previously assigned task, I would love to work on this issue for a few days. Please let me know, if @plon-Susk7 doesn't work on this.

Hi @numan947,
You can go ahead and work on this.

Wish you good luck! @numan947
I think you can implement a LinkedList(with minimum interfaces) to builtins and wrap it as deque in python/collections.py.

The biggest problem of deque in python is its _LinkedListNode is an object. When users do BFS via deque, lots of _LinkedListNode objects will be created and destroyed. They become garbages quickly.

repo: blueloveTH/pocketpy


text:
HLS: iOS clients treat maxLiveSyncPlaybackRate as the default playback rate

As highlighted in #3155, iOS clients are treating maxLiveSyncPlaybackRate as the default playback speed. Changing this to 1.0 (from 1.5) results in iOS clients streaming at 1.0 speed by default instead.

@deepseth thanks for the explanation, i just found out why i was not able to replicate the issue: it arises when using iOS with a hls.js-capable device. Usually, iOS devices are not able to run hls.js since they miss the HTML5 Media Source extension. This is related to the iOS + iPad combination.
The only problem i see is that maxLiveSyncPlaybackRate must be set to 1.5 when running with any other device, in order to compensate for delays during transmission, therefore there must be a way to differentiate between the two cases.

replaced by #3734

repo: bluenviron/mediamtx


text:
New function neopixel

This create a method to set the neopixel.
We need to solve the slice input issue for functions.
It should transform &[ ] to [ ] when compilling on python somehow.
Or solve the issue:

[ ] https://github.com/PyO3/pyo3/discussions/3329
[x] https://github.com/patrickelectric/cpy-rs/issues/17

I've tryed different aproaches on cpy-rs, maybe we can make cpy macro just rewrite &[ x , y ] to [ x , y ] when python feature is used.
With &[u8,3] it works fine on Cpp, but triggers the issue for python as pointed.
With [u8;3] it not build the binding for Cpp, as it's FFI unsafe. But works fine on python side.
@patrickelectric @joaoantoniocardoso

I've tryed different aproaches on cpy-rs, maybe we can make cpy macro just rewrite &[ x , y ] to [ x , y ] when python feature is used.
With &[u8,3] it works fine on Cpp, but triggers the issue for python as pointed.
With [u8;3] it not build the binding for Cpp, as it's FFI unsafe. But works fine on python side. @patrickelectric @joaoantoniocardoso

Yeah, I agree, that's the way as it seems to be a language translation limitation

@patrickelectric it's in sync with cpy-rs, waiting for the next release to rebase it.

Some major changes was done into this PR,
It was updated to the last cpy-binder version,
Now it have an special statement to handle just python or cpp functions.
The set_neopixel method was added for both libraries.
A similar rainbow example was added to Cpp and Python source folders.
CI's Clippy warn for unsafe ptr deref needs to disabled.
Now we have set_neopixel like:
Cpp:
  uint8_t rgb_array[3];
  // uint8_t rgb_array[3][3];  //lenght shoud be 3. or sizeof(rgb_array)/sizeof(rgb_array[0])
  set_neopixel(&rgb_array, array_lenght);

Python:
  navigator.set_neopixel( [  [rgb_array], ...., ....   ] );

some similar example reference:

https://github.com/patrickelectric/cpy-rs/pull/24/files

Some major changes was done into this PR,
It was updated to the last cpy-binder version,
Now it have an special statement to handle just python or cpp functions.
The set_neopixel method was added for both libraries.
A similar rainbow example was added to Cpp and Python source folders.
CI's Clippy warn for unsafe ptr deref needs to disabled.
Now we have set_neopixel like:
Cpp:
  uint8_t rgb_array[3];
  // uint8_t rgb_array[3][3];  //lenght shoud be 3. or sizeof(rgb_array)/sizeof(rgb_array[0])
  set_neopixel(&rgb_array, array_lenght);

Python:
  navigator.set_neopixel( [  [rgb_array], ...., ....   ] );

some similar example reference:

https://github.com/patrickelectric/cpy-rs/pull/24/files

authors: RaulTrombin joaoantoniocardoso

repo: bluerobotics/navigator-lib


text:
Improve examples so that they work for small MCUs (e.g. Arduino Uno).

If NOTE_LOWMEM is defined, don't call notecard.setDebugOutputStream. This saves RAM by removing logging strings.
Don't use notecard.logDebug for application logging (i.e. logging in the .ino files).

@zfields I added the [APP] tag for app logs, as we discussed.

repo: blues/note-arduino


text:
Password reset email text colour is white when in lightmode

Steps to Reproduce
Have Blueskey send a password reset email to you
If your device is not in dark mode the email will appear blank
The text is white on a white background
Click and drag over the email to highlight the rext and you will find the reset instructions/code
Attachments
No response
What platform(s) does this occur on?
Web (Desktop)
Device Info
Windows 11, Outlook mail client
What version of the app are you using?
Not an app version bug
Additional Information
No response

I'm unable to reproduce this, I just requested a password reset and this is how the email looks in light mode (with handle and code redacted for privacy):

Are you able to view the email correctly in another client? It's possible this is an Outlook or Windows bug.

I have done further testing after your findings and I have found I can replicate the bug in Outlook on Android too, but not on Outlook OWA. Therefore, it seems to be a bug outside of Bluesky.

repo: bluesky-social/social-app


text:
Add web transition styles in interactive components

This pull request refactors the transition styles in the button components. It adds transition properties for all button variants and adjusts the transition duration. This improves the visual transition effects when interacting with buttons.
transition settings are from the recommended tailwind styles
suggestion: perhaps it would be a good idea to add this transition config as a reusable atom?
demo:
https://github.com/user-attachments/assets/92da4747-f8d7-44d5-9c5d-d122ef890531
https://github.com/user-attachments/assets/94f8d451-264a-4362-a4cc-7afc73841985
https://github.com/user-attachments/assets/904823a0-f646-4913-890d-76052803a6de
https://github.com/user-attachments/assets/942424bb-520a-45f6-ae4d-dbcc4fba92f4
https://github.com/user-attachments/assets/a2ec2e13-e081-4d08-8671-1aecf0f5d67e

Hey! Really appreciate your work here. We have some plans to integrate button animation styles across the app, so I can't guarantee we'll be able to merge this, but I'm going to leave it open for now as a reference. Thanks again!

@estrattonbailey sounds good to me!

perhaps also consider enabling smooth scrolling when hitting the scroll to top button in the feed

authors: estrattonbailey hichemfantar


text:
Bump base image.

Bumping Tiled base image, to get support for Awkward and to get support for a confirmation message on all Authenticators.

This only touched the Dockerfile, and the relevant workflow passed so I'm merging without waiting for the others.

Actually, this will be the first run since the tiled v0.1.0a107 release. Let's see how it goes.
Confirmed that v0.1.0a107 was installed on CI: https://github.com/bluesky/databroker/actions/runs/6343660075/job/17232059200#step:6:703

repo: bluesky/databroker


text:
Add settle time as property of Signal to be referenced in set method

Currently settle time only exists as an attribute in Positioners and not Signals. However, Signal.set() uses this as a keyword argument, which obscures it from bps.mv or other plans. This adds settle_time as a property of Signal, that can be overridden in the call to set(). It keeps the defaults as None, and should maintain backward compatibility with existing devices.

We also need a test of this.  We have a couple example of using time.monotonic() to run timing tests to make sure things are really sleeping when we expect.

Is there a described protocol for developing and running pytest? I'm running the bash scripts that get run in GHA and hoping those will create the containers needed to pass pytest on master.

Tu run tests locally, consider using https://github.com/nektos/act which runs the tests in a local VM (docker?) as they would run in GHA.

Note to self: this needs to be included in #1063

Coming back to this, even using act, I end up with a few failed tests on the master branch.
I'll work from this basis as I build the tests for this, and ensure coverage doesn't decrease.
| ---------- coverage: platform linux, python 3.8.14-final-0 -----------
| Name                                           Stmts   Miss  Cover
| ------------------------------------------------------------------
| ophyd/__init__.py                                 64     22    66%
| ophyd/__main__.py                                  9      0   100%
| ophyd/_caproto_shim.py                            81     81     0%
| ophyd/_dispatch.py                               116      6    95%
| ophyd/_dummy_shim.py                              36     36     0%
| ophyd/_pyepics_shim.py                            96      7    93%
| ophyd/_version.py                                  2      2     0%
| ophyd/areadetector/__init__.py                     9      0   100%
| ophyd/areadetector/base.py                       228      1    99%
| ophyd/areadetector/cam.py                       1102      5    99%
| ophyd/areadetector/common_plugins.py              89      0   100%
| ophyd/areadetector/detectors.py                  110      9    92%
| ophyd/areadetector/docs.py                         1      0   100%
| ophyd/areadetector/filestore_mixins.py           255    103    60%
| ophyd/areadetector/paths.py                       49      7    86%
| ophyd/areadetector/plugins.py                   1126     56    95%
| ophyd/areadetector/trigger_mixins.py             116     52    55%
| ophyd/areadetector/util.py                        87     72    17%
| ophyd/callbacks.py                                37     37     0%
| ophyd/device.py                                  680     66    90%
| ophyd/docs/__init__.py                             3      0   100%
| ophyd/docs/templates/__init__.py                   3      0   100%
| ophyd/docs/templates/autosummary/__init__.py       0      0   100%
| ophyd/docs/utils.py                               68     14    79%
| ophyd/epics_motor.py                             153     21    86%
| ophyd/flyers.py                                  210    109    48%
| ophyd/log.py                                      97     24    75%
| ophyd/mca.py                                     248     16    94%
| ophyd/mixins.py                                   67      7    90%
| ophyd/ophydobj.py                                230     10    96%
| ophyd/positioner.py                              146      6    96%
| ophyd/pseudopos.py                               381     47    88%
| ophyd/pv_positioner.py                           193     17    91%
| ophyd/quadem.py                                   82      0   100%
| ophyd/scaler.py                                   88     26    70%
| ophyd/signal.py                                  774     45    94%
| ophyd/sim.py                                     743    146    80%
| ophyd/status.py                                  287     23    92%
| ophyd/tests/__init__.py                            1      0   100%
| ophyd/tests/config.py                              7      0   100%
| ophyd/tests/conftest.py                           93      5    95%
| ophyd/tests/fake_motor_ioc.py                     33      0   100%
| ophyd/tests/mca_ioc.py                           118      0   100%
| ophyd/tests/scaler_ioc.py                        154      0   100%
| ophyd/tests/signal_ioc.py                         27      0   100%
| ophyd/tests/test_areadetector.py                 421     91    78%
| ophyd/tests/test_bluesky_protocols.py             66     10    85%
| ophyd/tests/test_device.py                       475      6    99%
| ophyd/tests/test_docs.py                          14      0   100%
| ophyd/tests/test_epicsmotor.py                   206      5    98%
| ophyd/tests/test_flyers.py                       123     66    46%
| ophyd/tests/test_hints.py                         35      0   100%
| ophyd/tests/test_issue944.py                      29      0   100%
| ophyd/tests/test_kind.py                         292      0   100%
| ophyd/tests/test_log.py                           44      0   100%
| ophyd/tests/test_main.py                           6      0   100%
| ophyd/tests/test_mca.py                          104      0   100%
| ophyd/tests/test_ophydobj.py                     131      0   100%
| ophyd/tests/test_positioner.py                    69      0   100%
| ophyd/tests/test_pseudopos.py                    262     78    70%
| ophyd/tests/test_pvpositioner.py                 216      2    99%
| ophyd/tests/test_quadem.py                        60      1    98%
| ophyd/tests/test_scaler.py                        84      7    92%
| ophyd/tests/test_signal.py                       442      0   100%
| ophyd/tests/test_signalpositioner.py              54      0   100%
| ophyd/tests/test_sim.py                          225      1    99%
| ophyd/tests/test_status.py                       307      1    99%
| ophyd/tests/test_timeout.py                       26      0   100%
| ophyd/tests/test_timestamps.py                    61      0   100%
| ophyd/tests/test_units.py                         46      0   100%
| ophyd/tests/test_utils.py                         76      0   100%
| ophyd/tests/test_versioning.py                    23      0   100%
| ophyd/units.py                                    73     24    67%
| ophyd/utils/__init__.py                           82     23    72%
| ophyd/utils/epics_pvs.py                         171      4    98%
| ophyd/utils/errors.py                             28      0   100%
| ophyd/utils/paths.py                              26      1    96%
| ophyd/utils/startup.py                             8      3    62%
| ophyd/v2/__init__.py                               0      0   100%
| ------------------------------------------------------------------
| TOTAL                                          12784   1401    89%
| Coverage XML written to file cov.xml
|
| =========================== short test summary info ============================
| FAILED ophyd/tests/test_areadetector.py::test_fstiff_plugin[pyepics-None-/tmp/ophyd_AD_test/data1/%Y/%m/%d-None-False0]
| FAILED ophyd/tests/test_areadetector.py::test_fstiff_plugin[pyepics-None-/tmp/ophyd_AD_test/data1/%Y/%m/%d-None-False1]
| FAILED ophyd/tests/test_areadetector.py::test_fstiff_plugin[pyepics-/tmp/ophyd_AD_test/data1-%Y/%m/%d-None-False]
| FAILED ophyd/tests/test_areadetector.py::test_fstiff_plugin[pyepics-/tmp/ophyd_AD_test/data1-/tmp/ophyd_AD_test/data1/%Y/%m/%d-%Y/%m/%d-False]
| FAILED ophyd/tests/test_areadetector.py::test_fstiff_plugin[pyepics-/-/tmp/ophyd_AD_test/data1/%Y/%m/%d-None-False]
| FAILED ophyd/tests/test_areadetector.py::test_fshdf_plugin[pyepics-None-/tmp/ophyd_AD_test/data1/%Y/%m/%d-None-False0]
| FAILED ophyd/tests/test_areadetector.py::test_fshdf_plugin[pyepics-None-/tmp/ophyd_AD_test/data1/%Y/%m/%d-None-False1]
| FAILED ophyd/tests/test_areadetector.py::test_fshdf_plugin[pyepics-/tmp/ophyd_AD_test/data1-%Y/%m/%d-None-False]
| FAILED ophyd/tests/test_areadetector.py::test_fshdf_plugin[pyepics-/tmp/ophyd_AD_test/data1-/tmp/ophyd_AD_test/data1/%Y/%m/%d-%Y/%m/%d-False]
| FAILED ophyd/tests/test_areadetector.py::test_fshdf_plugin[pyepics-/-/tmp/ophyd_AD_test/data1/%Y/%m/%d-None-False]
| FAILED ophyd/tests/test_flyers.py::test_monitor_flyer[pyepics-True] - Failed:...
| FAILED ophyd/tests/test_flyers.py::test_monitor_flyer[pyepics-False] - Failed...
| FAILED ophyd/tests/test_pseudopos.py::test_multi_sequential[pyepics] - Failed...
| FAILED ophyd/tests/test_pseudopos.py::test_multi_concurrent[pyepics] - Failed...
| FAILED ophyd/tests/test_pseudopos.py::test_single_pseudo[pyepics] - Failed: T...
| = 15 failed, 1745 passed, 124 skipped, 1885 deselected, 1 xfailed in 468.75s (0:07:48) =
[Code CI/test-1]   ❌  Failure - Main Test with pytest
[Code CI/test-1] exitcode '1': failure
[Code CI/test-1] 🏁  Job failed

It looks like something on CI got faster and we are no longer actually going through re-try loop 🤦🏻 .

Can you rebase to get rid of the merge commit?

This approved PR languishes.  Can it be merged?

authors: coretl maffettone prjemian tacaswell

repo: bluesky/ophyd


text:
gzip feature request

 Issue by azerafati
Saturday Feb 21, 2015 at 09:55 GMT
Originally opened as https://github.com/samaxes/minify-maven-plugin/issues/90

coming here from using Yui compressor plugin, I'm enjoying everything.  But I miss the ability to create a gzipped version of my compressed files beside them
in YUI there is the option
true
this feature would be really appreciated, if it could also gzip files based on a filter so that we could gzip files of closure and yui and also already minified files which we excluded in configurations.

 Comment by samaxes
Wednesday Oct 26, 2016 at 23:01 GMT

I don't have plans for adding GZIP support to the plugin myself.
But you are welcome to have a look at PR #114 and submit a working pull request.

Is there any reason to have this? Files should be compressed by the server.


text:
GG18 & GG20 Paillier Key Vulnerability

Has this been addressed and is there a plan to implement the fix? https://www.fireblocks.com/blog/gg18-and-gg20-paillier-key-vulnerability-technical-report/

It is supposed to be fixed in v2 https://github.com/bnb-chain/tss-lib/releases/tag/v2.0.0

authors: daryakaviani yycen

repo: bnb-chain/tss-lib


text:
Error in panel

With version 1.4.0 installed through Composer on a Kirby 3.2 instance, I get the following error in the panel:
Error: Cannot find module 'function () {var a={name:"Janitor",props:{label:String,progress:String,job:String,cooldown:Number,status:String,data:String,pageURI:String},methods:{janitor:function(){var t=this.job;t=t+"/"+encodeURIComponent(this.pageURI),null!=this.data&&(t=t+"/"+encodeURIComponent(this.data)),this.getRequest(t)},getRequest:function(t){var s=this,e=this.label;this.label=this.progress.length>0?this.progress:this.label+"...",this.status="doing-job",this.$api.get(t).then(function(t){void 0!==t.label&&(s.label=t.label),void 0!==t.status?s.status=200==t.status?"is-success":"has-error":s.status="has-response",setTimeout(function(){s.label=e,s.status=""},s.cooldown)})}}};if(typeof a==="function"){a=a.options}Object.assign(a,function(){var render=function(){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c("k-button",{staticClass:"janitor",class:_vm.status,attrs:{"job":_vm.job},on:{"click":function($event){return _vm.janitor()}}},[_vm._v(_vm._s(_vm.label))])};var staticRenderFns=[];return{render:render,staticRenderFns:staticRenderFns,_compiled:true,_scopeId:null,functional:undefined}}());panel.plugin("bnomei/janitor",{fields:{janitor:a}});}'

From the file media/plugins/index.js line 37
It breaks all my custom fields for some reason. If I disable the plugin everything works fine again.
The blueprint looks like this:
janitor:
  type: janitor
  label: Vider le cache
  progress: Nettoyage en cours…
  job: clean

In the panel, where the button is supposed to show up, Kirby throws:
 The field type "janitor" does not exist

Let me know what extra info would help you debug this issue.
Edit: with Kirby 3.1.x everything works fine.

works fine on my local setup. will test remote next. in meantime...
have you tried clearing the browser cache to refresh the js file the panel creates? sometimes a restart of firefox seems to be required.

remote setup works fine with kirby 3.2.0 and plugin 1.4.0.

I've cleared my cache, restarted the browser, even tried in other browsers where I've never opened the panel, the bug is still present. It doesn't seems to be cache related as modifying the index.js can be seen in the browser.
I tried to add a ! at the beginning of the plugin index.js — I saw that in other plugins — and it actually fixed the issue for some reason. I guess Kirby plugins loader doesn't like expressions that returns undefined (the ! makes the expression return true instead).
I didn'd find any related issue in Kirby repo or information in the docs or the forum, I'll try to ask on Slack.

please do that. the /index.js  is build by parcel (since 1.4). before that i used webpack so maybe that caused the change.

before this drives you nuts you can always downgrad in composer in setting or use a release zip. like 1.3.0 https://github.com/bnomei/kirby3-janitor/tree/v1.3.0

before this drives you nuts you can always downgrade in composer or use a release zip. like 1.3.0 https://github.com/bnomei/kirby3-janitor/tree/v1.3.0

@LeBenLeBen seems like other plugins might cause this. pleas check if you have like timeoettings/kirby-color installed. see
https://github.com/getkirby/ideas/issues/135

The issue seems to be caused by kirby-builder in my case, which doesn't include a semi-colon at the end of its index.js,
There seems to be an issue already open: https://github.com/TimOetting/kirby-builder/issues/126

authors: LeBenLeBen bnomei


text:
Feature/add images folder to assets

Description
This PR adds the images folder to the assets list in the angular.json file so that the images are included in the production build of the Angular application. The assets list specifies a glob pattern, an input directory, and an output directory for the images. Currently, the images folder is not included in the final production build of the application, even though it is present in the source code. This causes issues when trying to reference the images in the application templates and stylesheets. By adding the images folder to the assets list in the angular.json file, we ensure that the images are included in the production build of the application and can be served by a web server. This allows us to reference the images in our application templates and stylesheets using the correct path, without having to worry about their location on the web server.
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
I have tested this change locally by running the ng serve command.

[ ] Unit test

Checklist:

I have pulled code from main and re-tested changes before opening the PR
No new bugs or vulnerabilities have been found in the code
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

Are you positive this is needed? I don't see an images folder or images being used to test this.
I would say that the mock/api/tests.json is available when the project is built which is assumed in having "assets" in the angular.json file. This would make me question whether this changes is needed or not.

I see. I guess its not needed then.

authors: Bishama bob-fornal

repo: bob-fornal/how-to-take-a-test


text:
Criar o primeiro jogo com Phaser 3

Seguir o tutorial oficial do framework.

Como sugestão, usar uma IDE online. O Gitpod, por exemplo, possui extensão para facilitar o acesso pelo GitHub e o mesmo editor, Monaco, do Visual Studio Code - com suporte às mesmas extensões.

Já publicado no repositório boidacarapreta/phaser3.

repo: boiada-da-cara-preta/jogo-web


text:
PrependBytes functionality issue

Hi,
There seems to be two issues with the way the PrependBytes functionality works within the aggressor script:

The prependBytes call is happening before the modification of the MZ header. As a result, the first 4 bytes prepended will always be overwritten
When calling prependBytes, it seems to be breaking something within the way BokuLoader works, which results to the original reflective loader being loaded. For this one, not entirely sure why it happens as the code running after it doesn't seem to affect it.

How to replicate the issue:

Edit BokuLoader.cna
Go to line 1032 and uncomment the call to prependBytes
Go to line 431 and add 4 characters at the start of the $Nops variable (e.g. "AAAAPS[X"). This is due to the fact that they will be overwritten by the magic_mz
Compile and load the Agressor Script on CS
Create a Payload with the prepended bytes
Check the binary created for the existence of the original reflective loader (simplest way is to run the YARA rule for the Windows_Trojan_Cobaltsrike indicator by Elastic:
https://github.com/elastic/protections-artifacts/blob/main/yara/rules/Windows_Trojan_CobaltStrike.yar

Example output before and after uncommenting prepend:

Thank you for the descriptive issue post!
There was some issue with parsing the beacons for the obfuscation and I think that is what is breaking it. I haven’t had time to look into this.
Feel free to send a pull request to fix. Alternatively you can just build the beacon shell code and prepend the bytes on the command line


text:
std::array error Seeeduino Xiao Arduino IDE

Compiling code with std::array I get the following error:
error: 'array' in namespace 'std' does not name a template type
Please adivise as to how to get around this error. Thanks in advance!

Please use the latest version downloaded directly from github, which does not use std::array.

Gotchya - thanks!MarshSent from my iPhoneOn Jan 19, 2024, at 12:50, Brian Taylor @.***> wrote:
Please use the latest version downloaded directly from github, which does not use std::array.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

repo: bolderflight/sbus


text:
BDS-452 Add first and last links to pagination

Resolves http://vjira2:8080/browse/BDS-452

Nice @remydenton!
3 quick questions to run by you on this (all pagination related - albeit 2 are just to get me up to speed on pagination in general):

Where exactly are these new First and Last links on the pagination section? Not seeing them rendered anywhere on my device...
https://feature-bds-452-pagination-first-last.bolt-design-system.com/pattern-lab/?p=viewall-components-pagination

More general questions

Why isn’t this component centered by default? I get allowing for different alignments but isn’t it reasonable to assume most of the time this’ll be centered unless otherwise specified?

Why does the center “current” link background change color when I tap on it on my phone? As a rule of thumb, non-interactive elements should have pseudo state changes (especially once activated)... bug?

@sghoweri,

The first and last links don't actually say "first" and "last"-- they're just the numbers "1" and "10" (or whatever the last page is).  See the mockup image on http://vjira2:8080/browse/BDS-452

Re: 2 and 3, @mikemai2awesome is probably the best guy to talk to.  But here's my take:

Good question.  As a rule of thumb, a component should not be responsible for its own alignment.  But I also agree this will almost always be centered.  I'm torn on this one.

Not sure I understand.  Did you mean to say "interactive elements" instead of "non-interactive elements"?  Or that "non-interactive elements should NOT have pseudo state changes"?  As built, the current page link is actually a link and therefore interactive, which to me means in should have an interactive state, which it does...

@remydenton @sghoweri

I can be swayed on this one, but adding center by default will create some undesired results when it is not by itself in a row. In the example of pagination on the left and something on the right, you would have to intentionally make it not center for it to work. So if we insist on it being centered by default, we'll have to make an additional prop to handle the alignment.

This is also something I don't like, but I refrained from changing it last time I touched this. Basically the current item shouldn't be a link, it doesn't make sense functionally and for accessibility, a page should not link to itself because that will take the user for a loop. I didn't know how much this change would affect the Drupal end so I didn't update it.

Agree with you both on item 3 -- I just pushed a commit that makes the active item not a link.
Just need to figure out 2 now.  Am I old school or could we just use text-align: center and display: inline-block instead of flex for the layout, then just use u-bolt-text-align-left in the rare occasions where you don't want it centered?

@remydenton @sghoweri
Align prop has been added.

Thanks @remydenton - thanks @mikemai2awesome!
Sounds like this should be all ready to go and can get merged in, yes?

@mikemai2awesome's improvements look great, I approve those.  Since you guys both gave me verbal approval on the other pieces, I'm merging this in and adding some release notes.

authors: mikemai2awesome remydenton sghoweri

repo: bolt-design-system/bolt


text:
Auto-detect dark threshold

Often as in #418 the dark threshold is incorrect. Printing the darkness values for my camera it seems very trivial to detect a reasonable threshold. Would a contribution be accepted that automatically configures this value if it can be detected?
Here are the darkness values for my camera where you can see the dark frames as consistently >= 99.1:
[82.9427]
[80.70182]
[80.00607]
[99.18099]
[80.11067]
[99.19748]
[80.238716]
[99.23134]
[80.18143]
[99.235245]
[80.00174]
[99.275604]
[79.90408]
[99.26085]
[79.7895]
[99.283424]
[79.90191]
[99.29383]
[79.90885]
[99.29037]
[79.99002]
[99.28993]
[80.08941]
[99.2934]
[80.0395]
[99.28386]
[80.16363]
[99.306854]
[80.44922]
[99.323784]
[80.54948]
[99.3368]
[80.60547]
[99.33507]
[80.609375]
[99.32422]
[80.64192]
[99.33594]
[80.72048]
[99.34201]
[80.932724]
[99.3776]
[80.99089]
[99.390625]
[81.04297]
[99.40972]
[81.08637]
[99.43837]
[81.118484]
[99.442276]
[81.131516]
[99.42751]
[81.35113]
[99.407555]
[81.5217]
[99.38759]
[81.73394]
[99.35156]
[81.86154]

I would definitely accept the contribution but i'm not sure it's "very trivial" to set the threshold automatically.
Some cameras have 2 light frames and 1 dark, some have 1 light frame and 2 dark. Both of our cameras alternate. Camera exposure can vary greatly, what might be a good threshold in one setting might not be the right one in another. What if the user is lit by a non-emitter light source when they run the command? What happens if someone runs this on a visible light camera accidentally?

Since the IR emitter should emit at a relatively constant brightness and dark frames should be relatively constant if you plot the points it most cases there should be two very distinct clusters. We can just do something simple to identify the darker cluster.
More specifically, one idea is we can just split the points into two groups based on the midpoint between the 10th and 90th percentile darkness value. Then if the darker group has a very low range and standard deviation relative to the midpoint we can be pretty confident in the dark threshold being accurate. In the case someone runs it on a regular camera the range of the dark points relative to the midpoint would be very large so we would know to skip setting the dark threshold automatically.
Do you happen to have a flashing IR camera? If so, could you share your darkness values so I can have at least one other sample to test on before submitting a PR?

authors: MatthewScholefield boltgolt

repo: boltgolt/howdy


text:
losing stack trace, anyway to retain it ?

Hi,
I am throwing a number of custom errors further up my project and these I generally would log before throwing, these are standard custom errors that inherit from the Error object in nodejs.
When I arrive at my resolver, I generally capture the error and throw an "apollo errors" Error but I lose the stack trace, the stack trace only has the entry of where I threw the new apollo error but nothing before it.
Do you know of a good solution or workaround ? I mean I could log the error before throwing the new apollo error but it would be great if it retained the stack trace
Here is what I am doing
  } catch (err) {
        switch (err.constructor) {
          case HttpBadRequestError:
            throw new BadRequestError()

          default:
            throw new InternalError()
        }
      }

The one above that is most important is the InternalError, this basically means it is an uncaught error.
here is my definition
import { createError } from 'apollo-errors'

export const InternalError = createError('InternalError', {
  message: 'An internal error has occurred'
})

As I say, throw the error here now removes all stacktrace from the previous error so all I know is that the code in the resolver threw an error but I have no reference to anything else.
I did try using longjohn - a node module for including longer stack traces, but I don't think this is the problem.
Anybody managed to work around this ?

I have the same issue

I have the same problem eventhough adding the source error in the internalData and data

       data: {
            sourceMessage: (error.message) ? error.message : "",
            sourceStatusCode: (error.code) ? error.code : ""
        },
        internalData: {
            sourceError: error
        }

I could still see it in all catches but I lost when it arrives at  format error Im able to see the message only

    graphqlExpress((req) =>
                 ({
                    schema: schema,
                    context: {
                        req: req
                    },
                    formatError: (error) => {
                        console.log("+=-_*+=-_*+=-_*+=-_*+=-_*+=-_*+=-_*+=-_*+=-_*+=-_*+=-_*+=-_*+=-_*+=-_*");
                        console.dir(error);
                        console.log("+=-_*+=-_*+=-_*+=-_*+=-_*+=-_*+=-_*+=-_*+=-_*+=-_*+=-_*+=-_*+=-_*+=-_*");
                        return error;
            },
                    debug: true,
                    tracing: true,
                    cacheControl: false
                })
        )

@appsolutegeek are you using schema stitching as well?

no, I used another library to merge my schema...

@thebigredgeek I am also curious how one should go about solving this problem. Let's say my model layer is calling a connector and that connector throws an error. What's the proposed way to bubble up that original error's stacktrace to the graphql response's errors array? If you use an ApolloError in the resolver to mask the original connector error, it would seem that the returned stacktrace is pointing to the resolver error rather than the original trouble spot in the connector.

PRs welcome on this.  Closing for now

authors: AdelBachene appsolutegeek codegoblin thebigredgeek

repo: boltsource/apollo-errors


text:
🛑 Bomberos Coyhaique is down

In 87610b1, Bomberos Coyhaique (https://bomberoscoyhaique.cl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Bomberos Coyhaique is back up in 6f87771 after 13 minutes.

repo: bomberosalas/status


text:
RFC: Replace Helm charts with Kustomize for application packaging

This is a proposal for how we'd use kustomize in Shipper, if we were to ditch helm charts. What I want to get out of this RFC is:

With a more concrete suggestion of how things could look like (this RFC), do we wanna move away from helm into kustomize?

Assuming we do, is the proposed way the actual way we wanna go? Did I miss any challenges? Will this make users' lives more difficult or easier? Does it actually solve the problems it's supposed to solve? Does it create any new ones I didn't foresee?

Nice, the inline patch looks really good to me. Thinking about use cases: if I want to add a totally new Kubernetes object to my deployment, like my-cool-configmap, how would I do it?
Could I use a "role"?
apiVersion: shipper.booking.com/v1alpha1
kind: Application
metadata:
  name: bikerental
spec:
  template:
    clusterRequirements: {}
    kustomization:
      image:
        name: juliogreff/bikerental
        tag: deadcafe
      bases:
        - https://example.com/core
        # like this?
        - https://example.com/my-cool-configmap
      namePrefix: bikerental-
      commonLabels:
        app: bikerental
      patchesStrategicMerge:
        - https://example.com/sidecars/sidecar.yaml
    ....

Or would I need an inheritance hierarchy?
apiVersion: shipper.booking.com/v1alpha1
kind: Application
metadata:
  name: bikerental
spec:
  template:
    clusterRequirements: {}
    kustomization:
      image:
        name: juliogreff/bikerental
        tag: deadcafe
      bases:
        # hopefully not a fork, but just inherited...
        # and then I guess something happens with version resolution internally... aaagh
        - https://example.com/core-with-my-cool-configmap
      namePrefix: bikerental-
      commonLabels:
        app: bikerental
      patchesStrategicMerge:
        - https://example.com/sidecars/sidecar.yaml
     ...

If the approach is more like a role, I'm pretty excited about this. I assume so, since the field is a list.
Some things we'll need to figure out, I think:

version resolution + caching strategy for kustomize bases/patches in shipper.
(internally, but I also think this is a problem in the wider ecosystem) hosting kustomize patches somewhere shipper can pull them from, ideally with versioning/access control/etc.

Regarding versioning of the bases/patches: a key requirement is the ability for Shipper to request a 'floating' version like 0.3.x, but resolve that to a concrete version, like 0.3.1. This is akin to Docker tags + image SHA1s. Just like our plan for floating Chart version ranges, Release objects should always have a concrete version in them, so that rollbacks can happen without needing the Kustomize repository available. This might be a good question to raise on #kustomize on the K8s slack.

@kanatohodets re: adding a completely new object:

Could I use a "role"?

Yes. The only downside of having multiple bases I found so far is that you can't patch objects in one base from the other.

Or would I need an inheritance hierarchy?

You can do that too, and you get to patch objects from your base as well as a bonus.
BUT! The idiomatic way of doing it is just by declaring new resources, directly in .spec.kustomize.resources. Docs here.
apiVersion: shipper.booking.com/v1alpha1
kind: Application
metadata:
  name: bikerental
spec:
  template:
    clusterRequirements: {}
    kustomization:
      image:
        name: juliogreff/bikerental
        tag: deadcafe
      bases:
        - https://example.com/core
      resources:
        - https://example.com/my-cool-configmap.yaml
     ...

I think the only question remaining for me is about sidecar configuration. As discussed in person, we'll shift from sidecars being configured directly in their rendered YAML (with if conditions in gotmpl, like Helm) to consuming a ConfigMap which the user can work with. So the user would provide a 'patchStrategicMergeInline` which modifies the appropriate ConfigMap. Can Kustomize mutate contents of ConfigMaps in a sensible way?
This also might raise some questions about the ordering of patchStrategicMergeInline vs patchStrategicMerge.

I lied, another question: we have some resources which should be suffixed with a per-release deadbeef (most of them) and some which should not (the main Service object, which should overwrite whatever is currently in the cluster). I think you mentioned a strategy for this, but I don't remember what it was. How can we handle these cases, where the 'suffix' should not be universally applied?

I think the answer to the sidecar ConfigMap configuration question is https://github.com/kubernetes-sigs/kustomize/blob/master/docs/fields.md#configmapgenerator

It looks like Kustomize supports inline patches as of September this year, which is cool!
I think the answer to my question about suffixing some resources with the hash for that release is that we'd include a custom transformer in our implementation.

authors: juliogreff kanatohodets

repo: bookingcom/shipper


text:
Implement benchmark support

I am confused that boost test doesn't have a benchmark support. Google provides google test and google benchmark. If you use boost test and want benchmarks you usually switch to google test what looks weird if you are already with boost stack. So, do you have plans to implement benchmarks or what's the reason why you haven't done it before?

Or perhaps I missed something and you have already had this feature?

repo: boostorg/test


text:
Sealed Secret for option for LDAP + netbox built-in admin

Hello,
is there a special reason why the LDAP env variables were changed to a LDAP YAML file? With this implementation its not longer possible to use a Sealed Secrets to put a predefined LDAP sealed secret during a helm install + vales.yaml.
Same topic for the netbox built-in admin, its only possible to put the password or api-string as clear text password in the yaml file.
I´m not really a helm specialist maybe there is a easy way to forward a sealed secret into my helm deployment without changing the template? Otherwise it would be a feature request ;)

You can set existingSecret to true and the Secret resource will not be created, so it's up to you to supply it. This can contain all the passwords you need, including the ldap_bind_password.

authors: bootc florianschendel

repo: bootc/netbox-chart


text:
Have a autocomplete select

Clear and concise description of the problem
goal : Be able to search on a select an element
Suggested solution
Form Select
Alternative
No response
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guide.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

duplicate of #1489

authors: JLEGit xvaara

repo: bootstrap-vue-next/bootstrap-vue-next


text:
SSL error from https://demo-signup.boringproxy.io/request

Tried with both Firefox and Chrome and on both Windows inside a restrictive firewall and on my own home Linux box with just NAT.
When I tried to enter my email address in the signup form on https://boringproxy.io/, I'm shown this in Firefox:

If you've read this far, I'd like to know if boringproxy needs to contact other ports than 443 (and perhaps 80) on the "central" server. Our corporate firewall restricts all outgoing requests that aren't to one of those two ports. I guess admins will need to know what firewall rules to allow. I'm guessing that access to port 22 is required too though, huh?

Hey @pmorch. I had shut down the demo site for a while since I was concerned about abuse, but I just started it back up since I'm not sure it was actually a problem.
You are correct that port 22 is required for outgoing, unfortunately. Eventually I'd like to implement a tunneling scheme that can all be done over 443, but that probably won't be for quite a while. If you can't get IT to allow 22, I could add an option to the server to let you configure the SSH port, then you could run your SSH server on port 80 while setting -http-port to something else. It would break 80->443 redirects for HTTP, but should work for tunneling.

@anderspitman, I can confirm that there no longer are any SSL problems.
I can't get IT to allow 22 - trust me, I've tried. About the option to let me configure the SSH port, that would be required for both client and server, I'm guessing. And while that would definitely solve our our use case, do it when and if it makes sense for you. If I could ask something it would be that you document the required ports, 22, 80 and 443 for the time being.
Also, just FYI, now that SSL is working I was sent a link to https://bpdemo.brng.pro/login?access_token=XXXX. When I visited that, I was shown:

The "please click here" link was to http://url.fortinet.net/rate/submit.php?id=XXXX&cat=3D&loc=https://bpdemo.brng.pro%2F&ver=8 (I'm happy to send you the full link directly if you write to me at peter@morch.com)
So for some reason, you're not friends with Fortinet's firewall. Which is strange, because it doesn't object to https://ngrok.com/.

Thanks @pmorch. I'm not familiar with Fortinet. Is that part of your home ISP, your work setup, or something else?
I probably won't change the default port on the demo server, since it's just for trying out boringproxy and not meant as a free tunneling service. But if you decide to self-host on a VPS I'm happy to help you get it working.

I opened #121 to track improving the docs for required ports.

It is our company's IT department that uses a Fortinet firewall. (I think it is a whole suite of things, including a VPN solution). It blocks certain URLs, it blocks everything outgoing except ports 80 and 443, it contains a virus scanner, and likely more that I haven't yet discovered.

Gotcha, thanks!

authors: anderspitman pmorch

repo: boringproxy/boringproxy