Flicking when running all tests

Hi,
Running the tests in the dune repo for example doesn't quite work:
Screencast from 2023-03-18 23-24-16.webm
There appears to be a lot of flickering and it isn't obvious what is actually happening.
For reference, I have the OCaml platform extension also installed.
It would be nice if this extension used dune rpc also so that it can connect to a dune already in watch mode. At the moment, Dune disallows multiple dune processes in the same project due to one of them acquiring a lock.

Hi and thanks for your bug report.

Running the tests in the dune repo for example doesn't quite work:
There appears to be a lot of flickering and it isn't obvious what is actually happening.

What is happening looks to me like that the extension is adding new tests to the Test Explorer, but somehow 'forgetting' (overwriting?) about already existing ones. Some kind of race condition when adding nodes to the tree.
I can kind of reproduce that with the dune sources, not when running tests but discovering them at startup or by pressing the Refresh Tests button.
To be sure, please add the log of the extensions in the Output tab, see Q: Where can I see the log of the extension?
Btw. the long running test ./_build/default/test/expect-tests/fsevents/.fsevents_tests.inline-tests/inline_test_runner_fsevents_tests.exe I did delete to not having to wait that long when the extensions starts up and runs all inline test runners.

It would be nice if this extension used dune rpc also so that it can connect to a dune already in watch mode. At the moment, Dune disallows multiple dune processes in the same project due to one of them acquiring a lock.

Yes I know about the lock (I 'work around' that by retrying to run dune until it succeeds locking - which doesn't work with Dune in watch mode), but didn't know about RPC. As soon as dune rpc exec works, I'll be able to maybe use it. Maybe, because my question is what happens if somebody stops the watching dune process while there are still clients (tests) running?
Btw. that leads to another question: why does dune not use a running Dune watch process automatically instead of complaining about the lock? Is this a planned feature or should I make a feature request?

OK, found the problem: that is just me deleting the wrong groups. That should be a fast fix

Btw. that leads to another question: why does dune not use a running Dune watch process automatically instead of complaining about the lock? Is this a planned feature or should I make a feature request?

We are planning to make all Dune processors connect to an existing rpc server if one is running eventually. You can track the progress of that here: https://github.com/ocaml/dune/issues/7308

Also one more subtle thing which is really only a problem for the Dune repo, is that we aren't using dune which is what the extension is using but rather the bootstrapped executable ./dune.exe for development. This probably causes an unnecessary rebuild.

Also one more subtle thing which is really only a problem for the Dune repo, is that we aren't using dune which is what the extension is using but rather the bootstrapped executable ./dune.exe for development. This probably causes an unnecessary rebuild.

I could add a configuration option to use a special path to dune instead of the one in the path of opam env. So a non-global dune could be used for users that don't have Opam in their path.
Btw. got it working with my fix now, just by getting two long running tests out of their way. I've got 5 failing test (of 365 tests in total without runners I couldn't build or deleted) is that OK?
But I cannot compile all tests by calling dune test by hand.

mel is not installable, because I use 5.0 - that expected
there are errors of JS complaining about stdlib's Mutex - am I missing some switch to turn that error off?

And some deprecated functions on MacOS

Version 0.4.0 fixes the problem.
You can also set the dune executable in the settings.
But the mapping of tests from the sources to the inline test runners does not work reliably, so you should let expectppx.discoverInSources disabled. To update the test tree when new tests have been added, please use the Refresh Tests button until I've fixed this.
See: Dune rules, library targets and inline test runners

And a remark: As I've just found the -list-test-names argument (I' making a PR to add this and other useful arguments to the PPX Inline Test README) there is a new version on its way, that no longer needs to run all tests to get the list of tests, so discovery should be much faster (like for Alcotest)

Excellent working really well! I like this extension a lot. Have you reached out to the ocaml platform folks? I think this would be a nice addition.

Great to hear!
I've actually talked with Thibaut Mattio at OCaml Discuss. My plan is to port it to OCaml and add both extensions to it, I just don't know when.


Fixed links in Pipelines > user guides > data handling > artifacts

Resolves: https://github.com/kubeflow/website/issues/3766

cc @chensun

/lgtm


Copy user debug symbol files to the RoboRIO during debug

The template generator for plugin strips the shared objects and puts the debug symbols into a separate file, named lib*.so.debug. These are only needed for debugging, so they only need to be copied during debug mode, but we should add capability to do this for user libraries.

Since we use remote GDB, this isn't needed.


Add sensor for Miele Autodos/PowerDisk

Feature request
I have a version of Miele dishwasher that has Autodos/PowerDisk container, using which you can start washing dishes immediately without having to add anything as it uses detergent from the Autodos compartment.
Autodos periodically runs out and you have to refill it. When it happens I’d love to have an automation that sends me a notification so I wouldn’t forget to do it. If I do, I get to wash my dishes without any detergent and result is poor.
In the app itself that information is definitely present and I suspect in the Cloud too. But HA integration doesn’t currently have a corresponding sensor. It would be really great if it could be added.

What version of the integration are you using?
2024.5.0
Anything in the logs that might be useful for us?
No response
Additional information
No response

That info is not available in the public API. You could send your request to Miele to include the feature. However, they are usually not too responsive...

I see. Do you know where I could send it to Miele?On 10 Jul 2024, at 09:03, Åke Strandberg @.***> wrote:
That info is not available in the public API. You could send your request to Miele to include the feature. However, they are usually not too responsive...
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

Try<EMAIL_ADDRESS>. Sometimes they answer, sometimes they don't.

Thank you. Just sent them an email. I’ll post here in case they answer anything meaningful.

On 10 Jul 2024, at 09:38, Åke Strandberg @.***> wrote:
Try @.*** @.***> . Sometimes they answer, sometimes they don't.
—
Reply to this email directly, view it on GitHub https://github.com/astrandb/miele/issues/503#issuecomment-2219776358, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD2QG7ULO36LDDDXXB2YB53ZLTQGPAVCNFSM6AAAAABKUHWZSKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMJZG43TMMZVHA.
You are receiving this because you authored the thread.

In the app itself that information is definitely present and I suspect in the Cloud too.

The screenshot says it's an estimate, so I wouldn't be surprised if they are just using the number of runs (and possibly program type of each run) to estimate the level of detergent remaining. If you don't get a reply on the API question (I wouldn't hold my breath..) you can easily achieve the same functionality in Home Assistant by setting up a helper.

Yeah they never replied. So I guess your suggestion is good alternative. Why don’t we add it to the integration directly rather than have everyone set their own thing with helpers and counting number of runs, etc.?

On 18 Jul 2024, at 11:02, zanoii @.***> wrote:
In the app itself that information is definitely present and I suspect in the Cloud too.
The screenshot says it's an estimate, so I wouldn't be surprised if they are just using the number of runs (and possibly program type of each run) to estimate the level of detergent remaining. If you don't get a reply on the API question (I wouldn't hold my breath..) you can easily achieve the same functionality in Home Assistant by setting up a helper.
—
Reply to this email directly, view it on GitHub https://github.com/astrandb/miele/issues/503#issuecomment-2235997315, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD2QG7UMWEUKR2RZWG3LO7TZM6ACZAVCNFSM6AAAAABKUHWZSKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMZVHE4TOMZRGU.
You are receiving this because you authored the thread.

Stale issue - closing

Just wanted to share with the community that this simple Automation in HA does indeed correctly detect when PowerDisk is empty and raises a notification. Hopefully will be useful to others. May be even useful to create a sensor despite the fact that Miele is not sharing it via the API yet:
alias: PowerDisk Notification
description: ""
triggers:
  - trigger: state
    entity_id:
      - binary_sensor.dishwasher_info
    to: "on"
conditions:
  - condition: or
    conditions:
      - condition: state
        entity_id: sensor.dishwasher_program_phase
        state: not_running
      - condition: state
        entity_id: sensor.dishwasher_status
        state: programmed
    enabled: true
actions:
  - action: persistent_notification.create
    data:
      message: Replace Dishwasher's PowerDisk
      notification_id: dishwasher_powerdisk_empty
mode: single

Could be, but for me the only information I get 99% of the time is about PowerDisk being empty. On 26 Dec 2024, at 16:58, Andreas Ehn @.***> wrote:
Wouldn't this be triggered by any information notice from the dishwasher, not just about replacing the PowerDisk?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>


Added files via upload

Wallet icons :)

Thanks for the interest :)
I'm working on improving a few functionality things at the moment, but would be open to discussing icon changes if users have an interest in that.
What do you think are the pros of your icons over the present ones?

Thanks for developing this, it works, btw, for sending too :) Looking forward to see it on web store.
As far as icons are concerned I just thought that pouch is temporary for alpha version :) and immediately made those offered just to contribute somehow.  It depends on what image of the Monero we create, that's why icons and images matter. I propose more 'serious'. No offence, just don't want to feel like bagholder looking at that pouch icon :)

You're welcome! Thanks for trying it out. I'm hoping to release a beta version on the Chrome Store based on some feedback I've received shortly - perhaps as early as tonight or tomorrow. I've already pushed a few updates through that prevent some user errors and improve Contacts :)
They are somewhat temporary/placeholders for sure, and I'm definitely open to ideas for improving! I was thinking that once this gets announced publicly (congrats on finding it in its semi-secret state!) I would have a contest/vote for an official logo.
I hadn't even thought of the bagholder connotation... I was just going for the "coin purse" idea with the current logo.
Anyway, I'll leave this issue open so that I can include it in a community contest for an official logo! I appreciate your support!

Sure :) I wish you good luck with this wallet. I am glad I had patience not to post my finding on reddit. When you make it public I'll join discussion with ideas and support.


very slow when window is moving

system summary

host_os: ubuntu 22.04
dde: xfce 4
gpu: intel hd 2500
xrdp: 0.9.17
client_os: win11

problem
screen is very laggy when moving window, even window compositor was disabled.

client side, mstsc was selected LAN mode to enable RFX protocol.

but
3d application is works fine without lag, but moving the window is still laggy.

root@ubuntu:~# xrdp --version
xrdp 0.9.17
  A Remote Desktop Protocol Server.
  Copyright (C) 2004-2020 Jay Sorg, Neutrino Labs, and all contributors.
  See https://github.com/neutrinolabs/xrdp for more information.

  Configure options:
      --enable-ipv6
      --enable-jpeg
      --enable-fuse
      --enable-rfxcodec
      --enable-opus
      --enable-painter
      --enable-vsock
      --build=x86_64-linux-gnu
      --prefix=/usr
      --includedir=${prefix}/include
      --mandir=${prefix}/share/man
      --infodir=${prefix}/share/info
      --sysconfdir=/etc
      --localstatedir=/var
      --disable-silent-rules
      --libdir=${prefix}/lib/x86_64-linux-gnu
      --libexecdir=${prefix}/lib/x86_64-linux-gnu
      --disable-maintainer-mode
      --disable-dependency-tracking
      --with-socketdir=/run/xrdp/sockdir
      build_alias=x86_64-linux-gnu
      CFLAGS=-g -O2 -ffile-prefix-map=/build/xrdp-asBei3/xrdp-0.9.17=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security
      LDFLAGS=-Wl,-Bsymbolic-functions -flto=auto -ffat-lto-objects -flto=auto -Wl,-z,relro -Wl,-z,now -Wl,--as-needed
      CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2 -Wno-error=deprecated-declarations
      PKG_CONFIG_PATH=/build/xrdp-asBei3/xrdp-0.9.17/pkgconfig

  Compiled with OpenSSL 3.0.2 15 Mar 2022

Also laggy when selecting the text from the browser.

@whitegerry - did you look into CPU usage as above?

@whitegerry - did you look into CPU usage as above?

The issue happens when gpu hardware acceleration enabled. It will be smooth if there is no gpu hardware acceleration enabled for xrdp session.

Interesting.
How did you enable/disable the GPU hardware acceleration in your xrdp session?

I installed xorgxrdp-glamor to enable the GPU hw acceleration.
Window animation will be smoother if the composer is disabled.


Redisigned python client

Hi all! First of all, thanks for the great project.
I start a small project with kanboard python client library redesign.
Goals are: simplify python clients creation and hiding json-rpc
complexity over python classes.
Here is simple task creation example:
board = kanboard.Kanboard('http://localhost:8080/jsonrpc.php',
                          '347a020cb5ce709441aa42b2d5652fbb8b02e477104d1d9789f7b2d40df0')

project = board.get_project_by_name('Test')
column = project.get_column_by_name('Work in progress')
task = column.create_task('Test title', description='test descr', color=Task.COLOR_ORANGE)

I start project a week ago and not all API methods are implemented.
Bugs are also possible.
Link to repo: https://github.com/freekoder/kanboard-py

I added your project into the list of related projects: https://github.com/fguillot/kanboard#related-projects

thanx. I hope it would be helpful.


Not work pressing three keys at once and one of them SPACE

The bug occurs in the processing of pressing three keys at once and one of them SPACE. One of the necessary actions linked to the key not working. In the example http://phaser.io/examples/v2/arcade-physics/asteroids-movement if you press UP, LEFT and SPACE, then the ship will not turn to the left. If you replace SPACE to CONTROL, then the problem disappears.

From the Phaser.Keyboard documentation:

Be aware that many keyboards are unable to process certain combinations of keys due to hardware
limitations known as ghosting. Full details here: http://www.html5gamedevs.com/topic/4876-impossible-to-use-more-than-2-keyboard-input-buttons-at-the-same-time/


UI ERROR: Status email verification Link

before

After

The status is lost, after clicking on the email verification link

This should be fixed now @eduardocampo. Please let us know if the issue persists.

Solved!! 👌


Fork ghc-mod from back when it was BSD3

ghc-mod is currently an AGPL project.  This means that HIE is not usable in proprietary software unless another backend is used.  Furthermore, if HIE makes any changes that are based on AGPL ghc-mod code, then the license of ghc-mod may "infect" HIE.
The only solution is to fork ghc-mod from when it was under the BSD license, or at least have a fixed interface between HIE and the AGPL ghc-mod code that does not change.

This means that HIE is not usable in proprietary software

I fail to see the problem.

We are a small project and don’t have the resources to maintain part of ghc-mod ourselves. When someone steps up that can do this, we can debate this again, until then it won’t happen.


Use Mesos API for logs instead of Logdriver

ready for review.

👍 🍰 Ship it!

#103 fixes some more issues coming out of this PR.


These credentials do not match our records

Hi,
I get this error when trying to login.
I use Laravel 5.3 and its authentication with Entrust 1.8.0-alpha1 and now added Adldap2/Adldap2-Laravel 2.1.
I made configuration based on reading manual, and comments (this and this).
I also checked issues #46 and #90 but couldn't solve anything.
Before adding Adldap2 I already configured system to use username column instead of email, though email column stays in users table.
When I run {{ dd(Adldap::search()->users()->find('test.user')) }} it successfully finds and returns information about user.
But {{ dd(Adldap::auth()->attempt('test.user', 'password')) }} returns false.
I also tried supplying admin_username and admin_password to Adldap::auth()->attempt() and also got false response.
I double checked connection_settings parameters in config/adldap.php and all seems OK (I guess they are really OK, since I can search user).
Also, authentication over local DB still works normally: checked by enabling login_fallback option.
Where else can be the problem?

Hi @ownmaster,
Can you post your config/adldap.php as well as your config/adldap_auth.php file with sensitive details removed?

Hi,
Thanks. :) While posting the configs I re-read them again and was able to fix the problem:

I initially set both suffix and prefix as shown below:
'account_prefix' => 'companyname',
'account_suffix' =><EMAIL_ADDRESS>After I set prefix to empty string, attempt() method started to work.
Though, I don't quite understand why it doesn't work with the prefix set to domain name, since documentation says:

if you'd prefer your users to use only their username instead of specifying a domain ('ACME\jdoe'), enter your domain name

And now I don't set prefix and don't provide domain name during login, but authentication works.

I missed and left with default values username_attribute for login form, now changed it to:
'username_attribute' => ['username' => 'samaccountname']


Normalize numerical location by adding leading zeroes to northing and…

… easting components of mgrs coordinte and add two tests to verify.
Without the leading zeroes added to the northing component, invalid or inaccurate mgrs coordinates can be created by the 'forward' method.
As an example, forward([0,0]) yielded: '31NAA660210', instead of '31NAA6602100000'. The northing component was 0 numerically and then converted to a string '0'.
The fix I propose is to add 100,000 to the numerical version that will then create the string: '100000'. The subsequent 'substr' command takes the will extract the right number of zeroes based on the accuracy.
I only saw the problem with the northing piece, but I applied the same fix to the easting as well.

We could also just change ''  + whatever to be '00000' + whatever to prepend it with leading zeros directly

Ah yes, that would be better. It is more direct. It is exactly what I did in our app as a workaround. I've updated the pull request.

We are using proj4.js in our app. Could you update the proj4js 'dependencies' in the package.json file to the "0.0.2" revision level for mgrs. Thanks.


getPolygon with 0 points

Describe the bug
The CatmullRomSpline member function getPolygon when called with num_points = 0 raises an error with a description failed to calculate curve index.
This description does not say where the real error is in this case. It is thrown deep from the call stack by member function getCurveIndexAndS in the call order presented below:
getPolygon -> getLeftBounds -> getNormalVector -> getCurveIndexAndS
This happens because the num_points (= 0) is used in getLeftBounds to calculate step_size (which is then equal to infinity).
https://github.com/tier4/scenario_simulator_v2/blob/c4b7daa714f2d7b94d6a71c0f78932b0826b4ca3/common/math/geometry/src/spline/catmull_rom_spline.cpp#L81
This leads to a NaN s value which then is not matched to any component curve and a mentioned exception is being thrown by getCurveIndexAndS.
https://github.com/tier4/scenario_simulator_v2/blob/c4b7daa714f2d7b94d6a71c0f78932b0826b4ca3/common/math/geometry/src/spline/catmull_rom_spline.cpp#L83
In my opinion there are three ways to improve the behavior in this situation:

To catch the exception in the getPolygon function and thrown another exception with more informative description
To just throw an exception in getPolygon when num_points == 0
To add an early return in getPolygon to return an empty vector when num_points == 0

Context:
I am adding unit tests for the geometry package and wanted to add tests for the getPolygon function.
To Reproduce
Steps to reproduce the behavior:

Edit any existing source code file or create a new one
Create any CatmullRomSpline
Call the getPolygon member function with num_points argument set to 0
Compile and execute
See the error

Expected behavior
Either an exception with an appropriate description or the return of an empty vector.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]: Ubuntu
Browser [e.g. chrome, safari]: Firefox
Version [e.g. 22]: 22
ROS 2 version: Humble
DDS: CycloneDDS

I think CatmullRomSpline class cannot construct with 0 control points.
https://github.com/tier4/scenario_simulator_v2/blob/c4b7daa714f2d7b94d6a71c0f78932b0826b4ca3/common/math/geometry/src/spline/catmull_rom_spline.cpp#L129-L133
So, I think it would not be a problem.
How did you test this issue?

I am sorry if my explanation was not clear enough.
You are right, the CatmullRomSpline cannot be constructed with 0 control points.
However, the member function getPolygon
https://github.com/tier4/scenario_simulator_v2/blob/c4b7daa714f2d7b94d6a71c0f78932b0826b4ca3/common/math/geometry/src/spline/catmull_rom_spline.cpp#L30-L50
takes num_points as an argument. This argument is used to construct a polygon (or rather pairs of triangles) approximating the surface of the spline with a given width. It is independent from the number of control points that were used to construct the CatmullRomSpline.
This num_points argument is not checked anywhere, and when it is set to 0, then the behavior I have described above is triggered (which leads to an exception).

@hakuturu583
Does the explanation in my previous message clearly explain where the bug is?

Sorry for my late reply.
I understand...
It is a bug.

This issue was solved under #1139, but I forgot to mention this issue in the description of the #1139.
The #1139 was merged, so I am closing this issue.


oauth.json is deleted after upload

Problem
My directory looks like this:
client_secrets.json  oauth.json test.mp4  test.py

and test.py like this:
from youtube_upload.client import YoutubeUploader

uploader = YoutubeUploader()
uploader.authenticate()

# Video options
options = {
    "title" : "Example title", # The video title
    "description" : "Example description", # The video description
    "categoryId" : "22",
    "privacyStatus" : "private", # Video privacy. Can either be "public", "private", or "unlisted"
    "kids" : False, # Specifies if the Video if for kids or not. Defaults to False.
}

# upload video
uploader.upload("./test.mp4", options)
uploader.close()

After running test.py the oauth.json file is deleted for some reason, but I would like too keep it in order not to have authenticate everytime I use the script.

This is the code you are referring to.
https://github.com/pillargg/youtube-upload/blob/cc85eedc553aa31f060cfb113976fe7d5b62ecbb/youtube_upload/client.py#L317-L322
If you do not call uploader.close() it will not delete the file. Our upload procedure requires us to delete the file, so we added the close functionality. I will clarify the documentation.

I'm not calling the uploader.close and it deletes the file anyway? I have to set it to read only.
I don't quite understand why does the script do this?!
My code looks like this at the end:
uploader.authenticate("files/oauth.json")
print(f'[{video_id}]: Uploading...')
uploader.upload(file_path, options)
print(f'[{video_id}]: Upload successful.')
print(f'[{video_id}]: Done.')

the file is indeed deleted even if you don't call the close() function, what is happening ?

The problem is with the __del__ method here. __del__ is a finalizer and it is called when the object is garbage collected. So, at the end of the run it will delete the file, either you want or not. I think this is bug. In any case I have commented it in my local copy and things are alright.


[Breaking change]: Support environment variables with empty value

Description
Add support for setting the environment variable to an empty value in Environment.SetEnvironment and ProcessInfo.Environment APIs.
Version
.NET 8 GA
Previous behavior
Both Environment.SetEnvironment("TEST", string.Empty) and Environment.SetEnvironment("TEST", null) deleted the environment variable.
Both ProcessInfo.Environment["TEST"] = string.Empty and ProcessInfo.Environment["TEST"] = null set the environment variable in the child process to an empty value.
New behavior
Environment.SetEnvironment("TEST", string.Empty) sets the environment variable value to an empty value. Environment.SetEnvironment("TEST", null) behavior is unchanged, it still deletes the environment variable.
ProcessInfo.Environment["TEST"] = null deletes the environment variable. ProcessInfo.Environment["TEST"] = string.Empty behavior is unchanged, it still sets the environment variable the environment variable value to an empty value.
Type of breaking change

[ ] Binary incompatible: Existing binaries may encounter a breaking change in behavior, such as failure to load or execute, and if so, require recompilation.
[ ] Source incompatible: When recompiled using the new SDK or component or to target the new runtime, existing source code may require source changes to compile successfully.
[X] Behavioral change: Existing binaries may behave differently at run time.

Reason for change
Before this change, it was not possible to use Environment.SetEnvironment to set the environment variable to an empty value that is a valid environment variable value on all supported platforms.
Recommended action
Change code to pass null instead of string.Empty as the value argument to Environment.SetEnvironment API to delete the environment variable.
Change code to pass string.Empty instead of null as the value to ProcessStartInfo.Environment, ProcessStartInfo.EnvironmentVariables APIs to set the environment variable to an empty value.
Feature area
Core .NET libraries
Affected APIs
Environment.SetEnvironmentVariable, ProcessStartInfo.Environment, ProcessStartInfo.EnvironmentVariables

@jkotas Did you mean to select .NET 9 instead of .NET 8? Also, will this be in Preview 6 or 7?

Did you mean to select .NET 9 instead of .NET 8? Also, will this be in Preview 6 or 7?

Fixed - .NET 9 Preview 6.


Add contrib modules to setup.py

Was trying to use InlineFeatureFlag (as described here), but found that the contrib modules weren't being included.
Small change to setup.py fixes it.

Ah, just noticed the pending pull request.

Coverage remained the same at 95.49% when pulling e6454ff0cbc584d25af8c6c8f9413ce84d9fd8aa on pcraig3:master into 5a888914835600f5381121393350454000d3fad5 on trustrachel:master.

Coverage remained the same at 95.49% when pulling e6454ff0cbc584d25af8c6c8f9413ce84d9fd8aa on pcraig3:master into 5a888914835600f5381121393350454000d3fad5 on trustrachel:master.


[WIP] Json schema templates

This PR adds schema templates for carbon intensity and power breakdown for the two back ends namely national grid eso and electrycitymaps
Signed-off-by: Parul<EMAIL_ADDRESS>

@rootfs For the carbon intensity schema, the date we get from electricity map contains Zone information but ngeso does not.
For our POC we definitely need zone wise information of carbon intensity. Two possible approach:

Use electricitymap for zone data
Add mock zone information to ngeso data

mock zone it is

would you please also add a README listing the origins of the data sources?

After analyzing all public data from various sources it is clear that these data are not relevant for scaling/scheduling decisions for reasons:

the data is historic both electricitymap and ngeso
ngeso has only historic carbon intensity and power breakdown data dating Jan 2022. ngeso is aslo only for England

Without question we need a ML trained model to forecast zone wise carbon intensity for upcoming days. The json schema should then define the properties/features/metrics for training the model and also as Prometheus metrics.
For now we can have zone, carbonIntensity, datetime as it is consistent across electricitymap an ngeso
I will make the changes to the PR
cc: @rootfs @KaiyiLiu1234

I am planning to make a PR for the carbon forecast end of today. I work will be on the carbon-forecast branch.

After analyzing all public data from various sources it is clear that these data are not relevant for scaling/scheduling decisions for reasons:

the data is historic both electricitymap and ngeso
ngeso has only historic carbon intensity and power breakdown data dating Jan 2022. ngeso is aslo only for England

Without question we need a ML trained model to forecast zone wise carbon intensity for upcoming days. The json schema should then define the properties/features/metrics for training the model and also as Prometheus metrics.
For now we can have zone, carbonIntensity, datetime as it is consistent across electricitymap and ngeso I will make the changes to the PR cc: @rootfs @KaiyiLiu1234

hello team @KaiyiLiu1234 @husky-parul,
2 small points:

to do carbon aware scaling, we need current / actual emissions, not forecast data
we could use forecast for a more advanced scenario: which is predictive scaling

and to get the forecast data, we don"t actually need to build an ML model
from a study we did, we identified on our side the 2 main API providers (in term of functionnalities & country coverage):

WattTim
ElectricityMap
--> both provide forecasting

In term of common schema, we are trying to build a common interface for different providers.
for power metrics: we don"t have a common spec (from my research)
for Carbon Intensity metrics:  This is what the GSF project is doing (part of Linux foundation)
https://github.com/Green-Software-Foundation/carbon-aware-sdk
maybe we should build on what is existing

Hey @yelghali

to do carbon aware scaling, we need live / actual emissions, not forecast data

per discussion, forecast data is for time shifting (cron job) use case

we could use forecast for a more advanced scenario: which is predictive scaling

Let's have that in the demo :D

and to get the forecast data, we don"t actually need to build an ML model from a study we did, we identified on our side the 2 main API providers (in term of functionnalities & country coverage):

WattTime: https://www.watttime.org/api-documentation/#emissions-forecast  (best for US coverage)
ElectricityMap : https://static.electricitymaps.com/api/docs/index.html#forecasted-marginal-carbon-intensity  (for EU)
--> both provide forecasting

Agreed, the forecast data are provided yet there are gaps: the forecast intervals are fixed (1 hour or 1 day), using that fixed intervals is not for general purpose planning.

In term of common schema, we are trying to build a common interface for different providers.

This is great! We should make that available in reusable packages (which is also the goal of this PoC)

for power metrics: we don"t have a common spec (from my understanding)
for Marginal Carbon Intensity metrics:  This is what the GSF project is doing (part of Linux foundation)
https://github.com/Green-Software-Foundation/carbon-aware-sdk

The SDK can be nicer if it can be provided as a software package, in addition to WebApi, so it can be embeded in other frontend integrations, e.g. Prometheus. As discussed, this PoC is towards that direction.

--> The Sdk also handles the notion of Availability zones
maybe we should build on what is existing

This is a good start. As we discussed, this PoC is to investigate what is missing and provide evidence for future investigation. We'll see if that can address our use cases.

WattTime gives the carbon intensity of grid regions you have access to and not all the grid regions covered by WattTime. For e.g I have only access to CAISO_NORTH. It might not work as we can't track other grids carbon intensity hence how to determine best grid for scaling?
I have also realized that every back end has it's rules to compute carbon intensity which is not consistent across that back ends. In this case how does the carbon intensity value in Prometheus compares to each other when scraped from different back ends?
I might also suggest using a sink to persist data scraped from backend apis. All of the apis have restriction on number of queries made in day/hour/second. Live querying the API and pushing to Prometheus does not appear very efficient to me.

For forecast model, I think four good models I am setting up include ARIMA, SARIMA, Tensorflow NN, XGBoost regressor. ARIMA and SARIMA are currently the most popular for time series forecast. We can give these a test run with some data.

@husky-parul is it ready to go?

@rootfs I will sync with upstream and apply for merge

Nice WIP. Just to note, ngeso_schema is a nested json with zone and history. The example ngeso for carbon intensity only shows history. Might be good idea in follow up commit to include a complete example. electricitymap_schema is missing. From the example provided, it looks like all you need to do is define a schema with 7 properties (zone, carbonIntensity, datetime, updatedAt, emissionFactorType, isEstimated, estimationMethod). Include that in followup commit. One thing I am confused about is the power breakdown. It seems basically the same as carbon_intensity. Is there a reason for this? If I misunderstood anything let me know. If all of these are to be expected, I will approve the request and you can followup additional schema changes in future PRs.

@KaiyiLiu1234 @rootfs we have a single scheme for carbon_intensity irrespective of the API/source. Could you review/approve if it looks good.


fluentd-kubernetes-daemonset for Loki

Is your feature request related to a problem? Please describe.
Instead of "Promtail", we wanted to leverage "fluentd" to forward logs to Loki.
Describe the solution you'd like
Deploy fluentd-kubernetes-daemonset in Kubernetes and forward logs to Loki running on same kubernetes cluster
Describe alternatives you've considered
Currently I am using promtail to foward logs to Loki
Additional context
No response

Currently there is no PR for supporting to forward to Loki yet.
If you want to do it and continuously maintain it, PR is welcome.
Please check https://github.com/fluent/fluentd-kubernetes-daemonset/blob/master/MAINTAINING.md if you want.


success reported on failure when destination inaccessible

When the destination isn't directly accessable, cloudmig reports a successful migration when no files were transferred.
The transfer fails properly if the source is not accessible.  This only occurs when destination is not accessible.
Example1:
When cloudmig receives HTTP-403 during posix->RS2 migration, it results in:
cloudmig:3476:[INFO][Migrating] File 'newfile.txt' transfer failed !
cloudmig:3476:[ERR][Migrating] : Could not migrate file newfile.txt
cloudmig:3469:[INFO]Uploading digest: 0/0 objs, 1/0 bytes
cloudmig:3469:[INFO][Uploading Status Digest]  Uploaded digest: { "objects": 1, "done_objects": 0, "bytes": 1024, "done_bytes": 0 }
cloudmig:3469:[INFO]Migration finished with success !

Example2:
When cloudmig receives HTTP-307 during S3->S3 migration, it results in:
cloudmig:2545:[INFO][Migrating] File '100Kfile.txt' transfer failed !
cloudmig:2545:[ERR][Migrating] : Could not migrate file 100Kfile.txt
cloudmig:2538:[INFO]Uploading digest: 0/0 objs, 1/0 bytes
cloudmig:2538:[INFO][Uploading Status Digest]  Uploaded digest: { "objects": 1, "done_objects": 0, "bytes": 102400, "done_bytes": 0 }
cloudmig:2538:[INFO]Migration finished with success !

I'm reading a "Migration finished with success !" in both cases.
Which is actually wrong in both cases anyways. The tool should at least report that the migration was not complete (or even that nothing could be migrated in the worst cases).

We still need proper explanatory messages on the end of the migration.


create new_file.md

Please accept this Pull Request so readers can see how the full pull request process works from end to!

why?

why?

Test things in your own repo, not ours.

Test things in your own repo, not ours.


Child instance events do not work when nesting vue instances

Version
2.6.10
Reproduction link
https://jsfiddle.net/6keoty50/1/
Steps to reproduce

Load development version.
Nested vue instances.
Add v-pre to the child instance.
Add click event to child instance.
Click a child instance.

What is expected?
I want the event of the child instance to work.
What is actually happening?
If you are loading a development version, you will get an error.
There is no problem if you are loading the production version.

Nesting new Vue is not supported. When doing new Vue on an element, you should only create Vue instances through components


Feature request: Disable cell selection

Replicate

Visit https://bossanova.uk/jexcel/examples
Scroll down to table is visible
Hold down mouse button
Drag over tables

Actual Results
Multiple cells are selected.
Desired Results
No cells are selected.
Feature Request
I would like to disable the ability to select any cells (either with the mouse or with keyboard and shift keys). The following appears to be correct:
      rowDrag: false,

However, the table cells can be selected.

Do you mean disable the selection of multiple cells and keep the selection of one cell at time?

The range selection. Imagine selecting two cells containing 1 and 2, respectively. Then you drag the tiny square in the bottom right corner to apply the range selection across multiple cells. I'd like to disable this behaviour.

In the next commit you can use:
$('#my').jexcel({     data:data,     colHeaders: ['Country', 'Food', 'Stock'],     colWidths: [ 300, 100, 200 ],     onload:onload1,     selectionCopy:false     columns: [         { type: 'autocomplete', source:countries },         { type: 'dropdown', source:['Apples','Bananas','Carrots','Oranges','Cheese'] },         { type: 'checkbox' },         { type: 'text', readOnly:true },     ] });

Can we make selectionCopy false to only one column? @paulhodel  ?

You can do that, by using onselection method. When you detect the cell you don't want is selected:
instance.options.selectionCopy = false;
Else
instance.options.selectionCopy = true;

@paulhodel  Thanks for the quick response, Above mentioned solution solve the problem, However selecting too quick throws an error saying: TypeError: Cannot set property 'selectionCopy' of undefined
ExcelTable.jsx:114 Uncaught TypeError: Cannot set property 'selectionCopy' of undefined
    at Object.selectionActive (ExcelTable.jsx:114)
    at Object.obj.dispatch (jexcel.js:340)
    at Object.obj.updateSelectionFromCoords (jexcel.js:2948)
    at HTMLDocument.jexcel.mouseDownControls (jexcel.js:7661)

I imagine you are using the instance you have created. If you don't have the instance you might get that using a selector:
var instance = document.getElementById('spreadsheet').jexcel;
Or
jexcel.current.options.selectionCopy


1.19-19 docs

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve


set FinBit in last StreamFrame

Right now, we're sending out an empty StreamFrame just to set the FinBit.

It probably makes sense to do this when refactoring the Stream.Readfor #84.

The spec says:

A stream frame must always have either non-zero data length or the FIN bit set.

So we probably shouldn't fix it.

The spec says:

A stream frame must always have either non-zero data length or the FIN bit set.

So we're actually doing it right.


copy mechs and run file to study_dir

edit dsSetupStudy.m:

use mfilename and copyfile to copy run file (if found, ie not using command window) to study_dir
use copyfile to copy mechs to study_dir

bug with mechs given not as absolute path. fixed using which. also added flag so doesnt do this by default.


Device update total number of updates per instance count mismatch

Hi,
I was trying to import updates in azure IotHub. According to the document Total number of updates per instance = 100 but I am able to import up to around 72-75 imports after that I started getting error saying "Error importing update due to exceeded limit".
I used  GET endpoint (https://{endpoint}/deviceupdate/{instanceId}/updates?api-version=2021-06-01-preview) to fetch total number of updates but I am getting around 72-75 updates only. Also tried using SDK (Azure.IoT.DeviceUpdate-1.0.0-beta.3) method _DeviceUpdateClient.GetUpdatesAsync without passing any parameter value but still getting around 72-75 updates only.
I am not sure why I am getting limit exceeded error even though I didn't reach the limit.  Can you help me figure out what could be the issue ? I will be happy to provide more info.

@rvmungalpara Investigating the issue

Hi @rvmungalpara, it's probably not the most clear from the documentation, but the 100 device update limit is the total maximum number of updates, but there are other restrictions in the same document you reference that you can hit, even before you hit 100 updates. For example, the total number of update providers is 25 (meaning if you can receive a limit error with as few as 26 updates if they all have different providers). Likewise with the number of names per provider.
That said, the error message you are getting should be specific enough for you to figure out the problem (and it seems the error message you got back seems too ambiguous). @devlie can you look into why there is such a generic message returned? @rvmungalpara if you have an operation ID for the import request, we can look specifically into this as well.

Error importing update due to exceeded limit
That is just the top-level message; there should be another message in the error object that specifies which limit was exceeded.

@alancshi @devlie  Thanks for looking into that issue. I am using only one update provider and max 4-5 different update names during my import workflow. So I believe I am not hitting that 25 update provider/ 25 update names per provider limit. Attached more info around error message probably that could help to investigate further.

OperationId: 97181171-4c2f-4aab-a7ee-0003ae65d7d7

OperationId: c1b2b644-64c2-43ea-878d-665b2e0b6c80

@rvmungalpara thank you very much for the operationIds. We identified a bug in our import system that causes us to leave orphaned documents in database when user deletes an update very shortly after it is imported. Those orphaned documents are included by the limit calculation, causing the error you're seeing. I have manually cleaned up the database associated with your instance, and you should be able to import up to 100 updates now.

Thanks for looking into that issue.

@devlie Same issue we are getting on other environment that we are using for our internal testing.
OperationIds:

2274b580-90ba-4088-ac01-561455b027c7
3483ca3d-b243-432a-8783-774046aeba49
58dcf6e2-1e04-428f-bc20-fce72759dbec

Can you delete orphaned documents from the database ? What will be the long term solution so those orphaned document doesn't get created. Let me know something needs to be done from our side.


broken link

All links to "Enhanced diagnostic logs" are broken, there's no such section on the target page

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 4a2a7104-1d14-2e8a-0984-d92aa311c108
Version Independent ID: 5e3c0546-c579-afb9-5289-b14532c127eb
Content: Troubleshoot ASP.NET Core on Azure App Service and IIS
Content Source: aspnetcore/test/troubleshoot-azure-iis.md
Product: aspnet-core
Technology: aspnetcore-test
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

Should probably link here?? https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/logging-and-diagnostics?view=aspnetcore-5.0#enhanced-diagnostic-logs
I don't know, just a suggestion

Thanks @alex-jitbit ... Yes, that's right. There was a large set of changes made to how the content is organized. The content was split out into several topics, and this one got by us 😈. Thanks for calling it out. I'll fix it right now.


elongated manchette

Add new term:
elongated manchette (a child of abnormal manchette morphology MP:0009376)
DEF: increased distance between the perinuclear ring of the manchette and the posterior portion of the spermatid nucleus
SYN: increased manchette length
SYN: manchette elongation
SYN: long manchette
DEF SOURCE: PMID: 22654669 (J:185194)

Added new term:
elongated manchette MP:0031386
EQ uses 'increased length'


Add imageio to the install_requires

It is declared in requirements.txt but missing in setup.py

Codecov Report

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

@@           Coverage Diff           @@
##           master     #185   +/-   ##
=======================================
  Coverage   91.81%   91.81%
=======================================
  Files          14       14
  Lines        5261     5261
=======================================
  Hits         4830     4830
  Misses        431      431


Kodi 19 | Python 3

Compatible with Python 3 and Kodi 19 (20200225-aa2816ca-master)
It should be noted that kodi 19 is pre alpha. It can break every day.
Issues:

Kodi bug? : Changelogs shows too often, Kodi might report garbage at the addon version. Solution: Disable changelog in options
SSDP: Broken on windows (no recv), other platforms might work. Feedback required
Kodi 18 might be broken! Test required

Added:

Notification for "No Authorization"

I can confirm that the server discover works with Python 2.7 and Python 3.5 on Ubuntu 16.04 through the python cli. It seems to be a Kodi-Python issue or something like that.

Hi... can you please paste the commads how to connect to hyperion with python-cli? Maybe I can help....

I just extracted the ssdp part and tested the functionality.
Today i tested Windows 7 with Python 2.7 and Python 3.8 and both have a failure rate of around 99%. I played with slightly different implementations but the result is the same. Out of ideas for now.
Sad


fix curl multi and watch

Resolves #102
Closes #101

fix repositories in cli output (am lazy to open new PR)
display commit_id in cli output (more laziness)

Looks good & fixes the issue for me.

Also verified on rhel 6; unfortunately still hitting https://github.com/openshift/origin/issues/2348


fix issue 276

Signed-off-by: Shripad Nadgowda<EMAIL_ADDRESS>This PR contains fix for issue #276.

K8S environment plugin now parsed and creates a crawler namespace for standard k8s deployment in the form of
<namespace>/<pod-name>/<container-name>/<container-id>

functional test case is updated to test these new namespace for different emitter formats.

Codecov Report

Merging #277 into master will decrease coverage by 0.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #277      +/-   ##
==========================================
- Coverage   89.33%   89.31%   -0.02%
==========================================
  Files         111      111
  Lines        4190     4193       +3
==========================================
+ Hits         3743     3745       +2
- Misses        447      448       +1

Impacted Files
Coverage Δ

...ler/plugins/environments/kubernetes_environment.py
89.36% <100%> (+0.72%)
:arrow_up:

crawler/formatters.py
96.61% <0%> (-1.7%)
:arrow_down:

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 b560bba...6fe323b. Read the comment docs.


test(react-native): Add user tests

A lot of the file changes seem related to package changes that shouldn't be a part of this PR, can we revert those easily?

A lot of the file changes seem related to package changes that shouldn't be a part of this PR, can we revert those easily?

Those changes were necessary to get an android bug fix for setting user. I've now merged the updated v7-react-native and resolved the conflict.


Chrome crash on puppeteer usage

~/P/o/reports-daemon ❯❯❯ node headless/puppeteer.js 'http://localhost:4000/templates/reputation-lab/?token=x&company_id=38&start_date=2018-01-01&end_date=2018
-01-31'
(node:28503) UnhandledPromiseRejectionWarning: Error: Failed to launch chrome!
[1101/123400.360222:FATAL:zygote_host_impl_linux.cc(116)] No usable sandbox! Update your kernel or see https://chromium.googlesource.com/chromium/src/+/master/docs/linux_suid_sandbox_develo
pment.md for more information on developing with the SUID sandbox.  Core file will not be generated.

TROUBLESHOOTING: https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md

    at onClose (/home/braulio/Projects/olery/reports-daemon/node_modules/puppeteer/lib/Launcher.js:339:14)
    at Interface.helper.addEventListener (/home/braulio/Projects/olery/reports-daemon/node_modules/puppeteer/lib/Launcher.js:328:50)
    at Interface.emit (events.js:187:15)
    at Interface.close (readline.js:379:8)
    at Socket.onend (readline.js:157:10)
    at Socket.emit (events.js:187:15)
    at endReadableNT (_stream_readable.js:1094:12)
    at process.internalTickCallback (internal/process/next_tick.js:72:19)
(node:28503) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a pro
mise which was not handled with .catch(). (rejection id: 1)
(node:28503) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-
zero exit code.

Tell us about your environment:

Puppeteer version: 1.9.0
Platform / OS version: ArchLinux

@brauliobo please see the sandbox section of this page:  https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md

Why wasnt build/update-linux-sandbox.sh run in the installation? It seems to be a requirement.

@brauliobo i think this is a requirement for the developer workflow; the sandbox binary is prebuilt and ships with executable.


Add communities list

The idea is to add a list of group chats, threads, and communities where 4337 talks are happening. Please comment below if you know any of:
discord channels
Twitter
TG chats

Surprised we didn't have this already! Also, what do you think about generalizing this out to "account abstraction" as a broad topic area instead of focusing purely on ERC-4337?
Telegram

4337 mafia (product and application)
4337 fan club (EIP, research, security)

Twitter

4337mafia

Discord

Infinitism
Ethereum wallets

Research and technical forums

Fellowship of Ethereum Magicians
ETH Research
Ethereum StackExchange

For completeness could we add the blswallet project?
Abstraction of verification and payment via smart contracts (alpha built prior to 4337 article). V2 will be 4337 compatible.
Discord

Web3Well (blswallet integrations)

For completeness could we add the blswallet project? Abstraction of verification and payment via smart contracts (alpha built prior to 4337 article). V2 will be 4337 compatible.
Discord

Web3Well (blswallet integrations)

Sure! Good by me to add the Discord to this community list.
@jzaki - what do you think about separately adding blswallet to the project list?
Just want to keep things organized! let us know

I'll close this issue as the communities mentioned above are added to the list.
Please open a new issue to add a new community.


fs and appPath looking in electron distribution in node_modules

I'm unable to load a file using appPath because it's looking inside the Electron.app inside of node_modules:
electron-react-boilerplate/node_modules/electron/dist/Electron.app/Contents/Resources/default_app.asar

Here is an example: https://github.com/jefffriesen/electron-react-boilerplate/commit/961fd0ee71020e56feb6e017801cff6da1164226
const remote = require('electron').remote;
const appPath = remote.app.getAppPath();
console.log('appPath: ', appPath);

const irisPath = `/${appPath}/app/data/iris.json`;
const irisData = JSON.parse(fs.readFileSync(irisPath, 'utf8'));
console.log('irisData: ', irisData);

I've compared this with the vanilla electron-quick-start app and it doesn't have this behavior:
https://github.com/jefffriesen/electron-quick-start/commit/8cf26501ead355541c58679d1d5cd8badbb33f65

Is there an alternative to appPath that I should be using, or is possibly a configuration problem in this repo?
Thanks

@jefffriesen I think you are looking for remote.app.getPath('appData') You can then access your json file like I do below.
import path from 'path'
import { remote } from 'electron'

const irisPath = path.join(remote.app.getPath('appData'), '/iris.json')

@vinnymac I'm not sure this is right, at least for my use case. But I may be thinking about this wrong.
I'm trying to bundle and distribute large data files with my app. appData looks inside the user's system. For example, on macOS it's ~/Library/Application Support. (https://github.com/electron/electron/blob/master/docs/api/app.md#appgetpathname) which wouldn't contain the distributed data.
This code:
import path from 'path';
import { remote } from 'electron';

const irisPath = path.join(remote.app.getPath('appData'), '/electron-react-boilerplate/iris.json');
console.log('irisPath: ', irisPath);

const irisData = JSON.parse(fs.readFileSync(irisPath, 'utf8'));
console.log('irisData: ', irisData);

produces
irisPath:  /Users/jeffers/Library/Application Support/electron-react-boilerplate/iris.json
fs.js:640Uncaught Error: ENOENT: no such file or directory, open '/Users/jeffers/Library/Application Support/electron-react-boilerplate/iris.json'

Which is consistent with their documentation.
Using import to import the JSON files is clunky and caused problems with large files (50MB-100MB).
What's strange is this worked properly on a previous version of this boilerplate. I'm guessing it was a change the Electron 1.0+ API, but I don't know how to fix it.

@jefffriesen it works for me in my projects with the latest version of electron. I noticed that above you wrote the data path is that where your iris.json is located?
It looks like you are using OS X, so you can just open finder and type SHIFT+CMD+G and then type the path to your project, such as /Users/jeffers/Library/Application Support/electronreact/.
I think that the reason you got the error you received is because it uses the productName for the folder, and not the name in the package.json.

@vinnymac et al,
I did have an error in my path. I'm storing data in app/data/iris.json. I fixed that to double check but it didn't work. I also hardcoded appName to be 'thisAppName' just to be sure I was getting it right but that fix it either.
I'm confused though - why would there be any data in /Users/username/Library/Application Support/thisAppName unless I specifically write to that directory with fs? Is there some magic that Electron does to copy it over there?
I'm developing the app storing data in thisAppName/app/data/xyz.json. (I'm open to other suggestions).  So I would think that there would be a way to access the app data where the .app or .exe is stored. For example, at /Application/thisAppName/contents/... if the user put the app in their Applications folder. And that's what used to work previously using a version of this boilerplate as a starting point.
I ran an experiment:
// ran in both old app and new app (unpackaged in dev environment):
 console.log("remote.app.getAppPath(): ", remote.app.getAppPath())
 console.log("remote.app.getPath('appData'): ", remote.app.getPath('appData'))

// latest electron-react-boilerplate
remote.app.getAppPath():  /Users/jeffers/git/forks/electron-react-boilerplate/node_modules/electron/dist/Electron.app/Contents/Resources/default_app.asar
remote.app.getPath('appData'):  /Users/jeffers/Library/Application Support

// older app based on electron-react-boilerplate
remote.app.getAppPath():  /Users/jeffers/git/jefffriesen/oldAppName  // works correctly
remote.app.getPath('appData'):  /Users/jeffers/Library/Application Support

I have 3 apps based off an older version of this repo and all use fs and .getAppPath(). They all work properly in development and as a package both on Windows and Mac.
In the master branch of Electron, the docs state that getAppPath() should:

Returns the current application directory.
(https://github.com/electron/electron/blob/master/docs/api/app.md#appgetapppath)

I searched the release notes of Electron for getAppPath and didn't find anything, so I'm guessing they haven't changed that behavior. Could there be a configuration change in this repo that could be causing this?
Thanks for helping me track this down.

@jefffriesen You bring up a good point about asking why it is created. I am not actually sure why. However, I did some testing of my own to see if I could provide you more information. I notice that during development I do not see any folders added to the appData directory. However, when I package the app, a folder is consistently created for me. Even with the latest versions of electron-react-boilerplate and electron I see the folders being created upon launch of my packaged applications.
When in development I believe electron prebuilt creates a tiny electron app in ./node_modules/electron-prebuilt/dist/, seeing as dev is so different that might explain why I am not seeing the folder creation, it appears to be something internal to electron. I am sure chromium itself needs a place to store its extensions, local storage, and everything else, so maybe this is basic chromium behavior.
If you package an app with the latest version do you see the folders created?
As an aside, you can probably solve this a different way. I think you are just trying to get access to some json data in electron, you shouldn't even need the path. Using webpack you should be able to just simply require the json file in your directory and then when it builds main or your bundle it will include the json as a module in the final bundle.
Something like
import iris from './data/iris.json'

Unless I misunderstood what it is you were trying to do. If you need to keep writing new json for some reason, then you will probably need a place to store that data, and then we will be back to discussing paths. If all you need is the data, then requiring it should work.

@vinnymac You're right - a folder is created in the appData directory (~/Library/Application Support) when launching a packaged app. I learned something new. Thanks.
Unfortunately, importing the data doesn't work because it's too big (the iris.json file was just an example). I'm working with files between 10MB and 100MB (one of the reasons I'm using Electron). So for example, webpack just gives up on a 50MB json file. Importing smaller but still-large json files blocks the whole UI until it's imported. Using fs gives me a lot more control over when that file is loaded and the UI state.
Now that I know Electron builds a set of files on startup in appData, and that maybe it builds an electron app inside the node_modules folder, I can see why looking in electron-react-boilerplate/node_modules/electron/dist/Electron.app/Contents/Resources/default_app.asar may make sense. But something isn't hooked up right.
Looking back on my first post on this thread, it still seems relevant:

Apps I built using a previous version of this boilerplate repo (from around March) worked fine. New apps based on the current master don't work anymore (for this fs problem).
This repo has different behavior than the official electron-quick-start repo. I did an fs experiment there and it worked properly: https://github.com/jefffriesen/electron-quick-start/commit/8cf26501ead355541c58679d1d5cd8badbb33f65
Applying that same fs test I did on the quick start repo to a clean version of this repo fails: https://github.com/jefffriesen/electron-quick-start/commit/8cf26501ead355541c58679d1d5cd8badbb33f65

So I'm still stuck but I also think other people are going to run up against this. This seems like it's due to a configuration change that's happened in the app in the last 6 months but I don't know where to test from here.

@jefffriesen If you are failing to include the json in webpack I would add the json to the noParse list. It will tell webpack that it is a large dependency and to leave it untouched. Hopefully that will help you see better results with larger files.
If for some reason that fails, you could try requiring the json and telling webpack to ignore it. According to what I can find online, include this, node.js appears to be capable of requiring json files for a long time now. That may not help as you might still need the correct path, but it is worth a try. You'll have to configure webpack not to include the json though. In order to do that I believe you will have to add it to the list of externals, just like this project recommends doing with other node dependencies like sql.
Getting the right path shouldn't be that bad, using relative require paths should make it easier. If you know the relative paths between the file you are requiring it from and the iris.json you should be able to require it successfully, although if you don't know the path you might find yourself back in this appData directory issue.
I agree that something changed, and is funky. It would be awesome to figure out what and why, but I am still trying to think of other ways of solving your problem without figuring out what changed. If you'd like me to try to test anything for you let me know, I'd be willing to post my results as well.

@vinnymac great idea to tell webpack not to include the json. That would likely allow me to at least load the files. It's not as nice as fs but it may work for now.
I still want to get the path stuff figured out for me and all of us using this repo.
I was looking at other electron boilerplate repos to see how they configured the packaging. Here's one but nothing stands out as the solution: https://github.com/SimulatedGREG/electron-vue/blob/master/template/config.js. Maybe it does to you

@jefffriesen the first thing that pops out to me is the arguments in 'ignore'.
The docs on electron-package state that those files won't be included in the app bundle. Perhaps you could temporarily stop ignoring anything, and see how that changes things. If this works, I'd imagine it is as simple as placing your files in a path that is just not ignored.

@vinnymac your lead on what's included in ignore helped me solve this other ticket https://github.com/chentsulin/electron-react-boilerplate/issues/384. Thanks.
I really want to solve this fs path problem. I've narrowed it down:
Data, as before, is stored in app/data/iris.json just like any other app file. I'm calling it like this:
const irisPath = `${appPath}/app/data/iris.json`;
const irisData = JSON.parse(fs.readFileSync(irisPath, 'utf8'));
console.log('appPath: ', appPath);

I tested different start configurations:

npm run package and launch.  Works!:
appPath: /Users/jeffers/git/forks/electron-react-boilerplate/release/darwin-x64/thisAppName-darwin-x64/thisAppName.app/Contents/Resources/app

npm run hot-server and  npm run start-hot (same as npm run dev): Doesn't work and I can't imagine we would ever want to write into or expect app data to be in the node_modules folder:
appPath: /Users/jeffers/git/forks/electron-react-boilerplate/node_modules/electron/dist/Electron.app/Contents/Resources/default_app.asar

npm run hot-server and npm start. Works!
appPath: /Users/jeffers/git/forks/electron-react-boilerplate

Ok, so that works. The difference between npm start and npm run start-hot is:
 "start": "cross-env NODE_ENV=production electron ./",
 "start-hot": "cross-env HOT=1 NODE_ENV=development electron -r babel-register -r babel-polyfill ./main.development",

Thinking it had something to do with NODE_ENV=development, I tried start-hot with NODE_ENV=production:
npm run hot-server and  npm run start-hot, switching to NODE_ENV=production. Doesn't work:
appPath: /Users/jeffers/git/forks/electron-react-boilerplate/node_modules/electron/dist/Electron.app/Contents/Resources/default_app.asar

That leaves the culprit as one or both of these:

babel-register and babel-polyfill
main.js (works) vs. main.development.js (doesn't work)
main.js is called as the default script from electron ./ from npm start and main.development.js is called from start-hot.

main.development.js seems straightforward. The only thing that looks suspicious is this:
mainWindow.loadURL(`file://${__dirname}/app/app.html`);

But that doesn't seem like it would do it. Maybe it's what's not being set in main.development.js but is in main.js?
Or maybe it's a babel issue, but that seems less likely. Open to suggestions

Hrmm, well if file://${__dirname}/app/ works for loadURL, maybe file://${__dirname}/app/iris.json would work for you?
When I am near my computer I'll try to do what you did above and post my findings, and see if I get anywhere with it.

Quick followup:

Adding the dataset in externals still does not allow fs to find the data. I wouldn't expect it to because appPath is still looking in the node_modules folder.

  externals: [
    './app/data/iris.json'
  ]

I've also tried process.resourcesPath with no luck. It still looks at the node_modules folder, but it looks a Contents/Resources/ instead of Content/Resources/default_app.asar.

Branch with notes and minimal code are here: https://github.com/jefffriesen/electron-react-boilerplate/compare/master...jefffriesen:fs-test2?diff=unified&name=fs-test2

When looking at other helpful projects such as electron-builder it seems that they have an option for including extraResources such as .dlls. Since your app isn't creating the json, it doesn't really belong in that cache folder that is created in Application Support, despite the fact that for some odd reason electron-quick-start creates the folder while using npm start.
If you look at the docs for electron-builder you can see the options that they allow. I think that when building electron for production you need to tell it you are including this json as an extra file. If you don't want to require it via webpack and carry it along as the renderer.js then you need to get it into the binary through some other means. I don't think relying on the path is going to be enough, because the path is pointing to a compressed asar.
So basically I think electron is expected to be packaged with the necessary files, but you aren't passing these necessary files in when starting electron. electron-builder says it will put the files in /Contents/Resources for you if you use the correct arguments. I am curious how electron-builder accomplishes this exactly, but I think this the path you should head down.

@vinnymac great research and info. I'm learning a lot.
First off, I tested __dirname and __filename from the renderer and it gave me / and /index.js respectively. Like you said, that is probably just used for main.js.
I did move data/iris.json out into the main application folder and adjusted the path for fs. Same results as last time - works for npm run package but not npm run dev.
I doubled checked to see if the build step was writing to any files inside node_modules/Electron/dist/Electron.app. Like you suggested it could be writing to the asar file. None of the files have been modified since a couple days ago when I fetched upstream changes. So in dev mode, it's looking there but not writing there.
The problem I think has to be in the step going from main.development.js to main.js, which is done by webpack.config.electron.js best as I can tell.
@jhen0409 @chentsulin @krzkaczor First of all thanks for doing so much for this repo. I'm stuck on a problem using fs in the renderer in dev mode (but packaging the app works fine).
You guys worked on this file: https://github.com/chentsulin/electron-react-boilerplate/blame/master/webpack.config.electron.js#L12 which creates main.js from main.development.js when running npm run start-hot
Here is a simple setup on a clean, recent branch of this repo:
const irisPath = `${appPath}/app/data/iris.json`;
const irisData = JSON.parse(fs.readFileSync(irisPath, 'utf8'));
console.log('appPath: ', appPath);

npm run server-hot and npm run start-hot creates a path inside the node_modules Electron app, which doesn't work (and I would think wouldn't be the intention):
appPath: /Users/jeffers/git/forks/electron-react-boilerplate/node_modules/electron/dist/Electron.app/Contents/Resources/default_app.asar

npm run server-hot and npm start creates the correct path inside the package (this works)
appPath: /Users/jeffers/git/forks/electron-react-boilerplate

Do you all have any idea why appPath is looking in the wrong place during dev mode?
Here is a compare of my fork and master: https://github.com/chentsulin/electron-react-boilerplate/compare/master...jefffriesen:fs-test2

@jefffriesen I decided to investigate this issue from your approach. This time I took the repo we had that was working (quick-start), and then I took your branch (fs-test2). I made your branch more and more like quick-start until it worked as you wanted. I believe I have figured out what causes it.
First I replaced the index.html with the one from quick-start, then I created a renderer.js so that the require would succeed, and I added your logging. Next I replaced the main.development.js with the one from quick-start. At this point the app was loading successfully using npm run start-hot, but the issue was still occurring, and I was still seeing the asar path. I then simplified npm run start-hot to just be electron ./main.development.
This also did not fix the issue.
Finally, I changed npm run start-hot to electron .. Then I saw this.

It worked. So apparently it has something to do with specifying the path to electron during development.

@vinnymac Great detective work. This is the money quote from that stack overflow link (which is what you're saying too):

I believe the issue is that you're pointing Electron to your script directly, meaning Electron is ignoring the existence of your package.json file entirely. Thus it does not know the name of your app.

Doesn't that sound like a poor design choice by Electron? I know lots of people are working on Electron and using it in huge apps, so maybe there is a really good reason for it. It doesn't smell right and it's really subtle.
So what's the next step for this? Is there a PR that would be appropriate here? Or will this be made irrelevant by this PR: https://github.com/chentsulin/electron-react-boilerplate/pull/310

@jefffriesen I am not sure what the next step here is. Obviously electron-builder makes this problem easier to handle, albeit with a more complex configuration. In the PR you posted, I see that some others have already implemented it and are a good reference for moving forward. However, using the existing code I think the only thing to do would be to use a hacky solution such as this
const remote = require('electron').remote;
const appPath = process.env.NODE_ENV === 'production' ? remote.app.getAppPath() : __dirname

This way development mode falls back to being the root directory where the main.development.js is being executed. In production it will continue to use the correct location in /Content/Resources/.
I'd love to see someone come up with a better solution, as I am not a big fan of this one.

I've been thinking along the lines of the NODE_ENV conditional as well. You're right though it's a little hacky. It's fine for me personally for now since I know the issues. I hope other people don't get stuck on this.
It sounds like electron-builder is a better packager anyway and that PR seems fairly close. Should we keep this ticket open while we wait for that?

Was this issue resolved?

No. We currently have a hacky workaround:
const remote = require('electron').remote;
const appPath = process.env.NODE_ENV === 'production' ? remote.app.getAppPath() : __dirname

But something in main.development.js is breaking where getAppPath() is looking for files

What happens when you npm run dev?

These don't work:
npm run hot-server && npm run start-hot
npm run dev

This works:
npm run hot-server && npm start

You can see the tests I ran higher in the comments: https://github.com/chentsulin/electron-react-boilerplate/issues/374#issuecomment-247129035
I think the key finding from @vinnymac is that when you point Electron at a script directly, it ignores package.json and doesn't know the name of the app. If you point Electron to a directory that contains a package.json it works because it reads the package.json.
You can see that with these scripts:
"start-hot": "cross-env HOT=1 NODE_ENV=development electron -r babel-register -r babel-polyfill ./main.development",

"start": "cross-env NODE_ENV=production electron ./",

You can see his comment here: https://github.com/chentsulin/electron-react-boilerplate/issues/374#issuecomment-247203032

I wonder if it makes sense to use 2 package.json files like @vinnymac suggested. Here is an electron boilerplate repo that does it:
https://github.com/szwacz/electron-boilerplate#declaring-dependencies
This is their reasoning:

OMG, but seriously why there are two package.json?

Native npm modules (those written in C, not JavaScript) need to be compiled, and here we have two different compilation targets for them. Those used in application need to be compiled against electron runtime, and all devDependencies need to be compiled against your locally installed node.js. Thanks to having two files this is trivial.
When you package the app for distribution there is no need to add up to size of the app with your devDependencies. Here those are always not included (reside outside the app directory).

But for us it would also solve our getAppPath problem (which maybe they didn't run into). I can't help but think this should be coordinated with the PR that is pending that will use electron-builder to build the app: https://github.com/chentsulin/electron-react-boilerplate/pull/310 that @dustintownsend and @xwartz are working on.

electron-builder support is coming in a few days or so.

Looking forward to it

On Oct 8, 2016, at 7:23 PM, Amila Welihinda<EMAIL_ADDRESS>wrote:
electron-builder support is coming in a few days or so.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@jefffriesen does this issue persist in the latest release?

I'll look into it. Thanks

@amilajack Unfortunately it's still not fixed even with the dual package.json setup.
I've merged upstream and reinstalled all node modules detailed here (https://github.com/chentsulin/electron-react-boilerplate/issues/400)
npm run dev
Uncaught Error: ENOENT, data/iris.json not found in /Users/jeff/git/forks/electron-react-boilerplate/node_modules/electron/dist/Electron.app/Contents/Resources/default_app.asar

It's still looking in the node_modules folder for the assets.
You can see the diff compared to master here: https://github.com/jefffriesen/electron-react-boilerplate/compare/master...jefffriesen:fs-test2
Packaging the app (on Mac) now gives a new error
npm run package
Uncaught Error: ENOENT, data/iris.json not found in /Users/jeff/git/forks/electron-react-boilerplate/release/mac/electron-react-boilerplate.app/Contents/Resources/app.asar

@jefffriesen can you point to the source of this project?

Here is the diff of the branch vs master on my fork of the repo: https://github.com/jefffriesen/electron-react-boilerplate/compare/master...jefffriesen:fs-test2

@jefffriesen was this resolved?

I'm not in front of my computer for a couple days but I'll check when I get back. Thanks.

On Dec 9, 2016, at 5:10 AM, Amila Welihinda<EMAIL_ADDRESS>wrote:
@jefffriesen was this resolved?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@amilajack this isn't fixed yet. I'm kind of surprised no one else is running into problems using fs since that is a nice feature of Electron. Or if they are using fs they are using it differently. I would love to know what it is.
Here is a simple example of it breaking, based off the latest master:
https://github.com/chentsulin/electron-react-boilerplate/compare/master...jefffriesen:fs-test3
It's basically this:
const remote = require('electron').remote;
const appPath = remote.app.getAppPath();
const irisPath = `${appPath}/data/iris.json`;
const irisData = JSON.parse(fs.readFileSync(irisPath, 'utf8'));
console.log('irisData: ', irisData);

The error I get with npm run dev are:

ELECTRON_ASAR.js:115Uncaught Error: ENOENT, data/iris.json not found in /Users/jeffers/git/forks/electron-react-boilerplate/node_modules/electron/dist/Electron.app/Contents/Resources/default_app.asar

I don't think it should be looking in the default_app.asar file. The error I get after packaging it on a mac with npm run package is:

Uncaught Error: ENOENT, data/iris.json not found in /Users/jeffers/git/forks/electron-react-boilerplate/release/mac/ElectronReact.app/Contents/Resources/app.asar

@jefffriesen if I were you I would open an issue in the electron or electron-builder repositories. This issue seems to be specific to starting electron from a specific path where a package.json is, and is not particular to electron-react-boilerplate. I would link back to this discussion for education on the problem.

How about process.cwd() ?

I believe this issue needs to be revisited as there is really a 3rd "state" that has not been addressed. Specifically, I am having the exact problem listed above and have used the logic of "production" and "development" for file access.
Here is my example:
const appPath = process.env.NODE_ENV === 'production' ? app.getAppPath() : path.join(__dirname, '..', '..');
export const cKey = fs.readFileSync(path.join(appPath, 'main/certs/client-key.pem'));
export const cCert = fs.readFileSync(path.join(appPath, 'main/certs/client-cert.pem'));
export const cCA = fs.readFileSync(path.join(appPath, 'main/certs/ca-cert.pem'));

This allows me to call either yarn run dev or yarn start successfully.
Once packaged into an asar however, this all breaks down.
So there really are 3 states: development, production, and packaged (the last of which would only be relevant to production).
In its current form, you have to sacrifice one of the production states unless I've missed something.

@mtompkins do you have a reproduction? The above tests were run with yarn run dev and yarn run package for development and production builds.

@vinnymac I'll strip up an example as soon as I can. Thanks for the reply.

Ok - so after referencing much of the above and a bit more research...
For my use case I have a few cert (.pem) files that I need loaded in the main thread for DB connectivity.
Path looks like:
app/main/certs/*.pem
Following down the references to asar and how it may be leveraged directly as a virtual folder, I added to package.json as follows:
...
"files": [
      "dist/",
      "main/certs/",          // my add
      "node_modules/",
      "app.html",
      "main.prod.js",
      "main.prod.js.map",
      "package.json"
    ],
...

this causes the directory to be copied including preserving the path in to the asar
That can be checked by a asar list app.asar in the releases/*-unpacked/resources directory
This then allowed me to use references that were consistent across dev, prod, and package.
HTH someone else


Predictions always 0

Hi,
First of all, big fan of the module! It's really simple, customizable and is quite fast, compared to other SVM implementations.
However, I'm having problems with the dataset I currently use (input.txt).
The code I am currently using to create and train the SVM is:
// Create SVM
var clf = new svm.SVM({
	type: 'EPSILON_SVR',
	kernel: 'POLY',
	gamma: 0.25,
    c: 1,
    normalize: false,
    reduce: false,
    kFold: 1
});

// Train SVM
console.log("Training...");
clf.train(svmData).done(function () {
	// Predict
	console.log("Predicting...");
    svmData.forEach(function(ex){
        var prediction = clf.predictSync(ex[0]);
       	console.log('%d => %d', ex[1], prediction);
    });
});

No matter what variation of SVM options I try, the prediction I receive is always 0.
Could the problem be that my data is to small (I pre-normalize my data between -1 and 1)?
Kind regards!

Hi,
The dataset do not seems to be normalized. You should definitely normalize it (using normalize=true).
Also, RBF kernel is usually a better choice than POLY.
Can you try with following parameters (defaults) :
var clf = new svm.SVM({
    type: 'EPSILON_SVR',
    kernel: 'RBF',
    normalize: true,
    reduce: false,
    kFold: 4
});

Hello,
So i've changed the SVM constructor to your code and commented my own normalization code.
The resulting input is this: input2.txt
However, now I receive the following error:
Assertion failed: (tout->IsNumber()), function setSvmProblem, file ../src/node-svm/node-svm.h, line 347.
Abort trap: 6

Thanks for your help!

Forget it.
There is a typo in clf initialization. You are using type when you actually meant  svmType  params see this for more  info.
It is very likely that it is trying to use a Classifier (C_SVC) instead of a Regressor (EPSILON_SVC)
This should work:
var clf = new svm.SVM({
    svmType: 'EPSILON_SVR',
    kernel: 'RBF',
    normalize: true,
    reduce: false,
    kFold: 4
});

Note: it is actually the same as:
var clf = new svm.EpsilonSVR({
    reduce: false
});

Note that your last issue is because your dataset contains strings

It should work as expected right now. If not, let me know.
Best regards

You are absolutely right. The problem was indeed that my dataset contained strings (problem while reading the CSV file containing the data)! Thanks for all your help!


Add devise

Features added in this PR:

[x] Removed current_user method in ApplicationController
[x] Installed and setup devise
[x] Added a new user.
[x] Log in user with a combination of email and password
[x] Stored hashed password in the database
[x] Asked for confirmation of email
[x] Reset password
[x] Modified the views in devise for registration and login to match the wireframes

Thank you so much @Abenezer-Tilahun 🙏


Testing for the published repository

Current publish workflow tests the repository deployed to GH pages (and #45 will not deploy to GCS if there is a failure). The repository in GH Pages is also periodically tested.
We should also test the final published repository. I'm not sure how much we can reuse test.yml:

in workflow_call case we want to test either Pages (the testing repo) or GCS (published repo) depending on what stage of publish we are in: logically  the published URL(s) should be inputs that the caller (publish workflow) can provide
in schedule case we kind of want to test both Pages and GCS -- but you can't provide inputs in schedule events. it's a bit annoying if we need to add two new workflows just to call test workflow with correct inputs...

Maybe for the above reason and to make reporting (filed issues) easier to understand, there should be two separate test workflows: test (what we have now)  and test-gcs (sigstore specific).

custom-test.yml should be modified so the metadata URL is an input
Then new test-gcs.yml workflow would:

use theupdateframework/tuf-on-ci/actions/test-repository with the GCS metadata urls
use ./.github/workflows/custom-test.yml  with the GCS metadata urls

test-gcs.yml would be invoked by

schedule: so all inputs need to have default values. The tested ref would be "publish" head here
dispatch from publish: The tested ref would be the publish input ref
manual dispatch would be nice as well


destination service must add daemon_set labels

The destination service currently adds the following labels to destinations:
namespace="emojivoto",
pod="voting-7f6d846b56-8sqmc",

If this pod is in the ds/voting, it should also add:
daemon_set=voting

@briansmith It turns out changing these labels to remove the underscores is a bit more involved, so I'm not going to pursue it as part of #731. Have opened #740 to track making the change separately.


Support compressed tifs for read/write

In the refactor currently underway (https://github.com/thunder-project/thunder/pull/237) we'll add a totif method that saves an Images object to tif files. @d-v-b can you post here the code snippet that adds optional compression when using sklearn.external.tifffile?

compression is passed as an integer kwarg to the imsave() function, e.g. imsave(im_path, image, compress=1). The default, compress = 0 means no compression, and increasing values of compress above 1 increase the level of compression, which I think is done via zlib.
More generally, there are other kwargs that people might want to use when saving tifs, since there's plenty of metadata that can be set in the tif format. How possible is it to completely wrap the functionality of tiffffile in thunder?

Ok great thanks @d-v-b ! Generally it'd be easy to add whatever kwargs we want, because the thunder.images totif method is more or less just calling the tifffile imsave method on every record. One option is to list them and pass them along explicitly, the other is to just to pass all extra kwargs from totif  to imave . I sort of prefer the former because it can be more explicitly documented.

Agreed @freeman-lab. What do you think about more complex cases of thunder wrapping some function from another module that has kwargs? timeSeries.normalize(baseline=window-fast) comes to mind, where scipy.ndimage.filters.percentile_filter is called with mode = nearest, but the user might want something else... (mode = nearest causes strong edge effects). How should this kind of case be handled?


Callback or Event on Lamp Change State

Hi,
Is there no api for callback/event or similar to be notified when a lamp changes state (on=>off, off=>on etc)?
Cheers

...or is "eventstream API" that?

There's currently no callback or eventsream available in the Philips Hue API.
I believe they will make an eventstream available for the V2 API. The first version of the V2 API was released just recently and not yet implemented by this library.

I just released the first version of the new HueApi NuGet package: https://www.nuget.org/packages/HueApi/
This package targets the new clip v2 API and can listen to the EventStream.
See the readme for a usage example: https://github.com/michielpost/Q42.HueApi#eventstream
And check out the included sample console app: https://github.com/michielpost/Q42.HueApi/tree/master/src/HueApi.ConsoleSample


could not find the JoinEvent，anyone help?

I'm glad to see that v6.0.0 is out, but the JoinEvent is not found. Is it missing?

Whoops...
You can use MemberEvent for this version, or install the now-released `6.0.0.post1


Fail error on Aspire.Hosting.Dcp.dcpctrl.ServiceReconciler

I modified the starter app, adding Prometheus and Grafana, and it works.
Anyway, after a few seconds after running the app, I get the following failures:
info: Aspire.Dashboard.DashboardWebApplication[0]
      Now listening on: http://localhost:15267
info: Aspire.Dashboard.DashboardWebApplication[0]
      OTLP server running at: http://localhost:16276
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
      Content root path: C:\dev.git\Experiments\Aspire\AspireStarter\AspireStarter.AppHost
fail: Aspire.Hosting.Dcp.dcpctrl.ServiceReconciler[0]
      the state of the Service may not reflect the real world   {"Service": "/prometheus", "FinishedPID": 52160, "error": "could not schedule reconciliation for Service whose proxy process has finished"}
fail: Aspire.Hosting.Dcp.dcpctrl.ServiceReconciler[0]
      could not schedule reconciliation for Executable object   {"PID": 52160, "Executable": "/prometheus", "error": "could not schedule reconciliation for Service whose proxy process has finished"}
fail: Aspire.Hosting.Dcp.dcpctrl.ServiceReconciler[0]
      the state of the Service may not reflect the real world   {"Service": "/grafana", "FinishedPID": 58228, "error": "could not schedule reconciliation for Service whose proxy process has finished"}
fail: Aspire.Hosting.Dcp.dcpctrl.ServiceReconciler[0]
      could not schedule reconciliation for Executable object   {"PID": 58228, "Executable": "/grafana", "error": "could not schedule reconciliation for Service whose proxy process has finished"}
fail: Aspire.Hosting.Dcp.dcpctrl.ServiceReconciler[0]
      the state of the Service may not reflect the real world   {"Service": "/apiservice", "FinishedPID": 44916, "error": "could not schedule reconciliation for Service whose proxy process has finished"}
fail: Aspire.Hosting.Dcp.dcpctrl.ServiceReconciler[0]
      could not schedule reconciliation for Executable object   {"PID": 44916, "Executable": "/apiservice", "error": "could not schedule reconciliation for Service whose proxy process has finished"}

I may have done something wrong, but the message is not helping at all to understand the possible cause.
Currently using Preview 2 bits with the updated workload as of today.

Can you provide a full repro project and the output of dotnet workload list

Can you provide a full repro project and the output of dotnet workload list

Sure, here we are @davidfowl
>dotnet workload list

Installed Workload Id      Manifest Version                     Installation Source
-----------------------------------------------------------------------------------
wasm-tools                 8.0.1/8.0.100                        VS 17.9.34414.90
aspire                     8.0.0-preview.2.23619.3/8.0.100      VS 17.9.34414.90

The project is here, feel free to make a PR if you find something wrong on my side, thank you.

@davidfowl could you please explain the nature of this error?
I'll give a presentation on Aspire this week and willing to what happens just in case.
TIA

I'm not 100% sure why you're seeing that issue @karolz-ms  any ideas?

This means the proxies are shutting down for some reason. We should take a closer look @dbreshears

This means the proxies are shutting down for some reason. We should take a closer look @dbreshears

Thank you @karolz-ms.
If it can be useful, this happens since the very start and continues for all the time the app is running.
Anyway, i tried on a different PC and sometimes it does not happen, other times only one or two messages at app start time.

OK so what @bwateratmsft found out is that this message comes from a code that was buggy and was pretty much removed from Aspire preview 3 codebase. So technically this is now fixed. Unfortunately I cannot think of any workaround for this issue for preview 2... 😔

@karolz-ms it doesn't always happen, is it random?

@davidfowl it is kind of random. The code that I wrote assumed that a certain operation (scheduling a reconcilation for an object) will never block. That was a wrong assumption. The truth is that the operation will never get starved, but sometimes it might block for a short while (microsecond range). The error seen in the logs is reported when that blocking happens; in the code it was assumed "it should never happen".

Thank you, can't wait for P3 to come out!
At least I'm happy my code configuring Grafana+Prometheus was correct :-)

Having the same problem, it just started after weeks working with Aspire. can't wait for P3 as well :

Hi @davidfowl / @karolz-ms, as mentioned, I'm having the very same error... just did a fresh wsl install, added dotnet / docker / workloads, clone latest samples, and tried to run any sample AppHost.
I've attached more detailed logs for the DatabaseContainers.AppHost sample

detail.log
diag_detail.log

@s4p0 these logs look like a different issue to me. Aspire Preview 4 has just shipped; could you try again with it? If you still see the problem, we would appreciate a new issue report.
We have seen this kind of failures when we tried to run multiple Aspire-enabled samples in short succession; the cleanup of the previous application run would sometimes proceed too slowly and  interfere with the next application run. We tried to squash all these issues in P4.


Cant start old Chromium 230060

When I run Chromium through Wine the browser window is black and the terminal displays errors:
err:   Failed to create shared resource: VK_KHR_EXTERNAL_MEMORY_WIN32 not supported

Software information
Old version of chromium downloaded from:
https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Win/230060/
System information

GPU: NVIDIA GeForce RTX 3060 Lite Hash Rate
Driver: Proprietary
Wine version: wine-9.20
DXVK version: 2.5.1

Apitrace file(s)
TODO
Log files
chrome.log

Upstream wine does not support shared resources, you'll need a build with Proton patches for that.
That being said, running Chromium is not a priority.


configure Markup Formatter

I'm assuming this means configuring the formatter that allows plain text versus HTML in the job descriptions and things like that?

Indeed.  I believe this is from the  antisamy-markup-formatter plugin.

There is no current cli way to do this? I wouldn't mind doing an exec until the type support is added.

Not that I am aware.


[DOCS] Addition of a Click to Copy button to the docs bio page example code

Description
The example code in the bio page (https://linkfree.eddiehub.io/docs/how-to-guides/bio) should have a Click to Copy button.
The quickstart page (https://linkfree.eddiehub.io/docs/quickstart) already has that component, can be used it as reference.
Screenshots
No response
Additional information
No response

Can I take up this issue?

Sure @VamshiReddy02 , assigned

Ah man, didn't notice it was assigned to somebody else :/


@alloy => [BugFix] Correct var name for pagination thru conversations

Cherry-picked from https://github.com/artsy/emission/pull/743
This fixes the Inbox pagination, silly mis-named var!
Skip New Tests

Fails

:no_entry_sign:

No CHANGELOG added.

Warnings

:warning:

Missing Test Files:

src/lib/Components/Inbox/Conversations/__tests__/index-tests.tsx

If these files are supposed to not exist, please update your PR body to include "Skip New Tests".

  Generated by :no_entry_sign: dangerJS

Looks like CI actually succeeded, but Danger failed to POST. I’m ok with not adding a CHANGELOG for this.


Update docker installation instruction.

Pull request information

Status: Ready to merge
Kind of changes: documentation
Code affected: installation documentation page
Related PR or issue: NA

Description

Update docker image and installation instruction.
Features:

Updated docker image installation instruction.
An up-to-date docker image of the Flow stack (Flow, Sumo 1.1, Ray) with an browser-based GUI.

@ashkan-software can you make sure this has been updated in the website as well?

@ashkan-software can you make sure this has been updated in the website as well?

Well, this has no change on the website. The website simply links to the installation of docker etc., which is already updated by Fangyu

sounds good! merging then


fix(material/schematics): gracefully skip broken css files

also don't treat files like something.css.map as a CSS file.

Yeah people shouldn't have broken css or map files in the source tree I guess, but just making the script a little more robust so it doesn't blow up when it encounters those kinds of things.


error Command failed with signal "SIGKILL".

Describe the Bug
I got the following error multiple times while compiling with yarn build, which I deployed on a server
Database
MySQL
Relevant log output
Saved geo database: /opt/tools/umami/geo/GeoLite2-City.mmdb
$ next build
info  - Loaded env from /opt/tools/umami/.env
info  - Skipping validation of types
info  - Skipping linting
error Command failed with signal "SIGKILL".
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
ERROR: "build-app" exited with 1.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Which browser are you using? (if relevant)
No response
How are you deploying your application? (if relevant)
No response

Do you use an ARM architecture server？

你们用ARM架构的服务器吗？

NO

如果你是Docker部署，或许可以试下这个方案
https://github.com/umami-software/umami/issues/1865#issuecomment-1664569697