First get decorator working

Fix process decorators and make them more flexible
What does this add?
This PR completely refactors/reworks the decorator methodology introduced in https://github.com/huggingface/accelerate/pull/488 into something that fully completes the proposed API
Who is it for?
Closes https://github.com/huggingface/accelerate/issues/923
Why is it needed?
The decorators that were introduced did not work as intended, and only worked to have the Accelerator object itself actually use it. To use it outside the Accelerator was impossible. As a result, this PR completely reworks how the existing decorators were designed by making them utilize the state instead, and ensures that a special internal use case is added when using the decorators back on the Accelerator class itself, with a raised error if a user tries to do the same.
What parts of the API does this impact?
User-facing:
A user can now actually perform @accelerator.on_main_process as a decorator, along with the rest of the existing ones.
The AcceleratorState also now stores the use_distributed value originally in the Accelerator object
Internal structure:
The existing implementation in Accelerator was gutted, and reworked into a usable fashion.
Specifically, this logic has now been added to the decorators:
    def on_local_process(self, function: Callable[..., Any] = None, local_process_index: int = None):
        ...
        if function is None:
            if "Accelerator." in self.__qualname__:
                function = self
            else:
                raise ValueError(
                    "The `on_main_process` decorator must be called with a function on an instantiated `Accelerator` object."
                )

This check is to ensure if self is a function from the Accelerator itself, or the behavior that occurs when performing:
# Inside the Accelerator object definition
    @on_main_process
    def log(self, ...)
        ...

Instead of requiring complex workarounds. As you can see in the above, a proper error will also be raised if a user breaks this "magic" with a clear description of what is happening.
Inside the on_process* functions there also exists this snippet:
    def on_process(self, function: Callable[..., Any] = None, process_index: int = None):
        # Initial construction of the decorator.
        if (self is not None) and (process_index is not None) and (function is None):
            return partial(self.on_process, process_index=process_index)

This is to check if an overloaded decorator was used, potentially again on the Accelerator class, before moving on to the proper constructor.
Basic Usage Example(s):
from accelerate import Accelerator
accelerator = Accelerator()
@accelerator.on_local_main_process
def print_local_main():
    print(f"Printing from the local main process {state.local_process_index}")
print_local_main()

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Fix underlying type for DATE64

When converting a column of type DATE64 to parquet, the underlying type is INT32 instead of INT64. This updates the type to be the correct width.

I don't think this is quite right. There isn't a 1-1 correspondence between Arrow's physical types and Parquet's physical types. Parquet always stores dates as int32: https://github.com/apache/parquet-format/blob/master/LogicalTypes.md#date. We map to Arrow's Date64 if that's what the original Arrow type was.

I see that the unit tests failed, so I'd be inclined to agree that this change isn't quite right, haha.
That said, I do think there is an issue with the current implementation, since date64 doesn't survive a round trip from Arrow to Parquet and back:
import datetime
import sys
import pandas as pd
import pyarrow as pa
import pyarrow.parquet as paq

print(f"{sys.version=}")
print(f"{pa.__version__=}")
print()

schema = pa.schema(
    [
        ("date32", pa.date32()),
        ("date64", pa.date64()),
    ]
)

print("schema:", schema, "", sep="\n")

df = pd.DataFrame(
    {
        "date32": datetime.date(2020, 3, 15),
        "date64": datetime.date(2020, 3, 15),
    },
    index=pd.RangeIndex(1),
)

rb = pa.RecordBatch.from_pandas(df, schema=schema)
print("rb.schema:", rb.schema, "", sep="\n")

w = paq.ParquetWriter("test.parquet", version="2.6", schema=schema)
w.write(rb)
w.close()

f = paq.ParquetFile("test.parquet")
t = f.read()
print("t.schema:", t.schema, sep="\n")

On my machine (running x86_64 Linux), I see the following output:
sys.version='3.11.3 (main, Apr  5 2023, 15:52:25) [GCC 12.2.1 20230201]'
pa.__version__='10.0.1'

schema:
date32: date32[day]
date64: date64[ms]

rb.schema:
date32: date32[day]
date64: date64[ms]
-- schema metadata --
pandas: '{"index_columns": [], "column_indexes": [{"name": null, "field_n' + 412

t.schema:
date32: date32[day]
date64: date32[day]

That said, I do think there is an issue with the current implementation, since date64 doesn't survive a round trip from Arrow to Parquet and back:

Ah that makes sense. I think this is related to https://github.com/apache/arrow/issues/15032
We should probably improve it so that all types roundtrip.
I'm closing this PR, but if you are interested in making a PR to make more types round trip I would review it.


Wrong Things, not Missing Things on wiki

What needs to be documented?
The getProperty in the Lua Script Variables and a lot of other stuff uses getPropertyClass, not getPropertyFromClass. This may confuse newer psych engine lua users who decided to use the getProperty thing. (which may not be a lot but who cares)

If one doesn't work, you try the other, simple

Fixed


remove json serialization for fastlogger

resolves #903
Not sure that this is worth the optimization.  Both FunctionInstanceLogItem and FunctionInstanceLogEntry are types in the core sdk, not the script repo.  If they are changed the JSON serialize code here will automatically propagate changes, whereas the new code would not.
Essentially, as you can see below, this will save ~250ms on script host startup.  It is 100x faster for all logs thereafter, but the cost of the current implementation is quite small (~250ms per 10000 logs).
Perf Comparison
For 10000 FunctionInstanceLogEntries:

Iteration
JSON Serialize
Direct Assign
Comment

first
500ms
3ms
JSON.net takes ~250ms for type reflection on first call, which is then cached

repeat
250ms
2ms

I think this needless serialization/deserialization on the logging hot path is unecessary. @MikeStall was there a reason for this, or can we just take @mamaso's changes?


Error when try to use "ProgressBar" component

When we try to use this component we are having the following error:

I already fix this issue so I will open a pr to this

@Toledodev thanks, feel free to open the PR. What is the bug being caused by?

Hey @mitrotasios , I checked now and this is a duplicate of this issue https://github.com/tremorlabs/tremor/issues/387


How to check orientation with this?

This library is just a wrapper around the window.matchMedia API, meaning you can use any feature supported by media queries.
To answer your question, you could use the orientation feature:
<Media query="(orientation: landscape)">
  {isLandscape =>
    isLandscape
      ?
I'm in landscape mode

      :
I'm in portait mode

  }
</Media>

Disclaimer: I didn't actually run the code above, so please forgive me if there are any typos or anything :sweat_smile:

@sarabs3 I'll consider this solved. Let me know if anything remains unclear!


python38Packages.pglast: 3.4 -> 3.5

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python38Packages.pglast is: "PostgreSQL Languages AST and statements prettifier"
meta.homepage for python38Packages.pglast is: "https://github.com/lelit/pglast"
meta.changelog for python38Packages.pglast is: "https://github.com/lelit/pglast/raw/v3.5/CHANGES.rst"
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

/nix/store/5imwq2fp6fi5w5gl6zx4d1lw1brjzyi5-python3.8-pglast-3.5/bin/pgpp passed the binary check.

/nix/store/5imwq2fp6fi5w5gl6zx4d1lw1brjzyi5-python3.8-pglast-3.5/bin/.pgpp-wrapped passed the binary check.

2 of 2 passed binary check by having a zero exit code.

2 of 2 passed binary check by having the new version present in output.

found 3.5 with grep in /nix/store/5imwq2fp6fi5w5gl6zx4d1lw1brjzyi5-python3.8-pglast-3.5

found 3.5 in filename of file in /nix/store/5imwq2fp6fi5w5gl6zx4d1lw1brjzyi5-python3.8-pglast-3.5

directory tree listing: https://gist.github.com/e20ed22880103454105711cd5923863c

du listing: https://gist.github.com/6b3fd9c30be9bf43286a80a026435607

Rebuild report (if merged into master) (click to expand)

8 total rebuild path(s)

2 package rebuild(s)

2 x86_64-linux rebuild(s)
2 i686-linux rebuild(s)
2 x86_64-darwin rebuild(s)
2 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
python38Packages.pglast
python39Packages.pglast

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/5imwq2fp6fi5w5gl6zx4d1lw1brjzyi5-python3.8-pglast-3.5 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python38Packages.pglast https://github.com/r-ryantm/nixpkgs/archive/8215decb83ba55619be0d986cdbff4a8ea40c541.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/5imwq2fp6fi5w5gl6zx4d1lw1brjzyi5-python3.8-pglast-3.5
ls -la /nix/store/5imwq2fp6fi5w5gl6zx4d1lw1brjzyi5-python3.8-pglast-3.5/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages built:

python38Packages.pglast
python39Packages.pglast

Maintainer pings
cc @marsam for testing.

@GrahamcOfBorg eval


Add a WebIDL frontend

This is still a work in progress, but I'd like to merge it so that we can collaborate on improving it.
Parse WebIDL source text and convert it into wasm-bindgen AST, so that we can automatically emit bindings for the types and functions described in the WebIDL.

Looking good!
I'm wondering now though if we may want to tweak strategy slightly wrt the backend crate? I like the idea of using it but I think that we may want to eventually generate the attribute annotated code rather than expanded code? Right now the output of the attribute is somewhat unstable and changes in point releases but the attribute itself is the current stable interface
If we do that then I think the tests here can be over the final token stream rather than the ast (which can be cumbersome)
Does that make sense? Do you think something like this may be a better approach? The code to go back to the attributes doesn't exist yet but I think the ast should have most if not all of the necessary information

Alex and I just had a conversation about this. We decided that it is best to emit the same generated source text that the proc-macro produces (ie call to_tokens on the AST), not the #[wasm_bindgen] annotations. While this generated source text is more fragile than the annotations, we intend to emit it in build.rs, which side steps the fragilitiy issues since it will always use the current compilation's crate graph's wasm-bindgen, not the wasm-bindgen from when we published the crate.

👍
🚅


Possible better implementation of UMD?

Hi,
I was having trouble using this module with webpack so I've had a go at adding a UMD based on what I could find online.
I suppose this is more a reference than a proper PR, perhaps worth considering use with webpack et al for future updates.
Thanks

+1


Deal with updates to README.md files.
Resfresh required to pull updates in.


[Enchancement] Local UI

As of pebblo 0.1.9, we have only pebblo_report.pdf as output of the pebblo package.
It would be useful if we can have simple UI running locally on pebblo server which will show all apps discovered, giving details about each app(equivalent to pebblo_report.pdf).

This feature is released in 0.1.12. Documentation is added in the Pebblo UI Section.


Rename keys.example.json to keys.json

I believe is should be named keys.example.json because this has sensitive info and so that it does not get committed by mistake

@MohmmadQunibi is correct, closing


Reformat user guide

Currently, the IntelliJ IDEA code formatter breaks the code formatting in the Java listings in the user_guide. After this is fixed, we should reformat the file.

They don't plan to fix it: https://youtrack.jetbrains.com/issue/IDEA-269943/Code-blocks-are-highlighted-as-errors-in-Markdown

Maybe we just close that ticket?

Closing ticket since upstream will not fix blocker.


repro issue #808

Implemented test aiming to reproduce issue #808
There is a little quirk though !
It actually triggers a bug, but not the expected one ! So I hope, once the unexpected bug gets fixed it will trigger the expected one.

It actually triggers a bug, but not the expected one ! So I hope, once the unexpected bug gets fixed it will trigger the expected one.

RUSTFLAGS="-C debuginfo=2" 😂
And then you get:
running 1 test
test tests::load::log_str_random ... FAILED

failures:

---- tests::load::log_str_random stdout ----
thread 'tests::load::log_str_random' panicked at 'called `Result::unwrap()` on an `Err` value: LoadError { io_error: Os { code: 22, kind: InvalidInput, message: "Invalid argument" }, verifier_log: Validating write() func#1...
Global function write() doesn't return scalar. Only those are supported.
verification time 18 usec
stack depth 0+0
processed 0 insns (limit 1000000) max_states_per_insn 0 total_states 0 peak_states 0 mark_read 0
 }', test/integration-test/src/tests/load.rs:624:17

The issue is functions from external crates get compiled as global functions instead of static. Global functions can't return non-scalar types. We should probably make all functions except program functions static in bpf-linker.

Fixed in https://github.com/aya-rs/bpf-linker/pull/173


Add connection timing annotations to client spans.

Annotations are displayed in the zipkin UI as a table to be able to see time spent in individual steps of a span. It should be useful to users to be able to see client connection timings in spans.
Interestingly, until #2272 it's likely these annotations will happen before the span start time, which is not how spans are normally recorded. It shouldn't hurt though to have them since they're just numbers in a table. The other issue is actually a lot more work, so in the meantime at least this provides useful numbers.
Misc: I found that there would always be a 30-60s pause between yarnSetup and yarn on my computer and found it's because gradle-node-plugin adds node_modules as a task output, causing Gradle to hash every single file in there which takes forever. Without defining it as an output, it means if a developer mucks with node_modules with manual edits, yarn won't run again, which is arguably a good thing anyways.
Fixes #2271

Misc: I found that there would always be a 30-60s pause between yarnSetup and yarn on my computer and found it's because gradle-node-plugin adds node_modules as a task output, causing Gradle to hash every single file in there which takes forever. Without defining it as an output, it means if a developer mucks with node_modules with manual edits, yarn won't run again, which is arguably a good thing anyways.

Are you going to send a PR for this?

That got merged with my other PR (all my recent PRs had the patch ;) )


Verbose and silly log levels

Are "silly" and "verbose" levels supported?
I'm trying this configuration:
        statusLevels: {
          success: "verbose",
          warn: "warn",
          error: "error"
        },
        level: "verbose"

and I get no logs

Is it possible that you have the same kind of issue as in https://github.com/bithavoc/express-winston/issues/150? Specifically: is it possible that you have your transport(s) (either on your winstonInstance or passed directly) set not to log at the "silly" or "verbose" level?
There's no code in express-winston to change behavior at any given level; we just pass it along to winston.

what is the difference between 'silly' and 'verbose'?

@ORESoftware silly logging is typically used to log EVERYTHING (Each function call, action, variable, extra information, whatever), whereas verbose logging is closer to debug logging, providing a logged pseudo-trace through functions and logs of certain critical variables.
@m3l7 Were you able to solve your issue with getting logging to work?


cli: fix injection of --prepare-for flags

When RUSTFLAGS was set, we would previously use "§{RUSTFLAGS}-W rust-2018-compatibility" which can cause
errorous invocations like "cargo fix .... -C target-cpu=native-W rust-2018-compatibility ...." if --prepare-for 2018 is used.
We need an extra space to separate RUSTFLAGS and "-W rust-2018-compatibility" because we want
"-C target-cpu=native -W rust-2018-compatibility".

Thanks! Can you add a test for this as well?

Added a test and merged


Add /block.get end point to Watcher Informational

First PR on elixir-omg!
Overview
This PR creates a \block.get endpoint to fetch a block (including its transactions) by hash. Closes #1169
Changes

Adds \block.get route to router.ex (omg_watcher_rpc)
Adds corresponding get_block action in block controller.
Adds get in omg_watcher_info/api/block.ex
Adds get in omg_watcher_info/db/block.ex and defines block has_many transactions in schema

Testing
Wrote tests for changes in relevant controller, db and api files.

Coverage remained the same at ?% when pulling a1d60017b615be98997f8000d6664673d1e6a743 on 1169-block.get into 71ee3dacd770c3bd3df54a350c5014faa29edb8c on master.

I just realized this while working on my PR. Please add swagger specs too.

Hi all - my bad. I misread something in the front-end code and assumed mistakenly that a hash parameter for /block.get was more suitable. Turns out a blknum param is what I needed.
The refactoring was straightforward but impacted all the changed files. Apologies for any confusion caused.
@unnawut in reference to our previous discussion I am calling the DB method get as per your proposal.
Thanks for all your feedback on my first elixir-omg PR, much appreciated!


Swapbits

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@1ca6b90). Click here to learn what that means.
The diff coverage is 100%.

@@           Coverage Diff           @@
##             master     #6   +/-   ##
=======================================
  Coverage          ?   100%
=======================================
  Files             ?      3
  Lines             ?     36
  Branches          ?      0
=======================================
  Hits              ?     36
  Misses            ?      0
  Partials          ?      0

Impacted Files
Coverage Δ

src/Twiddle.jl
100% <100%> (ø)

src/nibbles.jl
100% <100%> (ø)

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 1ca6b90...6ba5eda. Read the comment docs.


Update package version for ARM

Update package version for ARM

Hi @vivsriaus, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (visriniv). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, or work for Microsoft Open Technologies, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

@azuresdkci retest this please.


Refactoring of the simulation pointing

This should improve the handling of the pointing information and prepare for the proper handling of real observation monitoring data.
Goal is to remove the "closest timestamp" matching in the hdf5 event source and replace it with filling values from the simulation header for simulations and actual iterpolation from the monitoring table for observations

Closed in favor of #1973


Feature/fix vscode eslint

Hi there 👋
I submit this little PR aiming to resolve issue #14
I dug a bit and noticed that the VSCODE_PID was available in the context of the Vscode plugin but not in the context of the classic CLI command (eslint <options>). Then I used it to bypass the preprocess check. Let me know WDYT?
I tried locally with my sources files and it seems to work, but I'm not sure at all... I think we should try with an alpha release or something like that.

⚠ I faced a few devx issues when I started my contribution

node_modules was not ignored from git
I add a bunch of typescript/eslint errors (the chaining operation was not work 👶)

I tried to fix them as I can to submit something.
Moreover, this test fail in my local environment:

I make more tests and I think I made a wrong assumptions ... I'll try back later

Thanks for your effort, @tony-go ! I really appreciate that 🙂 I've pushed tag https://github.com/paleite/eslint-plugin-diff/tree/v1.0.13-3 and I think I did something similar to you:
https://github.com/paleite/eslint-plugin-diff/blob/v1.0.13-3/src/git.ts#L5
Could you check if version 1.0.13-3 fixes the VSCode-issues for you?
Thanks again for taking the time to work on this!

tag 1.0.13-3 is not fixing it


Performance stuff

Discussion thread for ideas to improve PyVRP's performance. Could be low-level stuff, like better code optimisation, smaller data types, and/or caching. Or a smarter data structure, better algorithm, etc. Anything's in scope.

One idea that might help a bit relates to how we skip move evaluation when nothing's changed since the last time we considered the client pairs $U$ and $V$:
https://github.com/PyVRP/PyVRP/blob/7604244262d342f14b649f1845ecd30eda56bc7e/pyvrp/cpp/search/LocalSearch.cpp#L92-L93
This works fine, but any change in the routes of $U$ and $V$ are now reason to re-evaluate. Even when that change happens many nodes after $U$ or $V$, which has no consequences for the evaluation.
We might make this more efficient by taking into account the size of our move operators (e.g., 1, 2, 3, etc. nodes), and checking whether there has been a recent modification that affected nodes sufficiently near either $U$ or $V$ to warrant a new evaluation.

This works fine, but any change in the routes of U and V are now reason to re-evaluate. Even when that change happens many nodes after U or V, which has no consequences for the evaluation.

I like the idea but I'm not sure if this is correct? At least with time windows, removing a node towards the end of the route may create slack which enables inserting a customer early in the route that would previously result in a large penalty, even if the affected parts of the route are far apart.
This situation may be hypothetical or not happen frequently so we may decide heuristically to skip those options but that's a functional change of the algorithm, not a more efficient implementation with the same result. Or am I missing something?

This situation may be hypothetical or not happen frequently so we may decide heuristically to skip those options but that's a functional change of the algorithm, not a more efficient implementation with the same result. Or am I missing something?

Not really. This conclusion seems correct to me.

Much more aggressive caching is also in scope here. Routes are queried at least two orders of magnitudes more than that they are changed. Every time something between two indices is calculated, can we somehow store the result? Is that worthwhile?

Also relevant:

Restarts: how often, after what (no improv local best in this restart run, or global best so far over all restarts?)
SREX: can we limit the time spent in the subsequent local search? (see also #521)
Improve our neighbourhood strategy somehow? I know FILO has a much more advanced neighbourhood system, and we might be able to learn something from how that works exactly.
Really think about what route neighbours are in #126, and see if we can somehow use that as well.

Improve our neighbourhood strategy somehow? I know FILO has a much more advanced neighbourhood system, and we might be able to learn something from how that works exactly.

Leaving out some details, FILO uses a granular neighborhood that is 1) node-based and 2) dynamic.

Node-based means that the number of neighbors is different per node. The number of neighbors is between [1, 25] and is dynamically updated.
Based on whether a node is involved local search moves is improving, the number of neighbors is updated. This is done using a "sparsification factor" $\gamma_i \in [0, 1]$ for each node $i$. The number of neighbors at any time is given by $\gamma_i * n_{\text{neighbors}}$ and $\gamma_i^0$ being the initial sparsification factor.

If node was involved in an improving move/solution, then set $\gamma_i = \gamma_i^0$.
Otherwise, update the $\gamma_i = f \gamma_i$ with updating factor $f$.

I don't really understand yet what the "node involved in improving move" means.

Do people actually use add_node_operator and add_route_operator to add custom node/route operators? Or do they just use whatever default operators we have selected? I suspect the latter. If that's the case we might want to investigate how much it'd help the compiler optimise further if we bring all operators back into the LocalSearch object.
That is probably worth investigating regardless of whether we want to do it.

Do people actually use add_node_operator and add_route_operator to add custom node/route operators? Or do they just use whatever default operators we have selected? I suspect the latter. If that's the case we might want to investigate how much it'd help the compiler optimise further if we bring all operators back into the LocalSearch object.
That is probably worth investigating regardless of whether we want to do it.

I'll have a look at this sometime soon.


Provider doesn't handle state of appcatalyst-daemon

Appcatalyst provider does not work out of the box and requires the appcatalyst-daemon to be started before vagrant will function properly. This behavior is unexpected for most, as the existing VMware providers don't require a separate daemon to be running for vagrant up to function as expected:
vagrant up --provider=vmware_appcatalyst
Can't connect to AppCatalyst, please verify connectivity.

Ideally, the daemon should be handled by the provider and/or this requirement should be documented.

Thanks for reporting this @mootpt
It's something that we're considering adding, both from the AppCatalyst standpoint (starting up the daemon on boot, having a menubar helper to start/stop the daemon) and from the Vagrant provider (adding a do you want to start the daemon? [y/n] prompt).

Thanks @frapposelli.

It is apparently unvagranty to prompt the user for any input on the provisioning of a machine. If the user is wanting to use the appcatalyst stack it makes sense to do one of two things:

Fix it for the user and tell them that it was fixed.
Explode with a better error message to tell the user how to fix it.

This issue should have been closed by #20, oops.


BREAKS NORA - Mini-player bug

Describe the bug
When enabling the Mini-player, making it "full-screen" and restoring the window to a "non-full-screen" state, the app hard-crashes.
This even reset the app for me on multiple occasions
To Reproduce
Steps to reproduce the behavior:

Play song (optional)
Open in Mini-Player
Set Mini-Player to full-screen mode (drag to the top of the screen and let go, or double-click the top of the window)
Take the Mini-Player out of full-screen mode (drag away from the top of the screen)
Crash

Expected behavior
The Mini-Player should not be able to be set to full-screen mode.
It should not crash.
Screenshots

Log File
logs.txt
System Information:

OS: Windows 10
Affected App Version: 2.0.0-stable

Thanks for pointing it out.
I found out that it is a bug in electron and i created an issue in their repo.
https://github.com/electron/electron/issues/38098

@JustCallMeQuincy,

This even reset the app for me on multiple occasions

I saw this now. Did the app reset by itself after the crash?

@Sandakan iirc, yes. Though only on some occasions


Problem with SplFileObject and vfs for line counting

I have been using this to test some CSV code that makes use of SplFileObject for counting the lines in the CSV file.
I have found that using vfs does not return the same count.
Tests
/**
 * 8 fails, 2 pass
 * @dataProvider countVfsDataProvider
 */
public function testCountVfs($data, $expected)
{
    $file = vfsStream::url('tmp/data.csv');
    file_put_contents($file, $data);

    $file = new \SplFileObject($file, 'r');
    $file->seek($file->getSize());
    $this->assertEquals($expected, $file->key());
}

/**
 * 10 passes
 * @dataProvider countVfsDataProvider
 */
public function testCountVfsNative($data, $expected)
{
    $file = '/tmp/data.csv';
    file_put_contents($file, $data);

    $file = new \SplFileObject($file, 'r');
    $file->seek($file->getSize());
    $this->assertEquals($expected, $file->key());
}

public function countVfsDataProvider()
{
    return [
        'test-01' => ["header\r\n1\r\n2\r\n3\r\n", 4],
        'test-02' => ["header\n1\n2\n", 3],
        'test-03' => ["header\n1\n2", 2],
        'test-04' => ["header\n1\n,\n,\n,\n", 5],
        'test-05' => ["header\n", 1],
        'test-06' => ['', 0],
        'test-07' => ["\n", 1],
        'test-08' => ["\r\n", 1],
        'test-09' => ["\n\n", 2],
        'test-10' => ["\r\n\r\n", 2],
    ];
}

Test output
There were 8 failures:

1) VfsTest::testCountVfs with data set "test-01" ('header
1
2
3
', 4)
Failed asserting that 3 matches expected 4.

/path/to/vfs.test.php:82

2) VfsTest::testCountVfs with data set "test-02" ('header
1
2
', 3)
Failed asserting that 2 matches expected 3.

/path/to/vfs.test.php:82

3) VfsTest::testCountVfs with data set "test-04" ('header
1
,
,
,
', 5)
Failed asserting that 4 matches expected 5.

/path/to/vfs.test.php:82

4) VfsTest::testCountVfs with data set "test-05" ('header
', 1)
Failed asserting that 0 matches expected 1.

/path/to/vfs.test.php:82

5) VfsTest::testCountVfs with data set "test-07" ('
', 1)
Failed asserting that 0 matches expected 1.

/path/to/vfs.test.php:82

6) VfsTest::testCountVfs with data set "test-08" ('
', 1)
Failed asserting that 0 matches expected 1.

/path/to/vfs.test.php:82

7) VfsTest::testCountVfs with data set "test-09" ('

', 2)
Failed asserting that 1 matches expected 2.

/path/to/vfs.test.php:82

8) VfsTest::testCountVfs with data set "test-10" ('

', 2)
Failed asserting that 1 matches expected 2.

FAILURES!
Tests: 20, Assertions: 20, Failures: 8.

It seems the line counting is done entirely in SplFileObject. If I change it from $file->seek() (which BTW expects a line number to seek to, not a byte offset) to
while ($file->valid()) {
    $s = $file->key() . ': ' . $file->current(); // call current() otherwise the loop will run forever
    if (!$file->eof()) $file->next();
}

then all test cases pass.
Looking into the calls against vfsStreamWrapper::stream_read() it is always called to read the default of 8192 bytes - so it's up to PHP (or SPL in this case) itself to count the lines which are within those bytes. I'm not sure if there's anything here that vfsStream could do other or better to solve this.

getSize is used as an arbitrary number, some examples use PHP_INT_MAX but that has performance issues on larger files. getSize will always be smaller than PHP_INT_MAX but larger than the number of lines.
In terms of speed, looping through the file as you are doing is one of the slowest methods for a line count. Per this  it's  150k times faster to use ->seek(->getSize()) and iteration. It's also a lot less boiler plate code to use seek.
This is all besides the point though, the problem is that using a vfsStream with SplFileObject behaves differently to using an actual file.
In my test test-03 and test-06 are passing, they are the only two lines that do not end in a new line. I would suspect this has something to do with the problem.

I tried to find out what vfsStream methods are called. Basically, the SplFileObject->seek() call reads the whole file in one go (because it is less than 8192 bytes), and vfsStream returns the complete content including the trailing line. Subsequently all checks for EOF return true as one would expect. I don't know why SplFileObject doesn't count the trailing line, but I have absolutely no idea how vfsStream should behave different here.

It is SplFileObject bug: https://bugs.php.net/bug.php?id=77828

Closing since this is not an issue with vfsStream


Fix publish types CI task

Typo in yaml causes failed CI task to publish types.

Trivial revert to fix build break.


Hooked Stacks are not walkable

Moved from CodePlex
Originally submitted by Alois
Easyhook is a great library which I have used for x86 programs with great success to hook into OS methods to find handle leaks and such things.
I did basically hook e.g. MapViewOfFile and write out an ETW Event with the method arguments. The same for UnmapViewOfFile. With Windows Event Tracing I get a nice ETL file which I can open with WPA and directly see where the leaks might be hiding.
This is a great way to find leaks of pretty much anything without slowing down the application like a debugger does with breakpoints and logging the call stacks.
Under x64 Win 8.1 the ETW stackwalker is not able to walk the stack so the call stack ends at my hooked method which is unfortunate. It looks like interceptions method Easyhook uses to hook methods is not exepcted by the stackwalker to further traverse the stack.
I wonder if there is a way to make Easyhooked method more ETW stackwalk friendly so I can get the best of both worlds.
Comments from CodePlex
Alois wrote May 8 at 3:31 PM
I have got word from MS that for hooked methods one needs to add Unwind information to the hooked methods.
The OS needs to have the 64 bit unwind information in order to unwind a stack frame. If you inject new methods, you need to also register the unwind information associated with it. There were already APIs for doing this, but it expected you to register a complete Function table (for an entire module) all at once. For JIT compilation we needed a way of specifying this information incrementally as methods are JIT compiled. We used these new Win8 functions to do it.
RtlAddGrowableFunctionTable
RtlGrowFunctionTable
RtlDeleteGrowableFunctionTable

Since the CLR is open source now we could use this like the JIT compiler does it here:
https://github.com/dotnet/coreclr/blob/master/src/vm/codeman.cpp
Has anyone experience with such stuff?
spazzarama wrote May 8 at 11:02 PM
Looks interesting, it would be helpful to have a cut down simple test project to use to test with, any chance you can attach something here? Thanks
Alois wrote May 12 at 3:56 PM
Yes I will make a small sample to repro the issue. Currently I am quite busy. Give me a week to come up with a sample.
Alois wrote May 15 at 7:33 AM
I have edited FileMon.exe of your samples with an custom ETW Provider.
See https://drive.google.com/folderview?id=0BxlmobpeaahAMllKamt3LWxheXM&usp=sharing
Under Source\Build\netfx4-Debug\CreateFileLogs.etl is an ETL file which shows the issue. Additionally in the shared folder is a Screenshot of WPA.exe looking at the call stack which ends in the middle.
The current implementation of FileMon compiles only for x64. I hope this helps to reproduce the problem and if you can add the corresponding exception handler unwind information to EasyHook it would be really helpful.
Alois wrote May 27 at 5:12 AM
Dies the sample work for you? If you have problems to get it running drop me a note.
Yours,
Alois Kraus

I have added x64 Unwind Infos for the dynamically generated code by myself. I will upload a fork when the code is more polished. I had to rearrange the trampline assembler code quite a bit. Now it has  a frame pointer to make the stacks walkable but the performance impact should be still minimal.
You would not believe how much research this required to get it working.

You would not believe how much research this required to get it working.

Oh I believe it! I look forward to seeing it!


properly print log level in logfile

:x: Build jmxtrans 414 failed (commit https://github.com/jmxtrans/jmxtrans/commit/3f8e27fb83 by @t-8ch)

Build failure looks like some generic issue

LGTM Could you rebase please, I fixed TravisCI

Done


python311Packages.dvc-objects: 1.1.0 -> 1.2.0

Diff: https://github.com/iterative/dvc-objects/compare/refs/tags/1.1.0...1.2.0
Changelog: https://github.com/iterative/dvc-objects/releases/tag/1.2.0
Description of changes

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 266817 run on x86_64-linux 1

38 packages built:

dvc (python311Packages.dvc)
dvc-with-remotes
dvc-with-remotes.dist
dvc.dist (python311Packages.dvc.dist)
python310Packages.dvc
python310Packages.dvc-azure
python310Packages.dvc-azure.dist
python310Packages.dvc-data
python310Packages.dvc-data.dist
python310Packages.dvc-gs
python310Packages.dvc-gs.dist
python310Packages.dvc-http
python310Packages.dvc-http.dist
python310Packages.dvc-objects
python310Packages.dvc-objects.dist
python310Packages.dvc-s3
python310Packages.dvc-s3.dist
python310Packages.dvc-ssh
python310Packages.dvc-ssh.dist
python310Packages.dvc.dist
python310Packages.dvclive
python310Packages.dvclive.dist
python311Packages.dvc-azure
python311Packages.dvc-azure.dist
python311Packages.dvc-data
python311Packages.dvc-data.dist
python311Packages.dvc-gs
python311Packages.dvc-gs.dist
python311Packages.dvc-http
python311Packages.dvc-http.dist
python311Packages.dvc-objects
python311Packages.dvc-objects.dist
python311Packages.dvc-s3
python311Packages.dvc-s3.dist
python311Packages.dvc-ssh
python311Packages.dvc-ssh.dist
python311Packages.dvclive
python311Packages.dvclive.dist


When SD card reader fails...

I had a situation yesterday where my SD card reader library failed, due to an upgrade in the IDE overwriting changes I had made. The result was a quite spectacular runtime crash with "exception 28" invoked. That is not related to your library here.
However the crash happened because the cp data structure was empty when the system subsequently tried to read it. The data structures are all defined and populated inside the IF statement, so if the file read fails they are left undefined - which causes the crash. So I would like to add an "else" to the "if" confirming the file is open and readable. Inside that "else" I would like to populate the cp data structure with one row of empty data, and in one (any) character string insert the text "File read error" so it displays through my user interface without crashing it.
Please could you help with suggestions for such code, based on your example case? I have tried and failed so far.

Fixed thank you.


Position Encoding

Hi domluna,
How did you get the equation in position_encoding? It seems different from the one in the paper, unless I made a silly algebra mistake...
Even then, is there an advantage in splitting out the equation into the way you wrote it? Some sort of optimization?

It came from https://github.com/facebook/MemNN/blob/master/MemN2N-babi-matlab/build_model.m#L9. It's been a while but I think it worked better than what was written in the paper. I'm not sure why they did it that way, didn't explain it afaik.

If anything it was a slight improvement, I don't think it made much of a difference.

Thank you.

When i implement the equation in paper and the way in code , it seems that there are some commen feature in the result.

The result is  matrix with 2 dimensions and its shape is  [sentence_size, embedding_size] .  when  compare the matrix from 2 ways, the value  decreases as the index of word increased until the medium index of matrix, and increase as the index of word increased until final index.

It means that the value in matraix are symmetrical. when i first find the rule in the matrix, it arouses my curiosity.

i read the data and it seems that the index of all the answer is first of  the sentence or last of the sentence.Therefore, the formular is result from the data ,in other words,  the postion encoding is another attention which makes the first or last word more important

So ,if the answer is mostly in the midturm index of the word ,when we want to get the representation of the sentence ,we can give the midturm word more attention


initialize env from code ?

is there any way to initiate env file from code ? means we need to change env files based on user selection in testing.

This is not supported and will likely be not supported.
Core concept of this library is to propagate configurations from native side. Many of those settings are injected at build time and one can not change them from a built product. Doing this kind of a shortcut is not something I would want to support. Moreover - if a configuration is ONLY held within javascript then there is no need to employ special library :)
Thanks!


Jersey3DiscoveryClientOptionalArgs may be configured with TlsProperties in EurekaServerAutoConfiguration.java

When enable SSL for EurekaServer,I have to define my own jersey3DiscoveryClientOptionalArgs bean. It seems we can do this by default, as DiscoveryClientOptionalArgsConfiguration.java does.
DiscoveryClientOptionalArgsConfiguration.java is a part of spring-cloud-netflix-eureka-client, which is one dependency of spring-cloud-netflix-eureka-server. And it has already defined a TlsProperties bean too.
    @Bean
    @ConditionalOnMissingBean(AbstractDiscoveryClientOptionalArgs.class)
    public Jersey3DiscoveryClientOptionalArgs jersey3DiscoveryClientOptionalArgs(TlsProperties tlsProperties)
            throws GeneralSecurityException, IOException {
        Jersey3DiscoveryClientOptionalArgs optionalArgs = new Jersey3DiscoveryClientOptionalArgs();
        if (tlsProperties.isEnabled()) {
            SSLContextFactory factory = new SSLContextFactory(tlsProperties);
            optionalArgs.setSSLContext(factory.createSSLContext());
        }
        return optionalArgs;
    }

The following class trying to do this , but it takes no take effect currently.
org.springframework.cloud.netflix.eureka.config.DiscoveryClientOptionalArgsConfiguration$DiscoveryClientOptionalArgsTlsConfiguration
It seems that EurekaServerAutoConfiguration is registered after DiscoveryClientOptionalArgsTlsConfiguration, which results in failing to match @ConditionalOnBean(value = AbstractDiscoveryClientOptionalArgs.class, search = SearchStrategy.CURRENT) on DiscoveryClientOptionalArgsTlsConfiguration

Hi @limo520, thanks for reporting the issue. Please provide a minimal, complete, verifiable example that reproduces the issue.

@OlgaMaciaszek there is an example, https://github.com/limo520/spring-cloud-netflix-issues-4268

Thanks, @limo520; so if I understand correctly, the scenario is to use TLS with the JerseyClient provided by EurekaServer for intra-peer EurekaServer communication, yes? And the Eureka Server's Jersey3DiscoveryClientOptionalArgs bean is created after DiscoveryClientOptionalArgsConfiguration's setup is processed, therefore it's not taken into account? Have added a draft solution that may address this. @spencergibb does this look ok to you?

@OlgaMaciaszek Yes, you are right. And when I wrote the example, I find  another similar issue which can be reproduced by removing eureka.server.my-url in application.yml. It seems becuase of Jersey3ReplicationClient, but I haven't found it out.


field component is not taking width and placeholder property

http://share.framerjs.com/8yl3lio7l4hs/
setting up width and placeholder text according to docs doesnt do anything

Ah super sorry, I rewrote the field component without updating the documentation. I'm working on updating it now.
The short answer is the prop changed from placeholderText to just placeholder. http://share.framerjs.com/wn5a3qs0bs9y/
FYI, these are the current props you can set on the field - name, active(true/false), keyboard (pass a keyboard object to it), placeholder, placeholderColor, superLayer, backgroundColor, borderColor, borderRadius, borderWidth, height, width, fontSize, color, textConstraints, constraints.

no worries, its not critical), will check new properties


WIP parse import assertions

Refs https://github.com/webpack/webpack/issues/11917

What kind of change does this PR introduce?
Parsing import assertions syntax

Did you add tests for your changes?
Yes, one. Most of the tests are in https://github.com/xtuc/acorn-import-assertions/tree/main/test/fixtures

Does this PR introduce a breaking change?
no

What needs to be documented once your changes are merged?
probably not now, import assertions doesn't emit runtime code yet

Tests are broken :disappointed:

@alexander-akait yes noticed that too. I was wondering if those failures are related to my change? I can't see the detail of the failures but they mismatching stats? I'll try to run them locally again

@alexander-akait tests are passing, coverage is failing and https://dev.azure.com/webpack/webpack/_build/results?buildId=12330&view=logs&j=1d505e51-909d-5717-0d5b-43f6a0bd49f6&t=6309f675-4460-5c1b-70bc-fd472dead250 is flaky. Could you please restart for me?

@vankop thanks)

right, sorry I forgot about that trick! thanks

@sokra  could you please take a look at the PR? the idea is that we allow parsing and stripping out import assertions for now.
Next steps would be to emit runtime code to check the type of dynamically loaded resources.

@sokra  could you please take a look at the PR? the idea is that we allow parsing and stripping out import assertions for now.
Next steps would be to emit runtime code to check the type of dynamically loaded resources.

Next steps would be to emit runtime code to check the type of dynamically loaded resources.

JSON is not loaded dynamically but embedded into the JS file. As it's parsed during build it's already verified that it's really JSON and not JS or something else.
I think what we can do it to set the module type for imports with assert { type: "json" } to JSON so they go through the JSON parser. This could be done by allowing an assert condition in module.rules and adding a default rule to set type: "json" for assert: { type: "json" } (module.defaultRules: [ ..., { assert: { type: "json" }, type: "json" }] in lib/config/defaults.js).
For a assert condition we need to pass the assert value from HarmonyImportDependencyParserPlugin -> ModuleDependency.assert (getResourceIdentifier need to have assert too) -> NormalModuleFactory (add assert to ruleSetCompiler, and pass the value when executing it, get it from dependencies[0].assert).

Next steps would be to emit runtime code to check the type of dynamically loaded resources.

JSON is not loaded dynamically but embedded into the JS file. As it's parsed during build it's already verified that it's really JSON and not JS or something else.
I think what we can do it to set the module type for imports with assert { type: "json" } to JSON so they go through the JSON parser. This could be done by allowing an assert condition in module.rules and adding a default rule to set type: "json" for assert: { type: "json" } (module.defaultRules: [ ..., { assert: { type: "json" }, type: "json" }] in lib/config/defaults.js).
For a assert condition we need to pass the assert value from HarmonyImportDependencyParserPlugin -> ModuleDependency.assert (getResourceIdentifier need to have assert too) -> NormalModuleFactory (add assert to ruleSetCompiler, and pass the value when executing it, get it from dependencies[0].assert).

JSON is not loaded dynamically but embedded into the JS file. As it's parsed during build it's already verified that it's really JSON and not JS or something else.

I was thinking of loading dynamically remote resources. Like: import("https://a.com/great-json.php"), the runtime should ensure that the response is indeed JSON. But we can do that later.
Thanks for your pointers, i'll do that change.

JSON is not loaded dynamically but embedded into the JS file. As it's parsed during build it's already verified that it's really JSON and not JS or something else.

I was thinking of loading dynamically remote resources. Like: import("https://a.com/great-json.php"), the runtime should ensure that the response is indeed JSON. But we can do that later.
Thanks for your pointers, i'll do that change.

@sokra  I believe I have implemented what you suggested. One test doesn't pass yet and we probably want to show a code frame when the assertion aren't met, that's still WIP. Could you please do early feedback on the implementation?

@sokra  I believe I have implemented what you suggested. One test doesn't pass yet and we probably want to show a code frame when the assertion aren't met, that's still WIP. Could you please do early feedback on the implementation?

@sokra could you please review the change so far?  I believe it matches what you suggested.

@xtuc export { a } from "something" assert { type: "json" } is missing in the parser

Thanks

Great, thanks for your help!

@sokra is https://github.com/webpack/webpack/issues/13814 related to this merge?

@redonkulus yep

Should assert be mentioned in https://webpack.js.org/configuration/module/#rule ?
I've seen it used in css-loader examples but can't find it in the webpack documentation.

@sodatea Yes, feel free to open an issue


Documented Boolean falg behaviour

It dosesn't seem to be in the docs, even though it's vue specific behavior that could both be used to improve code quality and lead to floating bugs.
Raised issue here https://github.com/vuejs/vue/issues/7484
Was told to open PR to the docs.

The value undefined is not actually evaluated as true for boolean props, as you'll see here. With that clarified, I don't believe there aren't any bugs to warn about.
As for the remaining item - the valueless attribute option - I'm not sure that's worth expanding the documentation for, since that's just expected behavior for boolean attributes. From the HTML spec:

The presence of a boolean attribute on an element represents the true value, and the absence of the attribute represents the false value.

Let me know if that makes sense or you disagree, as I'm happy to reopen if I've missed something.

Yeah, sorry, there was a bug in our project regarding the undefined.


MLB extractor issue...

This might be a strange one...not sure where they found this URL but it is on mlb.com:
URL:
http://m.mlb.com/cutfour/2015/05/06/122644284/zack-greinke-busts-out-the-rarely-seen-pitcher-bat-flip--on-a-double?adbid=941666415864998&adbpl=fb&adbpr=196554717042842&partnerId=as_mlb_20150506_45270226&short_code=2xq9z
Output:
C:>youtube-dl -v "http://m.mlb.com/cutfour/2015/05/06/122644284/zack-greinke-bu
sts-out-the-rarely-seen-pitcher-bat-flip--on-a-double?adbid=595823018431127552&a
dbpl=tw&adbpr=241544156&partnerId=as_mlb_20150506_45270196&short_code=2xq9v"
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'-v', u'http://m.mlb.com/cutfour/2015/05/06/1226442
84/zack-greinke-busts-out-the-rarely-seen-pitcher-bat-flip--on-a-double?adbid=59
5823018431127552&adbpl=tw&adbpr=241544156&partnerId=as_mlb_20150506_45270196&sho
rt_code=2xq9v']
[debug] Encodings: locale cp1252, fs mbcs, out cp850, pref cp1252
[debug] youtube-dl version 2015.05.04
[debug] Python version 2.7.8 - Windows-7-6.1.7601-SP1
[debug] exe versions: ffmpeg N-71346-gdf4fca2
[debug] Proxy map: {}
[generic] zack-greinke-busts-out-the-rarely-seen-pitcher-bat-flip--on-a-double?a
dbid=595823018431127552&adbpl=tw&adbpr=241544156&partnerId=as_mlb_20150506_45270
196&short_code=2xq9v: Requesting header
WARNING: Falling back on generic information extractor.
[generic] zack-greinke-busts-out-the-rarely-seen-pitcher-bat-flip--on-a-double?a
dbid=595823018431127552&adbpl=tw&adbpr=241544156&partnerId=as_mlb_20150506_45270
196&short_code=2xq9v: Downloading webpage
[generic] zack-greinke-busts-out-the-rarely-seen-pitcher-bat-flip--on-a-double?a
dbid=595823018431127552&adbpl=tw&adbpr=241544156&partnerId=as_mlb_20150506_45270
196&short_code=2xq9v: Extracting information
ERROR: Unsupported URL: http://m.mlb.com/cutfour/2015/05/06/122644284/zack-grein
ke-busts-out-the-rarely-seen-pitcher-bat-flip--on-a-double?adbid=595823018431127
552&adbpl=tw&adbpr=241544156&partnerId=as_mlb_20150506_45270196&short_code=2xq9v
Traceback (most recent call last):
File "youtube_dl\extractor\generic.pyo", line 938, in _real_extract
File "youtube_dl\utils.pyo", line 1557, in parse_xml
File "xml\etree\ElementTree.pyo", line 1300, in XML
File "xml\etree\ElementTree.pyo", line 1642, in feed
File "xml\etree\ElementTree.pyo", line 1506, in _raiseerror
ParseError: not well-formed (invalid token): line 25, column 178
Traceback (most recent call last):
File "youtube_dl\YoutubeDL.pyo", line 650, in extract_info
File "youtube_dl\extractor\common.pyo", line 273, in extract
File "youtube_dl\extractor\generic.pyo", line 1463, in _real_extract
UnsupportedError: Unsupported URL: http://m.mlb.com/cutfour/2015/05/06/122644284
/zack-greinke-busts-out-the-rarely-seen-pitcher-bat-flip--on-a-double?adbid=5958
23018431127552&adbpl=tw&adbpr=241544156&partnerId=as_mlb_20150506_45270196&short
_code=2xq9v
Thanks again...
Ringo

Can't find any video only couple of gifs.

Will be fixed in the next version. Thanks for the report.

WOW...amazing as always.
Thanks again!


Revised the assignment operator article

Split in sections
Added paragraph about associativity
Added link to the C# spec
Moved snippets to the dotnet/samples repo: dotnet/samples#431

closing and reopening to start a build.


Add Text To Speech (tts-1) feature

Add Text To Speech feature based on the API ref: https://platform.openai.com/docs/api-reference/audio/createSpeech

I am not 100% sure that the implementation of handling CreateSpeechResponse is proper. Please review. Can be tested in the playground too.

Thanks for the PR, I will do a code review as soon as possible.

@belaszalontai @szabe74 I made some updates, please have a look.

Thnx to made it generic + introduced stream. This was what I wasn't shure about.
From my side its reviewed and OK.

Hi, I have tried the the CreateSpeech yesterday and the mp3 created was always cut off at the end (last 30%), regardless of the lenght of the input text (if was always the last about 20-30%). I tried both stream or byte[] with the same result.
Any suggestion? Thanks.
part of my code based on your unit test example:
            var audioResult = await openAiService.Audio.CreateSpeech<byte[]>(new AudioCreateSpeechRequest
            {
                Model = Models.Tts_1,
                Input = "Helow",
                Voice = StaticValues.AudioStatics.Voice.Nova,
                ResponseFormat = StaticValues.AudioStatics.CreateSpeechResponseFormat.Mp3,
                Speed = 1.0f
            });

            if (audioResult.Successful)
            {
                var audio = audioResult.Data!;
                await using var fileStream = File.Create($"{location}\\Resources\\recording.mp3");
                await File.WriteAllBytesAsync($"{location}\\Resources\\recording4.mp3", audio);
            }

@MartinKlepal I have downloaded your zipped mp3 files and listened. It looks fine. All sentence is spoken.
Please try it with another mp3 player.

@MartinKlepal I have downloaded your zipped mp3 files and listened. It looks fine. All sentence is spoken. Please try it with another mp3 player.

you are absolutely right, I did not even think about it. I used the lates version of VLC medial Player.
Sorry for my earlier post, which I deleted already.
And thanks you for your very good work on the betalgo openia


Issue for non-admin users

It seems that there is a problem with users that want to change the hangout room by editing the post.
Exception while simulating the effect of invoking 'editPost' r {error: "disallowed_property", reason: "Disallowed property detected: categories.0", details: undefined, message: "Disallowed property detected: categories.0 [disallowed_property]", errorType: "Meteor.Error”…}
Any clues why?
Thanks!

I think this is fixed now. May have had to do with something related to meteor updates. Let me know if you still see it?

I still see it!
What's your meteor version?


Add podman search command

podman search queries a registry for a matching image and prints the output.
I added a new flag called "registry" giving the user the option
to search a specific registry if they don't want to search all
their default registries.
Signed-off-by: umohnani8<EMAIL_ADDRESS>

vendoring in latest containers/image with support for searching registries.
This can get in once tests pass.
@rhatdan @mheon PTAL

LGTM, but we are stuck with the gomd2man issues.

One suggestion, otherwise LGTM.  Test failures are unrelated, should we retest?

@rh-atomic-bot r+


Figure out correct aria attr for Popover and HelpText

We have aria-haspopup and aria-controls which are normally used in conjunction with dialogs or popups.
Its however not clear when you should use which one always as it "depends" on the intended content and its interactivity.
Do some investigation to figure out here which combination are good to use and document the uses-cases so that we can apply this to our components and also teach others.

Related to #210

References:
https://react-spectrum.adobe.com/react-aria/Popover.html
https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/


viola + join checks

PR containing the tests for adding standardization with VIOLA-SV
Also fixes the join mismatches

These changes were merged into #29


keda-olm-operator gets OOMKilled

Report
we have installed KEDA through the operator in one of our environments, as soon as it gets installed it crashes with OOMKilled error
Expected Behavior
Should be up and running
Actual Behavior
OOMKilled
Steps to Reproduce the Problem

Install through KEDA operator

Logs from KEDA operator
"level":"info","ts":1627725081.8786712,"logger":"setup","msg":"Go OS/Arch: linux/amd64"}
{"level":"info","ts":1627725081.8789783,"logger":"controller-runtime.manager","msg":"starting metrics server","path":"/metrics"}
{"level":"info","ts":1627725081.8790333,"logger":"controller","msg":"Starting EventSource","reconcilerGroup":"","reconcilerKind":"Secret","controller":"secret","source":"kind source: /, Kind="}
{"level":"info","ts":1627725081.8790953,"logger":"controller","msg":"Starting EventSource","reconcilerGroup":"","reconcilerKind":"ConfigMap","controller":"configmap","source":"kind source: /, Kind="}
{"level":"info","ts":1627725081.8791132,"logger":"controller","msg":"Starting EventSource","reconcilerGroup":"keda.sh","reconcilerKind":"KedaController","controller":"kedacontroller","source":"kind source: /, Kind="}
{"level":"info","ts":1627725081.9794464,"logger":"controller","msg":"Starting EventSource","reconcilerGroup":"keda.sh","reconcilerKind":"KedaController","controller":"kedacontroller","source":"kind source: /, Kind="}
{"level":"info","ts":1627725082.1797862,"logger":"controller","msg":"Starting Controller","reconcilerGroup":"keda.sh","reconcilerKind":"KedaController","controller":"kedacontroller"}
{"level":"info","ts":1627725083.8492484,"logger":"controller","msg":"Starting [Controller","reconcilerGroup":"","reconcilerKind":"ConfigMap","controller":"configmap"}](url)

KEDA Version
2.3.0
Kubernetes Version
1.18
Platform
Red Hat OpenShift
Scaler Details
No response
Anything else?
No response

The default memory limit is set to work for most people but if you have an unusually large number of deployments or statefulsets you will need increase it like you would any other pods.

This is a fresh install of KEDA.  So existing deployments/statefulsets can cause KEDA memory to shoot up?

Yes, like most operators it keeps a local cache of objects driven from an informer.


Implement build hook to provide native libraries

#687  👈 (View in Graphite)
main

This stack of pull requests is managed by Graphite. Learn more about stacking.


Two bug fixes to support Spotify currently playing

Needed for https://github.com/stanford-oval/thingpedia-common-devices/pull/343
The first one is an actual bug that could occur with other skills too, the second one relaxes the rules around subfunctions. Subfunctions are basically just a shorthand to declare a bunch of functions with the same output parameters, so we shouldn't impose any monitorability restrictions.

Pull Request Test Coverage Report for Build 1378

19 of 26 (73.08%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 77.718%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/ast/function_def.ts
19
26
73.08%

Totals

Change from base Build 1373:
0.1%

Covered Lines:
10171

Relevant Lines:
12577

💛  - Coveralls


don't send an ACK frame for Retry packets

Fixes #1711.

Codecov Report

Merging #1176 into master will increase coverage by <.01%.
The diff coverage is 50%.

@@            Coverage Diff             @@
##           master    #1176      +/-   ##
==========================================
+ Coverage   91.09%   91.09%   +<.01%
==========================================
  Files         114      114
  Lines        7710     7713       +3
==========================================
+ Hits         7023     7026       +3
  Misses        460      460
  Partials      227      227

Impacted Files
Coverage Δ

session.go
80.34% <50%> (+0.03%)
:arrow_up:

internal/handshake/tls_extension_handler_server.go
88.68% <0%> (ø)
:arrow_up:

internal/handshake/tls_extension_handler_client.go
90.16% <0%> (+0.33%)
: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 86b25dd...0f334e0. Read the comment docs.


accessing state last_updated and last_changed

Hi there.

I can't find a way to get the full state from an entity. specifically, I want to find out how long a sensor has been on or off, for that I need timeSinceChangedMs that I can get from NodeRed.
I tried get_state, but it only shows the current state...

When you look in the UI in Developer Tools -> States, find the Entity you are interested in.  Do you see any attribute or value there that has the information you need?

No, I don't. interesting. then how does NodeRed get that information? I get it using a GetCurrentState node.

I guess we'd have to look at the code to see how it maintains that information.  Perhaps it keeps track of the timestamps of all state changes?
Anyhow, you can do this manually in pyscript just by maintaining that information yourself.  For example:
from datetime import datetime as dt

sensor_last_change = None

@state_trigger("binary_sensor.test1")
def binary_sensor_changed():
    global sensor_last_change
    if sensor_last_change is not None:
        time_delta = (dt.now() - sensor_last_change).total_seconds()
        log.info(f"binary_sensor.test1 is now {binary_sensor.test1}; it changed {time_delta} seconds ago")
    sensor_last_change = dt.now()

If you want to do this for multiple sensors, you could turn sensor_last_change into a dict indexed by the entityid, so you can maintain the last changed time for multiple sensors.  If that doesn't make sense, I can reply with another example.

@shafai the HASS State in HASS actually looks like this:
last_changed: some date here
last_updated: some date here
state: "the state"
attributes:
  friendly_name: "My Sensor"
  device_class: "motion"

Using the Home Assistant API, this structure can be seen with this call:
hass.states.get('binary_sensor.test')

I'm almost certain this is what NodeRed uses to compute that value. It's just these values are not being exposed by pyscript.

@dlashua, I might be missing some import or something, because I'm getting this error:
NameError: name 'hass.states' is not defined

@shafai sorry, that last bit was directed at @craigbarratt. The hass object is not generally available to a script in pyscript. So, at the moment, his comment represents the best solution to get this information. But @craigbarratt may be able to expose the value you are looking for in a future release.

I see, thanks for clarification. that approach of keeping track of everything is too much state management for a small script. as in, I need to create a dictionary of states. I can certainly do it, but if the PyScript can provide it, it's so much better.
I can see AppDaemon does provide the information.
is there something I can do to help add this feature or I need to read how PyScript is bound to HASS?
I noticed pyscript is much faster to interact with entities in HA than AppDaemon...

@dluashua - ah thanks.  I do see now that the hass state object does keep timestamps of changes.  Let me look into that and see how to expose them.  Perhaps as a particular attribute name like change_time (although that would override a real attribute with the same name, which could still be available using state.get_attr())?
@shafai - the hass variable is available if you use the master version and set the hass_is_global configuration value to true.

@craigbarratt  that's the trouble. Because pyscript flattened the "attributes" level of the raw data (which makes it much less verbose when writing a pyscript) there will always be the worry of overriding something.
I think, at least in the case of last_changed and last_updated, enough people will want to use them that it's worth overriding. Especially when there is a work around available to get an attribute by the same name if there happens to be one.
The only other things in the HASS State object are context and object_id.
context is useful for linking events together. It also can tell you which user (or automation or whatever) requested the state_change you're looking at (see #50 for more information on how this can be used).
I'm not sure what object_id is used for. Perhaps it is unchanging even if the entity_id changes? I can't see a good use for this right now, though.

@craigbarratt also, in case you fall down that rabbit hole, last_update and last_changed are both reset when Home Assistant restarts. last_changed is SUPPOSED to be the last time the state changed. But, I guess, on a restart, because of the way the sensors load, there's a state change in all of that.

Ok, I decided to support the. virtual attributes last_changed and last_updated.  Here's the documentation.

Tested this as well. Works great!


Fails to list ResourceExplorer2Index resource

aws-nuke is returning indexes on resource-explorer-2
TRAC[0032] sending AWS request:
    > POST /ListIndexes HTTP/1.1
    > Host: resource-explorer-2.us-west-2.amazonaws.com
    > Authorization: <hidden>
    > Content-Length: 2
    > Content-Type: application/json
    > User-Agent: aws-sdk-go/1.54.20 (go1.21.13; darwin; arm64)
    > X-Amz-Date: 20241220T101013Z
    > X-Amz-Security-Token: <hidden>
    >

........

TRAC[0032] received AWS response:
    < HTTP/2.0 200 OK
    < Content-Length: 159
    < Content-Type: application/json
    < Date: Fri, 20 Dec 2024 10:10:14 GMT
    < X-Amz-Apigw-Id: DFdVCHK0PHcEfjQ=
    < X-Amzn-Remapped-Content-Length: 159
    < X-Amzn-Remapped-Date: Fri, 20 Dec 2024 10:10:14 GMT
    < X-Amzn-Remapped-X-Amzn-Requestid: 456cd57a-2b08-482c-b3dc-32bd87ebd316
    < X-Amzn-Requestid: 7caca70a-f389-4519-8f86-e86082445f57
    <
    < {"Indexes":[{"Arn":"arn:aws:resource-explorer-2:eu-central-1:660565237447:index/02724b64-1336-4088-93d4-d3465eae3a50","Region":"eu-central-1","Type":"LOCAL"}]}

and try to delete them
TRAC[0061] match: false                                  component=libnuke handler=Filter type=ResourceExplorer2Index TRAC[0061] filter details                                component=libnuke handler=Filter prop= type=contains value=circleci TRAC[0061] property: arn:aws:resource-explorer-2:eu-central-1:xxxxxxxxxxx:index/02724b64-1336-4088-93d4-d3465eae3a50  component=libnuke handler=Filter type=ResourceExplorer2Index
Then attempts a deletion  as shown :
We can clearely see a difference between the region and the region on the ARN resource.
us-east-2 - ResourceExplorer2Index - arn:aws:resource-explorer-2:eu-central-1:xxxxxxxxxxx:index/02724b64-1336-4088-93d4-d3465eae3a50 - would remove
We can clearely see a difference between the region and the region on the ARN resource.
But retrieve an error, because he mixes up the AWS regions (that should be EU-CENTRAL-1 instead of US-EAST-2).
TRAC[0166] sending AWS request:
    > POST /DeleteIndex HTTP/1.1
    > Host: resource-explorer-2.us-east-2.amazonaws.com
    > Authorization: <hidden>
    > Content-Length: 106
    > Content-Type: application/json
    > User-Agent: aws-sdk-go/1.54.20 (go1.21.13; darwin; arm64)
    > X-Amz-Date: 20241220T095416Z
    > X-Amz-Security-Token: <hidden>
    >
    > {"Arn":"arn:aws:resource-explorer-2:eu-central-1:xxxxxxxxx:index/02724b64-1336-4088-93d4-d3465eae3a50"}
TRAC[0167] received AWS response:
    < HTTP/2.0 404 Not Found
    < Content-Length: 71
    < Content-Type: application/json
    < Date: Fri, 20 Dec 2024 09:54:16 GMT
    < X-Amz-Apigw-Id: DFa_VGyEiYcEYcg=
    < X-Amzn-Errortype: ResourceNotFoundException
    < X-Amzn-Remapped-Content-Length: 71
    < X-Amzn-Remapped-Date: Fri, 20 Dec 2024 09:54:15 GMT
    < X-Amzn-Remapped-X-Amzn-Requestid: 0c9a6130-9bfb-4658-a9ae-a9ca02a7855d
    < X-Amzn-Requestid: 631fcb97-9a84-42d3-8e36-db218b76fa71
    <
    < {"Message":"No index creation history found for account: xxxxxxxxxxxx"}
TRAC[0167] sending AWS request:
    > POST /ListIndexes HTTP/1.1
    > Host: resource-explorer-2.us-east-2.amazonaws.com
    > Authorization: <hidden>
    > Content-Length: 2
    > Content-Type: application/json
    > User-Agent: aws-sdk-go/1.54.20 (go1.21.13; darwin; arm64)
    > X-Amz-Date: 20241220T095416Z
    > X-Amz-Security-Token: <hidden>
    >
    > {}
TRAC[0167] received AWS response:
    < HTTP/2.0 200 OK
    < Content-Length: 159
    < Content-Type: application/json
    < Date: Fri, 20 Dec 2024 09:54:16 GMT
    < X-Amz-Apigw-Id: DFa_YGc7iYcEXDA=
    < X-Amzn-Remapped-Content-Length: 159
    < X-Amzn-Remapped-Date: Fri, 20 Dec 2024 09:54:16 GMT
    < X-Amzn-Remapped-X-Amzn-Requestid: 4707ec1a-ca58-450f-84ce-73cd69a58ac1
    < X-Amzn-Requestid: f5101f22-bde9-4e09-9d5a-58eb4941f4ba
    <
    < {"Indexes":[{"Arn":"arn:aws:resource-explorer-2:eu-central-1:xxxxxxxxxxx:index/02724b64-1336-4088-93d4-d3465eae3a50","Region":"eu-central-1","Type":"LOCAL"}]}
us-east-2 - ResourceExplorer2Index - arn:aws:resource-explorer-2:eu-central-1:xxxxxxxxxxx:index/02724b64-1336-4088-93d4-d3465eae3a50 - failed

The possible mismatch between eu-central-1 and us-east-2 is maybe the cause of issue
I don't understand why the API located in us-east-2 returns an index arn located in eu-central-1
https://docs.aws.amazon.com/general/latest/gr/arex.html
resource-explorer-2.eu-central-1.amazonaws.com

Looks like the regional endpoints return all regions for indexes, so we'll need to do an additional filter. Marking this as a bug.

:tada: This issue has been resolved in version 3.37.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Nearby: Copy the place name on long click

Summary:
In Nearby, copy the place name to clipboard on long click, instead of just a normal click.
How can we reproduce the issue?
Open Nearby. Select any location pin. Tap on the place name.
What did you expect the app to do, and what did you see instead?
Currently, a normal click also copies the text to clipboard. And it is very annoying because the toast appears whenever we expand or collapse the place information (see gif below).
It was first introduced through issue #2405. Clearly, it was always intended to be a copy on long click. However, this was changed (most probably by mistake) when these commits were made, and the code from NearbyMapFragment.java was shifted to NearbyParentFragment.java.
Screen-shots:

Would you like to work on the issue?
Yes.

Long click always hides a feature for me, the benefit here is if people do try to select the text by long pressing on it we get rid of the need to deal with highlighting. If we wish to surface this functionality better an explicit copy button could be used like the github icon

or the text copy itself

@6point022 I agree that it is annoying now. Good enhancement idea! :-)
Since it is a very non-vital feature, I don't think we need to surface it more.
Actually the Google Maps app does not surface it either, but the place name is actually copyable via long-press.

@nicolas-raoul Let me know if the proposed solution (changing it to a long click) is fine and I will create a PR. :)

Yes, it is fine. Thanks! :-)


RPM build job fails in ci: ERROR: git_dir_version: Not a Git repository.

RPM build job fails in ci, https://github.com/skupperproject/skupper-router/actions/runs/3951927345/jobs/6766390478
$ rpkg spec --outdir /tmp/rpkg
ERROR: git_dir_version: Not a Git repository.
git_dir_version failed with value 1.

To investigate, add git status to ci script
$ git status
fatal: detected dubious ownership in repository at '/__w/skupper-router/skupper-router'
To add an exception for this directory, call:

	git config --global --add safe.directory /__w/skupper-router/skupper-router

and also https://github.com/actions/checkout/issues/766
note that
``` does not solve the problem, use `pwd` I guess

lool, https://github.com/actions/checkout/issues/760 so much comments


Revert "Send multiplex results to patient experience frontend"

Reverts CDCgov/prime-simplereport#3788
Seeing this error at PatientExperienceController.java:76

I think I figured out what's causing the pxp issues here, will fix in another PR but wanted to leave some notes here.
It looks like this is only happening with corrected tests - the patient link points at a TestOrder with a correction_status of REMOVED. That TestOrder in turn references a TestEvent which also has a REMOVED correction_status. The Result, however, points at the TestOrder and a different TestEvent with an ORIGINAL status, which is why we're seeing NPE - we attempt to look up the TestEvent with the REMOVED status, and it doesn't exist in the Results table.
@nathancrtr, I am not super familiar with the corrections workflow so going to pass a couple of questions your way - let me know if you'd prefer to chat over Zoom instead.

Which is the canonical TestEvent that should be referenced as the source of truth? The one with the REMOVED status, or the one with an ORIGINAL status? (I assumed REMOVED would mean that the TestEvent is bad, but maybe I have that backwards?)
Does the TestEvent that was corrected become an orphan, without a TestOrder reference? Do we ever need to find it again? Asking because I'm not sure if the best move here is to create a new entry in the Result table holding the new TestEvent / old TestOrder, or if we should instead update the existing row in the Result table to point to the new TestEvent instead of the old one.

Also @zdeveloper thank you for catching the @JsonIgnores! They're why I pushed this PR so quickly in the first place, even without attempting to read the specific diseases the audit log starts hitting a recursion loop without those.


Gulp task not found with gulp-sass

Tested with Atom 1.6.0, atom-build 0.59.0, build-gulp 0.7.0, Windows 10.
When using var sass = require('gulp-sass'); my custom tasks are not listed in the available targets list (F7).
This is my tested gulpfile.js:
var gulp = require('gulp');
var sass = require('gulp-sass');

gulp.task('default', function() {
  // Default task just works
});

gulp.task('my-task', function() {
  // This task is not found
});

Now, if I remove the gulp-sass module and after restarting Atom, my-task is listed as expected:
var gulp = require('gulp');
// var sass = require('gulp-sass');

gulp.task('default', function() {
  // Default task just works
});

gulp.task('my-task', function() {
  // This task is now found and listed
});

EDIT: gulp 3.9.1, gulp-sass 2.2.0

I believe this is an issue with build-gulp using the Atom environment when spawning the gulp task. Would you mind posting this issue to that project instead?

Works fine with the latest update build-gulp v0.8.0 - thanks!

Awesome! :)


New/Update Rule - Warn on excessive whitespace

We currently use the following custom rule-set:
{
    "asset-type": true,                     // true: Default value of attribute "type" (<link>/


no snapshot available in /opt/iobroker/iobroker-data/doorbird.0.snap.jpg

Describe the bug
since i reinstall my ioBroker, i get the ring signal from doorbird but there are no snapshot saved anymore.
i reinstalled the adapter, but the behavior is the same.
state snapshot is not shown anymore

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '...'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots & Logfiles
If applicable, add screenshots and logfiles to help explain your problem.
Versions:
Plattform:     docker
Betriebssystem:     linux
Architektur:     x64
CPUs:     4
Geschwindigkeit:     800 MHz
Modell:     AMD GX-412TC SOC
RAM:     3.85 GB
System-Betriebszeit:    12 T. 22:22:32
Node.js    v18.17.1 (Es gibt eine neuere Version: v18.18.0)
NPM    9.6.7
admin: 6.10.1
host: 5.0.12

It's not a bug!
Do you have read the news during installation or the readme?
The images are now located at ioBroker files!

state snapshot is not shown anymore

https://github.com/iobroker-community-adapters/ioBroker.doorbird#access-to-the-snapshots-of-motion-and-doorbell

sorry i have missed this information.
it worked now .
Thanks a lot


obsoleted MONDO:0022566.

Closes #564

What about the GARD equivalence? Should it be moved along?

I added the GARD xref to the new term.
One question though- Donna said she'd prefer to keep this term as a grouping class (on the ticket #564). Should we consider keeping this term instead and using it to group other classes?

Let's first sketch out what we think the structure should be, then we can figure how to implement + what gets obsoleted. Can you draw out the different alternatives?


Other cities

This is really interesting . I live in berlin and there are probably similar sources worth scraping for Berlin .
mid there a backend system for reusing all the data scraped with sone sort of cave invalidation so the higher level systems sing the data can see when it changes via drag headers or similar ?
The idea of modelling a city based on its digital flow is really cool for car battery vehicle to grid systems which I think your also interested in .
fewl free to touch base on telegram if you want . See my profile

Yes, I am definitely open to add support other cities :) We can also adjust the directory structure to keep the local data-sources within their sub-dir. Actually some of the data sources are not limited to Aachen (McFit, Highway cameras, Cambio, LANUV, ...).

mid there a backend system for reusing all the data scraped with sone sort of cave invalidation so the higher level systems sing the data can see when it changes via drag headers or similar ?

Thats still an open question for me. There is a legal side to this, that providing the data via common backend would be difficult as not all data sources provided open-data and I would walk on quite thin ice offering data I dont actually own.
From the technical perspective, I did not want to invent yet another Smart-city API to provide a common interface.
However there are some standardized APIs like SensorThings which could maybe be the way to go here?

I will close the issue due to inactivity. Please feel free to contact me via Twitter (@stv0g) or mail<EMAIL_ADDRESS>to continue the discussion.


Custom Android device name?

Hi,
is it not possible to get the custom device name from Android devices?
In my case it would be "MacGritschs Phone".
Thank you

can you give more details?
how/where did you set your device name "MacGritschs Phone"?
what is the result of cordova.plugins.deviceName.name ?
what is your device?
thanks

Hi, its a Galaxy Xcover 4 with Android 7.0
I can set the device name under "Settings->About Device->Device Name"
I am new to Android so I can not tell you if that is a new feature of Android 7 or not.
The result of "cordova.plugins.deviceName.name" is still "Galaxy Xcover 4" even after renaming it there.
Thank you and best regards

Are you using AndroidStudio?
Could you try
Log.d(TAG, "device_name " + Settings.Global.getString(cordova.getActivity().getContentResolver(), "device_name"));
in the getName method of the file DeviceName.java for instance.
I don't have a Android 7.0 or above to be able to test it myself and I don't want to rely solely on the simulator.
Anyone with such a device can help. Thank you.

its not working with latest android version in 7.0

can you try the master branch? thank you.

1.3.3 is out. closing now.


refactor: delegate voters show username if available

Summary
https://app.clickup.com/t/861n9936k

Checklist

[ ] I checked my UI changes against the design and there are no notable differences
[ ] I checked my UI changes for any responsiveness issues
[ ] I checked my UI changes in light AND dark mode
[ ] I checked my (code) changes for obvious issues, debug statements and commented code
[ ] I opened a corresponding card on Clickup for any remaining TODOs in my code
[ ] I added a short description on how to test this PR (if necessary)
[ ] Documentation (if necessary)
[ ] Tests (if necessary)
[ ] Ready to be merged

Updated @ItsANameToo


Issue 56

Pull Request Test Coverage Report for Build 57

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+3.2%) to 86.17%

Totals

Change from base Build 55:
3.2%

Covered Lines:
61

Relevant Lines:
66

💛  - Coveralls


Added default probe settings for ca

@mangchiandjjoe: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
61d6df9856183e03fb3ed4927d3791575553847b
link
/test istio-pilot-e2e

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.

Thanks a ton for the work!
Can we put this config to a single template:
install/kubernetes/templates/istio-ca-with-health-check.yaml.tmpl (I think in this PR you just need to create this file).
And then we can put together these templates with health check into a file:
isito-auth-with-control-plane-health-check.yaml.

/lgtm
/approve


Laravel Model Macroble Mixins

Hi guys,Can we mixin some features into an eloquent model class?
Let's assume the following setup:
mixin class file T:
class T{
	public function relations(){
		return function () {
			return $this->morphToMany('users', 'target');
                }
        }

	public function myUsers(){
		return function () {
			return $this->relations->first();
		}
	}
}

Model A:
class A extends Model{

}

some Class:
class someClass{

	public function test(){
		A::mixin(new T);
		A::first()->myUsers();
	}
}

Issue:
when using A::first()->myUsers(), why is $this->relations return error saying "relations" is not defined on Builder class?
Note1:
When mixin features on an eloquent class, it is being applied on a queryBuilder instead of model class.
Note2:
It seems like the issue is when class T is "mixedIn", $this became Illuminate\Database\Query\Builder, which cannot access model resources. like, if I use $this->relations(), it will return saying morphToMany not found from Builder. So, i guess my extended question is, How can we MixIn methods into a model class.
Thanks a lot guys

Heya, thanks for submitting this.
This seems like a feature request or an improvement. It's best to post these at the laravel/ideas repository to get support for your idea. After that you may send a PR to the framework. Please only use this issue tracker to report bugs and issues with the framework.
Thanks!


Feature Request: During cleanup, ignore contents of .npmignore as well as .gitignore and node_modules/

During cleanup, the code removes any files with the magic projen tags unless they are in .gitignore or node_modules/
This means if for any reason there are files with PROJEN_MARKER in sub directories, they get wiped out.  This seems rather dangerous to do to a global namespace as well as not allowing a sub directory to have its own projen file (for e.g. doing an integration test for a CDK project, see related issue).
If NPM is going to ignore the files, then projen probably should as well.
It might be cleaner to just add a projenIgnoreFiles option and avoid this kind of dependency on npm and git.
Related change:  https://github.com/eladb/projen/pull/70
code:  https://github.com/eladb/projen/blob/master/src/cleanup.ts

There's another bug here (can file issue separately), .gitignore and .npmignore entries with lines that begin with / are not handled correctly.   the correspond files and root directories don't get ignored.

What is your use case to have a nested projen file instead of putting it in the root one?

@hoegertn

what is your use case

It can take a CDK App Module to test a CDK Construct module
https://github.com/eladb/projen/issues/178

@hoegertn

what is your use case

It can take a CDK App Module to test a CDK Construct module
#178

I assume you mean like running lamba's or custom resources?

I assume you mean like running lamba's or custom resources?

Sure, or just doing synthesis an actual deployment to test for CFT deploy-time errors, which still happen quite a bit.
It looks like you are working on subprojects, which sound about what I want (though I haven't looked into detail)


Support of dynamic resource allocation

This is an important feature. It seems the current implementation simply kills the existing application and restarts new one. Any update or plan on improving it, e.g, incremental allocation? Thanks.
Quote from the user guide.
"If the application is currently running, the operator kills the running application before submitting a new run with the updated specification. There is planned work to enhance the way SparkApplication updates are handled. For example, if the change was to increase the number of executor instances, instead of killing the currently running application and starting a new run, it is a much better user experience to incrementally launch the additional executor pods."

First of all, to clarify a bit on this, dynamic resource allocation is a Spark built-in feature to dynamically change the number of executors at runtime according to the task workload. I think here you are referring to the way the operator handles changes to the number of executors in a SparkApplication object. It's ideal to not need an application restart in that case. However. currently we are not able to achieve that because the executor pods are requested and managed by the driver, which serves as a custom k8s controller for the executor pods. Unless we have a way to plug into the driver and gain control over executor pod provisioning and management, there's really no way we can achieve that. The user guide is too forward looking on this.
Regarding dynamic resource allocation, we do plan to support that. With dynamic resource allocation, spec.executor.instances in a SparkApplication object is the initial number of executor pods to request. The actual number may change dynamically at runtime.

Yes, I'm aware of the Spark build-in support and my questions was if we could dynamically update the number of executors through the Spark operator (i.e., by updating the number of instances in a SparkApplication object).  To avoid a restart, can we use Webhook to intercept and handle the Spark driver's scheduling requests, a similar mechanism that Volcano uses to integrate its batch scheduler into the operator?
By saying "Regarding dynamic resource allocation, we do plan to support that." , did you mean you would build a similar dynamic allocation logic as the Spark driver into the operator (i.e., automated and dynamic adjustment of the pod number)?  I think the problem stays he same.  Can we do it without restarting the job or running pods?

Yes, I'm aware of the Spark build-in support and my questions was if we could dynamically update the number of executors through the Spark operator (i.e., by updating the number of instances in a SparkApplication object). To avoid a restart, can we use Webhook to intercept and handle the Spark driver's scheduling requests, a similar mechanism that Volcano uses to integrate its batch scheduler into the operator?

We can use the webhook to configure newly created executor pods if we can inform the driver the updated number of executors at runtime without restarting the driver. For example, ideally spark-submit should have a subcommand for updating certain properties of the job without restarting it. I am not aware of a way to do that. Do you know if there's any way to do that?

By saying "Regarding dynamic resource allocation, we do plan to support that." , did you mean you would build a similar dynamic allocation logic as the Spark driver into the operator (i.e., automated and dynamic adjustment of the pod number)? I think the problem stays he same. Can we do it without restarting the job or running pods?

We do have a plan to build a Kubernetes-native external shuffle service that works with the new shuffle API currently being worked on. However, what I meant was more for the operator be able to automatically configure an application to use an existing shuffle service. With dynamic resource allocation, the driver decides the number of active executors at runtime and add new or remove existing executors based on that without needing to restart.

We do have a plan to build a Kubernetes-native external shuffle service that works with the new shuffle API currently being worked on.

Any detail on that? "Dynamic resource allocation" is also interesting to me :)

@k82cn  Do you guys have any plan to support dynamic number of pods for a batch job on the Volcano side?

Do you guys have any plan to support dynamic number of pods for a batch job on the Volcano side?

oh, we have the plan for both spark side & volcano side :)

Any detail on that? "Dynamic resource allocation" is also interesting to me :)

It looks like that the new shuffle API change necessary for implementing the external shuffle service won't be completed in Spark 3.0, making it impossible to build a pluggable Kubernetes-native shuffle service even with Spark 3.0. One alternative is discussed in https://github.com/GoogleCloudPlatform/spark-on-k8s-operator/issues/616.

A limited form of dynamic allocation via shuffle tracking will be supported in https://github.com/GoogleCloudPlatform/spark-on-k8s-operator/pull/976.

Spark 3 (or maybe 3.1) supports dynamic allocation now (without an external shuffler).
However, the current defaulting sets the number of instances to 1
https://github.com/GoogleCloudPlatform/spark-on-k8s-operator/blob/6f66e3f7e851024fc767f4bbe6ba6796c0b468cd/pkg/apis/sparkoperator.k8s.io/v1beta2/defaults.go#L73
Doesn't that disable the effects of dynamic allocation?


Track by in combiantion with | orderBy messes up string value

When you use a track by, in combination with an '| orderBy', the calcualted value is a comma seperated string.
Eg.
ng-options="domain as domain.name for domain in domains track by domain.id  | orderBy:'name'"
the corresponding option value is a comma seperated list of all cahracters in domain.id

Hi, this is the wrong place to get support. Please use StackOverflow for this. BTW, the right syntax is
ng-options="domain as domain.name for domain in domains | orderBy:'name' track by domain.id"