NOISSUE - Implement errors package in Authentication service

Signed-off-by: Ivan Milošević<EMAIL_ADDRESS>What does this do?
Use mainflux errors package in Authentication service
Which issue(s) does this PR fix/relate to?
Related to issues #538 and #870
List any changes that modify/break current functionality
API endpoints return error message in response body for errors (not just status response code in header)
Have you included tests for your changes?
Yes

Codecov Report

Merging #1105 into master will decrease coverage by 0.14%.
The diff coverage is 61.76%.

@@            Coverage Diff             @@
##           master    #1105      +/-   ##
==========================================
- Coverage   77.13%   76.98%   -0.15%
==========================================
  Files          95       95
  Lines        6771     6775       +4
==========================================
- Hits         5223     5216       -7
- Misses       1211     1220       +9
- Partials      337      339       +2

Impacted Files
Coverage Δ

authn/api/http/responses.go
100.00% <ø> (ø)

authn/postgres/key.go
91.83% <40.00%> (ø)

authn/api/http/transport.go
81.42% <53.33%> (-10.00%)
:arrow_down:

authn/service.go
77.50% <66.66%> (-1.99%)
:arrow_down:

authn/api/grpc/server.go
91.30% <83.33%> (-4.16%)
:arrow_down:

authn/jwt/tokenizer.go
90.90% <100.00%> (ø)

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 57f7ee2...155ae1a. Read the comment docs.


Error with "nanopolish call-methylation"  caused by vbz-compressed fast5 and HDF5

Hello,
I'm opening a new issue because I am having a hard time debugging this on my own. I am having the exact same issue as  BigNianNGS reported in his issue here https://github.com/nanoporetech/vbz_compression/issues/5 . I've read your suggestions and wanted to try export HDF5_PLUGIN_PATH=/usr/local/hdf5/lib/plugin but can't seem to find the lib folder in my nanopolish/hdf5-1.8.14 directory. Am I looking at the wrong place ?
Also, since I am running this tool in a virtual environment I also tried looking in my virtual env lib folder but only found these files

Thanks for your help

Hi,
You need to first install the plugin from the linked repository by following these instructions:
https://github.com/nanoporetech/vbz_compression#installation
Once you installed that plugin you should set the path using the export command.
I hope that helps,
Jared

HI,
I tried installing the plugin from source code ( unable with wheel at the moment it's not available on the cluster I'm working with or any other format available). I exported the path to the vbz_compression-1.0.2/vbz_plugin directory in my script export HDF5_PLUGIN_PATH=/PATH_TO/Nanopolish/vbz_compression-1.0.2/vbz_plugin/:$HDF_PLUGIN_PATH but still get an error.

Do I need to compile the vbz_compression ( ex: make ..?) I only uncompressed the tar file, not sure if I need to do something else.
Thanks


Ready: Connection Tests

This gives a test + fix for a lurking race condition as described in #523.
On the Netty worker thread: After an operation's response read, we would set the response to the FutureOperation class (time A), and then return the connection after verifying it was done (time B).
When the response was set on the FutureOperation class, it would notice it was done and fire any listeners, which would signal to the main Thread to unblock and proceed.  After being signaled at time A, the main thread could race ahead and try to grab the connection before it was returned to the pool by the Netty thread at time B.
Since the Netty thread hasn't returned the connection yet, the operation will retry 2 more times.  If the timing is right (or bad), the retries can also happen and fail before the connection is returned. This results in the "NoNodesAvailable" exception.
I will look into a separate fix in the future to slow down retries, but this should fix the main issue.

@alexmoore ITestClusterLifecycle.testManyCommandsOneConnection() fails on my laptop. Here is a log
2016-04-04 13:47:12 [nioEventLoopGroup-2-1] DEBUG com.basho.riak.client.core.RiakNode - Riak replied with error; 0:no_type
2016-04-04 13:47:12 [nioEventLoopGroup-2-1] DEBUG com.basho.riak.client.core.RiakCluster - operation failed; remaining retries: 2
2016-04-04 13:47:12 [pool-1-thread-1] DEBUG com.basho.riak.client.core.RiakNode - Attempting to acquire channel permit
2016-04-04 13:47:12 [pool-1-thread-1] DEBUG com.basho.riak.client.core.RiakNode - Operation not being executed Riaknode <IP_ADDRESS>:10017; no connections available
2016-04-04 13:47:12 [pool-1-thread-1] DEBUG com.basho.riak.client.core.RiakCluster - operation failed; remaining retries: 1
2016-04-04 13:47:12 [pool-1-thread-1] DEBUG com.basho.riak.client.core.RiakNode - Attempting to acquire channel permit
2016-04-04 13:47:12 [nioEventLoopGroup-2-1] DEBUG com.basho.riak.client.core.RiakNode - Channel id:300790552 returned to pool
2016-04-04 13:47:12 [pool-1-thread-1] DEBUG com.basho.riak.client.core.RiakNode - Operation not being executed Riaknode <IP_ADDRESS>:10017; no connections available
2016-04-04 13:47:12 [nioEventLoopGroup-2-1] DEBUG com.basho.riak.client.core.RiakNode - Released pool permit
2016-04-04 13:47:12 [pool-1-thread-1] DEBUG com.basho.riak.client.core.FutureOperation - Setting Complete on future
2016-04-04 13:47:12 [pool-1-thread-1] DEBUG com.basho.riak.client.core.RiakCluster - operation failed; remaining retries: 0
2016-04-04 13:47:31 [main] DEBUG com.basho.riak.client.api.ITestClusterLifecycle - Exception occurred
java.util.concurrent.ExecutionException: com.basho.riak.client.core.NoNodesAvailableException
	at com.basho.riak.client.core.FutureOperation.get(FutureOperation.java:314)
	at com.basho.riak.client.api.commands.CoreFutureAdapter.get(CoreFutureAdapter.java:52)
	at com.basho.riak.client.api.ITestClusterLifecycle.createAndStoreObject(ITestClusterLifecycle.java:86)
	at com.basho.riak.client.api.ITestClusterLifecycle.testManyCommandsOneConnection(ITestClusterLifecycle.java:64)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:119)
	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:42)
	at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:234)
	at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:74)
Caused by: com.basho.riak.client.core.NoNodesAvailableException
	at com.basho.riak.client.core.RiakCluster.retryOperation(RiakCluster.java:469)
	at com.basho.riak.client.core.RiakCluster.access$1000(RiakCluster.java:48)
	at com.basho.riak.client.core.RiakCluster$RetryTask.run(RiakCluster.java:554)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
2016-04-04 13:47:31 [main] DEBUG com.basho.riak.client.api.ITestClusterLifecycle - Cluster state: RUNNING, iteration: 0
2016-04-04 13:47:31 [main] INFO com.basho.riak.client.core.RiakCluster - RiakCluster is shutting down.

@srgg Ahh, it assumes a bucket-type named "plain" is created / activated.

@alexmoore that's true, but the weird moment for me is that I've got '.NoNodesAvailableException' whereas Riak returned:

DEBUG com.basho.riak.client.core.RiakNode - Riak replied with error; 0:no_type

@alexmoore I've created a small PR https://github.com/basho/riak-java-client/pull/608 to make Future Operation handling a bit more universal, but not sure about the result, they are a bit contradictory. Therefore please feel free to drop off my PR.
Other than this my controversial PR there is a bit weird situation with error handling that I faced when I run  ITestClusterLifecycle without creating corresponding bucket type. Instead of throwing  an original error:

DEBUG com.basho.riak.client.core.RiakNode - Riak replied with error; 0:no_type

java client throws:

java.util.concurrent.ExecutionException: com.basho.riak.client.core.NoNodesAvailableException

@srgg Thanks for pointing that out!  I found the issue, I forgot to return the connection before setting the exception in exactly 1 spot, which caused the retry storm before the connection was available. I'll patch and look at your PR as well.

:+1:


significant experience added to author, sample_2 modified

@maria-badanina , this component is ready, could you please check if everything is ok? Already instantiated in Author component.
I modified our sample_2.json to fit this component behavior.
Thanks!!

@emma-martin great job


setup backend for users to like and dislike a message

Issue resolved but failed to link the pull request #218


[Bug report]:

Platform
Desktop, Mobile
Version
1.7.0
Description
Hello, I have subtracted assembly can you know why? The last time I looked at it I had 161 assembly, and when I turned it back I had only 51, why?
Thanks .
Expected behaviour
ok
Actual behaviour
ok
Can the issue reliably be reproduced?
Yes
Steps to reproduce the issue
No response
Operating System
Windows
Diagnostics
No response
Developer Profile
No
Profile Type
Software (Stronghold)
Staking
None
Crash Status
None of the above
Error Messages
No response
Error Logs
No response
Duplicate declaration

[X] I have searched the issues tracker this issue and there is none

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Closing issue due to inactivity, please upgrade to the latest app version and reopen the issue if the problem persists 🌷


Add a way to query for acknowledgements in e2e tests

Context here: https://github.com/cosmos/ibc-go/pull/6778#discussion_r1668512287

Hey guys, could I give it a try?

Hey guys, could I give it a try?

Yes, definitely. Thank you, @PanGan21!

Is the request here to be able to query the acknowledgement commitment or have full access to the data type?
There is QueryPacketAcknowledgement here.
If we want access to the full acknowledgement data, then it can be parsed from the events in the tx response from BroadcastMsgs in e2e.


Fix mock data documentation

Hey, I just made a Pull Request!

:heavy_check_mark: Checklist

[ ] All tests are passing yarn test
[ ] Screenshots attached (for UI changes)
[ ] Relevant documentation updated
[ ] Prettier run on changed files
[ ] Tests added for new functionality
[ ] Regression tests added for bug fixes

I just ran these exact lines and they worked for me.


bug with SemanticSimilarityExampleSelector

The SemanticSimilarityExampleSelector doesn't behave as expected. The SemanticSimilarityExampleSelector is supposed to select examples based on which examples are most similar to the inputs.
The same issue is found in the official documentation
Here is the code and outputs

Input 'fat' is a measurement, so should select the tall/short example, but we still have happy/sad example

When we add another 'feeling' example, it is not selected in the output while we have a 'feeling' input.

It's not a bug, the class generates a template, not the output. You can create an LLM using the openai package and then feed it this prompt to get an output.


smartStep seems to be skipping my own code not just uninteresting code

VSCode Version: 1.11.1
OS Version: MacOS 10.12.13
NodeJs: 6.10.2

It happens whether in legacy or inspector mode and I have deleted all watches. If I hit a breakpoint and then F10 step over it just continues rather than going to my next line of code.
Initially my issue was #13306 but upgrading to 6.10.2 fixed that but I still have the issue if I set smartStep:true.

smartStep only makes sense if you are using source maps. SmartStep will skip over all generated code that has no associated source.

Maybe I misinterpreted the feature. I was thinking it was like the classic Visual Studio "Just My Code" where if you try to step into code that is a 3rd party module or Microsoft source it skips all that up until it gets to code in your own project again to stop.

VS Code's "SmartStep" semantics is not related to Visual Studio's "Just My Code".
SmartStep will skip over all generated code that has no associated source. This helps to automatically skip over generated boilerplate code that is uninteresting when debugging. This feature is closely tied to transpiled languages and requires correct source maps. See https://code.visualstudio.com/docs/nodejs/nodejs-debugging#_smart-stepping
The other feature "SkipFiles" can be used to achieve something that is similar to Visual Studio "Just My Code". You can specify via glob patterns what code to skip when debugging. You could use this to skip over all code in node_modules. See https://code.visualstudio.com/docs/nodejs/nodejs-debugging#_skipping-uninteresting-code-node-chrome


opcert extended keys

Allow signing node operational certificates with extended genesis delegate signing keys.
Needed for legacy keys which use extended format.

bors r+


Firestore - Option

Hi, is it possible to use firestore instead of the realtime db?

Hi there, currently the library doesn't support Firestore, but it should be available in future versions hopefully.

ah ok thank you


PermissionUtls.isGranted() is not correct when you forbid permission in system settings

[ ] I have verified there are no duplicate active or recent bugs, questions, or requests
[x] I have verified that I am using the latest version of Permission Utils.
[ ] I have given my issue a non-generic title.
[ ] I have read over the documentation (before asking questions on how to do something).

Include the following:

Permission Utils version: x.x.x
Device OS version: 7.0
Device Manufacturer: LG
Device Name: Nexus 5X

Also, please wrap Java with correct syntax highlighting.
System.out.println("Hello, world!");

Reproduction Steps

Expected Result
Actual Result

Need more info, like some snippet code or other info


Census: Display issue on Who live here? page

Expected behaviour
Everything on the page must be displayed correctly
Actual behaviour
'Person 1 (You)' text is not displayed in line. Please find attached screenshot
Steps to reproduce the behaviour
Launch Census_household schema
Navigate to Who live here?
Technical information
Browser
All Browsers in Pre-prod
Operating System
Screenshot

Retest passed QA


[1pt] PR: Adjust ras2fim calibration input changes

Quick update to match incoming ras2fim calibration output files being feed into FIM.
There is no FIM issue card for this, but this is related to a ras2fim PR #205 which also made changes to ensure compatibility.
Changes

config/params_template.env: Changed to recognize the latest "rel_101" edition of the ras2fim rating curve table.csv.
src

run_unit_wb.sh:  Changed to recognize the latest "rel_101" edition of the ras2fim rating curve gpkg.
usgs_gage_unit_setup.py:  Changed to drop a column no longer going to be coming from ras2fim calibration files.

Testing
While a test set of new ras2fim calibration files were created, they were based on just one HUC (12090301) with just a few models. Then in FIM, ran fim_pipeline.sh with the same HUC.  This results in a fairly limited test but no errors were recorded.
Further, using the "rel_101" calibration files (not the new test ones), a set of 20 HUCs were run while ensuring at least 2 HUCs matched the FIM input huc list that are also in the "rel_101" list.
Issuer Checklist (For developer use)
You may update this checklist before and/or after creating the PR. If you're unsure about any of them, please ask, we're here to help! These items are what we are going to look for before merging your code.

[x] Informative and human-readable title, using the format: [_pt] PR: <description>
[x] Links are provided if this PR resolves an issue, or depends on another other PR
[x] If submitting a PR to the dev branch (the default branch), you have a descriptive Feature Branch name using the format: dev-<description-of-change> (e.g. dev-revise-levee-masking)
[x] Changes are limited to a single goal (no scope creep)
[x] The feature branch you're submitting as a PR is up to date (merged) with the latest dev branch
[ ] pre-commit hooks were run locally
[x] Any change in functionality is tested
[ ] Passes all unit tests locally (inside interactive Docker container, at /foss_fim/, run: pytest unit_tests/)
[ ] n/a New functions are documented (with a description, list of inputs, and expected output)
[ ] n/a Placeholder code is flagged / future todos are captured in comments
[ ] CHANGELOG updated with template version number, e.g. 4.x.x.x
[ ] Reviewers requested
[x] Add yourself as an assignee in the PR  as well as the FIM Technical Lead

Merge Checklist (For Technical Lead use only)

[ ] Update CHANGELOG with latest version number and merge date
[ ] Update the Citation.cff file to reflect the latest version number in the CHANGELOG
[ ] If applicable, update README with major alterations

@RyanSpies-NOAA :  I ran a set of 20 HUCs which included two HUCs from the ras2fim calib files. I picked up warning in the log_ras2fim_rc_src_adjust.log of
WARNING: ras_elev_df not created - check that ras_elev_table.csv files exist in fim_dir!#########################################################
I got this warning on earlier tests but though it was a mismatch of HUCs.  There might be problem in src_adjust_ras2fim_rating.py.
Can you take this one back over and look into it?

Ryan found no issues in  stub testing. We will re-gen all calib files for all 7 hucs, then ras2release to merge them into one standard file for FIM, copy those over to FIM and run fim_pipeline on the same 7 huc (maybe a few extra for good measure)

I created a full new set of calibration files from ras2fim with all 7 units (huc/crs combination), using the latest code in rasfim/reformat_ras_rating_curve.py with it's latest changes. I named the output files as: reformat_ras_rating_curve_table_test1.csv and reformat_ras_rating_curve_points_test1.gpkg and placed them in $inputsDir/rating_curve/ras2fim_exports/.  Next using the dev-fix-rascalb-input branch, I manually updated the params_template value for the ras..table_test1.csv. I also updated ras_unit_wb.sh to update the value to -ras $inputsDir/rating_curve/ras2fim_exports/reformat_ras_rating_curve_points_test1.gpkg
Then I ran fim_pipeline using the 7 ras HUCs and added 3 random more HUCs for good measure.
=========================
Outcomes:

For the ras rating curve table, it showed:
The logs recorded this:
Performing SRC adjustments using ras2fim rating curve database
Reading RAS2FIM point loc HAND elevation from ras_elev_table csv files...
Log file output here: /outputs/Robh_calib_ras2fim_test_3/logs/src_optimization
WARNING: ras_elev_df not created - check that ras_elev_table.csv files exist in fim_dir!
Cumulative Time = 0 min(s) and 0 sec
Thu Nov 16 16:51:59 UTC 2023
I did not chase the problem down but saw it in earlier testing and am not sure if there is a problem or not.

For the rating curve points, it appeared to work just fine.
I opened usgs_subset_gages.gkpg from /dev_fim_share/foss_fim/outputs/Robh_calib_ras2fim_test_3/12090301/.
I could see some values in some values in the fid_xs column so I assume it loaded the ras points just fine.
================
Two questions:

is there a possible problem with processing the ras rating curve table? Can you double check this for me?

Was I correct in how I validates that the processing of ras points is good?

One of the ras calib files ras_rating_curve_csv was already a variable defined in the params_template.env.  Initially we decided to move the hardcoded path for the rating_curve/ras2fim_exports/reformat_ras_rating_curve_points_rel_101.gpkg which was in run_unit_wb.sh and move that as a variable in params_template.env.
After a bit of consideration, we used this opportunity to move all pathing for input values out of params_template.env to bash_variables.env as we continue the journey to move all input pathing to a consolidated .env file.


Fix switches and monitoring of consumption

Hello, I really appreciate your work. I improved 2-3 things to make the rendering code clearer.
In addition I corrected the switches and it works perfectly for me.
However, I would like help because I can't find it, because I have a connected socket with consumption monitoring and I would like to recover this consumption.
Do you have an idea ?
Sincerely

Hello, I really appreciate your work. I improved 2-3 things to make the rendering code clearer.
In addition I corrected the switches and it works perfectly for me.
However, I would like help because I can't find it, because I have a connected socket with consumption monitoring and I would like to recover this consumption. Do you have an idea ? Sincerely

check this out:
https://github.com/SodaWithoutSparkles/cozylife-outlet-power


Process some texts are key points

Using the orange font.
Using an special sound effect may be possible
Detect key points when they're (all-)caps or markdown signals(like bold)

This issue should NOT be worked on until #97 is solved

This issue should NOT be worked on until #97 is solved

That's solved now


update documentation for gpt-2

fixes a few incorrect details in the gpt-2 documentation.
one remaining thing, all of the models return an extra presents variable that I'm not quite sure what it is, so there's a ... in the doc. if you tell me what to put there I can put it there, or you can do it yourself.

Hi @joelgrus, you are right, the docstring were lagging a lot.
All the information is in the README.py, more specifically these sections detailing the API of the GPT2 models but I forgot to update the docstrings. Do you want to have a look and tell me if it's detailed enough for the docstrings also?

yes, that's great, I made those changes. (I also feel kind of dumb for not looking at the docs docs.)
sorry about the trailing whitespace changes in the README.md, my editor removes those automatically.

Thanks Joel!


Add Routing Service (dual!)

This is a very basic implementation of #184 and supports ONLY hash routers. It works pretty well I think (check it out via counter_router).
I am investigating improving it to support HTML5 history as well, although I think just this implementation would be useful for 0.3.0 #93

So after going over the other implementation (#187) I think I am convinced that the router should support the History object as well as changing the route. Here is my reasoning.

It is not 100% clear to me whether setting window.location will cause the hashchange event to trigger. Even if it does, not relying on browser events is probably better as it could be faster.
Per the above, in order to handle set_location (or similar) method calls, the router needs to be able to emit a message back to the application when the application calls set_state. I think this API can actually be extremely simple:

history.pushState() the requested state.
Simply call the closure as you normally would and return the Msg. It is up to the View layer to ensure the Msg is used.

It actually makes a lot of sense for the View layer to also control the url route -- that is really "part of the view".
So here are the changes that need to be made to my router implementation:

set_state(Option<Location>, Option<State>) method, which sets the state and calls the internal closure to return Msg.
the closure needs to be of type Fn(Option<Location>, History). This includes:

the "full" window.location object from stdweb. I opened https://github.com/koute/stdweb/issues/190 to potentially extend this.
the history object, including the state and length.

the stdweb History object does not yet have any get_state methods as of 0.4.2, although stdweb::web::event::PopStateEvent exists which should be sufficient (we already have the state if we are setting it).

@DenisKolodin: heads up It is failing travis on Beta and Nightly with:

The job exceeded the maximum time limit for jobs, and has been terminated.

I'm a little confused as to the purpose of Service at all in these contexts. Couldn't we get by with only a RoutingTask? Why have the Service as part of the CTX at all?
The reason I ask is because it is adding all sorts of overhead regarding weird lifetimes when the Model:

Really has to store the Task object (at least fundamentally)
Is actually the better representation of "the current route".
Is always available (both in update and view).

I don't see any value as having a RoutingService at all -- just do a RoutingTask and be done with it.

The job exceeded the maximum time limit for jobs, and has been terminated.
Hi! Thank you! This message appears when travis doesn't have time to finish the tests. I'll restart it.

I managed to turn it into a service (although it still has to be initialized in Component::Create)
There is one minor papercut in the API that could be fixed via #188, but I'm going to go ahead with the paper-cut for now.
With #188 we could have `initialize be:
    pub fn initialize(
        &mut self,
        callback: Callback<String>,
    {

Instead of:
    pub fn initialize(
        &mut self,
        callback: Callback<String>,
        route_fn: &'static Fn(String) -> COMP::Msg)
    {

So one major point: I think the RouterService (whatever we want to call it) typically belongs on the Model so that:

RouterService::set_state can be used in the view method.
we can remove initialize() (new(...) can be the only method).

@DenisKolodin would definitely love your input on that API.

@DenisKolodin thanks for the feedback.
After experimenting with this I have come to a few realizations:

The router doesn't require core functionality
The router implementation has exposed a few possible issues with the yew mental model.
It would probably be best to implement the router as a crate, yew_router -- at least for now.

I opened #191 to discuss the issues with the yew mental model.

Okay, I reopened this because further experimentation got the API down to a much more manageable level.
Creating the router is now only:
    fn create(_: Self::Properties, context: &mut Env<Context, Self>) -> Self {
        Model {
            ...
            router: RouterTask::new(context, &handle_route),
        }
    }
``

with the release of yew v0.3.0 I have been able to release yew_simple. Check it out here: https://docs.rs/yew_simple
It contains an updated version of the RouterTask.


Highlights misaligned with bold text

Background-color highlights like are used for find matches and selection and the source text don't align properly in the presence of bold text. I assume because the rendering takes into account the style but the measurement doesn't.
I discovered this while playing around with https://github.com/google/xi-editor/pull/335 and noticing that the highlights weren't aligned correctly in Rust function definitions which are bolded. Notice in the screenshot below the "self" highlight in &mut self is aligned without taking into account the wider bold characters.

Good catch. Most of us are using monospaced font, where this wouldn't come up, but it should be fixed for the general case.
I think the ultimate solution to this is to store attributed text lines (maybe CTLine) in the line cache, not json'ish data structures. Then when we do measurement from those, it should always line up with the drawing. Extra bonus, should be a considerable performance improvement.


Incremental deployment not working as expected

Describe the bug
Incremental deployment in Publish ADF task showing 0 unchanged objects even if there are no changes in the objects and it is publishing everything.
Expected behaviour
If there is no change in the json files used, when using publish task with incremental deployment nothing should be published. But for everything is published and logs are showing 0 unchanged objects.
Version of PowerShell module of:

5.1

Prove.


Update Firmware: Buttons are not enabled.

I'm submitting a ...

[X] bug report
[ ] feature request
[ ] support request

Do you want to request a feature or report a bug?
Report bug

What is the current behavior?
Firmware update: When attaching hex image, image transfer buttons are not being enabled

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem

1º Create Template
2º Enable Manage Firmware
3º Attach hex image
4º Link template on device
5º Select device
6º Select attached image
HELP: https://dojotdocs.readthedocs.io/pt_BR/latest/using-web-interface.html#performing-access-to-the-dashboard

What is the expected behavior?

Image transfer buttons need to be enabled

What is the motivation / use case for changing the behavior?

Please tell us about your environment:

Version: 0.6.0
Environment: [kubernetes and docker-compose]
Operating system: [Ubuntu 18.04]

Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, gitter, etc)

The status data is received in the device details. However, the button is probably not enabled because the socket on the firwmare update screen is not working.

https://github.com/dojot/dojot/issues/1818

Test OK.

docker-compose environment:
java -jar target/leshan-client-demo-1.0.0-M10-jar-with-dependencies.jar -n unsecure-client-endpoint-0 -u localhost:5683 -protocols http

Transfer and Apply image to device:

2021-08-24 14:01:51,986 INFO FirmwareUpdateObject - Read on Device Resource /5/0/9
2021-08-24 14:01:51,986 INFO FirmwareUpdateObject - Device Resource /5/0/9 value: 2
2021-08-24 14:01:51,989 INFO MyDevice - Read on Device Resource 3
2021-08-24 14:01:51,991 INFO FirmwareUpdateObject - Read on Device Resource /5/0/8
2021-08-24 14:01:51,991 INFO FirmwareUpdateObject - Device Resource /5/0/8 value: {0=2}
2021-08-24 14:01:52,043 INFO FirmwareUpdateObject - Write on Device Resource /5/0/1 value LwM2mSingleResource [id=1, value=http://localhost:5896/admin-1bd2481b-43b3-4802-8308-20f1a7a1f639.hex, type=STRING]
2021-08-24 14:01:52,043 INFO FirmwareUpdateObject - Read on Device Resource /5/0/5
2021-08-24 14:01:52,043 INFO FirmwareUpdateObject - Device Resource /5/0/5 value: 0
2021-08-24 14:01:52,044 INFO FirmwareUpdateObject - Read on Device Resource /5/0/3
2021-08-24 14:01:52,044 INFO FirmwareUpdateObject - Device Resource /5/0/3 value: 1
2021-08-24 14:01:52,044 INFO FirmwareUpdateObject - Downloading firmware image... [dummy]
2021-08-24 14:01:57,047 INFO FirmwareUpdateObject - Read on Device Resource /5/0/3
2021-08-24 14:01:57,047 INFO FirmwareUpdateObject - Device Resource /5/0/3 value: 2
2021-08-24 14:01:57,047 INFO FirmwareUpdateObject - ...firmware image download successfully
2021-08-24 14:02:06,772 INFO RegistrationEngine - Trying to update registration to coap://<IP_ADDRESS>:5683 ...
2021-08-24 14:02:06,777 INFO RegistrationEngine - Registration update succeed.
2021-08-24 14:02:06,778 INFO RegistrationEngine - Next registration update to coap://<IP_ADDRESS>:5683 in 27s...
2021-08-24 14:02:16,907 INFO FirmwareUpdateObject - Execute on Firmware Update resource 2
	 params 1
2021-08-24 14:02:16,908 INFO FirmwareUpdateObject - Read on Device Resource /5/0/3
2021-08-24 14:02:16,908 INFO FirmwareUpdateObject - Device Resource /5/0/3 value: 3
2021-08-24 14:02:16,908 INFO FirmwareUpdateObject - Updating firmware...
2021-08-24 14:02:21,910 INFO FirmwareUpdateObject - Read on Device Resource /5/0/3
2021-08-24 14:02:21,911 INFO FirmwareUpdateObject - Device Resource /5/0/3 value: 0
2021-08-24 14:02:21,912 INFO FirmwareUpdateObject - Read on Device Resource /5/0/5
2021-08-24 14:02:21,912 INFO FirmwareUpdateObject - Device Resource /5/0/5 value: 1
2021-08-24 14:02:21,913 INFO FirmwareUpdateObject - ...firmware update successfully
2021-08-24 14:02:33,778 INFO RegistrationEngine - Trying to update registration to coap://<IP_ADDRESS>:5683 ...
2021-08-24 14:02:33,780 INFO RegistrationEngine - Registration update succeed.
2021-08-24 14:02:33,780 INFO RegistrationEngine - Next registration update to coap://<IP_ADDRESS>:5683 in 27s...

iotagent-lwm2m_1              | Emitting new event message for subject dojot.device-manager.device@admin
iotagent-lwm2m_1              | Emitting new event device.configure for subject iotagent.device@admin
iotagent-lwm2m_1              | DEBUG [Thread-1] (LwM2MAgent.java:432) - on_actuate: {"data":{"id":"225e10","attrs":{"fwu_package_uri":"FW 1.1"}},"meta":{"service":"admin","timestamp":1629824511950},"event":"configure"}
iotagent-lwm2m_1              | DEBUG [Thread-1] (LwM2MAgent.java:460) - actuating on attribute: fwu_package_uri
iotagent-lwm2m_1              |  INFO [Thread-1] (LwM2MAgent.java:480) - Image id that came on actuation: FW 1.1
iotagent-lwm2m_1              | DEBUG [Thread-1] (LwM2MAgent.java:101) - Will try to send URI to device
iotagent-lwm2m_1              | DEBUG [Thread-1] (LwM2MAgent.java:110) - Current FW version: 1.0.0
iotagent-lwm2m_1              | DEBUG [Thread-1] (LwM2MAgent.java:111) - Desirable FW version: FW 1.1
iotagent-lwm2m_1              | DEBUG [Thread-1] (LwM2MAgent.java:122) - Versions have actual changed
iotagent-lwm2m_1              | DEBUG [Thread-1] (ImageDownloader.java:98) - Fetching image with label: 3 at version FW 1.1
iotagent-lwm2m_1              | {"service":"admin","username":"iotagent"}
iotagent-lwm2m_1              | DEBUG [Thread-1] (ImageDownloader.java:157) - Downloading image (1bd2481b-43b3-4802-8308-20f1a7a1f639) as admin-1bd2481b-43b3-4802-8308-20f1a7a1f639.hex
iotagent-lwm2m_1              |  INFO [Thread-1] (ImageDownloader.java:178) - Image 1bd2481b-43b3-4802-8308-20f1a7a1f639 successfully downloaded.
iotagent-lwm2m_1              | DEBUG [Thread-1] (LwM2MAgent.java:152) - Got the file URI: http://localhost:5896/admin-1bd2481b-43b3-4802-8308-20f1a7a1f639.hex
iotagent-lwm2m_1              | DEBUG [Thread-1] (LwM2MAgent.java:153) - Will write URI in resource package URI

iotagent-lwm2m_1              | Emitting new event message for subject dojot.device-manager.device@admin
iotagent-lwm2m_1              | Emitting new event device.configure for subject iotagent.device@admin
iotagent-lwm2m_1              | DEBUG [Thread-1] (LwM2MAgent.java:432) - on_actuate: {"data":{"id":"225e10","attrs":{"fwu_update":"1"}},"meta":{"service":"admin","timestamp":1629824536827},"event":"configure"}
iotagent-lwm2m_1              | DEBUG [Thread-1] (LwM2MAgent.java:460) - actuating on attribute: fwu_update
iotagent-lwm2m_1              | DEBUG [Thread-1] (LwM2MAgent.java:486) - excuting
iotagent-lwm2m_1              | DEBUG [Thread-1] (LwM2mHandler.java:79) - Execute: /5/0/2 with parameters: 1

Transfer and Enable transfer another image:

2021-08-24 14:02:55,323 INFO FirmwareUpdateObject - Read on Device Resource /5/0/9
2021-08-24 14:02:55,324 INFO FirmwareUpdateObject - Device Resource /5/0/9 value: 2
2021-08-24 14:02:55,328 INFO MyDevice - Read on Device Resource 3
2021-08-24 14:02:55,335 INFO FirmwareUpdateObject - Read on Device Resource /5/0/8
2021-08-24 14:02:55,335 INFO FirmwareUpdateObject - Device Resource /5/0/8 value: {0=2}
2021-08-24 14:02:55,387 INFO FirmwareUpdateObject - Write on Device Resource /5/0/1 value LwM2mSingleResource [id=1, value=http://localhost:5896/admin-8824cda2-a5fe-4e1b-b639-6422232c62b2.hex, type=STRING]
2021-08-24 14:02:55,388 INFO FirmwareUpdateObject - Read on Device Resource /5/0/5
2021-08-24 14:02:55,388 INFO FirmwareUpdateObject - Device Resource /5/0/5 value: 0
2021-08-24 14:02:55,388 INFO FirmwareUpdateObject - Read on Device Resource /5/0/3
2021-08-24 14:02:55,388 INFO FirmwareUpdateObject - Device Resource /5/0/3 value: 1
2021-08-24 14:02:55,388 INFO FirmwareUpdateObject - Downloading firmware image... [dummy]
2021-08-24 14:03:00,389 INFO FirmwareUpdateObject - Read on Device Resource /5/0/3
2021-08-24 14:03:00,390 INFO FirmwareUpdateObject - Device Resource /5/0/3 value: 2
2021-08-24 14:03:00,390 INFO FirmwareUpdateObject - ...firmware image download successfully
2021-08-24 14:03:00,780 INFO RegistrationEngine - Trying to update registration to coap://<IP_ADDRESS>:5683 ...
2021-08-24 14:03:00,782 INFO RegistrationEngine - Registration update succeed.
2021-08-24 14:03:00,782 INFO RegistrationEngine - Next registration update to coap://<IP_ADDRESS>:5683 in 27s...
2021-08-24 14:03:09,249 INFO FirmwareUpdateObject - Read on Device Resource /5/0/9
2021-08-24 14:03:09,250 INFO FirmwareUpdateObject - Device Resource /5/0/9 value: 2
2021-08-24 14:03:09,254 INFO MyDevice - Read on Device Resource 3
2021-08-24 14:03:09,258 INFO FirmwareUpdateObject - Write on Device Resource /5/0/1 value LwM2mSingleResource [id=1, value=, type=STRING]
2021-08-24 14:03:09,259 INFO FirmwareUpdateObject - Read on Device Resource /5/0/5
2021-08-24 14:03:09,259 INFO FirmwareUpdateObject - Device Resource /5/0/5 value: 0
2021-08-24 14:03:09,259 INFO FirmwareUpdateObject - Read on Device Resource /5/0/3
2021-08-24 14:03:09,259 INFO FirmwareUpdateObject - Device Resource /5/0/3 value: 1
2021-08-24 14:03:09,259 INFO FirmwareUpdateObject - Downloading firmware image... [dummy]
2021-08-24 14:03:14,260 INFO FirmwareUpdateObject - Read on Device Resource /5/0/3
2021-08-24 14:03:14,260 INFO FirmwareUpdateObject - Device Resource /5/0/3 value: 0
2021-08-24 14:03:14,260 INFO FirmwareUpdateObject - ...firmware image download failed

iotagent-lwm2m_1              |  INFO [main] (LwM2MIoTAgent.java:57) - Running lwm2m IoTAgent
iotagent-lwm2m_1              | Emitting new event message for subject dojot.device-manager.device@admin
iotagent-lwm2m_1              | Emitting new event device.configure for subject iotagent.device@admin
iotagent-lwm2m_1              | DEBUG [Thread-1] (LwM2MAgent.java:432) - on_actuate: {"data":{"id":"225e10","attrs":{"fwu_package_uri":"FW 1.2"}},"meta":{"service":"admin","timestamp":1629824575257},"event":"configure"}
iotagent-lwm2m_1              | DEBUG [Thread-1] (LwM2MAgent.java:460) - actuating on attribute: fwu_package_uri
iotagent-lwm2m_1              |  INFO [Thread-1] (LwM2MAgent.java:480) - Image id that came on actuation: FW 1.2
iotagent-lwm2m_1              | DEBUG [Thread-1] (LwM2MAgent.java:101) - Will try to send URI to device
iotagent-lwm2m_1              | DEBUG [Thread-1] (LwM2MAgent.java:110) - Current FW version: 1.0.0
iotagent-lwm2m_1              | DEBUG [Thread-1] (LwM2MAgent.java:111) - Desirable FW version: FW 1.2
iotagent-lwm2m_1              | DEBUG [Thread-1] (LwM2MAgent.java:122) - Versions have actual changed
iotagent-lwm2m_1              | DEBUG [Thread-1] (ImageDownloader.java:98) - Fetching image with label: 3 at version FW 1.2
iotagent-lwm2m_1              | {"service":"admin","username":"iotagent"}
iotagent-lwm2m_1              | DEBUG [Thread-1] (ImageDownloader.java:157) - Downloading image (8824cda2-a5fe-4e1b-b639-6422232c62b2) as admin-8824cda2-a5fe-4e1b-b639-6422232c62b2.hex
iotagent-lwm2m_1              |  INFO [Thread-1] (ImageDownloader.java:178) - Image 8824cda2-a5fe-4e1b-b639-6422232c62b2 successfully downloaded.
iotagent-lwm2m_1              | DEBUG [Thread-1] (LwM2MAgent.java:152) - Got the file URI: http://localhost:5896/admin-8824cda2-a5fe-4e1b-b639-6422232c62b2.hex
iotagent-lwm2m_1              | DEBUG [Thread-1] (LwM2MAgent.java:153) - Will write URI in resource package URI

iotagent-lwm2m_1              | Emitting new event message for subject dojot.device-manager.device@admin
iotagent-lwm2m_1              | Emitting new event device.configure for subject iotagent.device@admin
iotagent-lwm2m_1              | DEBUG [Thread-1] (LwM2MAgent.java:432) - on_actuate: {"data":{"id":"225e10","attrs":{"fwu_package_uri":""}},"meta":{"service":"admin","timestamp":1629824589198},"event":"configure"}
iotagent-lwm2m_1              | DEBUG [Thread-1] (LwM2MAgent.java:460) - actuating on attribute: fwu_package_uri
iotagent-lwm2m_1              |  INFO [Thread-1] (LwM2MAgent.java:480) - Image id that came on actuation:
iotagent-lwm2m_1              | DEBUG [Thread-1] (LwM2MAgent.java:101) - Will try to send URI to device
iotagent-lwm2m_1              | DEBUG [Thread-1] (LwM2MAgent.java:110) - Current FW version: 1.0.0
iotagent-lwm2m_1              | DEBUG [Thread-1] (LwM2MAgent.java:111) - Desirable FW version:
iotagent-lwm2m_1              | DEBUG [Thread-1] (LwM2MAgent.java:116) - Will write Empty in resource package URI and discard transfer

k8s environment:
java -jar target/leshan-client-demo-1.0.0-M10-jar-with-dependencies.jar -n unsecure-client-endpoint-0 -u kei.dojot.com.br:5683 -protocols http

Transfer and Apply image to device:

2021-08-24 12:17:59,188 INFO FirmwareUpdateObject - Read on Device Resource /5/0/9
2021-08-24 12:17:59,189 INFO FirmwareUpdateObject - Device Resource /5/0/9 value: 2
2021-08-24 12:17:59,230 INFO MyDevice - Read on Device Resource 3
2021-08-24 12:17:59,273 INFO FirmwareUpdateObject - Read on Device Resource /5/0/8
2021-08-24 12:17:59,274 INFO FirmwareUpdateObject - Device Resource /5/0/8 value: {0=2}
2021-08-24 12:17:59,416 INFO FirmwareUpdateObject - Write on Device Resource /5/0/1 value LwM2mSingleResource [id=1, value=http://<IP_ADDRESS>:30008/admin-49a7c794-2aca-47de-8259-0de0d7f50c76.hex, type=STRING]
2021-08-24 12:17:59,416 INFO FirmwareUpdateObject - Read on Device Resource /5/0/5
2021-08-24 12:17:59,417 INFO FirmwareUpdateObject - Device Resource /5/0/5 value: 0
2021-08-24 12:17:59,417 INFO FirmwareUpdateObject - Read on Device Resource /5/0/3
2021-08-24 12:17:59,417 INFO FirmwareUpdateObject - Device Resource /5/0/3 value: 1
2021-08-24 12:17:59,418 INFO FirmwareUpdateObject - Downloading firmware image... [dummy]
2021-08-24 12:18:04,419 INFO FirmwareUpdateObject - Read on Device Resource /5/0/3
2021-08-24 12:18:04,419 INFO FirmwareUpdateObject - Device Resource /5/0/3 value: 2
2021-08-24 12:18:04,420 INFO FirmwareUpdateObject - ...firmware image download successfully
2021-08-24 12:18:11,049 INFO FirmwareUpdateObject - Execute on Firmware Update resource 2
	 params 1
2021-08-24 12:18:11,050 INFO FirmwareUpdateObject - Read on Device Resource /5/0/3
2021-08-24 12:18:11,051 INFO FirmwareUpdateObject - Device Resource /5/0/3 value: 3
2021-08-24 12:18:11,051 INFO FirmwareUpdateObject - Updating firmware...
2021-08-24 12:18:11,789 INFO RegistrationEngine - Trying to update registration to coap://<IP_ADDRESS>:5683 ...
2021-08-24 12:18:11,821 INFO RegistrationEngine - Registration update succeed.
2021-08-24 12:18:11,821 INFO RegistrationEngine - Next registration update to coap://<IP_ADDRESS>:5683 in 27s...
2021-08-24 12:18:16,054 INFO FirmwareUpdateObject - Read on Device Resource /5/0/3
2021-08-24 12:18:16,055 INFO FirmwareUpdateObject - Device Resource /5/0/3 value: 0
2021-08-24 12:18:16,056 INFO FirmwareUpdateObject - Read on Device Resource /5/0/5
2021-08-24 12:18:16,056 INFO FirmwareUpdateObject - Device Resource /5/0/5 value: 1
2021-08-24 12:18:16,057 INFO FirmwareUpdateObject - ...firmware update successfully

iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m Emitting new event message for subject dojot.device-manager.device@admin
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m Emitting new event device.configure for subject iotagent.device@admin
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m DEBUG [Thread-1] (LwM2MAgent.java:432) - on_actuate: {"data":{"id":"f0a020","attrs":{"fwu_package_uri":"FW 1.1"}},"meta":{"service":"admin","timestamp":1629818279117},"event":"configure"}
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m DEBUG [Thread-1] (LwM2MAgent.java:460) - actuating on attribute: fwu_package_uri
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m  INFO [Thread-1] (LwM2MAgent.java:480) - Image id that came on actuation: FW 1.1
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m DEBUG [Thread-1] (LwM2MAgent.java:101) - Will try to send URI to device
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m DEBUG [Thread-1] (LwM2MAgent.java:110) - Current FW version: 1.0.0
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m DEBUG [Thread-1] (LwM2MAgent.java:111) - Desirable FW version: FW 1.1
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m DEBUG [Thread-1] (LwM2MAgent.java:122) - Versions have actual changed
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m DEBUG [Thread-1] (ImageDownloader.java:98) - Fetching image with label: 3 at version FW 1.1
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m {"service":"admin","username":"iotagent"}
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m DEBUG [Thread-1] (ImageDownloader.java:157) - Downloading image (49a7c794-2aca-47de-8259-0de0d7f50c76) as admin-49a7c794-2aca-47de-8259-0de0d7f50c76.hex
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m  INFO [Thread-1] (ImageDownloader.java:178) - Image 49a7c794-2aca-47de-8259-0de0d7f50c76 successfully downloaded.
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m DEBUG [Thread-1] (LwM2MAgent.java:152) - Got the file URI: http://<IP_ADDRESS>:30008/admin-49a7c794-2aca-47de-8259-0de0d7f50c76.hex
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m DEBUG [Thread-1] (LwM2MAgent.java:153) - Will write URI in resource package URI

iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m Emitting new event message for subject dojot.device-manager.device@admin
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m Emitting new event device.configure for subject iotagent.device@admin
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m DEBUG [Thread-1] (LwM2MAgent.java:432) - on_actuate: {"data":{"id":"f0a020","attrs":{"fwu_update":"1"}},"meta":{"service":"admin","timestamp":1629818290996},"event":"configure"}
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m DEBUG [Thread-1] (LwM2MAgent.java:460) - actuating on attribute: fwu_update
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m DEBUG [Thread-1] (LwM2MAgent.java:486) - excuting
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m DEBUG [Thread-1] (LwM2mHandler.java:79) - Execute: /5/0/2 with parameters: 1

Transfer and Enable transfer another image:

2021-08-24 12:18:35,024 INFO FirmwareUpdateObject - Read on Device Resource /5/0/9
2021-08-24 12:18:35,024 INFO FirmwareUpdateObject - Device Resource /5/0/9 value: 2
2021-08-24 12:18:35,054 INFO MyDevice - Read on Device Resource 3
2021-08-24 12:18:35,086 INFO FirmwareUpdateObject - Read on Device Resource /5/0/8
2021-08-24 12:18:35,086 INFO FirmwareUpdateObject - Device Resource /5/0/8 value: {0=2}
2021-08-24 12:18:35,221 INFO FirmwareUpdateObject - Write on Device Resource /5/0/1 value LwM2mSingleResource [id=1, value=http://<IP_ADDRESS>:30008/admin-2a00c450-6231-4f82-bd67-f90ab89ded23.hex, type=STRING]
2021-08-24 12:18:35,221 INFO FirmwareUpdateObject - Read on Device Resource /5/0/5
2021-08-24 12:18:35,221 INFO FirmwareUpdateObject - Device Resource /5/0/5 value: 0
2021-08-24 12:18:35,221 INFO FirmwareUpdateObject - Read on Device Resource /5/0/3
2021-08-24 12:18:35,222 INFO FirmwareUpdateObject - Device Resource /5/0/3 value: 1
2021-08-24 12:18:35,222 INFO FirmwareUpdateObject - Downloading firmware image... [dummy]
2021-08-24 12:18:38,822 INFO RegistrationEngine - Trying to update registration to coap://<IP_ADDRESS>:5683 ...
2021-08-24 12:18:38,853 INFO RegistrationEngine - Registration update succeed.
2021-08-24 12:18:38,854 INFO RegistrationEngine - Next registration update to coap://<IP_ADDRESS>:5683 in 27s...
2021-08-24 12:18:40,222 INFO FirmwareUpdateObject - Read on Device Resource /5/0/3
2021-08-24 12:18:40,223 INFO FirmwareUpdateObject - Device Resource /5/0/3 value: 2
2021-08-24 12:18:40,224 INFO FirmwareUpdateObject - ...firmware image download successfully
2021-08-24 12:18:43,320 INFO FirmwareUpdateObject - Read on Device Resource /5/0/9
2021-08-24 12:18:43,320 INFO FirmwareUpdateObject - Device Resource /5/0/9 value: 2
2021-08-24 12:18:43,353 INFO MyDevice - Read on Device Resource 3
2021-08-24 12:18:43,387 INFO FirmwareUpdateObject - Write on Device Resource /5/0/1 value LwM2mSingleResource [id=1, value=, type=STRING]
2021-08-24 12:18:43,387 INFO FirmwareUpdateObject - Read on Device Resource /5/0/5
2021-08-24 12:18:43,387 INFO FirmwareUpdateObject - Device Resource /5/0/5 value: 0
2021-08-24 12:18:43,387 INFO FirmwareUpdateObject - Read on Device Resource /5/0/3
2021-08-24 12:18:43,388 INFO FirmwareUpdateObject - Device Resource /5/0/3 value: 1
2021-08-24 12:18:43,388 INFO FirmwareUpdateObject - Downloading firmware image... [dummy]
2021-08-24 12:18:48,388 INFO FirmwareUpdateObject - Read on Device Resource /5/0/3
2021-08-24 12:18:48,389 INFO FirmwareUpdateObject - Device Resource /5/0/3 value: 0
2021-08-24 12:18:48,390 INFO FirmwareUpdateObject - ...firmware image download failed

iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m Emitting new event message for subject dojot.device-manager.device@admin
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m Emitting new event device.configure for subject iotagent.device@admin
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m DEBUG [Thread-1] (LwM2MAgent.java:432) - on_actuate: {"data":{"id":"f0a020","attrs":{"fwu_package_uri":"FW 1.2"}},"meta":{"service":"admin","timestamp":1629818314934},"event":"configure"}
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m DEBUG [Thread-1] (LwM2MAgent.java:460) - actuating on attribute: fwu_package_uri
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m  INFO [Thread-1] (LwM2MAgent.java:480) - Image id that came on actuation: FW 1.2
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m DEBUG [Thread-1] (LwM2MAgent.java:101) - Will try to send URI to device
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m DEBUG [Thread-1] (LwM2MAgent.java:110) - Current FW version: 1.0.0
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m DEBUG [Thread-1] (LwM2MAgent.java:111) - Desirable FW version: FW 1.2
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m DEBUG [Thread-1] (LwM2MAgent.java:122) - Versions have actual changed
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m DEBUG [Thread-1] (ImageDownloader.java:98) - Fetching image with label: 3 at version FW 1.2
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m {"service":"admin","username":"iotagent"}
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m DEBUG [Thread-1] (ImageDownloader.java:157) - Downloading image (2a00c450-6231-4f82-bd67-f90ab89ded23) as admin-2a00c450-6231-4f82-bd67-f90ab89ded23.hex
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m  INFO [Thread-1] (ImageDownloader.java:178) - Image 2a00c450-6231-4f82-bd67-f90ab89ded23 successfully downloaded.
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m DEBUG [Thread-1] (LwM2MAgent.java:152) - Got the file URI: http://<IP_ADDRESS>:30008/admin-2a00c450-6231-4f82-bd67-f90ab89ded23.hex
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m DEBUG [Thread-1] (LwM2MAgent.java:153) - Will write URI in resource package URI

iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m Emitting new event message for subject dojot.device-manager.device@admin
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m Emitting new event device.configure for subject iotagent.device@admin
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m DEBUG [Thread-1] (LwM2MAgent.java:432) - on_actuate: {"data":{"id":"f0a020","attrs":{"fwu_package_uri":""}},"meta":{"service":"admin","timestamp":1629818323281},"event":"configure"}
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m DEBUG [Thread-1] (LwM2MAgent.java:460) - actuating on attribute: fwu_package_uri
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m  INFO [Thread-1] (LwM2MAgent.java:480) - Image id that came on actuation:
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m DEBUG [Thread-1] (LwM2MAgent.java:101) - Will try to send URI to device
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m DEBUG [Thread-1] (LwM2MAgent.java:110) - Current FW version: 1.0.0
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m DEBUG [Thread-1] (LwM2MAgent.java:111) - Desirable FW version:
iotagent-lwm2m-7686897dd5-q4gvq iotagent-lwm2m DEBUG [Thread-1] (LwM2MAgent.java:116) - Will write Empty in resource package URI and discard transfer

Tested in v0.7.0-rc.3.


Hackypi getting started

Could you please share what description you need?

Thanks Sbcshop/Hackypi-Software for reaching out. I suppose it isn’t
necessary, but I was looking into initial setup options for the product
which didn’t require Thonny, but It wasn’t an entirely problematic thing,
and was a reasonable choice of ide for the software. There were some
compatibility issues with Thonny which were atypical and were unlikely to
impact most users, but even this didn’t prevent enjoyment of the product.
This message is for the intended recipient. If you are not the specific
person this message is for, do not open or share. The information inside is
private and may be considered confidential in the state of Tennessee.
Violations of confidentiality laws will be prosecuted.
On Thu, Jan 18, 2024 at 11:50 PM sbcshop3 @.***> wrote:

Could you please share what description you need?
—
Reply to this email directly, view it on GitHub
https://github.com/sbcshop/HackyPi-Software/issues/12#issuecomment-1899765702,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BCYXFKSZQSBJLYNSUMODVLTYPH3QJAVCNFSM6AAAAAA6WW6ADGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOJZG43DKNZQGI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Yeah, we chose to provide instructions based on Thonny due to its ease of use and the availability of micropython libraries on essential hardware. Of course, you can use alternative IDEs, such as VS Code and the Arduino IDE.

I see, at the time of purchase, unfortunately I was experiencing some side
effects from what seems to be a security misconfiguration which was
impacting my station as well as my ISP, that is still being researched but
it did however impair my ability to effectively utilize funny as I noticed
unusual behavior which was associated at the time with packages that we're
installed alongside the IDE which may have been compromised due to the
security troubles. I appreciate you reaching out and at some time as I'm
capable of arranging the freedom to do so I hope to put more use into the
product and perhaps provide some fun use case demonstrations for youtube.
When this is possible I would be glad to forward those your way and if
these are some thing which you find might be positive promotion of the
brand or product, I would be very happy to link to your product site and
documentation. On the topic of documentation, my purchase was made through
Amazon and I am unsure whether or not the product traditionally ships with
any form of documentation or instructions by default but it might be noted
that I didn't receive any with the device nor any packaging. It came in a
shrink wrap with a zip container. I looked about and found the
documentation necessary and likely would have been more successful than the
initial setup had it not been for a bit of preexisting DNS cache poisoning
seemingly allowing a bit of traversal in my local network and thus getting
between me and information. In the event that there is or was any official
documentation which generally comes with the device, I would be more than
happy to pay for shipping and mail a self-addressed envelope if the option
is available, however in the time since purchase I've managed to gain a
little Wan access here in the air and the paperwork would just be for my
collection so completely and totally okay if you folks are doing your part
to save on paper.
On Mon, Jan 22, 2024, 12:57 AM sbcshop3 @.***> wrote:

Closed #12 https://github.com/sbcshop/HackyPi-Software/issues/12 as
completed.
—
Reply to this email directly, view it on GitHub
https://github.com/sbcshop/HackyPi-Software/issues/12#event-11552027602,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BCYXFKWK6LVCTJLGLWGB23LYPX5WNAVCNFSM6AAAAAA6WW6ADGVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJRGU2TEMBSG43DAMQ
.
You are receiving this because you commented.Message ID:
@.***>

Can you share any screenshot or images of issue you are facing with HackyPi? So, this would be better to understand exact problem and we can suggest suitable steps to resolve it.


net: Disable data path prints

Currently, networking layer has loads of per-packet prints, e.g., see below, having prints in data path is not a good idea, we already support statistics, so, that can be used for any errors/drops. These should be removed or converted to debug.
 <err> net_arp: Gateway not set for iface 0x20001a60
  ....
 <wrn> pkt cloning failed, pkt %p dropped
   ....

@rlubos

I'm not really convinced about lowering packet allocation errors log priority. Packet allocation failures usually indicate problems either with system configuration or some net stack component (not freeing the packets in time). Note that those reports are usually preceded with a considerable timeout during the packet allocation, where the corresponding thread is suspended, so the performance impact of the logger should be negligible in such cases (especially with deferred logging).
@jukkar What's your view on the topic?

Not only performance impact, but also the usability of the prints, wouldn't it be better if we report stats? The print in itself doesn't help debug, just shows that there is some problem right, so, stats might be good enough.

ok, agreed on packet allocation failures, thought we could separate debug stats from mandatory stats (like /proc/net/snmp in Linux).
Also, what about other prints? I only mentioned a few I saw, but looking at source there are many. e.g., gateway not set, frag related prints etc.

Well, I can only refer here to <err> net_arp: Gateway not set for iface 0x20001a60, as along with the packet allocation failure is the only one mentioned here, but I would consider this as useful information. It informs that ARP procedure for a packet outside of the local network failed because there is no gateway information.
As for others, I guess we need to analyze each case individually, I'm not saying that it's not possible that there is some log that pollutes the output in certain conditions. I just don't see the two mentioned here as irrelevant.

Understood, I was just giving some examples.
I am still not convinced using per-packet prints (thought depending on log buffer size they might suppressed) as a way to get users attention, esp. as they can't do anything about it (end-customers). And for developers, if they see low performance, then using stats to see drops, alloc failures is preferred, esp. as it gives the counters, so, we can see % of failures. But I do see your point, so, will leave it to you.

Setting allocation errors to  level sounds like a good plan, after all the system is possibly in bad shape after those, especially if the recovery from out-of-mem is not possible or is error prone.

@krish2718 you are also encouraged to help moving this issue forward by providing additional information and confirming this request/issue is still relevant to you.

I still feel my comment https://github.com/zephyrproject-rtos/zephyr/issues/49845#issuecomment-1235457441 is relevant, but I will leave it to the maintainers to take a call on this.

@jukkar I think we need to decide whether we want to keep it open (and comply with the request to drop the logs), or close the issue.
As for me, I vote for keeping the logs as they are (i.e. wrn/err level logs on actual errors, even if there considered at per-packet basis).

Yes, I agree, at least those two messages described in the beginning of the issue are useful.


Enhance streamline plot to allow arrows along the streamline

Here is the e-mail exchange regarding the request. Hi Eric, thanks for answering. Both the ideas would be good for me, because what I would like to see is where the streamlines are pointing, and having the arrows only at the end sometimes is confusing, especially if a lot of the streamlines end in the same point or in a small zone.Does it sound reasonable?ThanksGB On Tue, Feb 16, 2016 at 1:50 PM, Brugger, Eric<EMAIL_ADDRESS>wrote:Hi Gabriele, Thats not possible in VisIt, the only option is to have them at the end. I can add an enhancement request for what you have described. I notice that in the python example that there appears to be a single arrow in each streamline, roughly in the center of the streamline (some are clearly closer to the beginning, so it isnt just the center of each line). Is that what you are after, or are you interested in multiple arrows on each streamline, spaced equally along the streamline at some interval? Eric From: Gabriele Brambilla<EMAIL_ADDRESS>Sent: Friday, February 12, 2016 10:49 AMTo: VisIt software users communitySubject: [visit-users] plotting many arrows along the streamlines and not only at their top Hi,Is it possible to plot many arrows along the streamlines and not adding them only at the tip of the streamline?Like in those plots obtained with python?
-----------------------REDMINE MIGRATION-----------------------
This ticket was migrated from Redmine. As such, not all
information was able to be captured in the transition. Below is
a complete record of the original redmine ticket.
Ticket number: 2531
Status: Pending
Project: VisIt
Tracker: Feature
Priority: Normal
Subject: Enhance streamline plot to allow arrows along the streamline
Assigned to: -
Category: -
Target version: -
Author: Eric Brugger
Start: 02/17/2016
Due date:
% Done: 0%
Estimated time:
Created: 02/17/2016 10:29 am
Updated: 07/26/2016 02:12 pm
Likelihood:
Severity:
Found in version: 2.12.3
Impact: 3 - Medium
Expected Use: 3 - Occasional
OS: All
Support Group: Any
Description:
Here is the e-mail exchange regarding the request. Hi Eric, thanks for answering. Both the ideas would be good for me, because what I would like to see is where the streamlines are pointing, and having the arrows only at the end sometimes is confusing, especially if a lot of the streamlines end in the same point or in a small zone.Does it sound reasonable?ThanksGB On Tue, Feb 16, 2016 at 1:50 PM, Brugger, Eric<EMAIL_ADDRESS>wrote:Hi Gabriele, Thats not possible in VisIt, the only option is to have them at the end. I can add an enhancement request for what you have described. I notice that in the python example that there appears to be a single arrow in each streamline, roughly in the center of the streamline (some are clearly closer to the beginning, so it isnt just the center of each line). Is that what you are after, or are you interested in multiple arrows on each streamline, spaced equally along the streamline at some interval? Eric From: Gabriele Brambilla<EMAIL_ADDRESS>Sent: Friday, February 12, 2016 10:49 AMTo: VisIt software users communitySubject: [visit-users] plotting many arrows along the streamlines and not only at their top Hi,Is it possible to plot many arrows along the streamlines and not adding them only at the tip of the streamline?Like in those plots obtained with python?
Comments:
Here is an e-mail from another user mentioning support for such a feature (Maxim Barkov, barmv05@gmail.com).Hello,I like such style of streamlines and would be very glad if such style of stream lines will be released in VisIt.Maxim Note streamline plot is deprecated as of 2.11 and is replaced with the IntegralCurve operator and Pseudocolor Plot.This enhancement is probably something we could look at in the future. Though it is not really an integral curve feature but a line feature within pseudocolor plot.The biggest pitfall is a density issue. Not unlike one has when doing a vector plot. One would need options for placing an arrow every Nth point or after a specific arc length. All of this would be done in avtPolylineAddEndPointsFilterThat said one of the issues right now in our rendering pipeline is that arrows get turned in to a wireframe when that option is selected. They should not. So this feature would be a good enhancement after the rendering pipeline is updated fro VTK 7.0


seq-to-seq ASR batch Scheduler with multiple datasets

Hello,
I am using the sequence-to-sequence ASR system with CommonVoice recipe. I made a many-to-many and one-to-many systems to use 2 different datasets (one is with Italian data and the other with French data).
To do so, I used the RandomSampler and ConcatDatasetBatchSampler from speechbrain.dataio.sampler to return DataLoader with the dataio_prepare function. I am trying to implement a scheduler to switch between tasks (Italian and French) following a probability. For now, I can alternate between Italian and French batches but they are paired due to the ConcatDatasetBatchSampler.
On top of that, I have more French than Italian data. For now, I only see the same amount of French samples that I have in my Italian dataset. I need to see all of both datasets. The idea I had (below) could allow me to do so.
I don't want to just use one of the two batches paired (French or Italian) for one iteration, following my probability. Doing so will make an epoch see only half my data. Even if all data will be seen thanks to X epochs and a shuffle, the training losses would not be analyzable between epochs. I'm searching for a way to feed all of it to the NN in one epoch, choosing the task (French or Italian) for each pair of batches given.
I though of a way to do so and would like your opinion:

I could return 2 DataLoader for each corpus with the dataio_prepare() function.
And override the fit() function from the core.py script to get both DataLoader instead of one. (I'm not sure, self.train_sampler would stay None, knowing that make_dataloader() won't be called, right ?)
Then, I could use Tqdm-multiprocess instead of Tqdm, to give batches (Italian OR French) to fit_batch(). It would allow me to choose which task to apply here without "wasting" the other task batches.

If you have another idea on how to do this, do not hesitate.
Here is the way I am currently giving batches (exemple for the training dataset only, and waves only):
def dataio_prepare(hparams):
    ...
    # Concat linear
    train_data = torch.utils.data.ConcatDataset([train_data_fr, train_data_it])
    # Make samplers
    sampler_train_fr = RandomSampler(train_data_fr)
    sampler_train_it = RandomSampler(train_data_it)
    sampler_train = ConcatDatasetBatchSampler([sampler_train_fr, sampler_train_it], [hparams["fr_batch_size"], hparams["it_batch_size"]])
    # Make DataLoader
    dataloader_train = torch.utils.data.DataLoader(train_data, batch_sampler=sampler_train, num_workers=3, collate_fn=PaddedBatch)
    return dataloader_train, dataloader_valid, ...

class ASR(sb.core.Brain):
    ...
    def fit_batch(self, batch):
        # Get all needed from batch
        batch = batch.to(self.device)
        wavs = batch.sig
        ...
        # Basic python slices
        wavs_fr, wavs_it = wavs[:fr_batch_size], wavs[it_batch_size:]
        ...
        # For French
        predictions = self.compute_forward(...)
        loss = compute_objectives(...)
        loss.backward()
        ...
        # Same for Italian
        predictions = self.compute_forward(...)
        loss = compute_objectives(...)
        loss.backward()
        ...

Thank You.

@popcornell @Gastron

Hi,
Probably a more straightforward way to do this is to append fake examples to the shorter dataset (italian or french) then in the training loop you check for example if not torch.all(input_to_your net) if the dummy data is all zeros. In this way you can use the same pipeline you are using right now with minimal modifications.

But as a side note: we should simplify the support of many dataloaders, no ?

Yes, but this way I would need to set the sequence of tasks (French - Italian - Italian - Italian - French - ...) when creating the DataLoader, to break the "pair problem". It's the easiest way but not the cleaner. I would like to be able to change the sequence in the middle of the training, for future experiments.

I think you can use your approach, but you have to check what is dataloader related on the Brain class and override it (like the sampler).

You want to train for X steps on dataset 1 and then for Y steps on dataset 2 is this correct ?
And do this dynamically right ?
If so yes you have pretty much to override everything in the Brain class fit method and possibly even more.

Well actually there may be a workaround by implementing a custom sampler where the sampling is conditioned on a variable,
if you are able in the training loop to change that variable like self.train_loader.sampler.dataset == "french" you could probably switch the dataset dynamically

But the sampler works on a single Dataset object right?

Yes but you can have a ConcatDataset and play with indexes.

You want to train for X steps on dataset 1 and then for Y steps on dataset 2 is this correct ?
And do this dynamically right ?

Yes, that's it.

Well actually there may be a workaround by implementing a custom sampler where the sampling is conditioned on a variable,
if you are able in the training loop to change that variable like self.train_loader.sampler.dataset == "french" you could probably switch the dataset dynamically

Thanks, I will look into it. I began changing the fit() function. If I encounter a problem, I will try this approach.


feat: Add code sample to delete webhook

The README.md file must be modified when a blog post exists for this purpose.
resolves: #55
PR Acceptance Criteria
Guidelines

[ ] PR follows the Contributing guidelines?
[ ] PR Adheres to our Code of Conduct?
[ ] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

Code complete

[ ] A README.md available describing how to setup and test the code?
[ ] The code sample in the correct location (i.e. email/node/read-email)?
[ ] Link added to the repository readme (view # Code Snippets created by the Nylas Community with examples) describing what the code sample does for others to try out
[ ] The code can be run using Github Codespaces, so the maintainer can try out the code sample remotely to ensure everything is working before we accept the PR.

For PR Reviewer use

[ ] Purpose of code sample is clear
[ ] The code sample is readable
[ ] Steps try out the code are provided
[ ] Code sample runs on codespaces environment
[ ] Code works as expected
[ ] PR labels added

@navascogt the code changes look good, so I added the hacktoberfest label so it counts as a contribution. I will complete a full review and merge by tomorrow 👍🏽


[ON_HOLD] MaintenanceMode: Add tenant support

Added a new "TenantId" parameter to maintenance mode command-lets, optional and in a different parameter set. Added a 'happy path' test for tenant maintenance. Also verified that the API doesn't receive the new parameter in the request unless specified (not null), thus guaranteeing back-compat with 19.10.
OR-15559

Will reopen if needed


RESEARCH - Expand timeline for metrics and alerting to prevent inadvertent firing of alerts on deploys

Why are we doing this?
We see too many alerts fired on our deployments due to temporary memory spikes. We need to see if we can minimize or eliminate these false alerts without affecting our ability to rapidly respond to an actual problem.
Action requested
Research rightsizing alert thresholds.

This has become less of an issue given the slight decrease in testing volume + upgrade to our App Service.

Closing, since the alerting meeting and resulting epic covered this!


I am curous about the comment "The Azure Machine Learning module doesn't support ARM processors"

Is this an attribute on just "machine learning modules"? I have build and deployed several ARM modules to my Linux target.
What is so different about a machine learning module?

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

ID: ce5efb43-af55-95ea-cc6f-9597ace9b1b8
Version Independent ID: 94f8eff2-fc0d-af3c-5b41-944665674cfc
Content: Deploy Azure Machine Learning to a device - Azure IoT Edge
Content Source: articles/iot-edge/tutorial-deploy-machine-learning.md
Service: iot-edge
GitHub Login: @kgremban
Microsoft Alias: kgremban

@dvescovi1, Thanks for the question! We are taking a look into this and will get back to you soon.

@dvescovi1 Yes, you can develop machine learning module and deploy it to a Linux device running Azure IoT Edge. Please refer this issue for more context on your specific question. Let us know if you have further questions.

@AshokPeddakotla-MSFT your answer doesn't necessarily address the original question. @dvescovi1 Yes, that statement is only in regards to the Azure Machine Learning module, not IoT Edge in general. I don't know what in particular prevents the Azure Machine Learning modules from working in Windows containers or Linux ARM32 devices, but those two statements are still true.

@dvescovi1 Please check the above response and let us know if you have further questions.


Minecraft 1 17 second try

Hope this is fine now. The IDE removed some random trailing spaces I guess that's fine.

Yeah I am too much of a noob on Git so that's why there is a new one :D


[feat]: Firebase integration Configuration

Firebase Integration

Refactor components (Custom Button styles, Homepage, Navbar, Redx send help reducer and actions.

To the run, the application, navigate into the firebase.utils.js in the firebase folder and uncomment both return statements in createUserProfileDocument function.
**N.B:**Still working on it.


⚠ Thumbnails API Endpoint has degraded performance

In 5c58fec, Thumbnails API Endpoint (https://thumbnails.roblox.com/v1/assets?assetIds=82738847&format=Png&isCircular=false&size=30x30) experienced degraded performance:

HTTP code: 200
Response time: 1077 ms

Resolved: Thumbnails API Endpoint performance has improved in 59cad5e after 17 minutes.


Create a carousel for all the Testimonials

Issue Description
A moving Carousel would look better in the testimonials rather than just simple cards
Can I work on this..?

you can work but we need carousel only in mobile view,


add the random background

uses a enums of backgrounds to select a random background for the game
export enum BackgroundColor {
    day = '#4678A5',
    night = '#02184F',
}

Looks good!


Update Patternfly to 2.8.0 and have angular-patternfly loaded after it

This fixes the issue for me.


make compile fail (CPU.bsv line 319)

Hello, when I use make compile in various build directories, it results in:
Error: "../../src_Core/CPU/CPU.bsv", line 319, column 37: (T0020)
  Type error at:
    rg_pc_reported

  Expected type:
    ISA_Decls::WordXL

  Inferred type:
    Bit#(64)

It looks like there was a recent change to that part:
https://github.com/bluespec/Flute/commit/bbee1f3f5bc37cbcb66771a646e34edbf18dce63#diff-466f63b34521ac100a07ab1b0d97102bb96e2ba7658806fc0ad558b9ef49adf1
Could it be the reason?

Yes, you are correct.  I have fixed the bug (commit d7235cf9).
Thank you for reporting it.


Quick fix Issue #15 aiohttp version upper limit  < 2.0

Set the upper limit for the aiohttp version to <2.0 and > 1.3 till elasticsearch_async is updated to be compatible with aiohttp 2.0

Already signed the CLA

already signed the CLA

Closing the pull request since there is another one to make elasticsearch-py-async compatible with aiohttp >= 2.x


Bring back "Harness" temporarily

In GitLab by @waxlamp on Nov 9, 2020, 17:34
The Harness concept is used by both SAIL-ON and LEARN, and can be part of the new framework until a more general solution is found.

In GitLab by @waxlamp on Nov 9, 2020, 17:34
mentioned in merge request !48


bump version to 0.2.0

Coverage remained the same at 80.096% when pulling 03dde20237e48cf7aa8f0e06d7cb2a5778ebf4ed on feature/release into e335e176b5def3d6b2cf4ef7a5a91472f865105e on main.

Coverage remained the same at 80.096% when pulling 03dde20237e48cf7aa8f0e06d7cb2a5778ebf4ed on feature/release into e335e176b5def3d6b2cf4ef7a5a91472f865105e on main.


Fix a 500 error from the IIIF manifest for b12974821

See https://wellcomecollection.org/works/gc4zwh5h/items
This is the error we're getting at commit f6a432a:
TypeError: Cannot read property '0' of undefined
    at getServerSideProps (webpack-internal:///./pages/item.tsx:480:149)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:94:5)
    at async Object.renderToHTML (./node_modules/next/server/render.tsx:733:13)
    at async doRender (./node_modules/next/server/next-server.ts:1669:27)
    at async ./node_modules/next/server/next-server.ts:1783:21
    at async ./node_modules/next/server/response-cache.ts:94:25

Fixed.


~/.xargo is purged whenever nightly version is different

If I am working on different rust projects with different rust nightly versions, then each time I recompile a project with a different toolchain xargo throws away the sysroot and rebuilds it for the different version.
Would it be worth structuring ~/.xargo similarly to how multirust does with a path component that specifies the nightly-date of the source and sysroots inside allowing for multiple nightly versions at the same time?

I've thought about supporting several nightlies when I was writing the first version of Xargo but I chose the keep it simple and only use the current nightly. My main concern with supporting several nightlies is how/when Xargo should get rid of old/unused nigthlies? We could implement some Garbage Collection policy that e.g. gets rid of the sysroot that hasn't been used for more than one week (the period would be configurable). My other concern is how to store the different sysroots in ~/.xargo? I would prefer something like rustup:
~/.xargo
├── nightly-2016-04-01
│   └── (..)
└── nightly
    └── (..)

Where nightly-2016-04-01 "survives" rustup update nightlys, but the nightly directory gets updated along with the toolchain. However, this approach would require Xargo to depend on rustup because it needs to know which channel/toolchain is being used.
Another possible layout is:
~/.xargo
├── 2016-04-22
│   └── (..)
├── 2016-04-23
│   └── (..)
└── 2016-04-24
    └── (..)

Where Xargo just keeps adding new sysroots whenever a new nightly toolchain is used. This doesn't require Xargo knowing about rustup but it needs a good GC policy or the ~/.xargo directory would quickly get filled with old sysroots.

Initially I would have said the second option would be better, but realizing that each folder is > 300mb with only one target, the first option seems better imo. If xargo did depend on rustup then something like multirust list-overrides could be used to figure out which sysroots to garbage collect.

but realizing that each folder is > 300mb with only one target,

Actually you can subtract 150 MB from lib/rustlib/$HOST because the rlibs in there are just hard links so they don't consume extra disk space.

multirust list-overrides could be used to figure out which sysroots to garbage collect.

Oh that's a great idea :+1:.

If xargo did depend on rustup

I don't want Xargo to depend on rustup just yet because rustup is not (yet) an official tool. I know the plan is for rustup to become the one and only official way to install Rust. When that happens I'd be okay with making Xargo depend on rustup.

Well until rustup becomes stable/official tool, xargo could just print a message saying how much space is currently being used, and offer a purge option to delete everything?


Merge refs/heads/feature/no-redis into alpha

Merge refs/heads/feature/no-redis into alpha

This PR has been merged into alpha and tagged as 1.6.0-alpha-202303281741. Thanks for your contribution!


[cloud_functions] How to get Firebase Functions error Object ?

flutter doctor -v
[√] Flutter (Channel unknown, 2.5.0, on Microsoft Windows [Version 10.0.19042.1237], locale en-US)
    • Flutter version 2.5.0 at C:\tools\flutter
    • Upstream repository unknown
    • Framework revision 4cc385b4b8 (3 weeks ago), 2021-09-07 23:01:49 -0700
    • Engine revision f0826da7ef
    • Dart version 2.14.0

flutter pub deps -- --style=compact (abbreviated)
dependencies:
- cloud_firestore 2.5.2 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- cloud_functions 3.0.3 [cloud_functions_platform_interface cloud_functions_web firebase_core firebase_core_platform_interface flutter]
- firebase_auth 3.1.1 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 1.6.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_crashlytics 2.2.1 [firebase_core firebase_core_platform_interface firebase_crashlytics_platform_interface flutter stack_trace]
- firebase_performance 0.7.0+7 [firebase_core flutter]
- firebase_storage 10.0.3 [firebase_core firebase_core_platform_interface firebase_storage_platform_interface firebase_storage_web flutter]

Hi everyone,
Context:
My question concerns about how to handle with API error response when using cloud_functions to perform FirebaseFunctions calls.
I'm using cloud_functions v3.0.3 to make some Http requests via Firebase Http Functions.
Usage:
My requests are made by using the following code:
final HttpsCallable callable = firebaseFunctions.httpsCallable(
        'authenticateWithAD',
        options: HttpsCallableOptions(
          timeout: const Duration(
            seconds: 20,
          ),
        ),
      );

      final result = await callable
          .call({"username": user.userName, "password": user.password});
      ....

Everything works fine when response is 2xx. (I didn't test with 1xx or 3xx)
But:
When my API returns an error (4xx or 5xx), I can't get the error object.
The FirebaseFunctionsException gives me an object like this:
code: "internal"
details: null
message: "INTERNAL"
plugin: "firebase_functions"
strackTrace: #0       StandardMethodChanne...
hashCode:
runtimeType: Type...

As we can see, there is no property that I can use to get the error from my API.
My API returns this:
{
  "statusCode":401,
  "name":"InvalidCredentialsError",
  "code":"AUTH_0002",
  "message":"Invalid username or password"
}

Main Question
Is there an way to get the API error response by using callable.call returns from FirebaseFunctionsException ?

I'm seeing this issue as well with cloud_functions: ^3.0.3 so labeling it for now. It doesn't seem intended.

flutter doctor -v
[√] Flutter (Channel master, 2.6.0-12.0.pre.135, on Microsoft Windows [Version 10.0.19043.1237], locale en-GB)
    • Flutter version 2.6.0-12.0.pre.135 at C:\Development\flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 3074c9e04b (4 hours ago), 2021-09-28 22:08:04 -0700
    • Engine revision bccb3a57eb
    • Dart version 2.15.0 (build 2.15.0-156.0.dev)

[√] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at C:\Users\marku\AppData\Local\Android\sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: C:\Users\marku\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\203.7678000\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.11.2)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.11.31624.102
    • Windows 10 SDK version 10.0.19041.0

[√] Android Studio (version 2020.3)
    • Android Studio at C:\Users\marku\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\203.7678000
    • Flutter plugin version 60.1.2
    • Dart plugin version 203.8430
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[√] Connected device (4 available)
    • sdk gphone x86 (mobile) • emulator-5554 • android-x86    • Android 11 (API 30) (emulator)
    • Windows (desktop)       • windows       • windows-x64    • Microsoft Windows [Version 10.0.19043.1237]
    • Chrome (web)            • chrome        • web-javascript • Google Chrome 94.0.4606.61
    • Edge (web)              • edge          • web-javascript • Microsoft Edge 93.0.961.52

• No issues found!

Hello,
Testing with
  throw new functions.https.HttpsError(
    'invalid-argument',
    'Input and Output types did not match.',
    {input: resp, output: 'apple'}
  );

Allows to properly get all the transmitted information.
I'll close this, feel free to reopen if you still experience this issue.


local install error with python version

I wanted to re-install the package to continue development and testing with the latest version, so I started fresh with a brand new conda environment, but received error when trying to install locally from the cloned repo.
Steps to reproduce errors (running on CryoCloud):

Install from locally cloned repo: pip install -e . or pip install -e ".[dev]"
Received the following error:

(planetenv) jovyan@jupyter-spestana:~/git/planetsca$ pip install -e .
Obtaining file:///home/jovyan/git/planetsca
  Installing build dependencies ... done
  Checking if build backend supports build_editable ... done
  Getting requirements to build editable ... done
  Installing backend dependencies ... done
  Preparing editable metadata (pyproject.toml) ... done
Collecting dvc>=2.10.0 (from planetsca==0.1.dev111)
  Using cached dvc-3.51.2-py3-none-any.whl.metadata (17 kB)
Requirement already satisfied: geopandas in /srv/conda/envs/notebook/lib/python3.11/site-packages (from planetsca==0.1.dev111) (0.13.2)
Collecting huggingface-hub>=0.23.2 (from planetsca==0.1.dev111)
  Using cached huggingface_hub-0.23.4-py3-none-any.whl.metadata (12 kB)
Collecting hydra-core>=1.1.1 (from planetsca==0.1.dev111)
  Using cached hydra_core-1.3.2-py3-none-any.whl.metadata (5.5 kB)
Requirement already satisfied: joblib>=1.3.2 in /srv/conda/envs/notebook/lib/python3.11/site-packages (from planetsca==0.1.dev111) (1.4.2)
Requirement already satisfied: matplotlib in /srv/conda/envs/notebook/lib/python3.11/site-packages (from planetsca==0.1.dev111) (3.8.4)
Requirement already satisfied: numpy in /srv/conda/envs/notebook/lib/python3.11/site-packages (from planetsca==0.1.dev111) (1.23.5)
Requirement already satisfied: pandas in /srv/conda/envs/notebook/lib/python3.11/site-packages (from planetsca==0.1.dev111) (2.2.2)
Collecting pdoc3>=0.10.0 (from planetsca==0.1.dev111)
  Using cached pdoc3-0.10.0-py3-none-any.whl.metadata (4.0 kB)
INFO: pip is looking at multiple versions of planetsca to determine which version is compatible with other requirements. This could take a while.
ERROR: Could not find a version that satisfies the requirement python>=3.8 (from planetsca) (from versions: none)
ERROR: No matching distribution found for python>=3.8

With pip install -e ".[dev]" I got the error on the Python version. With  install -e  I got a different one:
ERROR: Could not find a version that satisfies the requirement shutil (from planetsca) (from versions: none)
ERROR: No matching distribution found for shutil


Build error with current release 0.9.97

Gogs version (or commit ref): 0.9.97
Glide version: 0.12.2
Git version: 2.10.0
Operating system: Arch Linux
Database (use [x]):

[ ] PostgreSQL
[ ] MySQL
[X] SQLite

Can you reproduce the bug at https://try.gogs.io:

[ ] Yes (provide example URL)
[ ] No
[X] Not relevant

Log gist:

mkdir -p $WORK/github.com/gogits/gogs/
cd /tmp/yaourt-tmp-fanningert/aur-gogs/src/build/src/github.com/gogits/gogs/models
/tmp/yaourt-tmp-fanningert/aur-gogs/src/build/go/pkg/tool/linux_amd64/compile -o $WORK/github.com/gogits/gogs/models.a -trimpath $WORK -p github.com/gogits/gogs/models -complete -buildid 9fb518a0288487872e3b4bd4229010b561486db9 -importmap github.com/Unknwon/cae/zip=github.com/gogits/gogs/vendor/github.com/Unknwon/cae/zip -importmap github.com/Unknwon/com=github.com/gogits/gogs/vendor/github.com/Unknwon/com -importmap github.com/go-macaron/binding=github.com/gogits/gogs/vendor/github.com/go-macaron/binding -importmap github.com/go-sql-driver/mysql=github.com/gogits/gogs/vendor/github.com/go-sql-driver/mysql -importmap github.com/go-xorm/core=github.com/gogits/gogs/vendor/github.com/go-xorm/core -importmap github.com/go-xorm/xorm=github.com/gogits/gogs/vendor/github.com/go-xorm/xorm -importmap github.com/gogits/git-module=github.com/gogits/gogs/vendor/github.com/gogits/git-module -importmap github.com/gogits/go-gogs-client=github.com/gogits/gogs/vendor/github.com/gogits/go-gogs-client -importmap github.com/lib/pq=github.com/gogits/gogs/vendor/github.com/lib/pq -importmap github.com/mattn/go-sqlite3=github.com/gogits/gogs/vendor/github.com/mattn/go-sqlite3 -importmap github.com/mcuadros/go-version=github.com/gogits/gogs/vendor/github.com/mcuadros/go-version -importmap github.com/nfnt/resize=github.com/gogits/gogs/vendor/github.com/nfnt/resize -importmap github.com/satori/go.uuid=github.com/gogits/gogs/vendor/github.com/satori/go.uuid -importmap github.com/sergi/go-diff/diffmatchpatch=github.com/gogits/gogs/vendor/github.com/sergi/go-diff/diffmatchpatch -importmap golang.org/x/crypto/ssh=github.com/gogits/gogs/vendor/golang.org/x/crypto/ssh -importmap golang.org/x/net/html/charset=github.com/gogits/gogs/vendor/golang.org/x/net/html/charset -importmap golang.org/x/text/transform=github.com/gogits/gogs/vendor/golang.org/x/text/transform -importmap gopkg.in/gomail.v2=github.com/gogits/gogs/vendor/gopkg.in/gomail.v2 -importmap gopkg.in/ini.v1=github.com/gogits/gogs/vendor/gopkg.in/ini.v1 -importmap gopkg.in/macaron.v1=github.com/gogits/gogs/vendor/gopkg.in/macaron.v1 -D _/tmp/yaourt-tmp-fanningert/aur-gogs/src/build/src/github.com/gogits/gogs/models -I $WORK -I /tmp/yaourt-tmp-fanningert/aur-gogs/src/build/pkg/linux_amd64 -pack ./access.go ./action.go ./admin.go ./error.go ./git_diff.go ./issue.go ./issue_comment.go ./issue_label.go ./issue_mail.go ./login_source.go ./mail.go ./models.go ./models_sqlite.go ./org.go ./org_team.go ./pull.go ./release.go ./repo.go ./repo_branch.go ./repo_collaboration.go ./repo_editor.go ./repo_mirror.go ./ssh_key.go ./token.go ./update.go ./user.go ./user_mail.go ./webhook.go ./webhook_slack.go ./wiki.go
# github.com/gogits/gogs/models
models/access.go:84: cannot use x (type *xorm.Engine) as type Engine in argument to accessLevel:
        *xorm.Engine does not implement Engine (wrong type for Where method)
                have Where(interface {}, ...interface {}) *xorm.Session
                want Where(string, ...interface {}) *xorm.Session
models/access.go:94: cannot use x (type *xorm.Engine) as type Engine in argument to hasAccess:
        *xorm.Engine does not implement Engine (wrong type for Where method)
                have Where(interface {}, ...interface {}) *xorm.Session
                want Where(string, ...interface {}) *xorm.Session
models/access.go:245: cannot use x (type *xorm.Engine) as type Engine in argument to r.recalculateAccesses:
        *xorm.Engine does not implement Engine (wrong type for Where method)
                have Where(interface {}, ...interface {}) *xorm.Session
                want Where(string, ...interface {}) *xorm.Session
models/action.go:194: cannot use x (type *xorm.Engine) as type Engine in argument to newRepoAction:
        *xorm.Engine does not implement Engine (wrong type for Where method)
                have Where(interface {}, ...interface {}) *xorm.Session
                want Where(string, ...interface {}) *xorm.Session
models/action.go:217: cannot use x (type *xorm.Engine) as type Engine in argument to renameRepoAction:
        *xorm.Engine does not implement Engine (wrong type for Where method)
                have Where(interface {}, ...interface {}) *xorm.Session
                want Where(string, ...interface {}) *xorm.Session
models/action.go:568: cannot use x (type *xorm.Engine) as type Engine in argument to transferRepoAction:
        *xorm.Engine does not implement Engine (wrong type for Where method)
                have Where(interface {}, ...interface {}) *xorm.Session
                want Where(string, ...interface {}) *xorm.Session
models/action.go:586: cannot use x (type *xorm.Engine) as type Engine in argument to mergePullRequestAction:
        *xorm.Engine does not implement Engine (wrong type for Where method)
                have Where(interface {}, ...interface {}) *xorm.Session
                want Where(string, ...interface {}) *xorm.Session
models/issue.go:154: cannot use x (type *xorm.Engine) as type Engine in argument to issue.loadAttributes:
        *xorm.Engine does not implement Engine (wrong type for Where method)
                have Where(interface {}, ...interface {}) *xorm.Session
                want Where(string, ...interface {}) *xorm.Session
models/issue.go:231: cannot use x (type *xorm.Engine) as type Engine in argument to i.hasLabel:
        *xorm.Engine does not implement Engine (wrong type for Where method)
                have Where(interface {}, ...interface {}) *xorm.Session
                want Where(string, ...interface {}) *xorm.Session
models/issue.go:312: cannot use e (type *xorm.Session) as type Engine in argument to issue.getLabels:
        *xorm.Session does not implement Engine (wrong type for Where method)
                have Where(interface {}, ...interface {}) *xorm.Session
                want Where(string, ...interface {}) *xorm.Session
models/issue.go:312: too many errors

Description
When I build Gogs with glide I get the following errors.
Build commands are ...
glide update
glide install
go fix
go build -x -tags='sqlite pam cert'

Current master is at 0.9.99 which has a fix for this. Closing

I'm running into the same issue with <IP_ADDRESS>5 (commit 2bec8a4f1ef6b48220a0010c1482e561abd55810)

@atsepkov Can you make a new issue for this? The commit I pushed fixes the problems caused in this issue, you should not face it again.


Make HTTPS request via SOCKS4 proxy

I find no way to do it, I've use ssl lib but when i request to my HTTPS server via SOCKS4, it's not working although SOCKS5 can. Can SOCKS4 make HTTPS request?

Can SOCKS4 make HTTPS request?

Yes, it should proxify any TCP traffic