[fix] Reduce max zoom level to prevent unintended behavior due to exc…

Adjust the max zoom level to mitigate excessive zooming behaviour. Set zoom sensitivity and max zoom value from 32 to 15.
https://github.com/openwisp/netjsongraph.js/assets/154233802/c59a9668-3449-48d6-a209-27b5e1fb79a1

@nemesifier please review it.

@d1vyanshu-kumar no need to close and reopen the PR, just force push next time.
It doesn't seem to me that any parameter you are adding here is configurable by the user, why hardcoding arbitrary settings in a library which is designed to be flexible?

Do I need to remove the zoom snap and zoom delta values before submitting a pull request?

Hi @nemesifier, I've encountered an issue with defaultconfig.maxZoom. Could you please provide some guidance on how to implement it? I'm a bit puzzled.

Hi @nemesifier, I've encountered an issue with defaultconfig.maxZoom. Could you please provide some guidance on how to implement it? I'm a bit puzzled.
freecompress-zoom.mp4

if I remove the defaultconfig.maxZoom then it works perfectly.

@nemesifier  apologize for the delayed response. I was occupied with my exams, but they're now concluded. please review this PR.
QA checks were also successful.


ValueBag::to_$int should not use as

It has two problems. First converting a larger integer to a smaller return the maximum value (in non-release mode), but it should return None, i.e. I expect the following code to work.
use value_bag::ValueBag;

fn main() {
    let value = ValueBag::from(u16::MAX);
    assert_eq!(None, value.to_u8());
}

But the above returns Some(255). Second, it shouldn't convert signed to unsigned integers as that will also return the wrong result, i.e. the following.
use value_bag::ValueBag;

fn main() {
    let value = ValueBag::from(-123i64);
    assert_eq!(None, value.to_u64());
}

Returns Some(18446744073709551493), again unexpected.

Oh, and this also happens for floats.

I had some time off over the last few weeks and am just catching up on things now.
I think the surprise comes from trying to use the to_* methods to exhaustively check what kind of value you're looking at. The way the to_* methods behave is to try their best to give you what you ask for. So if you want to know if there's a key with some name that looks like a u32 then you can get it. They're not really for exhaustively identifying what kind of data the value contains.
I left a comment in https://github.com/Thomasdezeeuw/std-logger/pull/29 about what we could do there.

I had some time off over the last few weeks and am just catching up on things now.
I think the surprise comes from trying to use the to_* methods to exhaustively check what kind of value you're looking at. The way the to_* methods behave is to try their best to give you what you ask for. So if you want to know if there's a key with some name that looks like a u32 then you can get it. They're not really for exhaustively identifying what kind of data the value contains.
I left a comment in https://github.com/Thomasdezeeuw/std-logger/pull/29 about what we could do there.

Hi @KodrAus.
i only want to know if the next bug is related to this issue
no method named `to_str` found for struct `ValueBag<'v>` in the current scope
   --> /home/fede/.cargo/registry/src/github.com-1ecc6299db9ec823/log-0.4.12/src/kv/value.rs:460:24
    |
460 |             self.inner.to_str()
    |                        ^^^^^^ method not found in `ValueBag<'v>`

error: aborting due to previous error

Hi @KodrAus.
i only want to know if the next bug is related to this issue
no method named `to_str` found for struct `ValueBag<'v>` in the current scope
   --> /home/fede/.cargo/registry/src/github.com-1ecc6299db9ec823/log-0.4.12/src/kv/value.rs:460:24
    |
460 |             self.inner.to_str()
    |                        ^^^^^^ method not found in `ValueBag<'v>`

error: aborting due to previous error

I think the surprise comes from trying to use the to_* methods to exhaustively check what kind of value you're looking at. The way the to_* methods behave is to try their best to give you what you ask for. So if you want to know if there's a key with some name that looks like a u32 then you can get it. They're not really for exhaustively identifying what kind of data the value contains.

I didn't know there weren't for exhaustive checks. However I still don't think casting should be used, the second example: going from -123i64 to<PHONE_NUMBER>3709551493u64 (although I think it's UB, not 100% sure) is clearly not what anyone wants.

I think the surprise comes from trying to use the to_* methods to exhaustively check what kind of value you're looking at. The way the to_* methods behave is to try their best to give you what you ask for. So if you want to know if there's a key with some name that looks like a u32 then you can get it. They're not really for exhaustively identifying what kind of data the value contains.

I didn't know there weren't for exhaustive checks. However I still don't think casting should be used, the second example: going from -123i64 to<PHONE_NUMBER>3709551493u64 (although I think it's UB, not 100% sure) is clearly not what anyone wants.

going from -123i64 to<PHONE_NUMBER>3709551493u64

Ah ok that’s definitely unexpected. In that case maybe we could simply use From impls where they exist and not as. That would mean trying to get a u* from an i* will always be None.

going from -123i64 to<PHONE_NUMBER>3709551493u64

Ah ok that’s definitely unexpected. In that case maybe we could simply use From impls where they exist and not as. That would mean trying to get a u* from an i* will always be None.

I also think that going from large int to a small int should return None, i.e. an u16 that doesn't fit in an u8 should return None not Some(255) as there is not indication of an error (i.e. truncation), but a completely different value is reported, which doesn't seem desirable.

I also think that going from large int to a small int should return None, i.e. an u16 that doesn't fit in an u8 should return None not Some(255) as there is not indication of an error (i.e. truncation), but a completely different value is reported, which doesn't seem desirable.

We should be able to use try_from().ok() for all of these cases, which seems to behave in a much more obvious way so if the number is out of bounds you'll get None.

We should be able to use try_from().ok() for all of these cases, which seems to behave in a much more obvious way so if the number is out of bounds you'll get None.

I've updated the casting API to only allow cases where TryFrom is implemented and use that. It should be a lot saner to work with!
I'll follow up in log with an update to its API 🙇

I've updated the casting API to only allow cases where TryFrom is implemented and use that. It should be a lot saner to work with!
I'll follow up in log with an update to its API 🙇

Thanks @KodrAus.

Thanks @KodrAus.


Presence Detection based on connected clients

Is your feature request related to a problem? Please describe.
I want to detect presence based on connected devices (using MAC addresses).
Describe the solution you'd like
Expose one entity per MAC address to show the connected/disconnected status.
Additional context
I can put some effort into building this out if it is not already in the works.

Would be interested as well


Changed OWL document format from Manchester to Turtle.

This changes the default format for storing models to RDF Turtle, as suggested in https://github.com/geneontology/noctua-models/issues/14. Consequently it also changes the download format received when using Model > Export OWL in the Noctua UI. Should that be Turtle or would users have another expectation?
It sounds like this requires some changes in epione.js before merging this, @kltm? Although it seems to work fine with Noctua on my desktop.
Also I guess we should do a bulk translation of the Noctua models GitHub repository. If not, I think this change will transparently migrate files anyway as they are edited.

How does this relate to #52 ?

Could you add tests at the minerva end to see what the behavior will be?

This would require pretty much a redo of epione, but that's not too bad as we might actually be able to use a proper parser, which would be really nice. I'd think the unit test should be switched over as well, if this is going to be the default format.
There are definitely pieces of the stack that would need to be changed to coordinate this. Also, I'd also think that changing all the models currently in the repo would be useful--it might get confusing for users to get different output in different circumstances.
To ease the transition, what about having a flag to switch between available versions? There is already something in place like that for the GAFs: https://github.com/berkeleybop/bbop-manager-minerva/wiki/MinervaRequestAPI .
Does import work for both the formats for the API?

Still no docs on epione - how to start it up, what it's role is, what
it's assumptions are
it's role is just to populate a solr index that drives front page model
search? eventually this can come directly from the live store?

Correct--a temporary workaround that piggybacks on the current solr infrastructure.
https://github.com/geneontology/noctua/issues/195
https://github.com/geneontology/noctua/issues/202
etc.
It maybe be that the next time around the tree we write client/manager code to go straight to the graph store, or it may be that the graph store takes care of a solr index somewhere and we use the samy client tooling. But either way, it is a hack to get around the rather slow full-model loading that we currently have.

Actually, better would be to have the information drawn through minerva as the intermediary--a better version of what we currently have. It's just too time-consuming now to get more that way without processing.

@kltm this has little to do with #52. That one just adds an output format option to the CLI. This changes the default format for a save action in a different part of the application.

In the blazegraph-store branch, the class changed by this pull request (FileBasedMolecularModelManager) is now gone, replaced by (BlazegraphMolecularModelManager). I'm going to close this pull request without merging, since this changed doesn't matter much anymore.
However, there is still the question of whether we want to change the default file format for OWL downloads from the UI, which would have been impacted by this change.

On 19 Sep 2016, at 12:06, Jim Balhoff wrote:

However, there is still the question of whether we want to change the
default file format for OWL downloads from the UI, which would have
been impacted by this change.

It doesn't matter much one way or another.


Test Search Service with invalid indexes

Verify that the Search Service behaves properly when the Lucene index is missing fields. The Search Service should still be able to start-up and serve queries for valid Lucene documents. However, if a Lucene document is missing required fields (such as Id and Version), a 500 error should be returned.
Related to issue #3827

@loic-sharma , can you please provide more details about this issue? What is the expected behavior of search service when an index is invalid?

Sure! Updated the issue


Add liqoctl version command

Description
This PR is adds the version command to liqoctl. It uses the linker flags to provide a value for a variable at build time
How Has This Been Tested?
Since this is a very simple addition from a golang execution perspective, no test useful tests can be performed. It could be useful to do a build test

/test

/test

/test

/merge


Automator: update common-files@master in istio/istio@master

Generated by Automator - 2023-10-03T19:02:47+00:00

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

Test name
Commit
Details
Required
Rerun command

integ-security-multicluster_istio
fb491561082a3e0f8a528d5e46664bb9f0bc746a
link
true
/test integ-security-multicluster

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

/test integ-security-multicluster


Launch Location

Very minor request here, but it would be excellent if Runelite remembered where the window was located when it was last open and launched there, instead of the same spot every time. If you look at just about every other program (Chrome, Discord, Windows Explorer, etc.) they will all open where they were last open.
An alternative is to launch the window on whichever display your mouse is on. This is another popular option I see a lot.
Again, this is very minor, but I just find it really annoying having to restore the window, drag to the other display, then maximise again.

There is an option for this under RuneLite > Remember client position. Is that off for you? Also do you open it on the non primary monitor?

There is an option for this under RuneLite > Remember client position. Is that off for you? Also do you open it on the non primary monitor?

Didn't realise that was an option but it is enabled. I have the client maximised on my right monitor (non-primary) and when I close and re-open, it opens maximised on my left monitor (primary).

duplicate of #4778


Deconz lights not showing correctly in UI

Home Assistant release with the issue:
0.72.1
Last working Home Assistant release (if known):
??
Operating environment
hassio on raspberry pi 3b with a conbee stick and Deconz add on
Component/platform:
https://www.home-assistant.io/components/deconz/
Description of problem:
When I change a light colour on the colour wheel for, say kitchen light, and then navigate away from that light in the UI and look at the settings for another light (dining room), the colour wheel will show the current colour for the previous light (kitchen) that was changed, and not the true colour of dining room light.
I first noticed this when I switched all my lights to zigbee via conbee rather then hue bridge.
Additional Information
I know there have recently been some other bugs with Deconz lights, such as transitions to off not working and the lights not reporting their colour state. The second issue (colour state reporting) could be related to this maybe? Just thought I should mention it!

Thanks for reporting! This is fixed in 0.73
It was a combination of component not being fully updated to use the new common base of Hue and saturation that HASS is employing as well as not taking in to consideration that sometimes xy values reported from lights would not be normalised.


dotnet 9 is wanted

just today

In fact, you can use .NET 9 to build this project directly. I will keep using the .NET 8 for Github Action CI since it is a LTS version.


Version in sbt snippet in quickstart book is an out of date version which does not compile with scalajs-react

The quickstart at the quickstart refers to version 0.5.1 of scalacss, of which ext-react does not compile against latest scalajs-react.
This should probably be updated to 0.5.3, as it can throw new users.

True that, thanks.
Fixed in<PHONE_NUMBER>1549ca82df9d5d8b9a2ec5614ef396


Checking or clearing checkboxes disables them until refresh

I found a problem on http://curriculum.learnersguild.org/modules/HTTP-Node/
Checking or clearing checkboxes disables them until the page is refreshed. At the moment when the box is checked or cleared, a TypeError appears in the JavaScript console:
Uncaught TypeError: Cannot read property 'value' of undefined
at Object.postJSON.then._ (behaviors.js:37)
at Object. (jquery-1.10.1.min.js:4)
at c (jquery-1.10.1.min.js:4)
at Object.fireWith [as resolveWith] (jquery-1.10.1.min.js:4)
at k (jquery-1.10.1.min.js:6)
at XMLHttpRequest.r (jquery-1.10.1.min.js:6)

should be fixed. do a full / hard refresh


Flash: Update TXs can not consume previous Update TXs

In our current implementation, nodes only create update TXs that spend the trigger TX output.  This renders our chain of update TXs essentially useless. If a peer manages to get an older update TX into a block, there is no way to get the most recent one externalized since they both consume the same output of the trigger TX.
We could make each update TX to consume the previous one but if an older update TX is ever externalized, nodes would need to publish whole chain of update TXs, one for each off-chain payment. That would be counterproductive to what Flash is trying to achieve.
We should create N update TXs per payment, each spending the output of the previous N update TXs. So that we can skip some intermediate update TXs if an older one is ever externalized.

https://github.com/bosagora/agora/pull/1343 can be usefull, for both this issue and https://github.com/bosagora/agora/issues/2200 as described here


streamlit App keeps returning "please add document"

is there anything that need to be changed in the Webquery? what is the meaning of ingest method is never used

This should be fixed now, please check


Idea: Allow treating the span as a resource in Trace

Currently, the Trace API has this:
def span[A](name: String)(k: F[A]): F[A]

I believe it would also be beneficial to have a variant that returns a resource:
trait Trace[F[_]] {
  def spanR(name: String): Resource[F, Span[F]]
}

Why? For example, for composing it with other resources...
Trace[F].spanR("my-resource") *> someResource

This would track the lifetime of the resource (and set the span in the composed resource's use too).
Also, you could use it with streams:
fs2.Stream.resource(Trace[F].spanR("my-resource")) *> someStream

This span would also last as long as the stream, and propagate to every effect in the stream.
I managed to get this with some hackery (Resource of Kleisli doesn't really look that good, but it works: https://github.com/tpolecat/natchez/pull/72

Closing with explanation in #72


missing a comma in uv.gyp

when I compile libuv with android-ndk-toolchain, I found that libuv.target.mk is incorrect.
it contains line:
$(obj).target/$(TARGET)/src/unix/pthread-barrier.csrc/unix/procfs-exepath.o \

I thought pthread-barrier.c is not configured correctly.
so the change in this mr.
and also add --force for import toolchain

just force to write the toolchain files in the exists directory android-toolchain.
It is not required, i will remove it

I make a new pull request instead of this one.


ledger/trezor/digitalbitbox for qtum wallet?

This issue tracker is only for technical issues related to Qtum.
Describe the issue
when will you have a qtum ledger/trezor/digitalbitbox wallet?
Can you reliably reproduce the issue?
If so, please list the steps to reproduce below:

Expected behaviour
Tell us what should happen
Actual behaviour
Tell us what happens instead
Screenshots.
If the issue is related to the GUI, screenshots can be added to this issue via drag & drop.
What version of Qtum are you using?
List the version number/commit ID
Machine specs:

OS:
CPU:
RAM:
Disk size:

Any extra information that might be useful in the debugging process.
This is normally the contents of a debug.log or config.log file. Raw text or a link to a pastebin type site are preferred.

This is coming as soon as we can make it happen. We will release an Electrum wallet soon and are actively working with Ledger to get Chrome app support


Wall does not refresh when I re-size block to smaller size with fixSize

Hello,
Thank you for such a great product!!!  The best so far.
I use buttons to re-size the blocks.  When I enlarge a block the wall refreshes properly but when I shrink a block, the rest of the blocks stay in their location and the wall does not refresh.  Also, the onBlockResize event is not firing. Also, I'm running the latest code...
Thanks in advance for any help...
Here is my code:
$(function() {
        var wall = new freewall("#container");
        wall.reset({
            draggable: true,
            selector: '.item',
            animate: true,
            cellW: 250,
            cellH: 200,
            fixSize: 0,
            onResize: function() {
                wall.fitWidth();
            },
            onBlockResize: function(block, setting) {
                console.log('resize...');
            }
        });
        wall.fitWidth();

        $('.item').removeClass('fix');

        $('.glyphicon-th').click(function(){
            var $dna = $(this).closest('.item');
            var $obj = { block: $dna, width: 200, height: 200};
            wall.unFilter();
            wall.fixSize($obj);
            wall.refresh();
        });

        $('.glyphicon-th-large').click(function(){
            var $dna = $(this).closest('.item');
            var $obj = { block: $dna, width: 400, height: 650};
            wall.unFilter();
            wall.fixSize($obj);
            wall.refresh();
        });

        $('.glyphicon-fullscreen').click(function(){
            var $dna = $(this).closest('.item');
            var $obj = { block: $dna, width: 1200, height: 800};
            wall.unFilter();
            wall.fixSize($obj);
            wall.refresh();
        });

    });

This is the start:

After I enlarge:

After I shrink:

I face a similar problem, I delete some block and leave holes.
Method wall.fillHoles() is usefull for me. You can try this method.


[AIRFLOW-1846] Hide Ad Hoc Query behind secure_mode config

Make sure you have checked all steps below.
JIRA

[x] My PR addresses the following Airflow JIRA issues and references them in the PR title. For example, "[AIRFLOW-XXX] My Airflow PR"

https://issues.apache.org/jira/browse/AIRFLOW-1846

Description

[x] Here are some details about my PR, including screenshots of any UI changes:

This hides the Ad Hoc Query section behind the secure_mode config that also hides Charts (which was added here).

Tests

[x] My PR adds the following unit tests OR does not need testing for this extremely good reason:tests.core:SecureModeWebUiTests.test_query
tests.core:SecureModeWebUiTests.test_charts

Commits

[x] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

[x] Passes git diff upstream/master -u -- "*.py" | flake8 --diff

Codecov Report

Merging #2895 into master will increase coverage by 0.09%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #2895      +/-   ##
==========================================
+ Coverage   73.29%   73.38%   +0.09%
==========================================
  Files         160      160
  Lines       12187    12187
==========================================
+ Hits         8932     8943      +11
+ Misses       3255     3244      -11

Impacted Files
Coverage Δ

airflow/www/app.py
96.55% <100%> (ø)
:arrow_up:

airflow/jobs.py
79.89% <0%> (+0.44%)
:arrow_up:

airflow/utils/helpers.py
56.32% <0%> (+2.87%)
:arrow_up:

airflow/task_runner/bash_task_runner.py
100% <0%> (+6.66%)
:arrow_up:

Continue to review full report at Codecov.

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


Add Pino Logger to Project

Description
Added Pino logger to project.
For the middleware requirement, pino automatically logs all requests and responses.
Correlation ID could be added in the future.
List any dependencies that are required for this change.

pino
pino-http
pino-pretty
nestjs-pino

Fixes #24
Type of change

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

Related Issues
List related issues here
N/A
Additional Notes
Write additional notes here
N/A
Place screenshots here
N/A
Testing
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
N/A
Test Environment:

Firmware version:
Hardware:
Toolchain:
SDK:

All Submissions
Before filling out the fields of the pull request, please make sure you meet the following requirements

[X] I have read the Contributor Guide
[x] I have read and agree to the Code of Conduct
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

Codecov Report

Merging #42 (867f837) into main (d2711f3) will not change coverage.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff            @@
##              main       #42   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           15        15
  Lines          153       153
  Branches        16        16
=========================================
  Hits           153       153

That test is failing because it was wrong made in previous commits. It has to be fixed
Updated category has different creation date from old one. Thats why it's failing

Just need copy the original one and change the properties that have to be updated for the test. Will fix it in next commits


bump: jsonargparse to 4.27 [wip]

What does this PR do?
trying to replicate failing tests on release/stable for v2.1.3
FAILED test_cli.py::test_cli_distributed_save_config_callback[ddp_spawn-logger1] - ValueError: Subclass types require as default either a dict with class_path or a lazy instance.
FAILED test_cli.py::test_lightning_cli_args_callbacks - ValueError: Subclass types require as default either a dict with class_path or a lazy instance.
FAILED test_cli.py::test_cli_distributed_save_config_callback[ddp-logger1] - ValueError: Subclass types require as default either a dict with class_path or a lazy instance.

Before submitting

Was this discussed/agreed via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
Did you make sure to update the documentation with your changes? (if necessary)
Did you write any new necessary tests? (not for typos and docs)
[x] Did you verify new and existing tests pass locally with your changes?
Did you list all the breaking changes introduced by this pull request?
Did you update the CHANGELOG? (not for typos, docs, test updates, or minor internal changes/refactors)

PR review
Anyone in the community is welcome to review the PR.
Before you start reviewing, make sure you have read the review guidelines. In short, see the following bullet-list:

Reviewer checklist

[ ] Is this pull request ready for review? (if not, please submit in draft mode)
[ ] Check that all items from Before submitting are resolved
[ ] Make sure the title is self-explanatory and the description concisely explains the PR
[ ] Add labels and milestones (and optionally projects) to the PR so it can be classified

📚 Documentation preview 📚: https://pytorch-lightning--19190.org.readthedocs.build/en/19190/

@mauvilsa any suggestion what I missed while picking commit for release?


Create new user role

Hi all,
I have a request to create a new role: "Approval" that when assigned to a user it provides abilities similar to Justify and in addition it will decrease the Item/Issue to "0".
I would like to ask for some help in providing some tips/steps on which files I should modify.
For example I could not find where the roles are defined, where are stored (which table).
Best regards,
Stefan M.

They are defined in security_monkey/auth/__init__.py
from .models import RBACRole

anonymous = RBACRole(name="anonymous")

view = RBACRole(name="View")

comment = RBACRole(name="Comment")
comment.add_parent(view)

justify = RBACRole(name="Justify")
justify.add_parent(comment)

admin = RBACRole(name="Admin")
admin.add_parent(justify)

They are enforced in each of the view endpoints in the decorators section:
class ItemCommentDelete(AuthenticatedService):
    decorators = [
        rbac.allow(['Justify'], ["DELETE"])
    ]

So the roles are hierarchical.  View -> Comment -> Justify -> Admin
Justify can do anything Comment or View can do.
In the ItemCommentDelete endpoint, you must have the Justify (or Admin) role in order to use the DELETE HTTP verb.
If you create a new role, please also update the manage.py CLI command:
https://github.com/Netflix/security_monkey/blob/ada520844a93d248939f8efa57410787c8a4986d/manage.py#L177

Hey Stefan, Are you doing a db.session.add(item) and a db.session.commit() and a db.session.refresh(item) afterwards?

@fanemsm : Is this issue still relevant?

Hi @mikegrima . The issue is more or less related to #654
If we can fix this the approval role would be irrelevant so from this point of view you can close the issue. I will investigate further how to update the dashboards to provide the relevant information. (Eg. Dashboard/Accounts table should display: total score, unjustified total score and justified total score)
If I recall well, you have announced a patch for the total score on the main dashboard, but I cannot find it.


fix: sync snapshotgc reference in integration component

The snapshot garbage collector reference has gone out of sync so it's not being updated by the promotion script anymore.

https://github.com/redhat-appstudio/infra-deployments/pull/3750/files
ahh, so "only" prod is affected

/lgtm
/approve


PHPDocs fixes and removed unused variables

removed unused variables
fixed php-docs return type
fixed import in Module.php

@weierophinney updated

merged in https://github.com/zfcampus/zf-apigility/pull/169/commits/a35cfc24075d398891ca30c9f09facbc40429910
thanks!


Add bibliography section

Add a bibliography section to the end of the document.
The bibliography should contain the list of articles listed in the Google Doc.
The bibliography lives above the copyright.

@aesmaeeli  @joannam4 If your Google Document does not have a bibliography section, then add the papers from the Reading section in Canvas.
For example the HuBMAP 2019 Nature paper can be found here.
If you visit the page at the top

click on Cite this Article
which will lead you to

Use that text as bibliography. To add it as a bullet point in streamlit_app.py you can type
text = ```
* HuBMAP Consortium. The human body at cellular resolution: the NIH Human Biomolecular Atlas Program. Nature 574, 187–192 (2019). https://doi.org/10.1038/s41586-019-1629-x

st.write(text)


Fix vsphere upgrade kubernetes flux e2e

Issue #, if available:
Description of changes:
This test was previously creating a workload cluster with 1.28 and then trying to downgrade to 1.24, which is not allowed.
Now it creates with 1.24 and upgrades to 1.25.
Testing (if applicable):
Documentation added/planned (if applicable):
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/retest

/approve

/cherry-pick release-0.18


EPUB3 epub:type=note/footnote popup mechanism?

As per other reading systems UIs (e.g. iBooks)
Waffle connects to https://github.com/readium/readium-js-viewer/pull/505
Waffle connects to https://github.com/readium/readium-shared-js/pull/270

@danielweck is asking for bibliorefs to work the same way out of scope?

The current (prototype) code searches for aside elements with epub:type attribute with one of the following values: footnote, note, rearnote. I'm sure this enumeration can be extended with biblioref`.
https://github.com/readium/readium-shared-js/blob/f88da47d329718abf3b357e69390aba7001a9373/js/views/internal_links_support.js#L209

Thanks for the context, Daniel.


[Netty 5 - Discussion] Rename Ssl-* classes to Tls-*

SSL is dead long ago and replaced by TLS. I think for Netty 5, we should rename class names with Ssl to Tls.
What do you guys think?

I wouldn't do that .... SSL is still the most common convention in other projects etc . I don't see what this change would gain us


cmpopts to ignore fields within slices?

Hi all,
My struct looks like this:
type info struct {
  Num int
  Slice []dbEntry
}
type dbEntry struct {
  ID int
  CreatedAt time.Time
  OtherInfo int
}

Is there a way within cmpopts to compare info, ignoring the ID and CreatedAt fields within its Slice?

It seems that cmpopts.IgnoreFields(info{}, "Slice") does what you desire.

@dsnet thank you for the reply, however I was wondering if there is one opt I could use like
infoA := info{...}
infoB := info{...}
equal := cmp.Equal(infoA, infoB, cmpopt.SomeOpt(infoA, "Slice[].ID", "Slice[].CreatedAt")

I could, of course, and actually I have written my own comparer for this purpose, just wondering if such option is available or even feasible to implement

The options in cmpopts are intended to be simple (and thus simple to document and explain). Something that can reach further down into the tree and cross map, slice, or pointer boundaries is starting to get a bit too complex for comfort. It possible we add an option for that or even extend IgnoreFields to do that in the future.

I see, all right.


JDBC to GCS template

New template to support loading data from JDBC to GCS

Duplicate of https://github.com/GoogleCloudPlatform/dataproc-templates/issues/13


Gyan.FFmpeg does not uninstall correctly

Brief description of your issue
Package Gyan.FFmpeg (v5.1.2) does not properly uninstall:

I'm using --force because otherwise it refuses to uninstall due to the package being supposedly modified, which is not the case. I even get this straight away after installing it fresh.
Notice I'm running this as Administrator because that also how I install it (due to #95349 / https://github.com/microsoft/winget-cli/issues/2909).
Steps to reproduce
(As administrator:)
winget install gyan.ffmpeg
winget uninstall gyan.ffmpeg (complains about the package being modified, which is not the case)
winget uninstall gyan.ffmpeg --force
Expected behavior
All files/folders related to package are gone.
Actual behavior
%LOCALAPPDATA%\Microsoft\WinGet\Packages\Gyan.FFmpeg_Microsoft.Winget.Source_8wekyb3d8bbwe and subfolder/files remain behind.
Environment
Windows Package Manager v1.4.10173
Windows: Windows.Desktop v10.0.22621.1105
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.19.10173.0

Gyan.FFmpeg v5.1.2

Oops this was meant to be filed in https://github.com/microsoft/winget-pkgs


Steve/140 symptoms admin

Implementation for #140 (Symptoms in PatientProfile on Admin app)

Unsure if you meant to do this, but for patients that don't have symptoms in the backend, the list only has the header. Which kinda looks weird imo. Perhaps come up with a solution for that.
Another note, change the title of the table to "Status Details" and add 2 more columns for temperature & weight.

Btw the relevant issue for this is: #43

Unsure if you meant to do this, but for patients that don't have symptoms in the backend, the list only has the header. Which kinda looks weird imo. Perhaps come up with a solution for that.
Another note, change the title of the table to "Status Details" and add 2 more columns for temperature & weight. Remove the button next to symptoms details as well. We arent adding.

Message added if table empty
Title changed
temperature and weight column added

button removed


Graded HW 4.

@MellowDesert This PR resolves issue #12 with your grade available on canvas.

@MellowDesert This should be ready to merge now if you approve the changes. Sorry for the complication.


amqplib dependency

I see that this task https://github.com/guidesmiths/rascal/blob/master/lib/amqp/tasks/createConnection.js#L3 requires amqplib but this lib is a dev dependency according to the package.json https://github.com/guidesmiths/rascal/blob/master/package.json#L21
Doesn't it need to be changed? I've had an issue because of this in a fresh project, I had to npm install via our package.json but our project is not using amqplib, but rascal.

Hi @Betisman.
This is by design https://github.com/guidesmiths/rascal/blob/master/CHANGELOG.md#updated-6


Editor #33

加了 material list 和路徑的bar。但路徑bar的連結是隨便設的

Really perfect~ but there are some thing can be changed

maybe the position mark isn't necessary to be [link]
the route bar can't go to correct page
the result is still very nice~~ let's keep going


Refactor C and C++ typesupport

DDS specific IDL files generation still needs some work. CMake logic may need too.

CI status:
Linux:
Linux aarch64:
MacOS:
Windows:

CI status:
Linux:
Linux aarch64:
MacOS:
Windows:


Improve Color World & +Change Alpha Of World

The color world at the moment isn't very good.
This color world is more like the one you see in Borings video's and can change the alpha of the world textures (X-ray).
Have been a bit lazy and not conformed to the newest version but its only the config that needs to be changed. I also removed the rainbow effect as the color can only be set once, not constantly, otherwise it would reduce your FPS.
I think I have added everything from my local version, if not comment the issues.
Screenshot:

gj bud keep the work up. love it

Nice work man! but you forget to add what you have for color world in GUI.cpp

can you add a checkbox for modulating static props? so it modulates the props on the map with a darker color

Thank you very much for submitting pull request! I've decided to implement your solution with rainbow effect and additional check to modify only precached materials.

Great 😄
Also, using the "r_DrawSpecificStaticProp" cvar and the material name "StaticProp", you can also modulate Props like boxes.


Entity sensor.panasonic_heat_pump_main_holiday_mode_state cannot be added as the entity category is set to config

** Versions **

Home Assistant version (for instance 2023.9): 2023.11.3
This integration version (for instance 1.1.0): 1.4.1

[!IMPORTANT]
It's even better if you can make sure you are using the lastest version for the integration (https://github.com/kamaradclimber/heishamon-homeassistant/releases)

Any time i restart/reboot Home Assistant, I get the following error:
Logger: homeassistant.components.sensor
Source: helpers/entity_platform.py:507
Integration: Sensor (documentation, issues)
First occurred: 20:11:00 (1 occurrences)
Last logged: 20:11:00

Error adding entities for domain sensor with platform aquarea
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 507, in async_add_entities
    await asyncio.gather(*tasks)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 752, in _async_add_entity
    await entity.add_to_platform_finish()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1021, in add_to_platform_finish
    await self.async_internal_added_to_hass()
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 279, in async_internal_added_to_hass
    raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Entity sensor.panasonic_heat_pump_main_holiday_mode_state cannot be added as the entity category is set to config

To Reproduce
Steps to reproduce the behavior:

Restart/Reboot the system
Show the log

Expected behavior
Not to have the error
Screenshots

** MQTT dump **

Thanks for the report, I can reproduce the issue with 2023.11.0 but not with 2023.10.3. I'll investigate what changed and fix it.

It comes from https://github.com/home-assistant/core/pull/103210 and https://github.com/home-assistant/core/pull/101471 which introduced a warning. I disagree with the interpretation of what "config" means but I don't think there is a point in opening a bug (especially given answers to https://github.com/home-assistant/core/pull/101471#issuecomment-1793684607).
I'll change the impacted entity categories to diagnostic and it should fix this ~warning~ error.

Thanks!


generated docs are getting wrong version number

Describe the Bug
generated docs are getting wrong version number
Expected Behavior
generated docs are getting right version number
Reproduction
https://bioio-devs.github.io/bioio/OVERVIEW.html

@evamaxfield do you know what is going on here?

I believe I do but I'll take a look later today!

amazing thank you! My thoughts are that during the docs build the distribution isnt built/accessible so bioio.__version__ which uses version(bioio) cannot read the version and just makes a low level dev version. not sure how to fix though...

Seems like docs still have incorrect version. I will make a new PR to keep testing things out and I will make the docs job run on pushes to the branch so that I can iteratively test. Ultimately though, seems like we may just want to change this job to only run on tag releases so a little bit of both understanding what is going on and fixing it seems likely.

Bump! Sometimes we want to link to the docs for very new users and it looks bad if the version number is still some early dev prerelease build.

ugh. sorry. i continue to just be busy. i think the fix for this is to move the docs to build on each release rather than build on push to main.


word spell check

There are several typos in code.
Like TIMER_WHELL_TTL_DAY in class TimerMessageStore.

why oldest code revert this change?

@meateggmilk Because it is changing from one typo to another.

Read this reference to see parlance should be used:  http://www.cs.columbia.edu/~nahum/w6998/papers/sosp87-timing-wheels.pdf


lodash: trim trailing whitespace characters

It's a bit interfere, each time necessary to separate them from other changes.

@vvakame cosmetic changes are not welcome?

oh, sorry. It is welcome!

@vvakame thanks ^_^


Force Override Declarations Types

Search Terms

declaration
module
merging
override
interface
Suggestion

Add a way to force override declarations for modules in the workspace. Typescript allows you to create a global.d.ts to add global declarations. How about an override.d.ts or an *.override.d.ts  file to override existing modules declarations in the user workspace.
Use Cases

Lets say you install a node module package and type. You see that the type parameter isn't type safe so you use declaration merging to create a more type safe declaration. However, when you use the module type as a variables type or choose to extending it,  it automatically uses the types folder declaration first since the type parameter used fits the node_modules declaration type parameter, however that type would not fit the type parameter the user created. This is because declaration merging selects the most appropriate types in order. If the type was to not match the first declaration type it would move on until reaching the appropriate type, which wouldn't work in this use case.
Examples

// Node Module module declaration file
declare module "react-router" {
  interface RouteComponentProps<Params extends { [K in keyof Params]?: string | undefined }> {
    params: Params;
  }
}

// User Defined Type declaration file
export type NoRequired<T extends {}> = {
  [C in keyof T]: T[C] extends Required<T>[C] ? never : T[C];
};

declare module "react-router" {
  interface RouteComponentProps<Params extends NoRequired<Params> }> {
    params: Params;
  }
}

// Using the Interface
import { RouteComponentProps } from "react-router";

// I don't want to extend RouteComponentProps<{ page: string }>, but I can.
export interface CRUDComponentProps
  extends RouteComponentProps<{ page: string }> {
  serverName: string;
  clientName: string;
}

As you can see the type is accepted as the node modules declaration type instead of a user defined declaration type. There no other way of overriding it other than removing it manually from the the node_modules type file.
Checklist
My suggestion meets these guidelines:

[ ] A way of force overriding a type (preferably an override.d.ts or an *.override.d.ts file)
[ ] A way to sort the order in which declaration merging happens

I guess this would work so long as there's only one file like this. I do have some apprehension since users might use this more often in place of actually fixing things on DefinitelyTyped.

This could be used as a temporary measure because type definitions have to be reviewed before being updated on DefinitelyTyped. There also no need for one override file, since you can create a user based folder called override and place declaration files with the name of the module your trying to override. Because files can’t have the same name there will be no duplicates of modular overrides.

I want this feature too. I use webpack in my project, it has declare the process variable, just like this:
declare global {
    interface __WebpackProcess {
        env: any
    }
    declare var process: __WebpackProcess
}

It declare process.env as any type, but I want change it to a more accurate type, I don't know how to do it.

This is like the dual of #31894.

I have a need for this too. For example, I'd like to tighten up the type for QUnit's assert.ok to
ok(state: boolean, message?: string): void;

in a project (but don't think the DT types should be that strict). There's no good way to this (at least that I'm aware of) short of redefining all of the QUnit types locally and not including @types/qunit.

I have a similar need, where I imported a library which is partly typed, and when I do declaration merging/module augmenting for that library, I'm being locked in "declarations must have the same type" issue for days.

It would be useful also for "special cases" where typings are used to discourage use of API params which are actually valid. E.g. Stipe's create source API method: https://github.com/stripe/stripe-node/issues/974

This would also be nice to have if you are writing a plugin for a library which has the correct types without the plugin, currently the only way to override the lib tyes is to either fork a fixed version of the original lib’s typings or use patch-package like I’m doing now https://www.npmjs.com/package/@foodsy-app/fastify-typebox#important-note-before-using-this-plugin

I'm running into similar problems: I have a library that uses JSX but not React. Since React types are global, when both my library and React are installed, the types clash. I would love to be able to import my types just in the files that use my library without disturbing the typing in other files.

Just wanted to add another use case for this I've encountered:
We use the TypeORM library in a large web application and a few of it's "findBy"-style methods are overly permissive. It's easy to pass arguments which actually have no effect on the generated SQL but seem like they would. We'd like to disallow certain usages as a team by narrowing the type declarations but the package provides it's own types so our only option is to fork it. We'd love to have an overrides file where we could forcibly declare a narrower input type for just a few methods and call it a day!

@bengotow you could prevent that by writing a custom tslint rule

How does this going?

Plugins are a good example of a valid use case. fastify has route methods, for example:
get: RouteShorthandMethod<RawServer, RawRequest, RawReply>; but when you create a plugin that changes the behaviour of one of the route methods. you cannot reflect that runtime behaviour in the type system, in this case I'd like to do something like: get: TypedRouteShorthandMethod<RawServer, RawRequest, RawReply>;

Any progress?

it would be great to fix cases like this https://github.com/emotion-js/emotion/issues/1257

I love this idea. I really hope this gets added in next major update!

My use case: adding project-specific documentation to the existing types for NextJS.
There is some interesting discussion of workarounds/hacks over at SO: How to overwrite incorrect TypeScript type definition installed via @types/package.

Any update?

Any update?

We had some casual conversations about this and are basically terrified of how it would work in practice as soon as more than one person starts using it. What happens when multiple files try to override? What happens when something on DefinitelyTyped claims to override something? What happens if two packages override a global in ways that they both depend on "sticking"? How does a user resolve conflicts? Can you override an entire namespace?
We'll look at it again, though.

Thanks! It might make sense to look at two solutions for similar problems in the ecosystem:

The resolutions setting in package.json solves the problem of who overwrites whom by only allowing the top-level project ("Locality").
The subpath imports setting in package.json escalates up to the nearest package.json. It also uses special naming (imports need to start with #) to avoid conflicts.

Based on the discussions in this thread, the first idea might work for TypeScript by having a setting in tsconfig. From my understanding, only one tsconfig file is used at a time, so there would be no way for different settings to contradict each other.

Yeah, I think a tsconfig-based mechanism is the thing that makes the most sense. The problem from there is figuring out the granularity. For "These defs are totally bad and I want to use my own", that's fine. But it'd be cumbersome to say "If you want to fix this one type in this file, you need to make an entire copy of it (and keep it in sync with everything else)".
Then there's the separate question if this is an override of a module name or a file - both have use cases IMHO, since presumably at least some of the time you need to override a global definition.

@RyanCavanaugh you don't have to create an entire copy if you use a stacking mechanism to override the files with the greatest number taking precedence. This would be used to override the module. [module_name].override.ts

This is a very interesting idea.
This would enable us to add project specific type restrictions to the existing third party types.

Or just a simple "override" keyword in ts syntax might work as well, I think that's going to make less changes.

This just worked  🎉
declare global {
  module '@darch/schema' {
    export * from '@darch/schema';  // 👈🏼 export the same same module

    // Function override
    export function createType(def:{
      union: [
        'string',
        'int',
        '[float]', //
      ],
    }): "WHATEVER2";
  }
}

@antoniopresto - interesting solution - hadn't thought of this before!
I get the error "Ambient modules cannot be nested in other modules or namespaces.ts(2435)" when I wrap my module in declare global.

If I try to override the module just by declare module, I'm seeing this error in on the export line: "Exports and export assignments are not permitted in module augmentations.ts(2666)"

I wonder if there's something setting your project that's letting you do this?
I tried ts 4.5.4 and the latest 4.7.4

@dac09 are you also using a *.d.ts file?
I tried ts 4.5.4 and the latest 4.7.4 - both worked

Hi Antonio, yes I am. The file is an ambient declaration that currently “merges” the interfaces for “CurrentUser” (and works) - so don’t see any reason why it’s different. Anyone else have any thoughts what the difference might be?
You can actually see this behaviour in any RedwoodJS project, where the ambient declarations sit in “.redwood/types”.

Any progress on this? Thanks!

The solution from @antoniopresto works for me in TypeScript v4.9.

Just a reminder, this not work for libraries, since we are using global declaration, which is ignored from bundled typings

Can you help me understand what's wrong here?
// "typescript": "^4.6.3"
// node-docker-api.d.ts
import { Container as OriginContainer } from 'node-docker-api/lib/container';

declare module 'node-docker-api/lib/container' {
  type Container = Omit<OriginContainer, 'data'> & {
    Warnings: string[];
    data: {
      Id: string;
      Names: string[];
      Image: string;
      ImageID: string;
      Command: string;
      Created: number;
      Ports: number[];
      Labels: object;
      State: 'exited' | 'running';
      Status: string;
      HostConfig: { NetworkMode: string };
      NetworkSettings: any;
      Mounts: any[];
    };
    id: string;
  };
}

// another module
import { Container } from 'node-docker-api/lib/container';
// ...
const container: Container = containers.find(...)

if (container.data.State !== 'exited') {
    await container.stop();
}

I see that this is has some impact but doesn't override existed interface

// "typescript": "^4.6.3"
// node-docker-api.d.ts
import { Container as OriginContainer } from 'node-docker-api/lib/container';

declare module 'node-docker-api/lib/container' {
  type Container = Omit<OriginContainer, 'data'> & {
    Warnings: string[];

declare module and it doesn't seem to work
declare global {
  module '@darch/schema' {
    export * from '@darch/schema';  // 👈🏼 export the same module

@denbon05  you missed the re export line? ⤴

@antoniopresto yes I tried this and still have an error :/

I managed to do the override like so:
declare module '@darch/schema' {
    function createTypeFn(def:{
      union: [
        'string',
        'int',
        '[float]', //
      ],
    }): "WHATEVER2";

  export { createTypeFn as createType };
}

Another similar issue - https://github.com/microsoft/TypeScript/issues/25495

How do I override Components inside lib.dom, which is not a module to be import.
I tried to re-declare the same Component, but ts throws TS2403...

Just a reminder, this not work for libraries, since we are using global declaration, which is ignored from bundled typings

Hello, thanks for the info! Do you have any tips on how I can override a type so that the bundle can recognize it?
I have a components package and I want to override a type (DefaultTheme) from a dependency called styled-components. This way, our developers won't have to manually override it in their apps.
When I create a .d.ts file, it successfully overrides the type within the package. However, it is ignored when the package is bundled and used by another app.

Any progress on this? Thanks!

I have another instance of this where I'm using the styled-components guide for adding a global theme type per https://styled-components.com/docs/api#create-a-declarations-file, but their base type has an index ([key: string]: any) that I can't get rid of in my extension, so it's not strictly forcing consumers to use theme.someKnownKey.
This is what I've tried that doesn't seem to work:
type ThemeType = typeof myTheme

declare module 'styled-components' {
  export interface DefaultTheme extends ThemeType {
    [key: string]: never
  }
}

It will allow me to access keys off of myTheme but doesn't complain when I try to access an unknown key. It calls it any per styled-components' internal index.
Any ideas on how to solve this?

I managed to do the override like so:
declare module '@darch/schema' {
  function createTypeFn(def:{
    union: [
      'string',
      'int',
      '[float]',
    ],
  }): "WHATEVER2";

  export { createTypeFn as createType };
}

This works for me

I managed to do the override like so:
declare module '@darch/schema' {
  function createTypeFn(def:{
    union: [
      'string',
      'int',
      '[float]',
    ],
  }): "WHATEVER2";

  export { createTypeFn as createType };
}

How do you override a single function in the package without having to redeclare everything in module you're overwriting/over-declaring?

I've a similar use case which is much more functional:
My api sdk has a class, that can be used for search:
export class MyAPI {
  ...
  search: SearchAPI<any> //some search api class among other built-in apis
  ...
}

The result depends on the user account, so the generic sdk needs generic response. However, I also have a CLI that creates my-api.d.ts file, with typings of that account to provide fully typed support of the results if you wish:
declare module "my-api-sdk" {
   export interface MyAPI {
     search: SearchAPI<TicketRecord | ConcertRecord | ArtistRecord>
   }
}

It would be awesome if my typegen CLI could provide such typings for whoever uses my API. I could see a bunch of use cases like this (HeadlessCMS, ORM, etc).

@rgembalik im using this

@rgembalik https://github.com/microsoft/TypeScript/issues/36146#issuecomment-1190925432

@rgembalik #36146 (comment)

I saw this solution, but I also have similar issue as was mentioned above - I would have to redeclare the entire class to overwrite single property. To me, much cleaner solution would be explicit type override in declaration merging.


Allow brew cleanup to be run as root

Some packages which contain daemons that need to start as root create files within their prefix as the root user at runtime.  This later causes issues with cleanup of old versions.  Now that brew is shortly likely to disallow running as root for most things, I'm requesting that cleanup be added to the commands which can always be run as root, so that cleanup of these packages is straightforward.

Some packages

Which ones?

create files within their prefix as the root user at runtime

This should be considered a packaging bug; they should write to e.g. var instead.

Which ones?

bind, for example

This should be considered a packaging bug; they should write to e.g. var instead.

In the case of bind, technically it is, it's just writing to var/run/named/session.key within its prefix, instead of, say, /usr/local/var/run/named/session.key (assuming /usr/local install location).
Even then, many daemons are configurable on where they place things, and the user may have configured them to use the opt prefix instead, which would have the same problem.

I'm going to pass on this request but we'll definitely accept a PR to fix that behaviour for Bind or any other package.


Use plan.Spec.Upgrade in hash

Previously, secrets, image, and service account were used when tracking
updates of a plan with hashing. This made it impossible to trigger an
update by updating something like the environment variables.
After this change, anything in plan.Spec.Upgrade will be used in the
hash to track changes.
Issue:
https://github.com/rancher/rancher/issues/32633
https://github.com/rancher/rancher/issues/34908

@dweomer I ran the tests locally and they passed. However, it seems to have failed here for some reason and I don't have permissions to restart them.


lazy load plugin

Describe what this PR does / why we need it
lazy load plugin,this prevents the CPU idle rate from decreasing as all plug-ins are loaded when the Agent is suspended
Does this pull request fix one issue?

Fixes:https://github.com/chaosblade-io/chaosblade/issues/663
Describe how you did it
Do not load all plug-ins when hanging on agent, and load corresponding plug-ins according to target when creating
Describe how to verify it
Before modify cpu idle:

After modify cpu idle:

before  cpu profile:

after cpu profile:

Special notes for reviews

Nice. I'll be testing this feature in the next few days. Thanks.


upgrade to go1.20 and auto set go mem limit

rebased https://github.com/owncloud/ocis/pull/4856

bump go to 1.20 to benefit from garbage collector improvements and generated code performance: https://tip.golang.org/doc/go1.20
[ ] needs https://github.com/owncloud-ci/golang/pull/118
@mmattel how do we document:
[ ] the go built in env var GOMEMLIMIT? only as part of the dev docs
[ ] the automemlimit go packages env var AUTOMEMLIMIT? only by mentioning it in the dev docs

I'm now using the std functionality of the lib together with the k6 standalone rampup tests in https://github.com/owncloud/cdperf/pull/44 and with the default 2k VUS ... which still OOMs the server.
This woks fine
k6 run --env TARGET_BASE_VUS=10 --env TARGET_MAX_VUS=100 --env CLOUD_OIDC_ENABLED=true --env CLOUD_HOST=https://cloud.ocis.test --env CLOUD_LOGIN=admin --env CLOUD_PASSWORD=admin --env CLOUD_VENDOR=ocis --insecure-skip-tls-verify standalone/model-user-ramping-up-stress-test.js

But this easily kills the server (which has 32GB of ram):
k6 run --env CLOUD_OIDC_ENABLED=true --env CLOUD_HOST=https://cloud.ocis.test --env CLOUD_LOGIN=admin --env CLOUD_PASSWORD=admin --env CLOUD_VENDOR=ocis --insecure-skip-tls-verify standalone/model-user-ramping-up-stress-test.js

As soon as the stress phase begins:

running (5m21.9s), 100/200 VUs, 205 complete and 90 interrupted iterations
warmup    ✓ [======================================] 00/10 VUs    1m0s
run       ✓ [======================================] 10 VUs       1m0s
rampup    ✓ [======================================] 090/100 VUs  2m0s
stress      [=============>------------------------] 100 VUs      1m09.2s/3m0s

Virtual memory usage still increases to ~65GB, then swap (36GB) is filled up, than the kernel rids itself of the parasiteprocess by kill -9 ing it...
so ... Granted 2k concurrent clients might be a lot .... two questions:

why does the default memory ratio limit of .9 not work?
why are we using so much ram?

regarding

GOMEMLIMIT acts as a 'target' memory limit, so it will actually allocate more than GOMEMLIMIT: https://weaviate.io/blog/gomemlimit-a-game-changer-for-high-memory-applications
the default memory cache has no size limit and will grow indefinitely until TTLs are reached which evict items. We could use the ocmem in memory store, which allows configuring the size.  CPU peaks at 500% of avalable 800%. Lots of context canceled requests though. Well we have a request limit of 30 sec IIRC

@mmattel oops, OCIS_MEMORY_LIMIT_RATIO, OCIS_MEMORY_LIMIT_AMOUNT and OCIS_MEMORY_LIMIT_ENABLED were leftovers. They are actually no longer used. go has a GOMEMLIMIT env var, which is also used when running the compiled ocis server command. The library we add with this PR automatically sets it to 0.9, meaning 90% of free memory (or a configured cgroup). These two env vars are nowhere to be found in our code, I think it would be good enough to document that they exist and link to the official docs.

To make GOMEMLIMIT available for the standard doc process, create a new envvar OCIS_GOMEMLIMIT in the same context like OCIS_BASE_DATA_PATH (it is a Extended Environment Variable). When done, we can use the default processes. I am not doing an extra doc process for one envvar...

E2E tests failed: https://drone.owncloud.com/owncloud/ocis/20535/66/1
:boom: To see the trace, please open the link in the console ...

npx playwright show-trace https://cache.owncloud.com/public/owncloud/ocis/20535/tracing/copy-and-move-resources-in-personal-space-alice-2023-3-17-03-29-05.zip
npx playwright show-trace https://cache.owncloud.com/public/owncloud/ocis/20535/tracing/spaces-can-be-managed-in-the-admin-settings-alice-2023-3-17-03-27-23.zip
npx playwright show-trace https://cache.owncloud.com/public/owncloud/ocis/20535/tracing/unstructured-collection-of-testable-space-interactions-alice-2023-3-17-03-36-34.zip

@mmattel I don't think we need to document GOMEMLIMIT either. It is a standard golang envvar that is applicable to all go Applications. It is not an envvar we need to document or maintain. It could be deprecated or removed at any time, we have no control over it.

I don't think we need to document GOMEMLIMIT either

Just agreed with @butonic that this will not go into the admin docs but finds it way into the dev docs.

sonarcloud bug unrelated to this PR: https://sonarcloud.io/project/issues?resolved=false&sinceLeakPeriod=true&types=BUG&pullRequest=5732&id=owncloud_ocis&open=AYb_ekd6Bi3P78s7lAWf

Can we exclude the issue from linting? I don't like merging red PRs

Can we exclude the issue from linting? I don't like merging red PRs

no ... this has nothing to do with updating the go version. the related file was untouched ... AFAICT just sonarcloud randomly picking up files 🤷


Make GVFS available for Linux and macOS

Is there any intent to port GVFS over to Linux or macOS?

I agree with this. I would love to give this a spin, but I'm not willing to switch to windows for it.

The announcement (and GitHub readme) emphasize "GVFS relies on a protocol extension that any service can implement" (https://github.com/Microsoft/gvfs/blob/master/Protocol.md).  Any client tooling can support this as long as the protocol extension is added.

@nasserd That protocol extension is just for lazy fetching of objects. That is the minority of the work in this repo. The vfs allows file change tracking to prevent working tree scans. Both are valuable but just the protocol extension doesn't provide much.

+1 for non Windows support

Yes we definitely want to support Mac and Linux, and we are looking for people with file systems expertise on those platforms.

I guest it not working like File System, you need addition permission to load File System driver (like linux load kernel mod) or install FUSE , so , please just make git itself support the new gvfs protocol.

There be two kind of git serve. over http/https and ssh. it seems will take more and more working to do if need implement GVFS.

I just drop this here https://github.com/PressLabs/gitfs

Dokan can serve as a conceptual basis on how a VFS can be be bridged between Windows and FUSE-capable systems. Also, with WSL evolving, it could conceivably be taken the opposite way, and have raw support for mounting FUSE-based filesystems directly within Windows. I for one would love to see that day.

GVFS.FltWrapper could be abstracted so that people could aubstitute it with their own implementation for their OSes, or make a portable tool to de-virtualize files without dealing with custom FS

We actually built our first internal version of GVFS on something that looks a lot like FUSE. The challenge is that performance is absolutely critical on the file system on which you're running your builds, and context switching from kernel to user mode for every bit of IO can never be as fast as just doing it down in the kernel. What GvFlt does for us is that we only do the kernel to user mode context switch the first time the file is opened, and after that it just becomes a normal NTFS file. I'll be very curious to see how we can replicate that on Mac and Linux, but I don't yet know enough about those systems. If anyone has ideas, I'd be very happy to discuss them!

How about using git-annex, which is already packaged for most GNU/Linux distributions?
https://git-annex.branchable.com/

I took a look at porting the code to Mac with Mono.
I ran into a number of NuGet packages that I could not restore on the Mac, where can I get these from?
bash$ nuget restore
Unable to find version '1.9.4' of package 'ManagedEsent'.
Unable to find version '1.9.4' of package 'Microsoft.Database.Collections.Generic'.
Unable to find version '1.9.4' of package 'Microsoft.Database.Isam'.
Unable to find version '1.1.28' of package 'Microsoft.Diagnostics.Tracing.EventRegister'.
Unable to find version '1.1.28' of package 'Microsoft.Diagnostics.Tracing.EventSource'.
Unable to find version '1.1.28' of package 'Microsoft.Diagnostics.Tracing.EventSource.Redist'.
Unable to find version '1.0.0' of package 'StyleCop.Error.MSBuild'.
Unable to find version '<IP_ADDRESS>' of package 'StyleCop.MSBuild'.
Unable to find version '0.17131.2-preview' of package 'Microsoft.GVFS.GVFlt'.
Unable to find version '2.0.275-beta' of package 'CommandLineParser'.
Unable to find version '3.5.0' of package 'NUnitLite'.

@joudinet annex, LFS, and similar solutions help (though only partially in our case) with the size problem, but they do nothing to help with the issue that it takes a long time for git to operate on a large number of files. When you have 3.5 million files, a basic "git status" takes 8 minutes, and that's because it has to enumerate every single file, at the very least compare its timestamp with the index, and worst case open the file and calculate its hash. By virtualizing, we are tackling both of those problems.

@migueldeicaza All of those packages are available on nuget.org.
However, I don't think you can do just a straight port of this to Mac, because one of the key components is the GvFlt filter driver that only works on Windows. That's the key piece that we need to figure out how to develop on Mac in an efficient way.

Once I get this building, I will try the next step.
What I would do is plug the code from GVFS into FUSE on macOS, and that is the area that will need some code changes.

@migueldeicaza if you get this working on mac w/ mono is there any chance it will work on linux w/ mono?

Some other challenges to keep in mind (Mikayla is helping me get my packages sorted out).   The Microsoft.Database.Isam and some of the other Isam libraries contain P/Invokes into native code that will not work on Unix.

@DwordPtr if we get a unix port, it should work with little effort on Linux

For those following at home:
Start by updating Xamarin Studio to the beta channel (you will need the upgraded Mono).
Then you will need a newer Nuget on your system:
$ curl https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -o nuget.exe; mono nuget.exe restore

With that, you can get your chainsaw and start cutting.

@migueldeicaza That sounds great, let me know if you have any questions about the code as you're going through it!

The filter driver of Windows => the fanotify/inotify on Linux? (On-Access Scanning)

fanotify: fscking all notification and file access system
The definition of event:

Definition
Meaning

FAN_ACCESS
File was accessed

FAN_MODIFY
File was modified

FAN_CLOSE_WRITE
Writtable file closed

FAN_CLOSE_NOWRITE
Unwrittable file closed

FAN_OPEN
File was opened

FAN_OPEN_PERM
File open in perm check

FAN_ACCESS_PERM
File accessed in perm check

I wonder how much looking at gitfs aka SlothFS could be of help for getting started with the port: "SlothFS is a FUSE filesystem that provides light-weight, lazily downloaded, read-only checkouts of manifest-based Git projects. It is intended for use with Android".

I'm heavily over-simplifying here, but there have been two /really hard/ problems to solve in the file system portions of GVFS. 1) Enabling writes and 2) Making the file system fast, ideally as fast as a local disk for the second access.  A read-only FUSE filesystem doesn't solve either of those very well :-). We actually had GVFS up and running almost a year and a half ago using a FUSE-like solution, and it worked great if you just wanted to read files and have them download on demand. Everything we've done since then is to allow you to also do things like run a build on top of GVFS, modify any file you want, have "git status" and "git checkout" do the right thing but do it fast, etc.
I'd love to be proven wrong on this, but as we go to port this to Mac and Linux, I'd be very surprised if FUSE alone ends up being the correct solution. We had started with a similar solution for our Windows implementation, and what we learned is that there's just no way to make it fast enough if every single bit of IO has to transition from kernel mode to user mode. The way we've solved this on Windows is using the GvFlt driver, which only has to transition to user mode GVFS for the first file access, and after that lays it down on disk as a normal NTFS file, which enables your second access to be as fast as normal.
I still haven't gone very deep on this, but I'm currently thinking that the solution for Mac/Linux will potentially be some combination of a FUSE read-only filesystem, combined with OverlayFS, combined with some sort of on-disk caching. But that perf requirement is a hard one, and it may drive us to build a custom driver for those platforms too.
And I've also completely skipped talking about all the challenges of ensuring that git operations do the right things, even after you've made the file system writable and fast. That raises a whole set of other challenges.

Thanks for the writeup. I wonder if an extension to FUSE would be suited here. This way you can maintain the userspace implementation. It would provide something similar to what you described, on first access it could return a file handle to a file on a different filesystem, thereon in the kernel would proxy all read/write operations to that handle directly.
However it seems that this idea has been proposed before without too much buy in from the FUSE devs:

https://marc.info/?l=fuse-devel&m=132073921828367
https://sourceforge.net/p/fuse/mailman/fuse-devel/thread/da28f2a6-ece5-4c41-84cd-e7334119b9cc.maildroid%40localhost/#msg30665979

Although there was some interest each time and often citing that the performance was "good enough" or there weren't clear wins. So maybe with such a clear use case and some good benchmarks this could be supported.

@sanoursa wrote:

I'd love to be proven wrong on this, but as we go to port this to Mac and Linux, I'd be very surprised if FUSE alone ends up being the correct solution. We had started with a similar solution for our Windows implementation, and what we learned is that there's just no way to make it fast enough if every single bit of IO has to transition from kernel mode to user mode. The way we've solved this on Windows is using the GvFlt driver, which only has to transition to user mode GVFS for the first file access, and after that lays it down on disk as a normal NTFS file, which enables your second access to be as fast as normal.

I am the author of WinFsp which is a FUSE solution for Windows. What I have found is that a user mode file system that enables caching on Windows (i.e. uses the NTOS Cache Manager), can be almost as fast as NTFS. This is because the cache manager satisfies a lot of the I/O and the context switches are minimized. [The context switches are IMO the real problem; the kernel/user mode transitions are not as critical, at least in my testing.]
I link to some performance tests that show that a user mode file system can be very fast: https://github.com/billziss-gh/winfsp/wiki/WinFsp-Performance-Testing. NTFS has a slight edge on cached reads/writes in these tests, but this is because WinFsp does not implement FastIO (yet).
If I was doing this (and I am tempted) I would actually start with a cross-platform FUSE implementation, so the whole git world can benefit. I would then port to Windows using the WinFsp-FUSE layer (or its native API for maximum Windows compatibility).

+1

We actually had GVFS up and running almost a year and a half ago using a FUSE-like solution, and it worked great if you just wanted to read files and have them download on demand.
@sanoursa This might be still interesting work for few folks with read only patterns.
icsfs is one example https://sourceforge.net/projects/icfs/files/
Another one could be something similar to OpenAFS with it's local file cache.

I still haven't gone very deep on this, but I'm currently thinking that the solution for Mac/Linux will potentially be some combination of a FUSE read-only filesystem, combined with OverlayFS, combined with some sort of on-disk caching. But that perf requirement is a hard one, and it may drive us to build a custom driver for those platforms too.

Reading into OverlayFS it seems to be a good choice.
Currently I would imaging 2 problems:

OverlayFS seems to also return a file handle directly from one of the underlying FS. While this is great and all, it seems to force us to copy large files from the lower to the upper FS as soon as we modify the file in any way (even attributes). This may be ReallySlow:tm: and "waste" space.
I imaging reading directories to be slowish if we have FUSE as a lower FS. We certainly can start with that approach but will probably need to move that into the kernel to avoid a whole lot of context switching.

I think the problem that we will face on Linux is that git is really fast there. And any solution "feeling" not as swift will probably not be accepted.

Do we want to move the discussion somewhere else with actual topic replies? Like Reddit, Slack, ...

I think discussion makes more sense here.

On 22/08/17 10:14, Andreas Bergmeier wrote:

OverlayFS seems to also return a file handle directly from one of
the underlying FS. While this is great and all, it seems to force
us to copy large files from the lower to the upper FS as soon as
we modify the file in any way (even attributes). This /may/ be
ReallySlow™ and "waste" space.

In practice it turns out that files in source repositories are rarely
modified, almost always entirely rewritten. I don't think this should be
considered a blocker.

In practice it turns out that files in source repositories are rarely
modified, almost always entirely rewritten.

The way git works, git objects are not diffs but instead full copies of the modified files, so in any case full file would need to be transfered.

On 22/08/17 10:31, Jesús Leganés-Combarro wrote:

The way git works, git objects are not diffs but instead full copies
of the modified files, so in any case full file would need to be
transfered.

I should have been more clear. I wasn't talking about the files in .git,
but rather the working tree that the user is editing.
IIUC the tools modifying .git wouldn't have to go though the caching
overlay filesystem in most cases. Although I guess that that depends on
the implementation.

@gitster Do you have any opinion about these questions?

For those of you who are interested you may also want to watch Eden. It is a low-level FUSE file system that (I believe) supports sparse checkout for mercurial and git. It currently does not build, but my understanding is that the Facebook folks have great plans for it.

@billziss-gh Is there any further information about Eden? Like mentioned earlier - a pure FUSE fs probably will not scale.

Is there any further information about Eden?

My understanding is that they plan to open things up more as time passes. You may want to reach out to @wez for further information.

a pure FUSE fs probably will not scale.

As I mentioned earlier in the thread context switches are slow, but not as slow as disk accesses. A user mode file system that uses the OS file cache (cache manager, page cache, etc.) can be fast. This is not idle speculation, but it is something that I have done successfully on Windows.

Just wanting to point out that Jonathan Tan from Google is working on adding a native sparse checkout feature to git which might render gvfs and others obsolete<EMAIL_ADDRESS>

@est31 that's the hope :-). We're trying to push as much of this functionality into core git as we can. GVFS is currently providing two main features: 1) partial clone + on demand object download (which could be done in a platform-agnostic way in core git) and 2) working directory virtualization and dynamic expansion of sparse-checkout, which requires a file system driver and must be platform-specific.

@abergmeier-dsfishlabs: we don't have any public news or timeline for Eden today.  What I said in https://github.com/facebookexperimental/eden/issues/4#issuecomment-306616014 is still broadly true.  The grand vision is that it will be cross platform (linux, macos, windows) but it will take a bit of time to get there for all systems.  We're prioritizing supporting Mercurial as that is what we're using for our largest repositories.

I want to report that Jonathan Tan from Google are already releasing patch for Partial clone
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

What about integrating the working directory virtualization part directly in the kernel as this is not the only project which could profit from such features:
https://lkml.org/lkml/2017/12/13/669

@darkdragon-001 @abergmeier @abergmeier-dsfishlabs is there any more work done to support linux and mac?

+1

Please see https://blogs.msdn.microsoft.com/devops/2018/03/15/gvfs-for-mac/ for the latest

Why would anyone downvote this.
Also, GVFS is basically useless if it doesn't support the top two developer operating systems. I'm kind of shocked they didn't do this from the get-go as it's going to be harder to do it retroactively now.

Ms developed it for their use case which was managing windows source on Windows machines.
It's like asking why so many Linux opensourced projects don't have Windows versions.

I would definitely suggest taking a look at WinFSP.
Also, maybe the easiest way to do this would be to use libfuse on linux systems.

It's like asking why so many Linux opensourced projects don't have Windows versions.

Tell me one, and if so, tell me why it would be dificult to port to Windows...

I can’t think of any open-source project that would need this, whether on Linux or elsewhere.
Maybe Microsoft should simply refactor their Windows code and get rid of all the legacy cruft? Then standard Git would work just fine.

Maybe Microsoft should simply refactor their Windows code and get rid of all the legacy cruft? Then standard Git would work just fine.

If you read the reasons why they developed GVFS, you'll see they have a single huge repo with all their source code of all their projects since MS-DOS 1.0, so they commits history and the commits diffs are humongous. You would think this is unreasonable for normal use cases, but I'm eagerly their changes gets into mainstream git and GVFS gets into Linux so I can be able to use it as a versioned distributed filesystem.

@piranna  Because MS needed to scratch their itch first, which is their huge code base. So there was no reason for them to immediately port to linux.
@Ido git submodules are a pain to manage. Sometimes a giant mono repo is easiest. You don't have to continually manage multiple artifacts, artifact repo, and version tracking files. Nevermind the support for that is seriously lacking in the C/C++ world. Annex doesn't solve the problem, and other projects only tackle parts like large file support

Closing this issue because it is being replaced by many, finer grained issues covering the actual porting work. GVFS for Mac is now under active development and we have a bunch of issues covering that work. GVFS for Linux will be soon as well, so we'll open Linux-focused issues at that time.


Update basemap and layers

Description

Fixes #67

Add self hosted protomaps light basemap
In progress: counties and county labels

Reviewers

Primary:
Secondary:

Checklist

[ ] Added/Updated related documentation (if applicable).
[ ] Added/Updated related unit tests (if applicable).

Screenshots (if applicable):

Style generated with protomaps/basemaps using the command npm run generate-layers protomaps white

successful run
python main.py create-county-tiles --replace --upload
INFO:__main__:Creating county tiles
INFO:__main__:Downloading county shapefile from https://www2.census.gov/geo/tiger/TIGER2023/COUNTY/tl_2023_us_county.zip
INFO:__main__:Creating county FGB
INFO:__main__:Creating county tiles
detected indexed FlatGeobuf: assigning feature IDs by sequence
3235 features, 42718416 bytes of geometry and attributes, 347819 bytes of string pool, 0 bytes of vertices, 0 bytes of nodes
Choosing a maxzoom of -z2 for features typically 136374 feet (41567 meters) apart, and at least 28532 feet (8697 meters) apart
Choosing a maxzoom of -z10 for resolution of about 276 feet (84 meters) within features
  99.9%  10/293/401
INFO:__main__:Creating county label centroids
INFO:__main__:Creating county label tiles
detected indexed FlatGeobuf: assigning feature IDs by sequence
3235 features, 106282 bytes of geometry and attributes, 46930 bytes of string pool, 0 bytes of vertices, 0 bytes of nodes
  99.9%  10/193/385
INFO:__main__:Combining tiles
INFO:__main__:Uploading combined tiles to S3


Autocomplete doesn't work on type-hinted module classes as function parameters

@M-Shadow commented on Mon Feb 11 2019
Environment data

VS Code version: 1.31.0
Extension version (available under the Extensions sidebar): 2019.1.0
OS and version: Windows_NT x64 10.0.17134
Python version (& distribution if applicable, e.g. Anaconda): 3.7.2
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): N/A
Relevant/affected Python packages and their versions: enum, and any other module that you can import a class from such as json etc.

Actual behaviour
VSCode doesn't auto-complete the type-hinted function paramater, when you type hint it as module.class such as the enum.Enum as shown below. Pressing Ctrl+Space doesn't add any useful auto-completions:

Expected behaviour
I've found that the issue resolves when you import the class from the module directly, although I would wish that the issue didn't occur in the first place, as I tend to use the module directly instead of importing every single class from it. But this is the expected behaviour for the case above:

Steps to reproduce:

Import any module that contains a class in it, such as enum.
Create a function that has a single type-hinted parameter, but it has to be with the module name, such as enum.Enum.
Try to access the variable within the function, and use one of its attributes/functions and wait for auto-complete, it shouldn't work.

import enum

def foo(e: enum.Enum):
    e. # wait here for auto-complete

Logs
Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)
None

Output from Console under the Developer Tools panel (toggle Developer Tools on under Help; turn on source maps to make any tracebacks be useful by running Enable source map support for extension debugging)
None

Edit: Apparently this is with Jedi disabled, although when I have it enabled IntelliCode Python won't work. If I enable Jedi the issue resolves itself.

@d3r3kk commented on Wed Feb 20 2019
Verified the issue does happen as stated as of Microsoft Python Language Server <IP_ADDRESS>

+1 ; this seems to be relevant to https://github.com/Microsoft/python-language-server/issues/670

New LS:


Duplicate local display

If you leave the chat, then re-enter, some callback is duplicated, so your local chat display is duplicated the # of times you leave and re-enter.

Hi, thanks for reporting. It's totally possible that the chat content needs to be flushed when users re-log. This app is just a simple demo to showcase the chat components of F7 so I don't bother much getting everything 100% right. If you want, feel free to send in a pull request for a fix. Other than that I do not plan to maintain this demo.


add mparhack compatibility

Lists mparhack as "compatible" and adds a test file. Whatever mparhack is changing behind the scenes doesn't seem to affect the tagging.

I would call it only partially compatible. It will error if you use the debug option (\usepackage[debug]{mparhack}). Also as it patches core kernel commands (\@outputpage, \@outputdblcol, \@addmarginpar) it is a package that should be replaced/disabled long term.

Status updated


Overwrite of clipboard with nodemon

This is the best way to develop micro services, however when you use nodemon, it restarts the server as expected, but it also write the localhost address in the clipboard.  Could we do something about that? Requiring micro, we should be allowed to pass a boolean to disable the auto overwrite of the clipboard.

Something like clipless of zeit/serve: https://github.com/zeit/serve/issues/248

We're going to move this feature out. In turn, I'm closing this issue... 😊


Set tab property

Questions
Answers

Description?
Set tab property.

Type?
bug fix

BC breaks?
no

Deprecations?
no

Fixed ticket?
Fixes PrestaShop/Prestashop#27075.

Thanks @PrestaEdit


Refactor test to use TestUtil

addresses #42
Refactored some tests with TestUtil.js

There are no issues with the syntax in current codebase. Not to argue but it can be refactored with ES6 syntax if the scope of the project broadens in the future. So that it will be more easy for the new contributors to make any changes.

thanks!
I'm open to more es6 :) but let's do that in a separate change
thanks for your patience - I added some more comments

can you merge from master so it's easier to see which changes are yours? right now other changes are in this pull request too.
thanks for your quick updates :D I had a lot of stuff going on this week but should be able to respond faster now.

Created new PR and merged from master.


Define the Chat Bot Proxy in AppInventorFeatures

Although still hard-coded, at least it is now defined in one place instead of two (ChatBot and ImageBot). A future change will also want the ChatBot proxy for the Web side of App Inventor (for fetching the list of supported providers/models).
NOTE: I am making this a DRAFT pull request. Evan, can you update the iOS versions of ChatBot and ImageBot, I didn't make the change myself because I don't have the facilities to test? You are welcome to push a commit to this PR.
Change-Id: I7cebbf1423ce657b23ccdef0bd8257e176c1ec95

General items:

[ ] I have updated the relevant documentation files under docs/
[ ] My code follows the:

[ ] Google Java style guide (for .java files)
[ ] Google JavaScript style guide (for .js files)

[ ] ant tests passes on my machine

If your code changes how something works on the device (i.e., it affects the companion):

[ ] I branched from ucr
[ ] My pull request has ucr as the base

Further, if you've changed the blocks language or another user-facing designer/blocks API (added a SimpleProperty, etc.):

[ ] I have updated the corresponding version number in YaVersion.java
[ ] I have updated the corresponding upgrader in YoungAndroidFormUpgrader.java (components only)
[ ] I have updated the corresponding entries in versioning.js

For all other changes:

[ ] I branched from master
[ ] My pull request has master as the base

What does this PR accomplish?

Description

Fixes # .

Resolves # .

I have implemented this locally but need to free up some disk space to test. However, my impression based on our discussion last week was that this was going to be similar to what we did for CloudDB where there is also a formal property on the component to point to an alternative user-identified server, since presumably once we open source the proxy other folks will want to run their own even without running their own App Inventor instance.

Indeed, we can make the chatbot location a property, but for now, I just want an easy way to change it at compile time to make my testing easier.


Upgrade mobile-messaging-sdk-android to version 6.0.0

This change updates the reference to the infobip/mobile-messaging-sdk-android to the latest release version 6.0.0

Hi @mohammad-shaddad thank you for the PR, but we already updated android sdk to 6.3.1, so I'll close it


linked-list definition of "head" and "tail"

the notion of "head" and "tail" seem to be backwards in the example.js.
I'd expect "back" to correspond to "tail" and "front" to correspond to "head", like this article.
the example works and tests, but it seems conceptually misleading, imo.
README:

push (insert value at back);

example.js:
  push(value) {
    if (this.head) {
      const newHead = new Element(value);
      newHead.next = this.head;
      this.head.prev = newHead;
      this.head = newHead;
    } else {
      this.head = new Element(value);
      this.tail = this.head;
    }
  }

Hi there,
I probably agree with you, despite me writing the notes like this as that matched the example more. I think the original author who created this exercise from the spec determined that the last pushed element should always be head, so the array's head is at it's end.
We'll accept a PR here + the website-copy mentoring notes.

Working on it.
@SleeplessByte,
Ok to update the code example for this like this?
The mentor notes for linked-list seem out of date. Little things like Element is expected by test spec, Node is referenced in the mentor copy.
Node constructor arguments: constructor({ value, next, prev }) {...
Element constructor args: (value)

The tests actually don't expect Element. I would open a PR here (exercism/javascript) with the following text:
This PR updates the `example.js` code to be more reasonable. The `head` of the
list is now also the front, and the `tail` of the list is now also the back.

This matches the explanation in [this article](https://github.com/exercism/javascript/blob/master/exercises/linked-list/linked-list.spec.js)
and the readme.md of this exercise.

Only change example.js.

ok. PR from a fork?

ok. PR from a fork?

Yep, you won't be able to directly create a branch here :)

Changes in PR look good. But the README description is confusing (maybe because it is a doubly linked list) - I would generally expect to instead and remove from head only (aka stack). But anyways the problem specification also says the same - so seems good.


tf.math.is_strictly_increasing's behavior is not clear on a (2,2) matrix

Issue type
Bug
Have you reproduced the bug with TensorFlow Nightly?
Yes
Source
source
TensorFlow version
2.17.0
Custom code
Yes
OS platform and distribution
No response
Mobile device
No response
Python version
No response
Bazel version
No response
GCC/compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current behavior?
When receiving this input:
x = tf.constant([[1,2],[2,3]])

tf.math.is_strictly_increasing outputs False instead of True.
Also, for a tensor with shape (1,3,3):
x = tf.constant([[[-0.3188535,  -1.6029806,  -1.5352179],
  [-0.5704009,  -0.2167283,   0.2548743 ],
  [-0.14944994,  2.0107825,  -0.09678416]]])

It's output is still False instead of True even when x's first dimension only has one element.
Based on the description "Elements of x are compared in row-major order.", it seems that elements in x are compared along row (i.e., the first dimension).
Therefore, to my understanding, if the first dimension contains only one element (such as 1x3x3 shape tensor), the output should be True. If the input is [[1,2],[3,4]], the output should also be True since the value in the first dimension is increasing (from [1,2] to [3,4])
Standalone code to reproduce the issue
import tensorflow as tf
x = tf.constant([[1,2],[2,3]])
print(tf.math.is_strictly_increasing(x))  # False
x = tf.constant([[[-0.3188535,  -1.6029806,  -1.5352179],
  [-0.5704009,  -0.2167283,   0.2548743 ],
  [-0.14944994,  2.0107825,  -0.09678416]]])
print(tf.math.is_strictly_increasing(x))  # False

### Relevant log output

_No response_

I was able to reproduce the issue on tensorflow v2.17 and tf-nightly. Kindly find the gist of it here.
Output in 2.17 and nightly:
tf.Tensor(False, shape=(), dtype=bool)
tf.Tensor(False, shape=(), dtype=bool)

Thank you!

The description says: "Elements of x are compared in row-major order.  The tensor [x[0],...]
is strictly increasing if for every adjacent pair we have x[i] < x[i+1].
If x has less than two elements, it is trivially strictly increasing"
It means that the multidimensional array is effectively flattened into a one-dimensional array in row-major order before comparison.
There is also element-wise comparison that probably reflect your scenario. It can be calculated with:
a = tf.constant([[1, 2], [3, 4]])
b = tf.constant([[2, 3], [4, 5]])
result = tf.math.less(a, b)
print(result)  # [[True, True], [True, True]]


Downgrade ray version to 2.5.0

Summary
From #733 , we need to downgrade ray version to 2.5.0 to continue with other developments. Let's see how this problem advances.

The error comes from ray. They are using pydantic and in a recent version they introduced breaking changes. Ref: https://github.com/ray-project/ray/pull/37000

@Tansito All images are built fine.  Thanks!