sonarr: <IP_ADDRESS>4 -> <IP_ADDRESS>80

Does not fix #360592
Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[X] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[X] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[X] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Please note that merging this PR will cause https://github.com/NixOS/nixpkgs/issues/360592 to be closed (due to the naive string matching github does).

I have merged #362549 as it switches from rev to tag when calling fetchFromGitHub. Otherwise, both were identical.


After today's windows update, scream does not work anymore.

Today, windows has been automatically updated on my VM. Scream does not work anymore, even by rebboting host + VM and re-installing the latest Scream driver (3.8).
Windows build is 19042.1237
Could you help ?

When using standard windows driver, the sound was OK, but not with Scream driver.
Strangely, In Ubuntu settings when changing output and changing back the one that did not work on Ubuntu the sound is now back ! So this is more an Ubuntu issue...


Fish + Starship Predictive Autocomplete is Mistyled

Expected

Actual

We are missing the blue and the dimmed prediction part!
Excitingly, (and perhaps expectedly?) the predicted bit doesn't show up in any logs. The cat does, and is blue when I cat the log outside of mosaic, but white inside.
Here is the log with the miscoloured cat:
mosaic-3.log
I honestly have no idea what Fish / Starship is doing to render that predicted region...

So for the record, for me, every command I try to run is colored red and all the subsequent arguments are white. I am also using fish with just a custom prompt. Also for me when I cat the log outside mosaic it is colored properly.
Expected

Actual

This is the prompt. For some reason mosaic is ignoring the last set_color normal and coloring the first command name red.
function fish_prompt
    set_color brblack
    echo -n "["(date "+%H:%M")"] "
    set_color blue
    echo -n (hostname)
    if [ $PWD != $HOME ]
        set_color brblack
        echo -n ':'
        set_color yellow
        echo -n (basename $PWD)
    end
    set_color green
    printf '%s ' (__fish_git_prompt)
    set_color red
    echo -n '| '
    set_color normal
end

@TheLostLambda - could you try cating this modified log in your terminal (outside mosaic and then inside) and seeing if it does the expected/wrong thing respectively? I just want to make sure I'm fixing the right thing. :)
more-starship.log
@henil - I'm not sure this is the same issue. Could you open a separate issue and attach a log by running mosaic with --debug?

@imsnif I think it's that same issue just I have a different(red) color for the first word in the interactive prompt. If I start fish with a blank config file I get the same color as @TheLostLambda.

@imsnif Yep! That file looks good outside mosaic, but is all white within!

@TheLostLambda - cool, will work on this now, I think I know what the problem is.  :D
Anyway just FYI: we don't delete the debug log between runs, so everything keeps getting appended to it. To give the most accurate log, quit mosaic immediately after the bug happens then rename the log.
@henil - maybe it is, there can be a lot of different coloring issues. :) I'll work on the original issue and then see if it also fixes yours.

So @henil - I guess you were right after all and this was the same issue (going by your comment in the PR) :)
@TheLostLambda - can you check in main to see if this resolves it for you?

@imsnif Looking great on my terminal, but RIP match statement :laughing:
Thanks for the quick fix!

but RIP match statement
Oh damn! I'm sorry, I'm not 100% sure how that happened. I guess speed has its costs. I also left some unneeded self-comments in there I now see.  No rush though :)


Suggestion: A Config to enable/disable items carrying over between games

Example: I want to have the Signal Translator from the start but it doesnt get saved so maybe there could be a config in which you mark what will remain over games or which will get thrown out when you miss quota

Hello!
This is already possible in the config files but this mod doesn’t support keeping non-cosmetic items which is why you can’t save the signal translator.
I’m not planning to support keeping these items for now.


braintree requirejs config issue

Below is my require-config.js
require.config({
    waitSeconds: 60,
    paths: {
        "jquery": "js/vendor/jquery",
        "text": 'js/vendor/text',
        "underscore": "js/vendor/underscore",
        "backbone": "js/vendor/backbone",
        "babysitter" : "js/vendor/backbone.babysitter",
        "wreqr" : "js/vendor/backbone.wreqr",
        "marionette": "js/vendor/backbone.marionette.min",
        "braintree": "https://js.braintreegateway.com/v2/braintree",
    },
    shim: {
        "underscore": {
            exports: "_"
        },
        "backbone": {
            deps: ["underscore", "jquery"],
            exports: "Backbone"
        },
        "marionette": {
            deps: ["backbone", "babysitter", "wreqr"],
            exports: "Marionette"
        },
        deps: [ 'jquery', 'underscore']
    }
});

My backbone view:
define([
    'jquery',
    'backbone',
    'underscore',
    'braintree',
    'text!subscription/templates/upgrade.underscore'
    ],
    function ($, Backbone, _, braintree, upgradeTemplate) {
        return Backbone.View.extend({

            el: '.tab-content',

            events: {
            },

            initialize: function(options) {
                this.sample_newsletter_url = options.sample_newsletter_url;
            },

            render: function() {
                $('.status-message').hide();

                this.$el.html(
                    _.template(upgradeTemplate)({sample_newsletter_url: this.sample_newsletter_url})
                );
                return this;
            },
    });
});

With this configuration when try to access braintree object in render or any other function, i am getting
Uncaught ReferenceError: braintree is not defined
Please guide how can i resolve this issue?

@muhammad-ammar I'm investigating this now.

@muhammad-ammar I couldn't reproduce your error. Could you take a look at the test app I made and see how it differs from yours? It's at github.com/EvanHahn/braintree-web-issue-120.

@EvanHahn Thanks a lot for your help. Test app works perfectly on my side. I am not using data-main attribute and my require-config and backbone modules in separate files. To me it looks like that my requirejs config/setup is not good as it should be. Here are more details.
I am using Django.
In my main django template(base.html):
<script type="text/javascript" src="{% static 'js/vendor/require.js' %}"></script>
<script type="text/javascript" src="{% static 'js/require-config.js' %}"></script>

In my another django template(manage.html), here i can access the braintree object so i passed it to main backbone app to be used by other backbone views.
<script type="text/javascript">
    (function (require) {
         require(['manager/js/app', 'braintree'], function (ManageApp, braintree) {
             new ManageApp({{ info|safe }}, braintree);
         });
    }).call(this, require || RequireJS.require);
</script>

Now with this configuration i can use the braintree object in my backbone views.

@muhammad-ammar I've updated the test app to use Django and it seems to work for me. Could you change your require.js <script> tag to something like this?
<script type="text/javascript" data-main="{% static 'checkout/js/main' %}" src="{% static 'js/vendor/require.js' %}"></script>

@EvanHahn I have already tried this but no success :(

Do you get any errors in the console saying that braintree.js fails to load? Or do you only see braintree is not defined?

ah..its working now. i have downloaded the braintree.js and i changed my require-config.js to
"braintree": "js/vendor/braintree"
i don't know how this is an issue but issue is resolved and i can define and use braintree like backbone, underscore etc in my backbone views

Perfect! Is it alright if we close this issue?

@EvanHahn Yes, we can close the issue. Thanks for all of your help.

No problem! Feel free to open up a new issue if anything comes up.


⚠ Bofrost.nl has degraded performance

In 511a50a, Bofrost.nl (https://www.bofrost.nl) experienced degraded performance:

HTTP code: 200
Response time: 1732 ms

Resolved: Bofrost.nl performance has improved in 3e7a7ad.


Decouple In-App and Push Notification

Internal issue https://its-pro.ucsd.edu/browse/MA-43

This issue is being closed due to platform migration and may be revisited at a later date.


error.huntergate.before.project incorrect?

I was finally getting around to trying your opencv_contrib setup, and ran into the before project error with the following code in the top level (only) CMakeLists.txt file:
huntertest.zip
# ----------------------------------------------------------------------------
# minimum required CMake version
cmake_minimum_required (VERSION 3.0.0)

include("${CMAKE_CURRENT_LIST_DIR}/cmake/HunterGate.cmake")

HunterGate(
    URL "https://github.com/ruslo/hunter/archive/v0.11.13.tar.gz"
    SHA1 "fc5e12a40b61c326acdd6f1f123f926bf445ad5c"
    LOCAL # use additional user's settings
)

I'm using the current version of huntergate in cmake/HunterGate.cmake. What could be going wrong?
Here is what I did on the command line, it seems pretty straightforward:
○ mkdir build
○ cd build
○ cmake ..
-- The C compiler identification is AppleClang <IP_ADDRESS>00176
-- The CXX compiler identification is AppleClang <IP_ADDRESS>00176
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done

[hunter ** FATAL ERROR **] Please set HunterGate *before* 'project' command.
[hunter ** FATAL ERROR **] Detected project: Project
[hunter ** FATAL ERROR **] [Directory:/Users/athundt/source/huntertest]

------------------------------ WIKI -------------------------------
    https://github.com/ruslo/hunter/wiki/error.huntergate.before.project
-------------------------------------------------------------------

CMake Error at cmake/HunterGate.cmake:76 (message):
Call Stack (most recent call first):
  cmake/HunterGate.cmake:101 (hunter_gate_wiki)
  cmake/HunterGate.cmake:357 (hunter_gate_fatal_error)
  CMakeLists.txt:10 (HunterGate)

-- Configuring incomplete, errors occurred!
See also "/Users/athundt/source/huntertest/build/CMakeFiles/CMakeOutput.log".

Thanks for report, looks like it's CMake feature. If there is no project command in CMakeLists.txt then PROJECT_NAME will be set to Project and if this variable is not empty Hunter think that you call project before HunterGate. Just add at least one project and error will go away.
Wiki page updated: https://github.com/ruslo/hunter/wiki/error.huntergate.before.project

Sorry for my confusion, but what do you mean by add at least one project and where should I add it?

what do you mean by add at least one project

add this line - project(Foo)

and where should I add it?

after HunterGate

Closing. Hope new wiki page is more clear. Feel free open new issue if you'll have more questions.


Hi guys,
I have a question:
What is this repo about??
I was trying to compare the olivere/elastic to this repo, after some googling, I found this reply:

Very nice, I totally agree with Alex, for the long term, it's better to go with the official repo, which is this one. However, after trying out the examples, I found the documents EXTREMELY UNHELPFUL. Because the docs are like this:

So I have to switch to olivere's repo, because it works very well. I used his repo (whatever the version it was) couple of years ago for a project, it was also amazing.
However, like olivere said himself: "In the long run, you're probably better off with the official driver".
But if this driver is like this, all the necessary documents are missing, and if olivere doesn't continue to update his repo, all the golang users should write our own code to use elasticsearch?
Some clarity on the plans you guys have for this repo would be great.
** Also I have to be clear, I'm not complaining, at the end of the day, I believe you guys must have other things to worry about

Also, if there is a comprehensive documentation somewhere and I did a bad job finding it, please forgive my ignorance and close this issue.

Hi @adamliuio
The documentation in your screenshot is for a release made in 2019, the current version should be : https://pkg.go.dev/github.com/elastic/go-elasticsearch/v8#section-readme
I'll have a look at the links in the repo, if you can describe how you reached that page that would be helpful!
Furthermore the API also has a godoc page which can be accessed from: https://pkg.go.dev/github.com/elastic/go-elasticsearch/v8/esapi?utm_source=godoc


fix to axis dependent mismatch of jolt joint angular limit gizmo

this is my supposed fix to the jolt joing angular gizmos being wrong.
My initial idea worked only for the x axis, the other axes need to be treated differently.
You can just take this PR as an inspiration and create a cleaner solution, I wont mind. Or edit this one to suit your needs.

Thank you for the attempt! I'll see what I end up doing about this.
(See my comment in #855 for more details.)


Let's revive Milligram!

Is there anybody who's missing Milligram and wants to work on the project? If any scss master wants to revive Milligram I'd be glad to help.

how can I get milligram css class name list

I don't think a revive of milligram makes sense now, it's too late, there is new alternatives like picocss.

@promatik so glad I ran into your comment here! I've been a fan of the minimal, CSS only, no-JS-unless-necessary stuff, and it's great to discover a whole framework that shares exactly these ideas and takes them further. And looks good too.

you should try this mgplus
i created a new project based on milligram with new features


tests/run-tests: explicitly set PATH

Signed-off by: Ian Vernon<EMAIL_ADDRESS>

You want to add a Fixes: #566 in the commit message if it resolves that issue

Will do in the future. Thanks Thomas!


Can't get it work

Hi I can't get it run, it show "Can't load Java8 as lexer or parser", how could I do now?
could you please release a runnable jar file?
your project is very useful for my platform independent library code, it save my large time, please update it for fit swift 2.x and 3.0, thank you!

It would be great if you could update this project so that it is completely standalone. At the moment it has dependencies on your environment, which is a complete unknown to us. Its not safe to assume all of your audience come from the java development side, so this presents an entry barrier that makes your useful project unfortunately a little bit useless. (we all have enough time-vampires of our own to deal with). Could you update it? Or say what your development environment is?

Need to have a crack at creating a dockerfile.


@type is not instantiated in macro finished

The following code shows that @type in macros is not instantiated inside macro finished hook. The same macro method will expand to different code if it's declared outside the macro hook.
class MyBox(T)
  def f
<EMAIL_ADDRESS>  end

  macro finished
    def g
<EMAIL_ADDRESS>    end
  end
end

box_int = MyBox(Int32).new
pp! box_int.f # => "Int32"
pp! box_int.g # => "T", expected "Int32"

box_str = MyBox(String).new
pp! box_str.f # => "String"
pp! box_str.g # => "T", expected "String"

Present at least since Crystal 0.30.1
Related to #6757

This works 😉
class MyBox(T)
  def f
<EMAIL_ADDRESS>  end

  macro finished
    def g
<EMAIL_ADDRESS>    end
  end
end

box_int = MyBox(Int32).new
pp! box_int.f # => "Int32"
pp! box_int.g # => "T", expected "Int32"

box_str = MyBox(String).new
pp! box_str.f # => "String"
pp! box_str.g # => "T", expected "String"

Note the \{{...}}.

To expand on the above a bit more...
If you do this:
  macro finished
    {{ puts @type }}

you will see that "MyBox(T)" gets printed. That's because finished is called once for the uninstantiated generic type. Now becuase there's {{...}} inside the method definition it's expanded right away. It's not expanded differently on every invocation.
If you use \{{...}} that will produce macro code to be expanded when the method is invoked. At that point @type will be the instantiated type and this will work as expected for this use case.
So to me this is not a bug, it's just that nesting macros is confusing... maybe intrinsically.


Get rid of a GCC 9 warning about deprecated generation of copy ctors.

A bunch of these have been cleaned up a while ago, but since we don't
have GCC 9 CI yet, we've missed two new cases added by the recent change
to support Feta.
Internal P4 shelve CL: 28268875, CI running.

I want to use this opportunity to call out the fact that the terrible codename is catching on :)

I'm going with it only to avoid increased confusion. :P


Odd incorrect encoding of heterogenous map

With circe 0.1.1, I'm running the following program:
import io.circe._
import io.circe.generic.auto._
import io.circe.jawn._
import io.circe.syntax._

object Main {
  def main(args: Array[String]) {
    val funnyMap1 = Map("a" -> Map("str" -> "b", "map" -> Map("d" -> 1)))
    val weirdJs1 = funnyMap1.asJson.noSpaces

    println(weirdJs1)
  }
}

With the result:
{"a":{"str":{},"map":{}}}

Seems related to https://github.com/milessabin/shapeless/issues/453. The second map (Map("str" -> "b", "map" -> Map("d" -> 1))) is inferred as Map[String, Object], and Object happens to have a (defective) Generic because of https://github.com/milessabin/shapeless/issues/453.

Thanks for catching this, @tylerprete! That definitely shouldn't compile, and I've created #57 to track new tests that will verify that.


add compact DB mode (--compact-db) to de-duplicate mbtiles output

Context
this addresses point 2 of https://github.com/onthegomap/planetiler/issues/167#issuecomment-1115483329
Overview
the compact DB mode splits the tiles table into tiles_shallow and tiles_data

tiles_shallow contains the coordinates plus a reference on the data ID
tiles_data contains the data ID plus the actual tile data

this allows to de-duplicate content since multiple tiles can reference the same data
in this mode, tiles is realized as a view that joins the two tables tiles_shallow and tiles_data
Impact

it can significantly de-crease the mbtiles file size iff there's many duplicates (ocean tiles) - in case of Australia: 3.1GB -> 1.7GB
it has little to no impact on writing mbtiles (if no dupes it's slower, and the more dupes the faster but not significantly)
reading from the mbtiles is 10-15% slower because of the indirection over the view

some more insights can be found here: PR-impact.txt
Concept
The main idea to realize this is to create a hash over the tile data, and build a map between that hash and a data ID.
Failed Approaches
I was a bit surprised that the impact on writing the mbtiles is little to none. The only explanation I have is that we have to do more inserts than before (tiles_shallow, tiles_data). I tried to offload this "dual insert" from code to the DB. So in planetiler I produced just one insert but the insert was into a view - which then either just inserted into tiles_shallow or both tiles_shallow and tiles_data. This, however, increased the overall mbtiles generation time by almost 20%.
Next
I'd like to address point 1 in https://github.com/onthegomap/planetiler/issues/167#issuecomment-1115483329  either in this or a follow-up PR

Would using a faster non-cryptographic hashing algorithm improve performance much? Or is performance so limited by IO that it doesn't matter?

I got around to testing this using australia-oceania as the region.
Here are the file size differences:
-rw-rw-r--  1 xxxx xxxx 4.9G May 10 14:56 compact.mbtiles
-rw-rw-r--  1 xxxx xxxx 2.3G May 10 14:56 compact.mbtiles.zst
-rw-rw-r--  1 xxxx xxxx  12G May 10 15:16 full.mbtiles
-rw-rw-r--  1 xxxx xxxx 2.4G May 10 15:16 full.mbtiles.zst

When uncompressed, compacted mbtiles are a LOT smaller. There isn't much difference when compressing the files with zstandard, which is probably to be expected.
I tried serving the tiles with tileserver-gl, and while I have no performance figures, the compacted tiles do feel slightly slower than the full tileset. But by the time you add some tile caching into the mix, it may not matter much.

Thanks for this change @bbilger! This looks like a huge improvement

Would using a faster non-cryptographic hashing algorithm improve performance much? Or is performance so limited by IO that it doesn't matter?

Have you tried samplig with visualvm to see how much of a hot spot the hash is?
I'm also looking into generating pmtiles output, and it uses the FNV hash to solve this problem.  I haven't checked for collisions but with a 64 bit hash over 200-300 million tiles it should theoretically be a 1 or 2 out of 1000 chance of a collision, bit it is very simple and fast:
  private static final long FNV1_64_INIT = 0xcbf29ce484222325L;
  private static final long FNV1_PRIME_64 =<PHONE_NUMBER>211L;
  public static long hash(byte[] data) {
    long hash = FNV1_64_INIT;
    for (byte datum : data) {
      hash ^= (datum & 0xff);
      hash *= FNV1_PRIME_64;
    }
    return hash;
  }

Maybe @bdon has a better sense of fnv hash's suitability for planet-scale tilesets?

I guess at the scales we're talking about (millions of tiles), one would really want the chance of collisions to be so low, that you don't have to worry about checking for collisions, otherwise I think you'd have to do a binary compare to know for certain. The last thing we would want for a data tile to collide with an ocean tile and not get included...
I think you end up going with a faster hash algorithm, a 128 bit hash would probably be the safer option, and I imagine it should still be faster than sha1/md5.

@shermp
I wrote "com.onthegomap.planetiler.mbtiles.Compare" to compare reading from equal mbtiles files (e.g. compact vs. non-compact) and to get some idea about the performance decrease. On my machine, reading from australia-compact is 10-15% slower than from australia-not-compact.
@msbarry / @shermp
What I did so far was swapping SHA-1 by Murmur3 128 - and it had zero impact on the performance which made me believe this is not the bottleneck. But all I did was checking the stats produced by planetiler at the end, and haven't analyzed it any further but will try to do so now.
@msbarry
re: 1.: The threshold sounds like a good idea. Do you want it to be configurable as CLI argument?
re 2.: Do I understand the idea correctly that you effectively want to hash twice - in case of a duplicate? First layer would hash into a small space and store the result to a BitSet, and the second layer would use a "real" hash function (e.g. FNV 32) and store the result in a HashMap (hash, dataId). Is the idea here (in case of no duplicate) that the first hashing would be even cheaper, and looking up from a BitSet is a bit faster than from a HashMap? Sorry, just want to double-check that I get the idea, since it adds some complexity and FNV-32 already looks pretty fast.

I tried to address your feedback in https://github.com/onthegomap/planetiler/pull/219/commits/0faa63aad43eb62d8cf3dcb4e86323abc9d544a3 => please let me know what you think.
Testing with Australia, I can barely notice any difference but it seems a tiny bit faster. As I said before, I don't think the hashing is the bottleneck and at least I cannot identify it as one in VisualVM but it's probably the right thing to do to not use SHA-1.
One reason I decided to use SHA-1 in the beginning was that I wanted to avoid any collisions. As such I share @shermp 's concerns that using FNV 32 might be a bit problematic since a collision would be rather bad. Maybe it would be better to use FNV 64, FNV 128, or Murmur3-128?

re: 1.: The threshold sounds like a good idea. Do you want it to be configurable as CLI argument?

Yes, if we go with a size-based approach then configurable would be good, probably with a default of ~20kb.

re 2.: Do I understand the idea correctly that you effectively want to hash twice - in case of a duplicate? First layer would hash into a small space and store the result to a BitSet, and the second layer would use a "real" hash function (e.g. FNV 32) and store the result in a HashMap (hash, dataId). Is the idea here (in case of no duplicate) that the first hashing would be even cheaper, and looking up from a BitSet is a bit faster than from a HashMap? Sorry, just want to double-check that I get the idea, since it adds some complexity and FNV-32 already looks pretty fast.

The downside to option 1 is that a repeated fill tile with lots of attributes could get above 20kb, so option 2 is an adaptive way to identify tiles we might have seen before. On second thought, we'd probably want to use a bloom filter for that, so it's probably simpler just to use a size threshold.

Instead of using a size threshold, could we limit the deduplication only to tiles that have a single layer, or a single feature on a single layer? We know a priori that the deduplication is useful for ocean squares and land squares, which might have arbitrary tags that increase the total tile size. We would need the ability to introspect on the PBF content instead of treating it as a blob. Are there good counterexamples on why this won't work?

It is possible that we can pass through an "is fill" bit for each feature, then inspect easily if all features in a tile are fill polygons without deserializing - that's what I was planning for #168.
So maybe to start on this PR, we could limit the deduping to just tiles with less than some small number of features (1? 2? 5?) and do the more robust fill identification as part of #168 ?  There's a getNumFeaturesToEmit method to get the number of features in TileFeatures argument to the tile encoder without deserializing anything.

"NumFeaturesToEmit" seems like the right thing to do and I implemented it accordingly.
Duplicates in Australia where spread as follows per "NumFeaturesToEmit":
{1=13074826, 2=1359105, 3=397821, 4=13822, 5=73, 7=4, 8=2, 9=2, 18=2}
=> trying to de-duplicate/hash only if less than 5 "NumFeaturesToEmit"
...
gonna tackle packing tiles_shallow x,y,z into one int in the DB now next

Ran some numbers today, looks like it's possible to encode tiles up to zoom level 29 in a 64 bit int.
Considering that at each zoom level, each axis has 2zoom tiles, you can encode tiles such:
Bits 0-4 could be zoom
Bits 5-33 could be y
bits 34-62 could be x
Or any other similar scheme.

:+1:
Someone please correct me if I am wrong but I think the max supported zoom level is 14. This - I think - allows to pack into a 32bit integer.
For "packing" x,y,z into on int, I am using
TileCoord#encode
and on the generated columns, I am currently experimenting with, I am basically using TileCoord#decode

Are you generating the x,y columns as part of the SQL view?

Well, yes but mostly no. Technically the view remains unchanged to what it is now for the compact mode:
CREATE VIEW tiles AS
select
  tiles_shallow.zoom_level as zoom_level,
  tiles_shallow.tile_column as tile_column,
  tiles_shallow.tile_row as tile_row,
  tiles_data.tile_data as tile_data
from tiles_shallow
join tiles_data on tiles_shallow.tile_data_id = tiles_data.tile_data_id

The key change is to have generated and most importantly indexed columns in tiles_shallow:
CREATE TABLE tiles_shallow (
  tile_id integer,
  tile_data_id integer,

  zoom_level integer as ( (tile_id >> 28) + 8 ),
  tile_column integer as ( (tile_id >> 14) & ((1 << 14) - 1) ),
  tile_row integer as ( (1 << zoom_level) - 1 - (((1 << zoom_level) - 1) - ((tile_id) & ((1 << 14) - 1))) )
)
CREATE UNIQUE INDEX tiles_shallow_index on tiles_shallow (zoom_level, tile_column, tile_row)

With a view-only approach like the following we would end up with a full table scan which would hurt read performance badly
CREATE VIEW tiles AS
select
  ( (tiles_shallow.tile_id >> 28) + 8 ) as zoom_level,
  ( (tiles_shallow.tile_id >> 14) & ((1 << 14) - 1) ) as tile_column,
   ( (1 << ( (tiles_shallow.tile_id >> 28) + 8 )) - 1 - (((1 << ( (tiles_shallow.tile_id >> 28) + 8 )) - 1) - ((tile_id) & ((1 << 14) - 1))) ) as tile_row,
  tiles_data.tile_data as tile_data
from tiles_shallow
join tiles_data on tiles_shallow.tile_data_id = tiles_data.tile_data_id

What I can say so far is that:

write performance is mostly unaffected - maybe a slight improvement
file size is slightly lower
haven't tested impact on read yet

:+1:
Someone please correct me if I am wrong but I think the max supported zoom level by planetiler is 14. This allows to pack it into a 32bit integer.
For now yes although it will increase to 15 or 16 at some point in the future.

Someone please correct me if I am wrong but I think the max supported zoom level by planetiler is 14. This allows to pack it into a 32bit integer.

For now yes although it will increase to 15 or 16 at some point in the future.

write performance is mostly unaffected - maybe a slight improvement

+1 I would expect some write performance increase to come from a simpler index structure, but most to come from being able to fit more tiles into each batch with the 999 limit on prepared statement params
Curious how read performance turns out. To query from application layer, it would be relatively efficient to map from x/y/z to tile ID, then lookup the data for it but I'm not sure how possible it is to express that in a sqlite view...

I cannot see a noticeable impact on read performance (BenchmarkMbtilesRead shows something like 1% faster).
The approach - let's call it approach no.1 -  presented here https://github.com/onthegomap/planetiler/pull/219#issuecomment-1124366496 relies on generated x,y,z columns that need to be indexed. Thus the index structure is/should be (mostly) identical.
Unless you want to build a sqlite file that breaks with mbtiles spec, approach no.1 is the only feasible option I can see.
A full table-scan - let's call it approach no.2 - as described at the end of https://github.com/onthegomap/planetiler/pull/219#issuecomment-1124366496 is obviously a no-go.
This bring us to approach no.3:
create view tiles as
  select zoom_level, tile_column, tile_row, tile_data
  from tiles_shallow ts
  join tiles_data on ts.tile_data_id = tiles_data.tile_data_id
  left join zoom_levels
  left join tile_columns
  left join tile_rows
  where ts.tile_id = ((zoom_level-8) << 28) | (tile_column << 14) | (tile_row);

(bear with me if the formula is not quite correct, haven't tested it much but it worked at least for my test coordinates)
zoom_levels, tile_columns, tile_rows are views on a number table (create table numbers (number integer primary key) and it contains numbers from 0 to 1 << 14). I just created it manually but while it's relatively quick (~5ms), it's definitely slower, and it breaks pretty quickly if you don't filter it completely with zoom_level, tile_column, tile_row.

Someone please correct me if I am wrong but I think the max supported zoom level by planetiler is 14. This allows to pack it into a 32bit integer.

For now yes although it will increase to 15 or 16 at some point in the future.

write performance is mostly unaffected - maybe a slight improvement

+1 I would expect some write performance increase to come from a simpler index structure, but most to come from being able to fit more tiles into each batch with the 999 limit on prepared statement params
Curious how read performance turns out. To query from application layer, it would be relatively efficient to map from x/y/z to tile ID, then lookup the data for it but I'm not sure how possible it is to express that in a sqlite view...

I cannot see a noticeable impact on read performance (BenchmarkMbtilesRead shows something like 1% faster).

Cool, I would expect the fastest one to be the original, so mostly interested how much read qps drops with the more compact formats. If we can get a compact format with same read performance as original that would be ideal.

The approach - let's call it approach no.1 - presented here #219 (comment) relies on generated x,y,z columns that need to be indexed. Thus the index structure is/should be (mostly) identical.

OK, is there any benefit of this one then? It seems the same as x/y/z columns, but with some added complexity?

Unless you want to build a sqlite file that breaks with mbtiles spec, approach no.1 is the only feasible option I can see. A full table-scan - let's call it approach no.2 - as described at the end of #219 (comment) is obviously a no-go.
This bring us to approach no.3:
create view tiles as
  select zoom_level, tile_column, tile_row, tile_data
  from tiles_shallow ts
  join tiles_data on ts.tile_data_id = tiles_data.tile_data_id
  left join zoom_levels
  left join tile_columns
  left join tile_rows
  where ts.tile_id = ((zoom_level-8) << 28) | (tile_column << 14) | (tile_row);

(bear with me if the formula is not quite correct, haven't tested it much but it worked at least for my test coordinates) zoom_levels, tile_columns, tile_rows are views on a number table (create table numbers (number integer primary key) and it contains numbers from 0 to 1 << 14). The number table is a trick to get hold of the requested parameters zoom_level, tile_column, tile_row to reconstruct the tile_id. I just created it manually but while it's relatively quick (~5ms), it's definitely slower, and it breaks pretty quickly if you don't filter it completely with zoom_level, tile_column, tile_row.

OK cool thanks for exploring this, but if it's looking like there might not a good way to express this through sqlite views then feel free to ignore!

Also @bbilger let me know if any of those need more clarification, or if you'd rather have me push the change for one to your branch!

@msbarry all is clear. Sorry, I just didn't have to work on it over the weekend. I should have addressed the majority of your comments absolutely latest by Friday.

OK, is there any benefit of this one then? It seems the same as x/y/z columns, but with some added complexity?

The advantage is that write performance increases since the prepared statement will have just 1 vs 3 arguments. Let me re-write the write benchmark then a decision can be based on that.

Sorry for the delay, this looks great! Leaving a few minor comments, but I see no major issues remaining before we merge. Thanks for putting this together and improving the code long the way!

Absolutely no problem. Thank you for the review and the feedback. I tried to incorporate your feedback in this commit https://github.com/onthegomap/planetiler/pull/219/commits/c65c7b7d23007973e0d4cf8cab4ed673d91be3d9 . Let me know if there's anything else.

Ran some tests this morning on the planet with this branch merged with #225.  --compact-db appears to improve write throughput by 5%, hurt read throughput by 5%, and make the mbtiles file about 25% smaller.
--compact-db=false:
0:38:41 INF - 	mbtiles          14m13s cpu:5h45m29s gc:45s avg:24.3
0:38:41 INF - 	  read    2x(24% 3m22s sys:58s wait:8m20s done:28s)
0:38:41 INF - 	  merge   1x(35% 5m3s sys:13s wait:8m26s done:13s)
0:38:41 INF - 	  encode 62x(33% 4m38s sys:8s wait:8m53s done:13s)
0:38:41 INF - 	  write   1x(87% 12m25s sys:1m29s wait:55s)
0:38:41 INF - ----------------------------------------
0:38:41 INF - 	features	184GB
0:38:41 INF - 	mbtiles	104GB

--compact-db=true:
0:37:38 INF - 	mbtiles          13m29s cpu:5h50m42s gc:46s avg:26
0:37:38 INF - 	  read    2x(26% 3m29s sys:1m1s wait:7m18s done:25s)
0:37:38 INF - 	  merge   1x(32% 4m22s sys:14s wait:8m23s done:11s)
0:37:38 INF - 	  encode 62x(35% 4m44s sys:9s wait:8m2s done:11s)
0:37:38 INF - 	  write   1x(87% 11m40s sys:1m18s wait:53s)
0:37:38 INF - ----------------------------------------
0:37:38 INF - 	features	184GB
0:37:38 INF - 	mbtiles	84GB

The read benchmark shows about 67.7k reads/s with regular and 64.7k reads/s with compact (I was running short on time so did a smaller test)
0:00:00 DEB - argument: bench_repetitions=3 (number of repetitions)
0:00:00 DEB - argument: bench_nr_tile_reads=50000 (number of tiles to read)
0:00:00 DEB - argument: bench_pre_warms=1 (number of pre warm runs)
0:00:00 DEB - argument: bench_mbtiles=data/output.mbtiles,data/compact.mbtiles (the mbtiles file to read from)
0:00:36 INF - working on data/output.mbtiles
0:00:43 INF - readOperationsPerSecondStats: DoubleSummaryStatistics{count=3, sum=203141.152027, min=62994.850298, average=67713.717342, max=70282.853583}
0:00:43 INF - working on data/compact.mbtiles
0:00:51 INF - readOperationsPerSecondStats: DoubleSummaryStatistics{count=3, sum=193959.728756, min=63488.766430, average=64653.242919, max=65851.192021}
0:00:51 INF - diffs
0:00:51 INF - "data/compact.mbtiles" to "data/output.mbtiles": avg read operations per second improved by 4.73367504185164%

Previous tests before this change took about 12m +/- 10s to write mbtiles so I don't have any concerns about --compact-db=false performance being different from what's on main now.


improve compatibility with self-hosted compiler

This is enough fixes/workarounds for make zigimg's png format work with the self-hosted compiler. The other formats don't work still (I have commented them out temporarily for my purposes.)
One issue (https://github.com/ziglang/zig/issues/12543) was particularly confusing, so I figured this PR is useful at least as a reference of what you might face. But if you prefer not to merge it, no worries at all!

Are you saying that png loading is actually working with your changes or are you saying that it just compiles? I am asking because I managed to fix everything so that it compiles but the tests are failing because @sizeOf packed structs is again reporting wrong values and so utils.readStructNative and utils.readStructForeign don't work correctly.

https://github.com/ziglang/zig/pull/12613
std.meta.FnPtr might improve that PR a lot

Closing in favor of #86 - sorry for the incomplete PR and delay :)


Compilation always end with Error: Could not find SDK "WindowsDesktop, Version=10.0.18362.0"

Describe the bug
Although I have SDK 10.0.18362.1 installed and 10.0.22000.194 installed I always get the error:
Could not find SDK "WindowsDesktop, Version=10.0.18362.0"
It is impossible to get the required SDK from Microsoft, only 10.0.18362.1 is available, so why do you fix this version?
I try to change the csproj without success.
Steps to reproduce the bug

Steps to reproduce the behavior:

Download and compile

Expected behavior
Works
Actual behavior
Severity	Code	Description	Project	File	Line	Suppression State
Error		Could not find SDK "WindowsDesktop, Version=10.0.18362.0".	XamlControlsGallery
Screenshots

Version Info
Most recent Visual Studio 2019 version and Windows Version.
Additional context
Windows version:
Most recent
Device form factor:

[ x] Desktop
[ ] Mobile
[ ] Xbox
[ ] Surface Hub
[ ] IoT

Path

这个是路径的问题，我猜你也没有把SDK下载到C盘

Hi @EricOuellet2 , can you take a screenshot of the workloads installed in the Visual Studio Installer? While the SDK seems to be installed, it seems that VS has a different opinion of this.

@EricOuellet2 I'll close this issue for now. Feel free to reopen it if you are still encountering this issue :)


Document available configuration options

If you choose to merge #19, I can knock this out quickly since I mapped this out for my own reference before making those changes but was outside the scope of that PR.

Go for it @PizzaBrandon


app.eo:3-15: To fix and enable the test below. There are...

The puzzle 38-f0504996 from #38 has to be resolved:
https://github.com/objectionary/sandbox/blob/49837ed67657b1448eac09fd6003ac51a6bb1772/eo/sandbox/app.eo#L3-L15
The puzzle was created by @levBagryansky on 22-Jan-24.
Estimate: 30 minutes,  role: DEV.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

@maxonfjvipon please assign me

@yegor256 @maxonfjvipon Since txt objects were removed from home in pr https://github.com/objectionary/home/pull/201 How to use such objects here?

@levBagryansky sure


adding configuration docs

@dalebremner @brianparry could you verify the correctness of this to match https://github.com/RackHD/on-core/pull/43?

:+1:

@heckj This looks accurate
@bossidy I think we're better off linking to constants.js.  That way we don't need to worry about the code and the docs getting out of sync.
:+1:


Form URL Decoder should support Int -> Bool

0 would be false, etc

Track here: https://github.com/vapor/url-encoded-form/issues/3


bug: Some elements depend on using backgrounds, which break for print media

What version of daisyUI are you using?
latest
Which browsers are you seeing the problem on?
Chrome
Reproduction URL
https://play.tailwindcss.com/wWndQ9FxeZ
Describe your issue
When printing browsers remove background colours to avoid excessive use of ink and other problems. But many of the Daisy components use background colour as part of it's feature this breaks. I've only tested on Chrome (Linux), but am certain this is a cross browser issue.
ATM I'm just using a .print-fix class:
.print-fix {
    print-color-adjust: exact;
}

Though, I expect this is low severity as few people are doing anything with print media
@media screen aka "normal view"

@media print aka from print preview

This is a common issue with print styling, especially when working with components that rely heavily on background colors for their design and branding, as with DaisyUI components. Most browsers disable background colors by default for print to save ink, but in certain cases, like in your use case, preserving these colors is essential. The solution you’re using with the .print-fix class and print-color-adjust: exact; is actually the correct approach for handling this, and it’s often the most effective fix.
Here’s a more detailed solution:
Solution

Global Print Style:
You can add a global print style in your CSS to apply print-color-adjust: exact; to all DaisyUI components if you need this fix applied broadly across your app.
@media print {
    /* Apply to all elements with DaisyUI classes */
    .btn, .card, .badge, .alert, .navbar, .dropdown, /* add more as needed */ {
        print-color-adjust: exact;
    }
}

Target Specific Components:
If only certain components need color preservation, use a more targeted approach in your print stylesheet. For example:
@media print {
    .card, .alert, .badge {
        print-color-adjust: exact;
    }
}

Using .print-fix Class:
Since you’re already using a .print-fix class, you can add this class to any DaisyUI component that needs color preservation, rather than styling every component individually.

Custom Print Styling:
If certain colors are too intense for print, consider using @media print to adjust them to lighter shades to improve readability and reduce ink usage.

Additional Considerations

Testing: While you’ve confirmed this issue on Chrome, it’s good to test on Firefox and Edge, as some browsers have minor differences in how they handle print rendering.
Framework Updates: Check DaisyUI’s changelogs for updates, as print compatibility improvements may be added in future releases.

The approach you’re using is effective, and it should maintain consistent print color handling across your app without disrupting screen display styles.


fix: use absolute path in command and script for KUBECONFIG

Explanation
Use absolute path in command and script for KUBECONFIG.

/cherry-pick release-0.2


option to choose/disable textobjects-move module adding to jumplist

Is your feature request related to a problem? Please describe.
I'm always frustrated when [not a problem exactly, but when textobject/move adds to jumplist.]
Describe the solution you'd like
I would like to just move away to my hearts content around the code and not worry about populating the jumplist with<EMAIL_ADDRESS>etc..
Additional context
Textobjects/move is a great feature. it makes navigating through code so much more intuitive, especially in large pages. But I would like to keep the jumplist separate so I can navigate back only to places where I have some edits instead of  revisiting random "inspection" jumps from the past. It would make the move module even more necessary and good to use.
Goes without saying, thanks for this plugin, for me personally this and playground are the most important tree-sitter modules to be!

Could you try #51? This only applies to the textobject.move module right?

Just forked it and gave it a try! works like a charm!
This is fantastic
And yes, it is for textobject.move
Thank you so much not only for the fix but also the speed of it!

What do you mean by immediatelly? Maybe there is something that implicitly sets jumps.
The PR only avoids to call https://github.com/theHamsta/nvim-treesitter/blob/06a6510637352251b1d43a1e81d3a9d951cfd0a5/lua/nvim-treesitter/utils.lua#L132-L134 explicitly.
We use nvim_win_set_cursor which does not set jump on my machine (at least  does not consider the textobject.move commands). Would :h setpos here (https://github.com/theHamsta/nvim-treesitter/blob/06a6510637352251b1d43a1e81d3a9d951cfd0a5/lua/nvim-treesitter/ts_utils.lua#L302) change the behavior for you that has in its doc that it does not set jumps.

By immediately I mean the "normal" jump lists are set as and when the jumps happen. But with the feature of the PR, (textobject.move with set_jumps=false), the jumplist for the move is updated only when I exit the buffer, not until then.
I will check for the call in a few hours!

Can you check whether this line still gets called on your machine?

Just added an echo to it to see whether it gets called. With the set_jumps set to false, it does not call the function!
It is strange that it still updates the jump list, only on buffer exit

I'm really not an expert on how this works. Is there a sequence of commands on how o can reproduce this so I can ask about it (nvim_set_cursor) at Nvim gitter?
Do you have the same problem when you just call nvim_set_cursor instead of the text object movements?

I'm really not an expert on how this works. Is there a sequence of commands on how o can reproduce this so I can ask about it (nvim_set_cursor) at Nvim gitter?

I honestly dont know how to reproduce it as its not always consistent. For what its worth, I would do these:

Open a buffer with lots of functions/classes/symbols to jump around in
execute the textobject.move jumps
check :jumps to see if these are added (it wont have)
exit session
open vim, same or different session/buffer and check :jumps. good chance it would have updated the said jumps

Do you have the same problem when you just call nvim_set_cursor instead of the text object movements?
Sorry but i dont know how to call nvim_win_set_cursor(opts). if you mean the default vim jumps such as ]], ]} etc.. then they dont have this problem. they update/add to jump list immediately when called/jumped

This is the only move related function that we are calling (second argument cursor pos)
:lua vim.api.nvim_win_set_cursor(0, {2,2})

When you can reproduce your issue only by calling this function then it's likely a Neovim issue.
I can't reproduce your issue. I never see any jumps with :jumps when set_jumps = false. For me it only sets a jump at the exact position where you exited nvim

you are right! I can reproduce calling the _set_cursor(args) function.
I suppose its a neovim issue.
Then your PR works wonderfully!
Thank you

Maybe you open an issue at Neovim. I'm sure they can help you much more than I.

Thank you for the help with gitter! I will create an issue on neovim later today. Also for this feature!
Shall I close?


Day Planner doesn't find existing "# Day Planner" heading, linking doesn't work

Hi, thanks for this fantastic plugin, I've been using it daily since I found it!
I have added the "#Day Planning" heading to my daily note template already, so whenever I create today's note, the planning heading is already there. Unfortunately, the planner plugin doesn't seem to recognize that, I assume it keeps a separate database?
The option "Day Planner: Link today's Day Planner to the current note" from the command palette doesn't seem to have any effect either, but maybe I'm using it wrong.
Best regards!

Yes, the links between a markdown files and a particular date are stored in plugin data (alongside the plugin settings) so that a day planner can be added to any note.
Could you post the example of the tasks content you have when trying to link the note? Also, are there any errors in the console when you try to use the link command?

I feel a little silly now. I made a mistake in the heading, it was #  Day Planner when it should have been # Day Planner. There was an extra white space in between the hash and the word Day.
Linking now works just as expected, sorry for the pointless bug report.
Though now while I'm at it, could you add notifications? An error notification like "Required Heading not found" or the like would have been great. And maybe a notification when the day planner was successfully linked.


Upgrade @actnowcoalition/regions for metrics

I tried to use MetricData(metric, region, value) when implementing the MetricOverview component, but I couldn't because the version of @actnowcoalition/regions in ui-components and metrics are different. This PR updates metrics to use the latest @actnowcoalition/regions.

Agreed, that's probably the simplest way 👍


undefined is not an object (evaluating 'this.config.exclude') in line 40

Hi,
if I run your script i get this error in line 40.
It seems that this.config is not defined. Did i missed something. The widget shows: "Loading music"
Thx. Andi

Did you set exclude in your config? By default it is set to [], so it shouldn't be null.
BTW: Line 40 is not correct, this.config.excludeis only used in line 39 or 45. Is your code up to date?

I used the config from the realm.md:
{
module: 'sonos',
position: 'top_right', // you may choose any location
config: {}
}

Also tired this config, but got the same error message:
{
module: 'sonos',
position: 'bottom_right', // you may choose any location
config: {
showStoppedRoom: false,
showRoomName: true,
showAlbumArt: true,
exclude: ['Wohnzimmer']
}
},

So this is solved? What was wrong?

No, still the same error. Completely reinstalled magic mirror and the sonos module on a blank raspberry installation.
Still the error on line 39
If i comment the section out, the module works

hm.. Is this working for you right now?
I'm not at home for Christmas. I'll can have a look at it on my mirror next year.


Can't install websync TypeError: Cannot read property 'base' of null

Hi,
i have tried to install websync on my old debian server.
First of all i have to install many packages like:
sudo npm install -g bower
sudo npm install --global gulp
sudo npm install isarray
sudo npm install core-util-is
sudo npm install inherits
sudo npm install xtend
sudo npm install jshint
sudo npm install map-key

Now if i try to build with gulp build i got the following error:
/opt/websync/node_modules/gulp-concat-css/index.js:55
      base: firstFile.base,
                     ^
TypeError: Cannot read property 'base' of null
    at Transform._flush (/opt/websync/node_modules/gulp-concat-css/index.js:55:22)
    at Transform.<anonymous> (/opt/websync/node_modules/gulp-concat-css/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:135:12)
    at Transform.g (events.js:180:16)
    at Transform.emit (events.js:117:20)
    at finishMaybe (/opt/websync/node_modules/gulp-concat-css/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:371:12)
    at endWritable (/opt/websync/node_modules/gulp-concat-css/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:378:3)
    at Transform.Writable.end (/opt/websync/node_modules/gulp-concat-css/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:356:5)
    at Transform.onend (/opt/websync/node_modules/gulp-changed/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:523:10)
    at Transform.g (events.js:180:16)
    at Transform.emit (events.js:117:20)

Is there some dependency missing?

Same problem in Ubuntu 12.04...
I've tried everything but is not working... The error is the same as reported.

Ubuntu server 14.04 same error

same
npm ERR! node v0.12.7
npm ERR! npm  v2.11.3
ubuntu 14.04

I ran into this problem on 14.04 as well, turns out the alertify css file changed names. #34

Merged pull request #34, didn't have time to verify the PR so please speak up if it messed up things for other users not having this issue...

i built succesfully from the latest PR like this
cd /app/websync
npm install
bower install
gulp dist || true
rm -rf /app/websync/dist
gulp dist

in this dockerfile
https://github.com/linuxserver/docker-websync/blob/master/Dockerfile


[Feature] Multiple where conditions support in Firestore queries

Currently, we can only set a single where condition in Firestore queries. Please add support for setting multiple where conditions.

Design with current design system -
A simple Condition card with three inputs and "+ Add Another" input
Figma - https://www.figma.com/file/fSQka3FpHBA6KnFqSZ6X1N/Firestore-Query-form?node-id=0%3A1

@aakashDesign
can we also have an option to convert to JS?
How does a user delete a field?
How does a user select whether it's an and/or condition?
I don't think "leave empty" is a great state. Notions empty state for filters would work great here!

@Nikhil-Nandagopal Thanks for the great feedback, I've updated the design @ApekshaBhosale

Added delete button
Better empty state
And/Or dropdown after the first condition

I checked with @mohanarpit we can't have JS input for firestore.
https://www.figma.com/file/fSQka3FpHBA6KnFqSZ6X1N/Firestore-Query-form?node-id=0%3A1

That's weird, why is that the case. Under the hood it should just be a json that is editable right? @mohanarpit

@sumitsum are we supporting nested conditions as well? If yes, @aakashDesign how will this design work in that case?
what about grouping the conditions?
Example  - Condition1 || ( Condition2 && Condition3 )

Linking internal discussion document related to this https://www.notion.so/appsmith/Firestore-where-conditionals-design-preliminary-thoughts-eaf6f5e2c4284fd885d9bba93673f4a3

The value field is breaking and due to that delete button is not in user focus
There is no And/or Condition dropdown

@YogeshJayaseelan can you please describe how to reproduce this ? I am not able to see this on my setup :

@YogeshJayaseelan And/or condition dropdown wouldn't exist because firestore does not support or condition.


index: add missing titles and use cases

It looks like the 'index' page was missing titles and a section about use-cases (suggested on Fediverse).

I suggest to already merge this while the website is being shared on social media. Improvements can be done later.


chore: change max script length to 100

Fixes https://github.com/rrd108/vue-mess-detector/issues/50

Thanks for the PR


DXCDT-389: Add codecov badge to readme

🔧 Changes
This PR:

Adds the codecov badge on the readme
Changes the goreleaser job to only run on new tags
Fixes the if check on integration tests to stop skipping merges to main

📚 References

🔬 Testing

📝 Checklist

[x] All new/changed/fixed functionality is covered by tests (or N/A)
[x] I have added documentation for all new/changed functionality (or N/A)

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@a04b1a2). Click here to learn what that means.
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #660   +/-   ##
=======================================
  Coverage        ?   49.10%
=======================================
  Files           ?       92
  Lines           ?    11550
  Branches        ?        0
=======================================
  Hits            ?     5672
  Misses          ?     5505
  Partials        ?      373

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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


Simplify using new helper function in verror

Coverage decreased (-0.06%) to 92.101% when pulling fb3b6e86142825099b0dd07fdf4a8b305e70be50 on paulmelnikow:verror into 95744d9257281be59c71e3dd106bbaf06379e2b8 on MarkHerhold:master.

Per previous discussions, seems like dropping support for old versions of Node is fine. Node 5 is not even in LTS.

Coverage decreased (-0.06%) to 92.101% when pulling c6e09fcb02a87b0ea87ac1b88824340ed6ed90fb on paulmelnikow:verror into e2b0605fec046608164548f29e9bdfd62d56b045 on MarkHerhold:master.


Add custom errors hook and capability to prevent saving the page

Is your feature request related to a problem? Please describe.
I have played around with React template and made my first field type plugin in this new new API. Unfortunately, I found out that there is no error interception or some hook to prevent CMS from saving, so I could make custom error handling within the field type plugin.
Describe the solution you'd like
My plugin is much more advanced and acts rather like a widget with input and some more inputs generated dynamically, so I have error handling to prevent invalid cases. The example could look like in the additional context.
My FieldPluginResponse.data.content is not a string, but rather an object {}, so I have to have custom error handling for better and UI with guided output.
I do not want to imply exact solution, but from top of my head there could be some setError (similar to setContent), so CMS could check it before saving the page and would generate the messages queue of single string and/or array of strings which are set by the field plugin. The rest could be part of the usual flow - that error icon next to Publish button to hint user to resolve listed errors.
Additional context

Hi @edvinasjurele , Thanks for trying this and letting us know what you think :)
To better understand your situation, your content is not a string, but rather an object. But in what kind of scenario, could there be a string instead of object?

Hi, sure, first of all tremendous job guys!
Well, the initial problem is much complex.
Coming from the react world and react-intl which is in ICU format - I am trying to do Storyblok Field Plugin to enable ICU message syntax format handling. I see that Storyblok does not support such thing, but I am sure it should do it natively (we might contact SB separately via company channels) in the long ru. We need it so hard!
The only hope now is to make it via custom Storyblok Field plugin, so I did my best here:

The outcome of such plugin is and lands to be part of the response JSON:
{
  "type": "icu",   // this is added just to distinguish the object in response JSON
  "identifier": "Hello, {who} and {company}!",
  "values": {
    "who": "Eunjae Lee",
    "company": "Storyblok"
  }
}

I am using the ICU Message Format Parser in the runtime.

If it happens so that the content must be a string, well, one of the wild ideas would be to make this object into some contracted string, but then the we should destructure it in the response as well as in some translations systems we would like to integrate Storyblok with. This sounds super sketchy..
Anyway, the problem is there eitherway that we cannot ensure the validity of the string, atm it is limited to only Required field checkbox on the Storyblok side. I am sure it may be logical to make field plugins joining the error handling flow, so the flield plugin authors could adapt the CMS to their needs better.
Let's see if there is any takeaway out of my situation in regards to improving field plugin API 🙏

Hey @edvinasjurele thanks for providing the details!
Just in case you're missing this, you can use an object as content.
setContent({
  "type": "icu",   // this is added just to distinguish the object in response JSON
  "identifier": "Hello, {who} and {company}!",
  "values": {
    "who": "Eunjae Lee",
    "company": "Storyblok"
  }
})

This is totally possible. The only potential issue in this situation, in my opinion, is somehow user or another plugins like Tool mistakenly put a wrong value to this field. To recover from this situation, you may consider using validation libraries like zod. If invalid, you ignore the previous value.
parseContent as a part of parameters to createFieldPlugin has been suggested: https://github.com/storyblok/field-plugin/issues/201#issuecomment-1571586665
Would it solve your issue? What do you think? Let me know if I missed something :)

Thanks. I am totally aware that it is possible to set the content as object, that is not a problem, I even made field plugin fully functional as Proof-of-Concept. But... I cannot make CMS aware of errors. at all :) zod helps for logic within the field plugin itself, but I can save the data even if there is an error inside the field plugin:
https://github.com/storyblok/field-plugin/assets/9308445/f4e57479-3837-4447-a73f-1f67547bb633
How should I solve that?
IMHO, the CMS should be able to stop (intercept) content editor from saving the data and throw errors, as it is truly in broken state. So even if I would ignore value or restore some previous value (btw, making field plugin state valid all the time is not possible as I need to allow user keep writing the text.. it is just not possible to write character by character and be in valid state at all times. so this leaves my data in one of two states - broken and valid), I still cannot prevent user click that Save or Publish button at any time and set broken data.
We can forget the object notation, that bit is clear. Let's stay with simple string for now as a value. If I would do field plugin which has some regex validation which only allows some certain values to be entered, I could not intervene or force content editor to not save broken data to the database, even if I clearly state that there is an error within the field plugin. That is my problem.
I hope this makes situation clearer 🙏

@edvinasjurele Currently we don't have a way for a field plugin to tell the Visual Editor about its validity of the data. At this moment, it's not possible to disable "Save" button on the top navbar, or something like that. I'm initiating the discussion with the team responsible of the Visual Editor, but I cannot guarantee when and if we will have this feature.
However, in the meantime, your workaround would be to call setContent() only when the data is valid, and to show errors while invalid, instead of calling setContent() at every onChange.
What you do think? Does it make sense to you? I'm happy to hear more from you to improve Field Plugin SDK 😊

No worries, no rush. Leave this task open till you guys find any solution, but IMHO error handling is something to improve here.
In regards to workarounds, none of them fits my situation or makes situation worse, so I may rely on the whoever to make sure they manually check for invalid data and be aware about it before hitting Save.
I am sure setContent() may be hook for live-editing experience. Also setting the value to previous valid or some other, may be conceptually wrong as it does not preserve the most recent state, so editor experience will be bad after refresh the page or getting back to same story after some time - setContent is the only method to preserve the data besides React internal state which lasts only until the field-plugin unmounted/mounted again.

Hey, any news on this?

Hi @edvinasjurele, glad to hear from you again.
No, not yet. However, we have recently collaborated closely with the Visual Editor team. We have made significant updates to the Field Plugin SDK and corresponding changes in the Editor. These updates will allow us to easily add functionalities in the near future.

Hey there. Is there any news on this? We are facing this exact same problem

Same here, would be good to make this possible.

@marckraw Eunjae is no longer part of the team, from now on, you can tag @storyblok/plugins-team so the entire Plugins team can get notified next time 🙏
There wasn't any progress on this matter afaik, but I will double-check internally if there was a plan for this ticket in this quarter and add your company to increase the priority 🫂


Return multiple middlewares in ::create()

It'd be cool if in the closure for ::create() i could return an array of middlewares instead of just one new one. Example use case would be something like
Middleware::create("/admin", function() {
    return [
        new AuthMiddleware(),
        new AdminMiddleware()
    ];
}

This can be done using a library like psr7-middleware-stack that creates a middleware component in which you can add more components. Example:
Middleware::create('/admin', function () {
    return (new MiddlewareStack())
        ->add(new AuthMiddleware())
        ->add(new AdminMiddleware())
});

I think Relay has not this feature (allow to use the dispatcher as a middleware component), but should be great.
Anyway, this feature cannot be implemented in this package because it requires to create a middleware dispatcher that is out of its scope.


Is there a new release coming?

Great library.  I have found it really useful.   I wondered if there is npm release coming?  I am seeing some features in the README that don't seem to be avaiable in the latest release v1.3.1.

duck.storeaccessor doesn't seem available.   Only seems available from duck.options.
constructLocalized isn't exported as demonstrated in the README

Thanks again!

Done! v1.4.0

Awesome!  Thanks guys!


Fix "similar-code" issue in src/components/logo/index.tsx

Similar blocks of code found in 3 locations. Consider refactoring.
https://codeclimate.com/github/bylapidist/components/src/components/logo/index.tsx#issue_5ec9a24799ff100001000065

:tada: This issue has been resolved in version 2.0.5 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Incremental builds don't fully clean up stale build output

This means it's not possible to rely on incremental builds for CI deployments.

As part of this work, we should check that deleted documents are removed from the intermediate store.


Geothermal power plant is missing

Description of the issue
In general, we have all power plants in parallel to the power units. However, there is a geothermal power unit, but no geothermal power plant.
Ideas of solution
Define geothermal power plant as: A geothermal power plant is a power plant that has geothermal power units as parts.
Workflow checklist

[ ] I discussed the issue with someone else than me before working on a solution
[ ] I already read the latest version of the workflow for this repository
[ ] The goal of this ontology is clear to me

I am aware that

[ ] every entry in the ontology should have a definition
[ ] classes should arise from concepts rather than from words

Oh, geothermal power plant (OEO:00000192) exists, but I did not find it.


[BUG] Authentication not working with oauth2

Describe the bug
Authentication not working with oauth2.
To Reproduce
Trying to implement oauth2 according to swagger documentation.
security: {
    BearerAuth: {
      type: "oauth2",
      scheme: "bearer",
    },
  }

Does not work unfortunately. Also, I can not add scope and token URL information.
Expected behavior
I want to be able to add OAuth2 authentication method to swagger config, including scope and token URL information

Hi @thomasuebi,
Thanks for reporting. I'm sure it is not working so we will work on this asap. 👍

I'm working on an API that uses OpenID and would be happy to try testing the fix when it's available. Note that there's an additional bug in swagger-ui that I ran into: https://github.com/swagger-api/swagger-ui/issues/8315


Error parsing hexadecimal operands in pushimm

In pushimm you strip the 0x from hexadecimal numbers before passing them to disp_to_dec which expects the 0x prefix (without it it treats the number as decimal).
This leads a potential crash in the zeropad function in case the decoded number fits into a smaller operand than the actual argument.
For exampe 0x100 is treated as 100=0x64, which would fit into a single byte and then zeropad("100",2) is called and crashes (because we're trying to pad a 3 character long string to a length of 2 and ruby doesn't like "0"*-1). Furthermore, any string containing digits a-f is decoded by disp_to_dec as 0, making the issue much more common.
I didn't check the rest of the program, but this bug may also be present elsewhere.

I believe I have fixed this now, thanks for catching that bug. I searched and found 2 other routines that had similar regex capturing (leading to the root cause of this issue) and made sure it didn't have similar issues. Here is an output of a session after the code change:
irasm > push 100
6A64                              push   0x64
irasm > push 0x100
6800010000                        push   0x100
66680001                          pushw  0x100    (WORD Sized Alternate)
irasm > push 0xff
6AFF                              push   0xffffffff

I was thinking something like this:
               elsif disp_to_dec(ammount) > 65535 and disp_to_dec(ammount) <<PHONE_NUMBER> then                         if extracted = /^0x(.+)$/s.match(ammount) then                                 ammount = extracted.captures[0]                         end                         ammount = littleend(zeropad(ammount, 8))                         m1 = '68'                 elsif disp_to_dec(ammount) ><PHONE_NUMBER> and disp_to_dec(ammount) <<PHONE_NUMBER> then                         if extracted = /^0x(.+)$/s.match(ammount) then                                 ammount = extracted.captures[0]                         end                         ammount1 = littleend(zeropad(ammount[6,2], 2))                         m1 = '6A'                         instruction_alt = objdump(m1 + ammount1)                         printf("%-34s%-15s\n\n", m1 + ammount1, instruction_alt)                         sanity_check(m1 + ammount1, instruction)        #See if this output matches nasms                         ammount2 = littleend(zeropad(ammount, 8))                         m1 = '68'                         instruction_alt = objdump(m1 + ammount2)                         printf("%-34s%-15s\n\n", m1 + ammount2, instruction_alt)                         sanity_check(m1 + ammount2, instruction)        #See if this output matches nasms                         return 1                 end
Ouptut:
`irasm > push 0xffffffff
6AFF                              push   0xffffffff
68FFFFFFFF                        push   0xffffffff
irasm > push 0xffffff80
6A80                              push   0xffffff80
6880FFFFFF                        push   0xffffff80
irasm > push 0xffffff7f
687FFFFFFF                        push   0xffffff7f
`

And I just now realized that push 0xff can not be encoded as 6A, because it's a positive integer and 6A can only handle positive integers up to 0x7f.
I gotta go now, but give me an hour and I'll post complete pushimm code.

Looking good then. If you're going to write some code, might as well do a pull request right? get some credit for it, aka officially contribute.

Nah, I have no idea how this whole git thing works and I don't care about getting rep on this handle anyway.
Here's the code:
	#GateKeeper Parse
	if extracted = /^push\s((\d{1,10})|(0x[a-f0-9]{1,8}))$/i.match(instruction) then
		ammount_unsigned = disp_to_dec(extracted.captures[0])
		if ammount_unsigned < 0 or 0xffffffff < ammount_unsigned then # shouldn't be negative, but decimal number could be too large
			return false
		end
		if ammount_unsigned < 0x80000000 then
			ammount_int = ammount_unsigned
		else
			ammount_int = ammount_unsigned - 0x100000000
		end
	else return false end

	if -128 <= ammount_int and ammount_int < 128 then
		ammount = littleend(zeropad((ammount_unsigned & 0xff).to_s(16), 2))
		m1 = '6A'
		instruction_alt = objdump(m1 + ammount)
		printf("%-34s%-15s\n\n", m1 + ammount, instruction_alt)
		sanity_check(m1 + ammount, instruction)	#See if this output matches nasms
	end

	if -32768 <= ammount_int and ammount_int < 32768 then
		ammount = littleend(zeropad((ammount_unsigned & 0xffff).to_s(16), 4))
		m1 = '6668'
		instruction_alt = objdump(m1 + ammount)
		printf("%-34s%-15s (WORD Sized Alternate)\n\n", m1 + ammount, instruction_alt)
	end

	ammount = littleend(zeropad(ammount_unsigned.to_s(16), 8))
	m1 = '68'
	instruction_alt = objdump(m1 + ammount)
	printf("%-34s%-15s\n\n", m1 + ammount, instruction_alt)
	# nasm will use the 6A opcode whenever possible, so the sanity check will fail for single byte operands
	if ammount_int < -128 or 128 <= ammount_int then
		sanity_check(m1 + ammount, instruction)	#See if this output matches nasms
	end
	return 1

end

I've tried all the edge cases I could come up with, so hopefully there aren't any bugs.

Fair enough. I tested as well, pretty good improvement, thanks. Code is updated again.


Hyperband/bayesopt cleanup

Description of changes:
Code cleanup after bayesopt/hpo removal
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Job PR-1488-1 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-1488/1/index.html


Drop Scala 2.11

Review by @lightbend/scala.

seems early for this? we only just dropped 2.10 support... lots of 2.11 still out there. nearly all open source libraries still have 2.11 in their cross-builds

So a few thoughts:

2.11 is EOL, so I want to drop support for it
The "drop" I'm doing here is actually just in testing, the code as is (which runs on sbt 1.0/Scala 2.12) will still work against 2.11 jars (though, of course, more changes could land that wouldn't've if we kept testing against 2.11)
Users that still want to use 2.11 can continue to use MiMa 0.3.0 (or we could cut 0.4.0 with current master, and merge this after that)

Anyways, that's my pitch.

Is retaining testing for 2.11 causing significant burden? It seems like it would be better to drop it here after we're no longer publishing any 2.11 artifacts for any other project.

Well, some of the test cases have different behaviours for pre-Scala 2.12 and after 2.12.  I've actually found my first test case where it behaves differently in 2.13 than 2.12.  So there's that.  Also (and I know these details less) these differences are also handled inside MiMa's analysing code, so that could be simplified too.
I'm not sure how broadly you mean when you say "any other project" but either way they can continue to use MiMa 0.3.0 (or 0.4.0).

they can continue to use MiMa 0.3.0 (or 0.4.0).

but that only works for non-cross-built projects, right? and since MiMa is an sbt plugin, you can't say "use this version if scalaVersion is 2.11.x and this other version otherwise", you have to choose a version.

That's correct, if you still cross build to 2.11 you'll have to use a version of MiMa that supports 2.11, which is identical to libraries (I don't see too frequently "if Scala 2.11 use Akka 2.5 else 2.6")

Let's cross this bridge another day.


ArgumentError: odd number of arguments for Hash

$ telnet 0 11211
Trying <IP_ADDRESS>...
Connected to 0.
Escape character is '^]'.
add foo 0 0 5
bar
STORED
get foo
VALUE foo 0 5
bar
END
quit
Connection closed by foreign host.

$ gem install memcached_stats
Fetching: memcached_stats-0.0.2.gem (100%)
Successfully installed memcached_stats-0.0.2
1 gem installed
$ irb
require 'memcached_stats'
 => true
stats = MemcachedStats.new
 => #<MemcachedStats:0x00000001268990 @host="localhost", @port=11211, @slab_keys={}>
stats.fetch_all_slab_keys
 => true
 stats.slabs
 => {"1"=>{"number"=>"1", "age"=>"211", "evicted"=>"0", "evicted_nonzero"=>"0", "evicted_time"=>"0", "outofmemory"=>"0", "tailrepairs"=>"0", "reclaimed"=>"0", "expired_unfetched"=>"0", "evicted_unfetched"=>"0"}}

stats.fetch_stats
ArgumentError: odd number of arguments for Hash
	from /home/me/.rvm/gems/ruby-2.2.4/gems/memcached_stats-0.0.2/lib/memcached_stats/base.rb:78:in `[]'
	from /home/me/.rvm/gems/ruby-2.2.4/gems/memcached_stats-0.0.2/lib/memcached_stats/base.rb:78:in `get_summary'
	from /home/me/.rvm/gems/ruby-2.2.4/gems/memcached_stats-0.0.2/lib/memcached_stats/base.rb:33:in `fetch_stats'
	from (irb):3
	from /home/me/.rvm/rubies/ruby-2.2.4/bin/irb:11:in `<main>'

stats = MemcachedStats.new('localhost', 11211)
 => #<MemcachedStats:0x000000011ac9c0 @host="localhost", @port=11211, @slab_keys={}>
stats.fetch_stats
ArgumentError: odd number of arguments for Hash
	from /home/me/.rvm/gems/ruby-2.2.4/gems/memcached_stats-0.0.2/lib/memcached_stats/base.rb:78:in `[]'
	from /home/me/.rvm/gems/ruby-2.2.4/gems/memcached_stats-0.0.2/lib/memcached_stats/base.rb:78:in `get_summary'
	from /home/me/.rvm/gems/ruby-2.2.4/gems/memcached_stats-0.0.2/lib/memcached_stats/base.rb:33:in `fetch_stats'
	from (irb):5
	from /home/me/.rvm/rubies/ruby-2.2.4/bin/irb:11:in `<main>'
stats = MemcachedStats.new('<IP_ADDRESS>', '11211')
 => #<MemcachedStats:0x000000011740e8 @host="<IP_ADDRESS>", @port=11211, @slab_keys={}>
stats.fetch_stats
ArgumentError: odd number of arguments for Hash
	from /home/me/.rvm/gems/ruby-2.2.4/gems/memcached_stats-0.0.2/lib/memcached_stats/base.rb:78:in `[]'
	from /home/me/.rvm/gems/ruby-2.2.4/gems/memcached_stats-0.0.2/lib/memcached_stats/base.rb:78:in `get_summary'
	from /home/me/.rvm/gems/ruby-2.2.4/gems/memcached_stats-0.0.2/lib/memcached_stats/base.rb:33:in `fetch_stats'
	from (irb):7
	from /home/me/.rvm/rubies/ruby-2.2.4/bin/irb:11:in `<main>'

Thanks for reporting this issue. I was unable to replicate the bug in my environment (tried with Ruby 2.2.4, 2.2.5, 2.3.1 and with memcached 1.4.22 on OSX). So I can try to replicate the issue, can you give me a bit more info about your environment?
It looks like the issue is from line 78 of ./lib/memcached_stats/base.rb. Can you please run MemcachedStats.service_connection("stats", 'localhost', 11211).sub("END\r\n","").each_line.inject([]){|arr, line| arr.push(line.sub("STAT ", "").split(' '))}.flatten and let me know what the output is (if you need to truncate or anonymize it, please also include the length of the array).

Here you are:
> MemcachedStats.service_connection("stats", 'localhost', 11211).sub("END\r\n","").each_line.inject([]){|arr, line| arr.push(line.sub("STAT ", "").split(' '))}.flatten
 => ["pid", "1536", "uptime", "3336", "time", "1467007105", "version", "1.4.14", "(Ubuntu)", "libevent", "2.0.21-stable", "pointer_size", "64", "rusage_user", "0.055347", "rusage_system", "0.036898", "curr_connections", "5", "total_connections", "6", "connection_structures", "6", "reserved_fds", "20", "cmd_get", "0", "cmd_set", "0", "cmd_flush", "0", "cmd_touch", "0", "get_hits", "0", "get_misses", "0", "delete_misses", "0", "delete_hits", "0", "incr_misses", "0", "incr_hits", "0", "decr_misses", "0", "decr_hits", "0", "cas_misses", "0", "cas_hits", "0", "cas_badval", "0", "touch_hits", "0", "touch_misses", "0", "auth_cmds", "0", "auth_errors", "0", "bytes_read", "7", "bytes_written", "0", "limit_maxbytes", "67108864", "accepting_conns", "1", "listen_disabled_num", "0", "threads", "4", "conn_yields", "0", "hash_power_level", "16", "hash_bytes", "524288", "hash_is_expanding", "0", "expired_unfetched", "0", "evicted_unfetched", "0", "bytes", "0", "curr_items", "0", "total_items", "0", "evictions", "0", "reclaimed", "0"]

$ sudo aptitude show memcached
Pakiet: memcached
Stan: zainstalowany
Zainstalowany automatycznie: nie
Wersja: 1.4.14-0ubuntu9
Priorytet: opcjonalny
Sekcja: web
Opiekun: Ubuntu Developers<EMAIL_ADDRESS>Architektura: amd64
Rozmiar rozpakowanego: 229 k
Wymaga: libc6 (>= 2.17), libevent-2.0-5 (>= 2.0.10-stable), libsasl2-2 (>= 2.1.24), perl, lsb-base (>= 3.2-13), adduser
Sugeruje: libcache-memcached-perl, libmemcached
W konflikcie z: memcached
Opis: [OMITTED]

I pushed a new version (0.0.4) which should fix this issue. Please let me know if it works.
The problem was that I was splitting each line of the result of stats on blank spaces, and though each key/value pair I have seen has always had the "value" as a single item without a space in it, but ubuntu shows the version as version 1.4.14 Ubuntu (with an extra space there).

It works now, thank you.


double click event

As far as I know you don't have a double click event, I tried on-row-double-click but it doesn't work.
Is there a plan to include this?
thanks

There is no double click event at the moment. I'll add in for the next release or you can PR


Units are not configured in MELCloud service.

Hello,
I have an error message on my hombridge home page.
Units are not configured in MELCloud service.
How can I correct this?

This is warning only, you can configure this data in MELCLoud services.

Super I thank you for your help, super plugin and super dev 👍

Super I thank you for your help, super plugin and super dev 👍

Super I thank you for your help, super plugin and super dev 👍


#124 - also state port protocol in  deployment

Just realized that PR #125 missed adding the port protocol to the deployment spec, so adding that as a fix here.

hi @laszlocph can you review this one? thanks


How do I set the partial route api.strict option?

Q
A

Bug?
no

New Feature?
yes

Framework
Laravel

Framework version
5.7.18

Package version
2.0.0-alpha2

PHP version
7.2.15

Actual Behaviour
set .ENV API_STRICT=true and request header Accept:application/vnd.xxx.v1+json it's work.
but third service request no header Accept:application/vnd.xxx.v1+json and I can't ask them to correcting something.
I tried set config(['api.strict' => false]) in loaded middleware, not work.
Expected Behaviour
Accept header could not be properly parsed because of a strict matching process.
Steps to Reproduce
Possible Solutions
$api->get()->apiStrict(false);?

Hi @shankesgk2
What happens in Dingo is that the strict option is evaluated and passed to the relevant thing (Http validation) on the bootstrap/register of the service provider for dingo. That means it will happen before any middleware is even executed.
The relevant thing which actually uses this config option is bound to the app container in a singleton pattern in Dingo\Api\Http\Validation\Accept
What you could do in a middleware is potentially get that class using some code like this:
$accept = app('Dingo\Api\Http\Validation\Accept')

And then you could turn the strict option off. Now at the moment it's actually not possible to change the strict option, and I am not sure what repercussions it would have if it were changable. But you could try it yourself, by adding a method like this in that class (\Dingo\Api\Http\Validation\Accept).
    public function setStrict($strict)
    {
        $this->strict = $strict;
    }

So after you add that code in that vendor file, you could do this in your custom middleware:
$accept = app('Dingo\Api\Http\Validation\Accept')
$accept->setStrict(false);

And then you could add this middleware on any route you like, and if you want add some conditions in the middleware, to denote under what circumstances to disable strictness.
If you want to try this option and then give feedback on whether it works for you, and then if it does with no issues, I'd be happy to add that setStrict method.


Update python APIs to make init return a RecordingHandle which manages most state

The idea is that the RecordingHandle would be locked to a single recording-id and as long as it's held can continue to be used for logging without some other context (i.e. another jupyter notebook cell) clobbering the sink in the global rerun context)
The basic idea is to enable usage along the lines of the following:
rec1 = rr.init(sink=Tcp)
rec2 = rr.init(sink=File('my.rrd'), make_default=False)
rec3 = rr.init(sink=Memory, make_default=False)

# Different ways to log to a specific recording

rr.log_points(... , recording=rec1)

rec2.log_points(...)

with rec1:  # temporarily pushes the new recording onto a stack for this thread
  rr.log_points(...)

# Or the global default can still be updated, which is the sink used
rr.set_default_recording(rec3)

Related to

#1880


aws.sst.Cluster addService container build cannot push to ECR, tls: failed to verify certificate: x509: certificate signed by unknown authority

Node 20.17
sst 3.1.49
Our corporate environment has network VPNs and proxies in place and managed configuration in our local environment in order to to ensure that we can function. I can pull, and build docker containers and push to AWS ECR from my shell. This works with various Docker registries both internal to our organization and external such as AWS ECR.
I have followed the standard process for logging into an ECR and confirmed that I can push and pull images.
When I add a Cluster to my sst configuration, and use the addService method with a Dockerfile and context the sst process cannot push them to ECR from the same shell session where I can do this manually. Below is an example of the failure:
✕  Failed

   my-service sst:aws:Service → my-serviceImage docker-build:index:Image
   failed to solve: failed to push<PHONE_NUMBER>01.dkr.ecr.ap-southeast-2.amazonaws.com/sst-asset:my-service: failed to do request: Head "https://012345678901.dkr.ecr.ap-southeast-2.amazonaws.com/v2/sst-asset/blobs/sha256:<long sha value>": tls: failed to verify certificate: x509: certificate signed by unknown authority

I'm having the same problem.. were you able to figure it out?


25 security

Resolves #25 partially.
This should get another pair of eyes on it, there is likely a better way to go at it still.

I have taken a new approach that avoids us calling system and filesystem. I was never very comfortable with the existing delete utility implementation.


Fix ARM integration tests

We have accepted the github actions for ARM integration, but it fails.
https://github.com/lf-edge/eden/runs/2792351245?check_suite_focus=true
@Insei please have a look. @rvs  did you add the required secrets?

@mydatascience, Roman did not add keys because he disagrees with the approach that is used.

Closed as stalled issue


Check that a notification#image_upload filename is unique

Description

This is a back end solution to the issue whereby a user presses the back button in their browser, then 'continues' and a duplicate image is uploaded

JIRA ticket(s)
https://regulatorydelivery.atlassian.net/browse/COSBETA-2031
Screenshots/video

Review apps

https://cosmetics-pr-2967-submit-web.london.cloudapps.digital/
https://cosmetics-pr-2967-search-web.london.cloudapps.digital/
Checklist

[ ] All automated checks are passing locally (tests, linting etc)
[ ] Accessibility testing has been done (where appropriate)

[ ] Usable with JavaScript off
[ ] Usable with CSS off
[ ] Usable on a small screen (e.g. mobile phone)
[ ] Usable with just a keyboard
[ ] Usable with a screen reader
[ ] Usable at 400% zoom

[ ] Automated tests have been added or updated
[ ] Documentation has been added or updated
[ ] Database seeds have been updated
[ ] Database migrations have been tested (both up and down) and are safe (e.g. stop using a column before removing it)
[ ] A feature flag has been added (if required in the ticket; a ticket has also been added to remove the feature flag once deployment is completed)
[ ] Comms have been sent to users (if required in the ticket)

Post-deploy tasks

This approach is not going to work


wo get  x509: certificate error

panic: Get https://api.twitter.com/1.1/search/tweets.json?q=golang&tweet_mode=extended: x509: certificate is valid for *.facebook.com, *.xx.fbcdn.net, *.fbsbx.com, *.xz.fbcdn.net, *.facebook.net, *.xy.fbcdn.net, *.messenger.com, fb.com, *.fbcdn.net, *.fb.com, *.m.facebook.com, messenger.com, facebook.com, not api.twitter.com
and again
panic: Get https://api.twitter.com/1.1/search/tweets.json?q=golang&tweet_mode=extended: net/http: TLS handshake timeout
In windows , I use shadowsocks with proxifier
How can I solve it?

me too


HW 2

<EMAIL_ADDRESS>I know this is late, but you could please help me and tell me what I'm doing wrong? Couldn't figure it out even though I know it is something simple. Thanks

<EMAIL_ADDRESS>thanks for you help. I think I might have it down now. I uploaded an improved version that hopefully is somewhat closer. Thanks!

homework
#close

close#1

close #1


IPlantUML 0.0.5 can't be installed

Errors occured when pip install iplantuml.
Error 1: TypeError
C:\Users\Administrator>pip install iplantuml
Collecting iplantuml
Using cached IPlantUML-0.0.5.tar.gz
Building wheels for collected packages: iplantuml
....
....
File "c:\users\admini~1\appdata\local\temp\pip-build-fw7jij\iplantuml\setup.py", line 79, in initialize_options
super().initialize_options()
TypeError: super() takes at least 1 argument (0 given)
Error 2: no such option "--jarpath"
C:\Users\Administrator>pip install iplantuml --jarpath ./plantuml.jar
Usage:
pip install [options]  [package-index-options] ...
pip install [options] -r  [package-index-options] ...
pip install [options] [-e]  ...
pip install [options] [-e]  ...
pip install [options] <archive url/path> ...
no such option: --jarpath

Hi @budebulai, it seems like you found that https://github.com/jbn/IPlantUML is the appropriate place to ask for support with this package, so I'm going to close this report as it doesn't seem to be an issue with Warehouse.


Fix i3 and rxvt-unicode on OS X.

These are fixes I made for joelteon/nixpkgs that haven't made it over to upstream master, yet.  I've cherry-picked them into this pull request.  You can find the original pull requests and discussions at https://github.com/joelteon/nixpkgs/pull/16 and https://github.com/joelteon/nixpkgs/pull/19.

@cresh can you pull out the xcb-util-cursor commit/revert pair?

Thanks for the detailed review, I've rebased according to your suggestions.

@cresh are you actually able to build rxvt_unicode on darwin? I'm getting a build failure (well, test-suite specifically) at gdk-pixbuf.

@gridaphobe Yes, rxvt_unicode builds fine for me on OS X 10.10.2.


xSQLServer: Fixed typos in schema.mof files

Pull Request (PR) description
Fixed typos in schema.mof files (and README.md).
Updated some parameter description in schema.mof files on those that was found was not equal to README.md.
This Pull Request (PR) fixes the following issues:
n/a
Task list:

[x] Change details added to Unreleased section of CHANGELOG.md?
[x] Added/updated documentation, comment-based help and descriptions in .schema.mof files where appropriate?
[x] Examples appropriately updated?
[x] New/changed code adheres to Style Guidelines?
[x] Unit and (optional) Integration tests created/updated where possible?

This change is

Codecov Report

Merging #539 into dev will not change coverage.
The diff coverage is n/a.

@@         Coverage Diff         @@
##            dev   #539   +/-   ##
===================================
  Coverage    77%    77%
===================================
  Files        32     32
  Lines      3466   3466
===================================
  Hits       2679   2679
  Misses      787    787

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

Comments from Reviewable


Uploader fails from public project in Azure Pipelines without token

Describe the bug
When running the uploader from Azure Pipelines on a public project, the uploader fails to upload reports unless the token is set.
To Reproduce
Steps to reproduce the behavior:

Run coverage -f [file] -n [name] from a public project in Azure Pipelines with no token specified

Expected behavior
The coverage report is uploaded successfully.
Actual behavior
The provider is correctly detected but upload of coverage files fails.

Failed job output
  Codecov report uploader 0.1.5
[2021-10-07T16:12:57.708Z] ['info'] => Project root located at: /__w/2/ansible
[2021-10-07T16:12:57.709Z] ['info'] -> No token specified or token is empty
[2021-10-07T16:12:57.717Z] ['info'] Searching for coverage files...
[2021-10-07T16:12:57.909Z] ['info'] => Found 1 possible coverage files:
  test/results/reports/coverage-powershell.xml
[2021-10-07T16:12:57.909Z] ['info'] Processing /__w/2/ansible/test/results/reports/coverage-powershell.xml...
[2021-10-07T16:12:57.920Z] ['info'] Detected Azure Pipelines as the CI provider.
[2021-10-07T16:12:57.927Z] ['info'] Pinging Codecov: https://codecov.io/upload/v4?package=uploader-0.1.5&token=*******&branch=refs%2Fpull%2F75938%2Fmerge&build=20211007.20&build_url=https%3A%2F%2Fdev.azure.com%2Fansible%2Fansible%2F_build%2Fresults%3FbuildId%3D26615&commit=c6ead33f8e802d1a3912a982e703f675ae188fae&job=26615&pr=75938&project=ansible&server_uri=https%3A%2F%2Fdev.azure.com%2Fansible%2F&service=azure_pipelines&slug=&name=coverage-powershell&tag=&flags=&parent=
[2021-10-07T16:12:58.327Z] ['error'] Error POSTing to https://codecov.io: 404 {'detail': ErrorDetail(string='Unable to locate build via Azure API. Project is likely private, please upload with the Codecov repository upload token to resolve issue.', code='not_found')}
[2021-10-07T16:12:58.327Z] ['error'] There was an error running the uploader: Error uploading to https://codecov.io: Error: Not Found
[2021-10-07T16:12:58.524Z] ['info']

Additional context
The bash uploader worked without specifying a token but the new uploader does not.
I am currently experimenting to see if setting just the slug, not the token, is sufficient. It looks curious that the slug is blank (exploded for legibility):
https://codecov.io/upload/v4?package=uploader-0.1.5
    &token=*******
    &branch=refs%2Fpull%2F75938%2Fmerge
    &build=20211007.20
    &build_url=https%3A%2F%2Fdev.azure.com%2Fansible%2Fansible%2F_build%2Fresults%3FbuildId%3D26615
    &commit=c6ead33f8e802d1a3912a982e703f675ae188fae
    &job=26615
    &pr=75938
    &project=ansible
    &server_uri=https%3A%2F%2Fdev.azure.com%2Fansible%2F
    &service=azure_pipelines
    &slug=
    &name=coverage-powershell
    &tag=
    &flags=
    &parent=

Looking into this further, it appears the bash uploader is having the same issue.

    Yaml not found, that's ok! Learn more at http://docs.codecov.io/docs/codecov-yaml
    -> Found 1 reports
==> Detecting git/mercurial file structure
==> Reading reports
    + test/results/reports/coverage-powershell.xml bytes=218161
==> Gzipping contents
        40K	/tmp/codecov.8y9dR6.gz
==> Uploading reports
    url: https://codecov.io
    query: branch=devel&commit=5cb1210f82fbfa80d3b0843050ba0086205256a0&build=20211008.46&build_url=https%3A%2F%2Fdev.azure.com%2Fansible%2Fansible%2F_build%2Fresults%3FbuildId%3D26736&name=coverage-powershell&tag=&slug=ansible%2Fansible&service=azure_pipelines&flags=&pr=&job=26736&cmd_args=f,n,X,X,X,X,X&project=ansible&server_uri=https://dev.azure.com/ansible/
->  Pinging Codecov
https://codecov.io/upload/v4?package=bash-1.0.2&token=secret&branch=devel&commit=5cb1210f82fbfa80d3b0843050ba0086205256a0&build=20211008.46&build_url=https%3A%2F%2Fdev.azure.com%2Fansible%2Fansible%2F_build%2Fresults%3FbuildId%3D26736&name=coverage-powershell&tag=&slug=ansible%2Fansible&service=azure_pipelines&flags=&pr=&job=26736&cmd_args=f,n,X,X,X,X,X&project=ansible&server_uri=https://dev.azure.com/ansible/
{'detail': ErrorDetail(string='Unable to locate build via Azure API. Project is likely private, please upload with the Codecov repository upload token to resolve issue.', code='not_found')}
404

Sure thing!

Goodie. Let me see what the server says.

It's been a Monday 😖. I'm just now getting to testing this. I'll report back with what I find.

Confirmed that specifying the slug works. I'll open a PR that sets the slug for AZP.


How to implement Code Connect if in Figma have a toggle

in Figma I have a toggle "is Unavailable" (can be "Yes", "No")

in component.figma.tsx
  AvatarCTA,
  "https://www.figma.com/design/213213213wasfasdasdsad/asdsadasdsad-%26-Organisms?node-id=13-sssad&m=dev",
  {
    props: {
      label: figma.string("Label"),
      showDescription: figma.boolean("show Description"),
      isUnavailable: figma.boolean("is Unavailable"),
    },
    example: (props) => <AvatarCTA isUnAvailable={props.isUnavailable} />,
  }
);```

I want to show code in connect at figma like

`<AvatarCTA isUnAvailable={true} /> // when isUnavailable toggle is Yes`
`<AvatarCTA isUnAvailable={false} /> // when isUnavailable toggle is No`

how should I implement?

very urgent please help

Hi, this seems like code that should work. What issue are you seeing when publishing?

Hi @ptomas-figma thanks for your support
this my code

and this is result

showIcon props is not visible

how should I implement code to show showIcon like red text in second image?

Hey again - I was able to reproduce this issue now. A possible workaround for this is to rename the values of show Icon to "True" or "False" (case sensitive) in Figma - this seems to be an issue if lowercase values are used like "yes" or "true". Let me know if that works for you. In any case, we'll aim to have this fixed in the next release

Sorry for late reply, I will update you by today