Rad Lines Tool

Original issue text from msurguy:
I would love to see if my Rad Lines tool's SVG output could be integrated into this software...
Here's the tool: https://msurguy.github.io/rad-lines/
Here are some examples of the output:

Originally posted by @msurguy in https://github.com/jeffeb3/sandify/issues/110#issuecomment-610177647

Those are some great patterns. The website also looks great, and was really nice to use. I especially like the input equations, they can really expand the capabilities for more advanced users.
I think getting those patterns into sandify would be really great. I don't know yet the best way to do it. If I just had an input for .svgs, I think that would get pretty complicated, since the format supports so much. Exporting the vertices from Rad Lines would work, something in .json format or something.
The bigger issue is that the shapes are not connected, so they wouldn't work in sandify, which never lifts the pen. The original intention is to make patterns from one continuous line, for sand tables that can't lift the marble.
I could see incorporating some of the features from Rad Lines into the shapes and transforms here. Having an editable equation for the spin and grow would be pretty neat. I already have an issue to round over the corners of the polygon. WDYT? I don't want to step on anyone's toes.

@jeffeb3 couple ideas here to address your points:

after the individual curves are generated, we can connect the start point of each curve to generate single path
the gist of the code that is making the lines is actually pretty simple, https://github.com/msurguy/rad-lines/blob/master/src/components/Polygons.vue#L218
I use d3 to be able to change curvature easily, but there are tools to convert svg path to vertices, for example https://github.com/pshihn/points-on-path.

As I see it, the process to make rad lines usable for sandify would be a set of JS to:

take inputs from the user
generate SVG paths using the code I highlighted
run each path through https://github.com/pshihn/points-on-path to get vertices
make the end of each path connected to the start of the next path (starting from the innermost)
profit!

Let me know if you need more guidance

Oh!

I can't think of a way to import a random .svg that someone can upload, but I can see the benefit of using this "feature" of SVG to make the polygons, and then use those to generate vertices (as you suggest) as a source feature in sandify. Is that what you are suggesting?

The other interesting feature of rad lines is the fact that you are just taking inputs and calling eval on them with an i. I can think of a few places where that would be awesome. The growth and spin would be the ideal candidates. I think the only challenge there is merging the currently (relatively simple) mechanism with this evaluation approach. Let me try that, and see what I can come up with.

@jeffeb3 the roundness is the product of d3.line's curve type (as you can see in this example: http://bl.ocks.org/d3indepth/b6d4845973089bc1012dec1674d3aff8), but the output of d3.line is an SVG path with bezier curve calculated for you.
Yes, it is correct, basically instead of importing arbitrary SVGs, just produce SVG paths, and run them through points-on-path lib, connect the start/end points and you'd get an array of points that you can then turn into gcode or whatever else.
RE: 2. Yes, that was my challenge and I wanted to make it in a way that would be safe to share through URLs, so I ended up using Math.js and it's not-evil eval feature. It prevents executing arbitrary JS and only focuses on parsing math expressions.
Btw, I also have another similar tool that would be perfect for square tables. It also has very simple generator under the hood, but what I'm proud of most is the "randomize" feature that comes up with good formulas 90%+ of the time: https://msurguy.github.io/flow-lines/

@jeffeb3 let me know if I can help in some way on this.

@msurguy, Thanks for the offer! I have my own imaginary ways of implementing this, but by all means, PRs are very welcome. I think the two features I'd like to see the most are:

Round corners on the polygon shape. Since that shape gets stretched and rotated, I think it would look prettt good to just round over the kernel shape. Sincce it is just a unit polygon, it should be simple to round the corners without using svgs. But any solution you're intereted in submitting is better than nothing.

Make a way for the growth and the spin options to be equations. I did the absolute minimum by just changing those to mathjs.evaluate and it produced really interesting patterns. I have to gracefully handle the errors that come from evaluating user equations, and I need to find a way to mix that into the UI we already have. But it seems simple enough too.

I will get to this stuff eventually. Bob has been keeping me busy lately. But if you want to play with it, you're more than welcome to it.

I have learned a lot, and I think I may have misunderstood this issue/request.
I think you're saying I should read in a SVG file, similar to how I read in a .thr or .gcode file. If the file is only one path, then that does not seem too hard (given the points-on-path) package you pointed out to create an array of vertices for each path, and then combine them by either connecting the end of one to the start of the next, or using the Graph code we already have for finding connections between the array of vertices.
So I can see that SVGO uses sax to read in the xml, and I suppose I could do the same. I was just looking at the axidraw examples, and they are already pretty complicated, with lots of groups, and options. Is there a good way to quickly get to the point of either just having a list of paths, or giving up quickly? Maybe you can point me to a javascript interface that can read in svg files and find the paths that I need?

No, I'm proposing generating SVG paths using d3.line() function (that can take curve amount) and converting those paths to vertices. I don't like the idea of reading in arbitrary SVG from file, rather I want to generate SVG paths in a way that you need (connect endpoints of each path, for example).
Maybe I'll be able to create a little demo soon. It'd be basically code from generatePolygonData https://github.com/msurguy/rad-lines/blob/master/src/components/Polygons.vue#L218  and code from https://github.com/msurguy/rad-lines/blob/master/src/components/ClosedPolyline.vue files, then run the output of each generated path through points-on-path package.

Ok, thanks for the explanation.
The way our shapes work so far, there is a kernel shape, and then it will loop trough those kernel vertices, stretching and spinning more each loop. I opened a PR #151 where the kernel for the polygon shape starts with rounded corners.
The star shape, or the heart shape, or reauleaux shapes don't have that. I could try to put a step between the shape kernel and the loops to go through d3, svg, path-to-points. That would work for the star, but wouldn't for many of the other shapes. They aren't sampled evenly. I don't have a good place to put a "final step" to send all the vertices through d3. But that wouldn't make sense for many of the shapes.
I think this is most of the benefit of the d3 approach, so I like it better.
I still would like to replace the grow (scale) and spin (rotate) funtions with user customizable math. That may be pretty simple to do.

The master branch has rounded corners and math functions for grow and spin.
Thanks for everything, @msurguy. I am hoping to release this soon. Also in master is SVG output.
Here is a preview:

@jeffeb3 this is beautiful!
Thanks for letting me know, I tried out the master branch and it worked perfectly!
Couple cents I'd like to pitch in:

Don't evaluate math functions on every keystroke, rather do it on blur or on some time interval (like 1 second) since it can kill your browser or do too many calculations while trying to eval
Would be cool to have Randomize button for scale and spin. I got my randomizer from @anvaka's repository here: https://github.com/anvaka/fieldplay/blob/master/src/lib/generate-equation.js , here's my take on it, with math.js functions: https://github.com/msurguy/flow-lines/blob/master/src/lib/function-generator.js


Typo in Get-AzRoleAssignment command

The example command to list the role assignments for a service principal has a typo.  The paramater "-ServicePrincipalName" is misspelled Prinicpal
Get-AzRoleAssignment -ServicePrinicpalName ServicePrincipalName

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

ID: c6a900c4-851f-eee4-fbae-412c461c8b27
Version Independent ID: 84b2cbcb-1f11-9a6d-23fd-5c8d76453fa8
Content: Use Azure service principals with Azure PowerShell
Content Source: docs-conceptual/azps-1.4.0/create-azure-service-principal-azureps.md
GitHub Login: @sptramer
Microsoft Alias: sttramer

Fixed.


ISPN-14115 Potential deadlock in index writer threads under heavy load

https://issues.redhat.com/browse/ISPN-14115
Without the commit https://github.com/infinispan/infinispan/pull/10292/commits/ac8ab8491ee41ebd6780d05e72764d8f86fbbc58 the reproducer hangs running the script on my local machine:
#!/bin/bash

mvn clean install -pl query -am -DskipTests
mvn clean install -pl query

let me know if it is the same for you.

@yrodiere please review it when you have time

LGTM, see comments below.

Thanks for the review @yrodiere!

The two operations are unrelated since they apply to two different indexes.
They literally affect two different files on the filesystem.
They can execute in any order, so I'm not sure how what you're suggesting
would change anything....
Le mer. 7 sept. 2022, 23:44, William Burns @.***> a
écrit :

@.**** commented on this pull request.
In query/src/main/java/org/infinispan/query/backend/QueryInterceptor.java
https://github.com/infinispan/infinispan/pull/10292#discussion_r965326428
:

       // We don't need to wait for a possible removeFromIndexes operation,

       // since if it exists, the oldValue is UNKNOWN or replacedWithADifferentEntity is true,

       // which implies that the delete and the add operations are related to different indexes

So given this change it makes me think that the removeFromIndexes
operation cannot complete successfully until the updateIndexes invocation
has occurred. Can we not just invoke updateIndexes first and then call
removeFromIndexes?
—
Reply to this email directly, view it on GitHub
https://github.com/infinispan/infinispan/pull/10292#discussion_r965326428,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADEZTUWMSSSZLX2D4HZEUTV5EEE5ANCNFSM6AAAAAAQGV5UEA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Thank you!


Some Screens and GameAPI stuff

Some leftovers from failed attempts at accessing the actual inputs in the game
Since i wrote down at least some of the variables types decide to make pr

If anyone want's to experiment, pattern for InputTable
.find_after_inst("41 0F 92 C1 48 C1 E0 05"_gh)
.decode_pc()
.at_exe()

Nice we can use the input_index to assign a controller to a player spawned mid game from the Game->Players menu.

If anyone want's to experiment, pattern for InputTable

Yeah my controllers seem to be setting stuff around there somewhere, and above it is a giant block of 00s that all the they keyboard keys are setting.

I guess I'll merge this garbage first and add all the input stuff I figured out from your stuff to my pr...


Increase CalculateCellMetrics memory

Purpose
Unfortunately a few shards are still failing in the CalculateCellMetrics task for the production workflow so this PR increases the memory even more.

Replaced with https://github.com/HumanCellAtlas/skylab/pull/260


chore(golang): remove glide, use go mod, use latest hephy/go-dev

Signed-off-by: Cryptophobia<EMAIL_ADDRESS>Removing glide files and using go mod thanks to work by @ess ! :bowing_man:

Build passes so I will merge !

Nice!


test: e2e three layer object embedded

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows conventional commit format
[x] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[x] Other... Please describe: add test

What is the current behavior?

Issue Number: #159
What is the new behavior?
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information

:tada: This PR is included in version 0.10.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


cmd basic authorization bug

First I enable api auth with basic backend, then use cmd to create a capture with TTL, the client reports error:

"2020-07-06T18:25:56.107+0800    ERROR   client/client.go:64 exitOnError ubu1804: Failed to create capture, 401 Unauthorized: 401 Unauthorized"

for example:

skydive client capture create --username admin --password admin --analyzer <IP_ADDRESS>:8082 --gremlin "G.V().Has('Name', 'tap1974bfbf-32', 'Type', 'tun')" --ttl 60000

The patch to fix it.
diff --git a/graffiti/http/client.go b/graffiti/http/client.go
index f179ea52..b3626a00 100644
--- a/graffiti/http/client.go
+++ b/graffiti/http/client.go
@@ -94,13 +94,14 @@ func (c *RestClient) Request(method, path string, body io.Reader, header http.He
 		return nil, err
 	}

+	if header != nil {
+		req.Header = header
+	}
+
 	if c.authOpts != nil {
 		SetAuthHeaders(&req.Header, c.authOpts)
 	}

-	if header != nil {
-		req.Header = header
-	}
 	if req.Header.Get("Content-Type") == "" {
 		req.Header.Set("Content-Type", "application/json")
 	}

Sorry, I completely missed this one. Thank you for reporting the issue and providing the fix !
https://github.com/skydive-project/skydive/pull/2279


Fix pdfjs-dist/webpack causing errors with certain configs

Using require.resolve("worker-loader") to check if worker-loader is installed causes webpack to include worker-loader in the output bundle (see docs), which is not the intended effect. Aside from increasing the bundle size unnecessarily, it also causes errors for webpack configs with targets that don't have node's built-in modules.
These errors can be fixed by configuring webpack externals to exclude worker-loader, but it's more difficult to figure out this solution than to figure out that worker-loader needs to be installed (even without this explicit error message).
To solve this, the explicit check for worker-loader has been removed. An alternative solution would be to use webpack's resolveWeak. Documentation has also been added in examples/webpack to help users.
The check was originally added in PR #11474. I've set up a minimal project to demonstrate the issue here.

Thank you for your contribution!


Stake delegation

RIght now it is only app.jsx under treasury-dao.near that has "stake-delegation" as a route. Based on that we want to have a creation flow for instances, we should have a common app.jsx for all instances and have features like stake delegation configurable.


Remove check in recipients array

This is an attempt to fix #3.

This fix should be merged, it has fixed the bug for me.
Thanks ojhaujjwal !

@Bogardo. this is a 2 line PR man and an important fix I think.

fixed it for me as well. great job @ojhaujjwal .


Multiple HTTP writes

Mocket now support urequests (https://pypi.org/project/urequests/)
Thanks to @amotl for the perfect explanation at #111 and the related test at https://gist.github.com/amotl/015ef6b336db55128798d7f1a9a67dea.

Coverage decreased (-3.03%) to 95.646% when pulling 5fe48dff4cacedbb94fe9fdf6a18e0bcb62da246 on fix/issue-111-second into ef2d1d56bdbcc774171747791235e9c5ac7598a4 on master.


adding clipboard again

adds ability to copy/paste patterns. #118
notes:

unlike previous version, taking advantage of clipboard object so we no longer have to have a hidden text input
removed group.children client-specific property in favor of using group.data.children (property given by the API).
added group.tree property, this is a data structure shared amongst all groups that is a tree structure. previously, in order to build the data for the Group Tree widget we did a recursive tree search. instead, we now just add/remove nodes to the tree structure w/o any search as we get signals from the API.

the Group Tree widget was causing stack overflows when copying/pasting tons amount of blocks, so that is why that optimization is included in this PR.

:relaxed: :relaxed:


Validate PSet changes in python2 and python3 environment with different workflows

Impact of the new feature
Re-Validate changes in PR #10179 with:

Full battery of DMWM/Integration tests
DQM, stepChain, taskChain workflows,
T0 Replays
RelVal Tests with python3 environment

Is your feature request related to a problem? Please describe.
This is related to the decoupling of CMSSW and WMCore python versions
Describe the solution you'd like
Solution is using the changes in PR #10179
Additional context
https://github.com/dmwm/WMCore/wiki/List-of-PSet-tweaks-applied-by-WMAgent-during-job-runtime

Current status: PYTHONPATH environment fix introduced a bug in StepChain workflows. This has been fixed in the PR. There is a new error in one Taskchain workflow (PUMCRecyc) that I'm investigating, related to --skip_pileup_events

This issue is likely depending on this one to be sorted first: https://github.com/dmwm/WMCore/issues/10642

Jhonatan confirms things are working (even though a new issue might be created). Closing


Add clockset.sh to npm package.

Add clockset.sh to the npm package.

Coverage remained the same at 34.841% when pulling bf66a2ffb2933e522308b0bc6520d30f54ef6d34 on moomoobloo:wip/package-clockset into 4920674d56bfc31b57385c600a77b3aadce9c081 on openaps:dev.

Coverage remained the same at 34.841% when pulling bf66a2ffb2933e522308b0bc6520d30f54ef6d34 on moomoobloo:wip/package-clockset into 4920674d56bfc31b57385c600a77b3aadce9c081 on openaps:dev.


add option to use random tokens for python benchmarking

add option to use random set of tokens for benchmark instead of generating a prompt with the help of the LLM. This option helps to reduce benchmark time.

Minor comments. otherwise, the pull-request looks good.

Thanks for the review


All day events are being displayed wrong

If you choose to make your event an all-day event, the date of the event is being displayed 1 day before the actual event.
For example, a March 9 all-day event is displaying as March 8.

I thought maybe the offset wasn't matching, but my timezone ID looks to be correct.
timeZoneId : 'America/New_York',

Does this need an timezone parameter?

According to the google calendar API docs, it seems that they do provide an optional timeZone parameter on the events list endpoint. It should default to the calendar's default timezone, so if you are displaying the events in a different timezone than the calendar is set to, then I believe adding the timeZone parameter would fix any issues like this.
Update incoming.

@cjohara It didn't seem to have any effect. I'm just using the default timezone set in my calendar which is -4 hours from GMT. Google's timezone name for this is America/New_York. What's happening regardless if I set a timezone or not, is that it seems to be applying -4 hours to all day events making them display a day prior. In words, all day events are starting at 8pm the day before.
Without modifying any of your code, you can see for yourself. Just make an event all day by checking the all day input box. Let me know if you're getting the same result.

As I dig in a bit more, I think I know what the issue is. I am going to be doing some more tests, but I think it actually has to do with how the date gets formatted on the plugin side. I don't believe that the timezone is taken into account when determining the start time.

@djmtype please take a look at the new v2.0.0 release.


ability to set default value?

Is there any point in adding an option to set a default value for a field?
like:
body('limit').optional().defaultValue(10)

this would set req.body.limit to value 10 if it is not given.

No. This request is quite out of scope for express-validator.
I tried searching for it, but I couldn't find related libs, though.
Should be easy to implement with _.defaults/_.defaultsDeep from Lodash, for example.


Fix: #1314 mei basic unclear status of attribute classes

comment out references to deleted attribute classes as mentioned in #1314

@bwbohl I think it points to the wrong target branch?

@bwbohl I think it points to the wrong target branch?

fixed


[AspireDeployment] JSON RPC Environment type should include detailed Resources data

EnvironmentService provides various endpoints that return an Environment object(s). Currently, Environment contains data about the related resources to it (e.g. Container Registry, ACA, etc.) as a key-value-pair entry in the Properties member.
For VS IDE, it would be better if the detailed information for each resource is also included in the Environment object. I.e., Link to portal, type, etc.
Signatures or return type/data would be changed, so VS IDE should be informed to adjust current API contracts.

@weikanglim
I put a (draft) PR with an initial definition of the Resource data in the Environment: https://devdiv.visualstudio.com/DevDiv/_git/WebTools/pullrequest/528833
Look at:

Rpc/Contracts/Models/Environment.cs
Rpc/Contracts/Models/Resource.cs


⚠ Bofrost.fr has degraded performance

In 50ee579, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1095 ms

Resolved: Bofrost.fr performance has improved in ac48443 after 6 minutes.


Catch invalid API_KEY

https://github.com/mathiasose/slacker_log_handler/blob/master/slacker_log_handler/__init__.py#L27
Slacker throws an error where there is invalid API_KEY. It'd be nice to be able to handle this error or not throw error, without it complete app collapses

I've been thinking about the best way to handle this.
Crashing the app is bad, but so is failing silently.
And logging the error may cause an infinite loop depending on the log configuration.
I made a PR with the option for failing silently that must be explicitly enabled.
Going to leave it unmerged for a few more days in case someone comments with a better solution.

I've been thinking about the best way to handle this.

https://django-slack.readthedocs.io/#slack-fail-silently
Fail silently && !DEBUG
    // don't crash


Calling IQueryable-producing methods inside expression tree throws exception when outer is enumerated: "A second operation started on this context before a previous operation completed. Any instance members are not guaranteed to be thread safe."

When creating a query, if I call a method that returns an IQueryable inside an expression, when the query is enumerated, an exception is thrown, as though both the outer Queryable and inner Queryable are trying to enumerate simultaneously.
I can work around this by introducing a variable that represents the inner IQueryable, and reference that from within the Expression.  In prior versions of EntityFramework, though, up through at least EF Core RC1, the direct method call approach used to work without a hitch.
Exception message:

System.InvalidOperationException: A second operation started on this context before a previous operation completed. Any instance members are not guaranteed to be thread safe.

Stack trace:
Microsoft.EntityFrameworkCore.Internal.ConcurrencyDetector.EnterCriticalSection()
   at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider.ExceptionInterceptor`1.EnumeratorExceptionInterceptor.MoveNext()
   at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
   at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source)
   at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
   at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider.<_TrackEntities>d__15`2.MoveNext()
   at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider.ExceptionInterceptor`1.EnumeratorExceptionInterceptor.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at TestApp.Services.BloggingService.GetBlogsWithPosts() in c:\users\jeremy\documents\visual studio 2015\Projects\TestApp\src\TestApp\Services\Services.cs

Simple Repro Case
Using samples from https://docs.microsoft.com/en-us/ef/core/get-started/
public class Repository<T> where T : class
{
  // where BloggingContext is from https://docs.microsoft.com/en-us/ef/core/get-started/aspnetcore/new-db
  private readonly BloggingContext _bloggingContext;

  public Repository(BloggingContext bloggingContext)
  {
    _bloggingContext = bloggingContext;
  }

  public IQueryable<T> Find()
  {
    return _bloggingContext.Set<T>().AsQueryable();
  }
}

public class BloggingService
{
  private Repository<Blog> _blogRepository;
  private Repository<Post> _postRepository;

  public BloggingService(/*...*/) { /*...*/ }

  public IList<Blog> GetBlogsWithPostsFailMethodSyntax()
  {
    return _blogRepository.Find()
      .Where(blog => _postRepository.Find().Any(post => post.BlogId == blog.BlogId))
      .ToList(); // fails
  }

  public IList<Blog> GetBlogsWithPostsFailQuerySyntax()
  {
    return (from blog in _blogRepository.Find()
           where _postRepository.Find().Any(post => post.BlogId == blog.BlogId)
           select blog).ToList(); // fails
  }

  public IList<Blog> GetBlogsWithPostsSuccess()
  {
    var postQuery = _postRepository.Find();
    return _blogRepository.Find()
      .Where(blog => postQuery.Any(post => post.BlogId == blog.BlogId))
      .ToList(); // succeeds
  }
}

Further technical details
EF Core version: 1.1.0
Database Provider: Microsoft.EntityFrameworkCore.SqlServer 1.1.0
Operating system: Windows 10
IDE: Visual Studio 2015

@anpete Can you investigate whether this is something that should work, but is being detected as a concurrency issue, or something that just won't work.

so when is the fix planning to release?

@arisliang As the milestone says, it will be included in the 2.0 release, which will be out pretty soon now.

@ajcvickers I am also having issue with this query

var parent = _service.NavigationStore.AsQueryable().Where( p => p.ParentId == null && p.ExtensionName.Equals( exn,StringComparison.OrdinalIgnoreCase ));
var child = _service.NavigationStore.AsQueryable().Where( p => p.ParentId > 0 && p.ExtensionName.Equals(exn, StringComparison.OrdinalIgnoreCase));

// joining with same table here
var data =  parent.GroupJoin( child, p => p.Id, c => c.ParentId,
    ( p, g ) => new { Parent = p, Children = g  } ).ToList();

Exception message A second operation started on this context before a previous operation completed. Any instance members are not guaranteed to be thread safe.
Am i doing wrong or its entity framework itself?


openload.co not download

ERROR: p7ROawY_8Pk: Can't find stream URL;

Already fixed. Wait for the next release.


[CI][TEST] Temporary disable nmsv4 test

Temporary disables tests introduced in https://github.com/apache/incubator-tvm/pull/6085 to avoid outrage

cc @tmoreau89 @csullivan @kevinthesun

@csullivan is looking into it and i think we can re-enable it once we send the fix


Fix/memory leak

Replaces calls to unload() with remove(), which causes the ogre shared pointer to be removed from the singleton texture/material manager. On my machine (jade, OS X 10.11) This significantly reduces the rate at which rviz consumes memory when the map is repeatedly reloaded. Care to give it a test @chataign ?

Tested on Ubuntu 14.04 with jade. Confirmed that there is definitely a memory leak when using Ogre::MaterialManager::unload(). Memory usage grows rapidly (when forcing frequent reloads). Leak goes away when using remove(), memory usage is stable. Nice catch!


Pure rust mDNS/Zeroconf implementation

librespot currently depends on dns-sd for service registration. This makes build quite painful / impossible on windows and is currently optional for this reason.
A pure rust implementation of mDNS and Zeroconf would fix this by removing this dependency.

On many Linux system avahi is available. Why not use a Rust binding to avahi?

Avahi provides a dns-sd compatibility layer which seems to work fine (The Debian package name is libavahi-compat-libdnssd-dev)
A native Avahi binding would be nice but not a priority for now.
The main problem is windows, and small embedded Linux devices on which running Avahi may not be desirable.

... and small embedded Linux devices on which running Avahi may not be desirable.

Why not? Is it because of the size? I am using the avahi-client library on an ARMv5 device for shairport-sync:
   text	   data	    bss	    dec	    hex	filename
 178734	   1736	     32	 180502	  2c116	hbm10/output/target/usr/lib/libavahi-core.so.7.0.2
  51072	   1056	     28	  52156	   cbbc	hbm10/output/target/usr/lib/libavahi-client.so.3.2.9
  38069	    868	     68	  39005	   985d	hbm10/output/target/usr/lib/libavahi-common.so.3.5.3
  29864	   1428	    180	  31472	   7af0	hbm10/output/target/usr/lib/libavahi-gobject.so.0.0.4
   7611	    412	     48	   8071	   1f87	hbm10/output/target/usr/lib/libavahi-glib.so.1.0.2

I most confess I am not sure if all library files are necessary...

Avahi provides a compatibility layer with Bonjour. But Bonjour also works on Windows, so it could be used on all three. It's usually discouraged to do your own DNS resolution & registration over the system's...

@joerg-krause using the avahi-client library requires the avahi daemon, which is fairly overkill if librespot is the only service requiring it.
It also makes cross compiling harder. The only two dependencies which cannot be built by cargo currently are bonjour (or avahi's compatibility layer) and portaudio. I'm working on removing the latter, so removing bonjour would be the last step to an easy cross compilation.
An alternative would be to have cargo and the GCC crate build avahi-client from source.
@alexchandel I think someone tried a while back to get librespot to link to bonjour on windows but failed. I don't have a windows box myself so I can't try.
Multiple mDNS responders on a single machine is permitted by the RFC, just not recommended. In my experience I've found it to work without any trouble

@plietar With avahi version 0.6.32 it's possible to build the avahi-client without the daemon: https://github.com/lathiat/avahi/commit/54086a11033194e629b6ad7039bcb4fb1628e052
I would argue that avahi is available on most Linux distributions, and it's out for years now. And cross-compiling avahi shouldn't be that hard.

@plietar Be sure to use the latest version of bonjour for windows. Since bonjour/avahi-compat is essentially a missing OS component (mDNS/SD-SD), why not just install it?
@joerg-krause Avahi does not work on OS X or Windows, as its implementation uses both posix and linux-specific glibc symbols, so it is very hard (i.e. impossible) to cross-compile it, since OS X isn't linux and Windows has infinitesimal posix support. On the other hand, the bonjour API is callable on all three platforms.

Personally I agree with alex here. OSX comes with DNS-SD, Windows can install the Bonjour package, and this can be done silently and installation could even be included in the librespot compile script. Linux has avahi. Between them, they cover pretty much every system librespot will run on, with the added benefit that they are tried and trusted for years, as opposed to another rust component that needs to be maintained.

installation could even be included in the librespot compile script

Definitely not.
Has anyone been able to build librespot with discovery on windows ? Not that I'm aware of. If so please contribute building instructions.
I also want cross compilation to be as easy as cargo build --target=arm-unknown-linux-gnueabihf. But today it isn't because of the avahi and portaudio dependencies.
If someone can solve these problems without including a zeroconf implementation in librespot I'd be happy to merge it. In the meantime, I still consider this an issue (albeit of low priority, since discovery isn't such a critical feature, and can be disabled).

By using Bonjour on Windows, do you mean Apple's Bonjour from here? https://support.apple.com/kb/DL999
That may be a dead end, because the last update of it is from 2010. I think that was a port of mDNSResponder responder to Windows, which has been replaced since OS 10.10 with discoveryd.
Update: I see it is also integrated into iTunes for Windows: http://superuser.com/questions/491747/how-can-i-resolve-local-addresses-in-windows

@alexchandel I thought in terms of different CPU architectures (ARM, Mips, ...) when speaking about cross-compiling, but you're right: building on Linux for OS X or Windows is cross-compiling, too.
mDNSResponder is available for Posix, Windows and OS X, although I never tried to use it.

lol I thought in the complementary terms. OS X is Posix, but not Linux.
@herrernst discoveryd does not replace mDNSResponder. It briefly did, but was scrapped immediately and merged back. mDNSResponder is the standard and is actively developed, though it's pretty stable. The link on their website is old for some reason, and might merit a bug report. The build that ships with iTunes for windows is updated regularly, and it's not hard to extract its msi from the iTunes msi.
I've never tried to build it from source before, but I'd be interested in how it goes.

@alexchandel You're right, mDNSResponder still runs on 10.11, and it's easy to extract it from the iTunes msi for Windows.

@herrernst I'm not sure whether you'd prefer bundling/requiring that be installed on windows, or compiling it yourself. Given the Bonjour license however, there's nothing wrong with just hosting it online somewhere.

I have problems seeing the librespot deamon in Spotify in discovery mode because dns-sd is not enabled. I've installed avahi and configured some things(domainname.etc.) in the config but still running in this Error.. I'm sure I missed something but right now I don't know where to ask (plietar's twitter seems not to match the github profile) and hope for a quick hint in here. Warm regards!

@Delacor head over to the gitter chatroom and ask your question prefixed with @plietar that is probably the best way to reach him. Or he might respond here...
Gitter chatroom: https://gitter.im/sashahilton00/spotify-connect-resources


cannot close the peek problem display

Issue Type: Bug

Generate a problem
Hover the cursor to the problem and select the Peek Problem button
Close the Peek Problem display
If we try step 2 for the same problem it won't open
It can be opened again using step 2 with another problem or Alt+F8 however it won't show the navigation buttons.

VS Code version: Code 1.32.1 (05f146c7a8f7f78e80261aa3b2a2e642586f9eb3, 2019-03-08T00:51:49.278Z)
OS version: Windows_NT x64 10.0.17134

Fixed.


229 gtag temp bug fix

Trello card: https://trello.com/c/K6GY0FNG/229-vvv-eee-add-google-analytics-with-cookie-banner-functional-with-page-tracking-some-events
Description

Revert to always loading the config, but only send data if accept after that initial load
More permanent bugfix: https://trello.com/c/yQyStmiy/474-when-i-accept-there-is-a-gtag-not-defined-error-that-stops-page-from-loading-until-i-refresh-the-page

@neontribe/sea-map

closing as too much stuff in here.


Documentation issue?

Hi, I think there is an issue in  /doc/whats-new.markdown
in sample code for Version 2.0, in the response.failed.forEach - Loop its used token but, token is unknown there. I think it should be failure.device instead, isn't?
And a quick question ... how many recivers can be handled in an array for one send-call? Didn't found infos right now.
thanks for the lib!

Your are correct. I fixed the example.
There is no limitation on the number of receivers.


gitignore eclipse/zend-studio

to ease the git :)

You could also put that into a personal, global gitignore list
Example ~/.gitconfig
[core]
excludesfile = ~/.gitignore
# many more config

My own global .gitignore file is viewable at https://github.com/alister/dotfiles/blob/master/gitignore as are other configs like my .gitconfig

👍  for per-user global gitignores. Mine is at https://github.com/pda/dotfiles/blob/master/gitignore and loaded by https://github.com/pda/dotfiles/blob/master/gitconfig#L34


New option for setting the 'required' attribute on the date picker input element.

I've added a simple boolean attribute to the Datepicker that allows you to set the input element's 'required' attribute.
In order to pass the pre-commit hooks, I had to disable the NextJS-related ESLint plugins when committing, and also change the line order in a couple files.

@onesine any chance to land this PR? Thank you in advance.

Looking for this as well

Great addition! I'm looking for this feature as well, please approve and merge!

Hello @scrappergus, @alphabetek, @idevstuffs 👋.
Sorry for the late reply.
Thanks for the contribution @scrappergus.

The commit was failing pre-commit hooks, so in order to create the pull-request, I had to.
Gus Clemens
@.***

On Aug 12, 2024, at 7:55 AM, Lewhe Onesine @.***> wrote:
@onesine commented on this pull request.
In .eslintrc.json https://github.com/onesine/react-tailwindcss-datepicker/pull/182#discussion_r1713822967:

@@ -10,8 +10,7 @@
"plugin:react/recommended",
@.***/recommended",
"plugin:prettier/recommended",

   "plugin:react-hooks/recommended",

   "next/core-web-vitals"

Why remove this plugin
In .eslintrc.json https://github.com/onesine/react-tailwindcss-datepicker/pull/182#discussion_r1713823380:

@@ -27,7 +26,7 @@
"version": "detect"
}
},

"plugins": ["react", @.", "import", "prettier", @./eslint-plugin-next"],
Why remove this plugin

—
Reply to this email directly, view it on GitHub https://github.com/onesine/react-tailwindcss-datepicker/pull/182#pullrequestreview-2233103447, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAN3OGLHS6JPXL32MQONNA3ZRC5F5AVCNFSM6AAAAAA3QGFMAGVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDEMZTGEYDGNBUG4.
You are receiving this because you were mentioned.


Updated all dependencies using cargo upgrade.

The big changes are the new gltf crate version and glutin + winit.
The ./tests/load_all_samples.sh has the same output as on master, one of the sample models fail:
...
Saved 800x600 screenshot to target/screenshots/2018-08-16_12-58-05/Monster.png
thread 'main' panicked at 'assertion failed: `(left == right)`
  left: `1`,
 right: `0`: not yet implemented: tex coord set must be 0 (Material::from_gltf)', src/render/material.rs:126:5
note: Run with `RUST_BACKTRACE=1` for a backtrace.
Saved 800x600 screenshot to target/screenshots/2018-08-16_12-58-05/NormalTangentMirrorTest.png
...

EDIT: Tested on Ubuntu 18.04, Radeon R9 290, Mesa 18.1.5, 1920x1080 screen, dpi factor 1.0.

Issues should be fixed now should I squash?
I left Node.matrix where it is for now, good enough? :)

It's fine :)
One small issue I found is that when dragging the window between a High-DPI screen and a normal screen, the viewport within the window becomes too large / to small because no resize is triggered, but only HiDpiFactorChanged. A manual resize fixes it. I'm merging anyway :)
And btw, I just implemented handling for a second texture coordinate set (in a branch), so the NormalTangentMirrorTest should render fine soon.

Yeah there's something fishy with the resize related code, but it's the same on the old master. On X11 the framebuffer or perspective is not properly updated on resize. I'm going to take a look at that now, just wanted to get everything updated first :)


Is it possible to export the private key?

Is it possible to export the private key?

Yes, it is possible to export and import private key.
General explanation:

the software that I have ported as a reference/experimental  CoinGreen implementation is the original bitcoin implementation which is slightly adjusted to be dogecoin reference implementation which is further adjusted to be CoinGreen
this software is really a command-line utility wrapped into very thin GUI
Gui provides for just a several basic functions,   most of the capabilities are available through embedded console
console is slightly adjusted bitcoin console. There is good online help here

How to export private key

Start the client
Open console - select Help/Debug windows/Console
In the command prompt enter 'listaccounts'   that will give you one or more accounts
In the command prompt enter 'getaddressesbyaccount  '  that will give you an address for selected account
In the command prompt enter 'dumpprivkey  '

Note.
If the wallet is encrypted, an extra step is required.  https://www.reddit.com/r/dogecoin/comments/1x6xvp/how_do_i_find_my_private_key/


How to get more city id?

Hi,How to get more city id, can the city id be obtained from latitude and longitude?

Hi, unfortunately this is not possible, because the RBB weather data is restricted to the local cities in Berlin and Brandenburg (Germany). Sorry 😞


Ember 1.13.6 - unable to set start date or end date

I'm getting an error of Uncaught TypeError: Cannot read property 'datepicker' of undefined for startDate and endDate.
A bit of digging shows that it is caused by line 78 in addon->components->datepicker-support.js
this.$() is returning undefined.
Can someone else verify that this is a bug.
If it's not just me I'd be happy to work on a fix and make a pr

Which version of ember-cli-bootstrap-datepicker are you using?

1.3.7  I just saw that is was fixed by [this commit] (https://github.com/soulim/ember-cli-bootstrap-datepicker/commit/62f46963d9221550476e2ef67cd44df28d0fa490)


Setting up new environment leads to compile error

I am new the project and am getting my environment up and running.
npm install fails on compiling the contracts with the errors at the bottom of this issue.
It seems to be related to the recent change: Pegged contracts to a specific Solidity version
Reverting that change, or bumping the version to the same version as the identity contracts,  allows the project to compile again and run. I'd open a PR , but the change is so recent it certainly meant to address some other issue.
Errors:
/Users/dclements/crypto/origin/origin-js/contracts/contracts/Purchase.sol:1:1: SyntaxError: Source file requires different compiler version (current compiler is 0.4.23+commit.124ca40d.Emscripten.clang - note that nightly builds are considered to be strictly less than the released version
pragma solidity 0.4.21;
^---------------------^
,/Users/dclements/crypto/origin/origin-js/contracts/contracts/PurchaseLibrary.sol:1:1: SyntaxError: Source file requires different compiler version (current compiler is 0.4.23+commit.124ca40d.Emscripten.clang - note that nightly builds are considered to be strictly less than the released version
pragma solidity 0.4.21;
^---------------------^
,/Users/dclements/crypto/origin/origin-js/contracts/contracts/Listing.sol:1:1: SyntaxError: Source file requires different compiler version (current compiler is 0.4.23+commit.124ca40d.Emscripten.clang - note that nightly builds are considered to be strictly less than the released version
pragma solidity 0.4.21;
^---------------------^
,/Users/dclements/crypto/origin/origin-js/contracts/contracts/ListingsRegistry.sol:1:1: SyntaxError: Source file requires different compiler version (current compiler is 0.4.23+commit.124ca40d.Emscripten.clang - note that nightly builds are considered to be strictly less than the released version
pragma solidity 0.4.21;
^---------------------^
,/Users/dclements/crypto/origin/origin-js/contracts/contracts/Migrations.sol:1:1: SyntaxError: Source file requires different compiler version (current compiler is 0.4.23+commit.124ca40d.Emscripten.clang - note that nightly builds are considered to be strictly less than the released version
pragma solidity 0.4.21;
^---------------------^
,/Users/dclements/crypto/origin/origin-js/contracts/contracts/UserRegistry.sol:1:1: SyntaxError: Source file requires different compiler version (current compiler is 0.4.23+commit.124ca40d.Emscripten.clang - note that nightly builds are considered to be strictly less than the released version
pragma solidity 0.4.21;

I believe this has been fixed in the latest release... please reopen if not.

hi,
I also encountered this issue on my testing environment.  I just replace the version number "pragma solidity 0.4.23" as "0.4.24" in all contracts of ./origin-js/contracts/contracts/(Listening.sol .etc.), but didn't modify the contracts under ./origin-js/contracts/contracts/identity/ (ClaimHolder.sol  .etc.).  Then 'truffle compile' works well.
I'm still confusing that both the contracts under ./origin-js/contracts/contracts/* and ./origin-js/contracts/contracts/identity/* are the same version of "pragma solidity 0.4.23", why only the contracts of ./origin-js/contracts/contracts/* would complain the "SyntaxError"?
would you reproduce the above situation?
My env:
$ truffle version
Truffle v4.1.11 (core: 4.1.11)
Solidity v0.4.24 (solc-js)
thanks,
Zhilong

Oh, I see the root cause, I would send a pr for it.
Thanks
Zhilong

@zhilongliu invited you as a contributor.


Enable travis to publish to npm.

Perhaps a little overzealous of me to rewrite release process but I think less is more :smile: .  Very happy to raise a simpler PR that just does the npm publish parts if you'd prefer to keep the existing process.

Also to publish under the “fetch” name as offered by @andris9 you'll need to git tag v2.0.0 (we could +1 to the major version just for npm, but that's likely to get super confusing…

What do you want to do about the npm registry conflict?  Bump to v2.x.x or rename to something like whatwg-fetch ?

Oh wait, I knew this would be too good to be true.
Removing version from package.json this breaks installing via npm install github/fetch because that requires version to be defined.

What do you want to do about the npm registry conflict? Bump to v2.x.x or rename to something like whatwg-fetch ?

Yeah, I'd rather not change our versioning policy to fit it. npm can just be called whatwg-fetch. And still use fetch on bower.

OK, I've put in my encrypted deploy key for now.  Final thing… I found a workaround to the version-in-package.json problem:-
Would you prefer to leave the real version number in package.json (as it is now) and have to update that on every release or would you rather set the version in package.json to be 0.0.0 (described here)? (one less thing to update)

[If you're going to update this manually then don't need npm-prepublish at all and can ditch that dependency & complexity]

Would you prefer to leave the real version number in package.json (as it is now) and have to update that on every release

I don't mind bumping the version. Its cool with me.

@matthew-andrews thanks for getting this going! I think we're close to trying it out!

ping @josh should be good to go now.

[sorry for the massive number of commits — if you like I can close this and tidy up the history?]

lets do it

I'm going to prep a release shorty.

hm.  it didn't work :-/.  let me investigate.

Fetching: dpl-1.7.9.gem (100%)
Successfully installed dpl-1.7.9
1 gem installed
73.73s
dpl.1
Installing deploy dependencies
dpl.2
Preparing deploy
Authenticated with email<EMAIL_ADDRESS>/usr/lib/git-core/git-stash: 186: /usr/lib/git-core/git-stash: cannot create /home/travis/build/github/fetch/.git/logs/refs/stash: Directory nonexistent
dpl.3
Deploying application
npm ERR! publish Failed PUT 500
npm ERR! Error: pound_internal_server_error : whatwg-fetch
npm ERR!     at RegClient.<anonymous> (/home/travis/.nvm/v0.10.35/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js:308:14)
npm ERR!     at Request._callback (/home/travis/.nvm/v0.10.35/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js:246:65)
npm ERR!     at Request.self.callback (/home/travis/.nvm/v0.10.35/lib/node_modules/npm/node_modules/request/request.js:236:22)
npm ERR!     at Request.emit (events.js:98:17)
npm ERR!     at Request.<anonymous> (/home/travis/.nvm/v0.10.35/lib/node_modules/npm/node_modules/request/request.js:1142:14)
npm ERR!     at Request.emit (events.js:117:20)
npm ERR!     at IncomingMessage.<anonymous> (/home/travis/.nvm/v0.10.35/lib/node_modules/npm/node_modules/request/request.js:1096:12)
npm ERR!     at IncomingMessage.emit (events.js:117:20)
npm ERR!     at _stream_readable.js:944:16
npm ERR!     at process._tickCallback (node.js:442:13)
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR!     <http://github.com/npm/npm/issues>
npm ERR! System Linux 2.6.32-042stab090.5
npm ERR! command "/home/travis/.nvm/v0.10.35/bin/node" "/home/travis/.nvm/v0.10.35/bin/npm" "publish"
npm ERR! cwd /home/travis/build/github/fetch
npm ERR! node -v v0.10.35
npm ERR! npm -v 1.4.28
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /home/travis/build/github/fetch/npm-debug.log
npm ERR! not ok code 0
No stash found.

No idea what the "stash" it

not too worried about that — seems to be something funky in travis — happens on working builds:-
https://travis-ci.org/matthew-andrews/npm-prepublish/jobs/46489270
suspect this is a bug.  i think (although i can't find the build now) this is just that travis won't let you publish the first publish of a npm module via its deployment mechanism…  going to verify if that is true with another module i'm working on right now…

argh.  i suspect the rename will have broken things for some consumers too.
anyone who was using npm install github/fetch was tracking master and so got the new name the moment we hit merge…  and then if they were using node or browserify they'll need to update their requires from require('fetch') to require('whatwg-fetch')
:disappointed:

hmm. no, it's not that. worked perfectly for me:-
https://travis-ci.org/matthew-andrews/fetchres/builds/46795881

This is my best guess https://github.com/github/fetch/pull/63/files :/
[ partially based on this https://github.com/npm/npm/issues/6669 ]

anyone who was using npm install github/fetch was tracking master

Well that would have been very silly of them.

@domenic that's what the fetch docs used to advocate…
if we're playing the who's sillier than who game, i think it's sillier that npm doesn't provide a way of being able to install based on semver patterns via git urls, like bower can :P

also what's the point of npm providing an api like npm install org/repo if it's silly to use it…?

@josh just to keep the tag history clean, i think i'll manually publish 0.5.0 and i'll keep an eye on the new versions and make sure the future ones happen automatically

@matthew-andrews I've just pushed tag v0.10.0 but npm deploy seems to be failing possibly due to API keys having changed format? https://travis-ci.org/github/fetch/jobs/84903954
Could you help me out here?
Deploying application
NPM API key format changed recently. If your deployment fails, check your API key in ~/.npmrc.
http://docs.travis-ci.com/user/deployment/npm/
~/.npmrc size: 49
npm ERR! publish Failed PUT 500
npm ERR! Error: unexpected status code: 401 : whatwg-fetch

Yep that's right…  Do you want me to update the key or would you prefer to transfer this to your npm account?

Yeah I guess I'll just switch over to my credentials so we don't have to bug you each time this changes. Thanks!

@matthew-andrews So I'm @mislav on npm. How do we transfer your package?

@mislav you should be able to publish now :smile:
npm owner add mislav whatwg-fetch
+ mislav (whatwg-fetch)

Thanks! That worked


Bump vue version to 2.3.0

I think it's better to add vue-hot-reload-api devDependencie

seems it's unnecessary to update minor version? It will always install the latest 2.y.z

Closing this as version is already surpassed.


[in_app_purchase][iOS] Uncompleted PurchaseDetail items have applicationUsername set to null following restart

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce
On iOS:

Initiate a purchase -- passing in a UUID to the applicationUserName argument of the PurchaseParam object -- but force the verification of the purchase to fail, so that it is not completed. Observe that when the PurchaseDetails item appears in the stream, its applicationUsername field (available via (purchaseDetails as AppStorePurchaseDetails).skPaymentTransaction.payment.applicationUsername) contains the UUID that was passed to the PurchaseParam object, as expected.
Restart the app. A PurchaseDetails item appears in the stream, for the uncompleted purchase. However, its applicationUsername field does not contain the UUID that was passed to the PurchaseParam object; it is null.

The documentation advocates the use of a UUID for applicationUsername, and suggests that as long as a UUID is used, it will persist.
On Android, the problem described above does not exist: the obfuscatedAccountId field contains the UUID passed to the applicationUserName argument of the GooglePlayPurchaseParam object, in both the PurchaseDetails item that appears before the app restart, and in the one that appears after the restart.
Note that, unlike in https://github.com/flutter/flutter/issues/109672, there is no explicit querying for restored purchases in the above sequence (i.e. in that issue, restorePurchases is called, and a specific applicationUserName argument is passed to it).
Expected results
Following app restart, the PurchaseDetails item that appears in the stream should have its applicationUsername field set to the UUID that was used when initiating the purchase (as the PurchaseDetails item that appeared prior to the restart did).
Actual results
Following app restart, the PurchaseDetails item that appears in the stream has its applicationUsername field set to null.
Code sample
import 'dart:async';
import 'dart:io';

import 'package:flutter/material.dart';
import 'package:in_app_purchase/in_app_purchase.dart';
import 'package:in_app_purchase_android/in_app_purchase_android.dart';
import 'package:in_app_purchase_storekit/in_app_purchase_storekit.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  runApp(const MyApp());
}

const String _cons1y = 'cons1y';
const List<String> _productIds = <String>[_cons1y];

class MyApp extends StatefulWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  final InAppPurchase _inAppPurchase = InAppPurchase.instance;
  late StreamSubscription<List<PurchaseDetails>> _subscription;
  List<ProductDetails> _products = <ProductDetails>[];
  bool _isAvailable = false;
  bool _purchasePending = false;
  bool _loading = true;
  String? _queryProductError;
  final uuid = '1293a822-417d-4edb-9b7c-4ee406b7b7d8';

  @override
  void initState() {
    super.initState();
    final Stream<List<PurchaseDetails>> purchaseStream = _inAppPurchase.purchaseStream;
    _subscription = purchaseStream.listen((List<PurchaseDetails> purchaseDetailsList) {
      _processPurchases(purchaseDetailsList);
    }, onDone: () {
      _subscription.cancel();
    }, onError: (Object error) {
    });
    initStoreInfo();
  }

  Future<void> initStoreInfo() async {
    final bool isAvailable = await _inAppPurchase.isAvailable();
    if (!isAvailable) {
      setState(() {
        _isAvailable = isAvailable;
        _products = <ProductDetails>[];
        _purchasePending = false;
        _loading = false;
      });
      return;
    }

    final ProductDetailsResponse productDetailResponse = await _inAppPurchase.queryProductDetails(_productIds.toSet());
    if (productDetailResponse.error != null) {
      setState(() {
        _queryProductError = productDetailResponse.error!.message;
        _isAvailable = isAvailable;
        _products = productDetailResponse.productDetails;
        _purchasePending = false;
        _loading = false;
      });
      return;
    }

    if (productDetailResponse.productDetails.isEmpty) {
      setState(() {
        _queryProductError = null;
        _isAvailable = isAvailable;
        _products = productDetailResponse.productDetails;
        _purchasePending = false;
        _loading = false;
      });
      return;
    }

    setState(() {
      _isAvailable = isAvailable;
      _products = productDetailResponse.productDetails;
      _purchasePending = false;
      _loading = false;
    });
  }

  @override
  void dispose() {
    _subscription.cancel();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    final List<Widget> stack = <Widget>[];
    if (_queryProductError == null) {
      stack.add(
        ListView(
          children: <Widget>[
            _buildProductList(),
          ],
        ),
      );
    } else {
      stack.add(Center(
        child: Text(_queryProductError!),
      ));
    }
    if (_purchasePending) {
      stack.add(
        const Stack(
          children: <Widget>[
            Opacity(
              opacity: 0.3,
              child: ModalBarrier(dismissible: false, color: Colors.grey),
            ),
            Center(
              child: CircularProgressIndicator(),
            ),
          ],
        ),
      );
    }

    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('IAP Example'),
        ),
        body: Stack(
          children: stack,
        ),
      ),
    );
  }

  Card _buildProductList() {
    if (_loading) {
      return const Card(child: ListTile(leading: CircularProgressIndicator(), title: Text('Fetching products...')));
    }
    if (!_isAvailable) {
      return const Card();
    }
    final List<ListTile> productList = <ListTile>[];
    productList.addAll(_products.map(
      (ProductDetails productDetails) {
        return ListTile(
          title: Text(productDetails.title),
          subtitle: Text(productDetails.description),
          trailing: TextButton(
            style: TextButton.styleFrom(foregroundColor: Colors.white, backgroundColor: Colors.green[800]),
            onPressed: () {
              if (Platform.isAndroid) {
                _inAppPurchase.buyConsumable(
                    purchaseParam: GooglePlayPurchaseParam(
                      productDetails: productDetails,
                      applicationUserName: uuid,
                    )
                );
              } else {
                _inAppPurchase.buyNonConsumable(
                  purchaseParam: PurchaseParam(
                    productDetails: productDetails,
                    applicationUserName: uuid,
                  ),
                );
              }
            },
            child: Text(productDetails.price),
          ),
        );
      },
    ));

    return Card(child: Column(children: productList));
  }

  void _showPendingUI() {
    setState(() {
      _purchasePending = true;
    });
  }

  void _handlePendingPurchaseCancelled(PurchaseDetails purchaseDetails) {
    setState(() {
      _purchasePending = false;
    });
  }

  Future<void> _deliverProduct(PurchaseDetails purchaseDetails) async {
    setState(() {
      _purchasePending = false;
    });
  }

  void _handleError(IAPError error) {
    setState(() {
      _purchasePending = false;
    });
  }

  Future<bool> _verifyPurchase(PurchaseDetails purchaseDetails) async {
    // Simulate verification of the purchase failing (say, because the backend is not reachable):
    return false;
  }

  void _handleInvalidPurchase(PurchaseDetails purchaseDetails) {
    setState(() {
      _purchasePending = false;
    });
  }

  Future<void> _processPurchases(List<PurchaseDetails> purchaseDetailsList) async {
    for (final PurchaseDetails purchaseDetails in purchaseDetailsList) {
      if (purchaseDetails is AppStorePurchaseDetails) {
        if (purchaseDetails.skPaymentTransaction.payment.applicationUsername != uuid) {
          // This is the problem: we want to ignore the uncompleted purchase item if it didn't originate from the
          // currently signed-in user (i.e. the user with id `uuid`), but following app restart, the purchase item's
          // `applicationUsername` field is `null`, thus making it impossible to know who attempted the purchase.
          // Note that in the purchase item that appears here prior to the restart, the `applicationUsername` field
          // *does* match `uuid`.
          continue;
        }
      }
      if (purchaseDetails.status == PurchaseStatus.pending) {
        _showPendingUI();
      } else if (purchaseDetails.status == PurchaseStatus.canceled) {
        _handlePendingPurchaseCancelled(purchaseDetails);
      } else {
        if (purchaseDetails.status == PurchaseStatus.error) {
          _handleError(purchaseDetails.error!);
        } else if (purchaseDetails.status == PurchaseStatus.purchased) {
          final bool valid = await _verifyPurchase(purchaseDetails);
          if (valid) {
            _deliverProduct(purchaseDetails);
          } else {
            _handleInvalidPurchase(purchaseDetails);
            return;
          }
        }
        if (purchaseDetails.pendingCompletePurchase) {
          await _inAppPurchase.completePurchase(purchaseDetails);
        }
      }
    }
  }
}

Screenshots or Video
No response
Logs
No response
Flutter Doctor output
[✓] Flutter (Channel stable, 3.10.3, on macOS 12.6.6 21G646 darwin-x64, locale en-GB)
    • Flutter version 3.10.3 on channel stable at /Users/jesper/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f92f44110e (3 weeks ago), 2023-06-01 18:17:33 -0500
    • Engine revision 2a3401c9bb
    • Dart version 3.0.3
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/jesper/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • ANDROID_HOME = /Users/jesper/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14C18
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

[✓] VS Code (version 1.78.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension can be installed from:
      🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 12.6.6 21G646 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 114.0.5735.133

[✓] Network resources
    • All expected network resources are available.

• No issues found!

Thanks for the detailed report and code sample. Using it in local project and applicationUserName being set as UUID and upon restarting the app, I observed the same as mentioned:
applicationUsername field does not contain the UUID that was passed to the PurchaseParam object; it is null.

 stable, master flutter doctor -v
[!] Flutter (Channel stable, 3.10.5, on macOS 12.2.1 21D62 darwin-x64, locale
    en-GB)
    • Flutter version 3.10.5 on channel stable at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 796c8ef792 (2 days ago), 2023-06-13 15:51:02 -0700
    • Engine revision 45f6e00911
    • Dart version 3.0.5
    • DevTools version 2.23.1
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] VS Code (version 1.62.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

[!] Flutter (Channel master, 3.12.0-7.0.pre.42, on macOS 12.2.1 21D62
    darwin-x64, locale en-GB)
    • Flutter version 3.12.0-7.0.pre.42 on channel master at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 04ff86f020 (2 hours ago), 2023-06-20 19:40:48 -0700
    • Engine revision e5a860c547
    • Dart version 3.1.0 (build 3.1.0-234.0.dev)
    • DevTools version 2.24.0
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/dhs/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for
      more details.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13C100
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] IntelliJ IDEA Ultimate Edition (version 2021.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 65.1.4
    • Dart plugin version 213.7228

[✓] VS Code (version 1.62.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.29.0

[✓] Connected device (3 available)
    • Darshan's iphone (mobile) • 21150b119064aecc249dfcfe05e259197461ce23 • ios
      • iOS 15.3.1 19D52
    • macOS (desktop)           • macos                                    •
      darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)              • chrome                                   •
      web-javascript • Google Chrome 109.0.5414.119

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] VS Code (version 1.62.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

same issue

@mvanbeusekom Is this one you could take a look at?

@stuartmorgan yes this is something we can look at.

I am facing the same issue. Previously, the callback used to contain the applicationUserName as authName but after the update or later, the callback does not include it. It is making it hard to validate the user assigned to the purchase

Yes. hope will fix soon

hope you guys will solve it soon, it's been almost 1 year 🥇

@stuartmorgan, did some additional debugging to see if this is an error in the plugin. I have put a breakpoint on the native implementation of the paymentQueue:updatedTransactions: method in the plugin and scanned the information received from the StoreKit framework. As per my suspicions the original transaction details also don't provide the applicationUsername value. The screenshot below show the details:

I have followed the instructions from the original poster and can confirm that with the initial verification the applicationUsername is provided, however when you restart the application and Apple sends the transaction again the applicationUsername parameter is not specified as part of the transaction details.
In short this isn't a bug in the in_app_purchase plugin, but simple how the StoreKit SDK behaves.
Regarding the documentation mentioned, Apple does explain the applicationUsername is persisted (provided it is in the form of an UUID value), however they only mention that it will be delivered via the App Store Server API, App Store Server Notifications or through the verifyReceipt method. These are all related to methods that should be handled by the applications backend system. There don't seem to be any specific references to the app specific APIs.


LaunchProtoData should clean the output dir only when needed

Now it does all the time:
internal fun setPreLaunchCleanup() {
    doFirst(CleanAction())
}

This forces the users always perform ./gradlew clean build. The clean task call is required to invalidate the input for generateProto task, which produces the input for launchProtoData. Otherwise, we end up with an empty target directory, which, in turn, breaks the compilation.

In relation to this task, please also pay attention to the ”gymnastics” with the file paths in the code of CleanAction. It used to filter out directories when wording with older Protobuf Gradle Plugins. Now it's a bit more simple, and we should just clean up our output directory.

@armiol, @dmdashenkov, this is the issue I'm having in core-java right now (together with test rejections not being generated). Since this is about the performance too, I think it should have more priority than just performance tests.
For now things do not work right. Let's fix them first before starting measuring things.


[BugFix]Make show partitions order by DataSize correctly

What type of PR is this：

[x] bug
[ ] feature
[ ] enhancement
[ ] refactor
[ ] others

Which issues of this PR fixes ：

Fixes #7249
Problem Summary(Required) ：

[FE PR Coverage check]
:disappointed: fail : 3 / 8 (37.50%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/monitor/unit/ByteSizeValue.java
1
6
16.67%

:large_blue_circle:
com/starrocks/common/proc/PartitionsProcDir.java
2
2
100.00%

[FE PR Coverage check]
:heart_eyes: pass : 2 / 2 (100.00%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/common/proc/PartitionsProcDir.java
2
2
100.00%


Challendge id4

rejected:ID4
reason:We cannot fully verify this submission. It looks like you are trying to submit ID4, however, it seems like we cannot find the transaction between your account and Concordium Test Account.

rejected:ID4
reason:We cannot fully verify this submission. It looks like you are trying to submit ID4, however, it seems like we cannot find the transaction between your account and Concordium Test Account.

It's a pity, but this is very strange. I remember exactly doing this job, sending a transaction by scanning qrcode.
Preliminary results were published today, and only there I saw that this work was rejected. Apparently I set up my github badly, since I did not receive a notification about this .. If I had learned about this earlier, I could have provided a screenshot of how I did it for the T1 task (https://github.com/Concordium/Testnet3-Challenges/pull/ 1137).
At the moment I am already participating in Testnet4, I have updated the application and I cannot make a screenshot, because there are new accounts there ..
It's a shame that the work was rejected.
Maybe I made a mistake and made a transaction from another account? can check this one: 4fzJnGvDijL55DTLQqoHFhC2EhfhG3QrT2JtstWdPymijVuWLa

It's a pity, but this is very strange. I remember exactly doing this job, sending a transaction by scanning qrcode.
Preliminary results were published today, and only there I saw that this work was rejected. Apparently I set up my github badly, since I did not receive a notification about this .. If I had learned about this earlier, I could have provided a screenshot of how I did it for the T1 task (https://github.com/Concordium/Testnet3-Challenges/pull/ 1137).
At the moment I am already participating in Testnet4, I have updated the application and I cannot make a screenshot, because there are new accounts there ..
It's a shame that the work was rejected.
Maybe I made a mistake and made a transaction from another account? can check this one: 4fzJnGvDijL55DTLQqoHFhC2EhfhG3QrT2JtstWdPymijVuWLa

@cryptovoyagr
This case does not get out of my head. I'm pretty sure I made this transaction by scanning the address from the wiki page. I am also sure that I used the account specified in submission.
Also, I am confused by the fact that this problem is not mine alone, I draw this conclusion from Testnet 3 Results.
Perhaps this is due to some problem that affected some of the participants?

confirmed:ID4
AccountAddress:4QXpbVZC1L2GrQjAXbccg1bCQT7VDV6xePNCDpEXNXQjqDNkbi
DeviceDetails:verified


Migration to Django4.0 : TypeError: init() got an unexpected keyword argument 'providing_args'

After modifying some source gettext_lazy, force_str...
I still have an error whe I run with Django4
avatar_updated = django.dispatch.Signal(providing_args=["user", "avatar"])
TypeError: __init__() got an unexpected keyword argument 'providing_args'

As you can see here, the "providing_args" parameter has never had a real functionality, so you can simply omit it or move the information to a comment, like so:
# Provides the arguments "user" and "avatar"
avatar_updated = django.dispatch.Signal()

@christianwgd thank you for your answer.
Actually I should had a look to others fork and pull request before trying to do it. But anyway I've done another fork for django4.0.
I tried to convert travis to github workflow but I have an error:
Run make test
flake8 avatar --ignore=E124,E501,E127,E128,E722
coverage run --source=avatar `which django-admin.py` test tests
No file to run: 'test'
make: *** [Makefile:8: test] Error 1
Error: Process completed with exit code 2.

Do you have an idea of my problem ? I am not very confident with this process.

You need to create the proper environment: Create a virtual environment and install the depended python modules ("pip install -r requirements.txt"). Have a look at the Makefile, you also have to set the two export statements from the top.
"test" is the parameter for the Django manage.py script. You can substitute 'which django-admin.py' with "test_proj/manage.py".
With that i was able to run the tests.

Fixed in version 6.0.0.


Try to compute the default menu offset from the eye poses

So we have a better default value.

An alternative to explore for rendering the menu quad is XrCompositionLayerQuad. It is a textured quad which the runtime projects in the view as if it would be a 3D rectangle floating in the 3D world. This is a standard composition layer type.

This would toggle the OpenXR runtime to full composition (requiring to flatten the 2 layers), which is undesirable for performance.

The code for #47 is cleaning up a bit the menu.cpp file and passing the eye poses to it, so it will be (soon) possible to do some maths to properly calculate an offset (but still allow the user to override it).


Remove ipfs-pubsub-room

Currently we are using both pubsub-room and orbit-db-pubsub for compatibility reasons. Let's remove pubsub-room before the 1.0.0 release of 3box-js

Estimated as 1 and assigned to you @zachferland  :)


decode the morse code and write methods to test it

Highlights

[x] Create method for decoding Morse code
[x] add linter configuration files

Thank you for approving the project @Gambit142


Media player source name is ugly

The media source name shown on media player tile is "ugly" (non-descriptive). At least for the component that I'm using to control my Sony Bravia TV (https://github.com/gerard33/sony-bravia-ha).
Let me show that in pictures:
This is how the tile looks like with any of the 4 HDMI sources selected (it shows same for all):

As you can see, it shows "extInput:hdmi" which is neither precise enough (shows same for all 4 hdmis) nor clean.
This is the list of sources shown on clicking the source name:

That looks nice and correct.
Here is the state snapshot of the entity:
{
    "entity_id": "media_player.mybraviatv",
    "state": "on",
    "attributes": {
        "volume_level": 0.1,
        "is_volume_muted": false,
        "media_content_id": "HDMI 4",
        "media_content_type": "tvshow",
        "media_title": "HDMI 4",
        "source": "extInput:hdmi",
        "source_list": [
            "HDMI 1",
            "HDMI 2",
            "HDMI 3/ARC",
            "HDMI 4",
            "AV 1",
            "AV 2/Component"
        ],
        "friendly_name": "MyBraviaTV",
        "supported_features": 23997,
        "_c": {
            "max": 100,
            "min": 0,
            "step": 2,
            "value": 10
        },
        "_sliderInited": true
    },
    "last_changed": "2018-07-17T21:46:06.771413+00:00",
    "last_updated": "2018-07-17T21:47:04.259447+00:00"
}

As you can see here, the better choice to show would be either attributes.media_title or attributes.media_content_id. Not sure which one is more "standard" or common.

Or possibly the component is doing a bad job here by not translating internal name to user-friendly one...

I have the very same issue as I'm a (not so) proud owner of 65' Sony Android TV (2015). We really need to test it as media_title could be showing name of the movie instead of the source etc. There could be situations where media_title could not be present at all etc. This could also be specific to that component.

I've created an issue for that component (referenced here) so we'll see if that can be fixed there.
As for TileBoard, I thought one can work-around it by disabling source and using subtitle instead, like:
...
hideSource: true,
subtitle<EMAIL_ADDRESS>...

but when turning on netflix for example, media_title (and also source) are disappearing completely...
"attributes": {
        "volume_level": 0.1,
        "is_volume_muted": false,
        "media_content_type": "tvshow",
        "media_series_title": "No info (resumed after pause or                                           app opened)",
        "source_list": [
            "HDMI 1",
            "HDMI 2",
            "HDMI 3/ARC",
            "HDMI 4",
            "AV 1",
            "AV 2/Component"
        ],
        "friendly_name": "MyBraviaTV",
        "supported_features": 23997,
        "_c": {
            "max": 100,
            "min": 0,
            "step": 2,
            "value": 10
        },
        "_sliderInited": true
    },

I have not looked at HA's code but I think what HA is doing is showing name of the source as long as source is within source_list array and simply Source title otherwise. If this is an adequate enough solution, we could easily do that.

Yes, that is true - it shows 'Source' when there is no source attribute.

We are doing the same thing in TileBoard already but we don't verify source against source_list.

I think it's your TV problem. But I'm not sure.
See no reason why media title should be used instead source.

As I said, it's probably HA's component fault. But as @resoai pointed out, HA manages to show correct input name.

I think HA just shows media_title which makes it look like it shows correct source. But the source selector doesn't show selected source which is probably due to source not matching selected source from source_list. So there is nothing to fix in TileBoard IMO - feel free to close unless you see something that can be improved.


Development

PR Checklist

[x] This comment contains a description of changes (with reason)
[ ] Referenced issue is linked
[ ] If you've fixed a bug or added code that should be tested, add tests!
[ ] Documentation in docs is updated
[x] CHANGELOG.rst is updated

Description of changes
The dataset of healthy/cancerous liver samples was replaced by data from the TCGA-LIHC /GTEx (liver) projects. The old dataset consisted of processed data from a variety of different projects and was therefore not easily obtainable/reproducible. The hyperparameters have been updated for the new dataset.
Technical details
The hyperparameters optimization was performed using a GridSearch on the training dataset (CV=5).
Additional context
The data was obtained from the portal of the recount2 project, which allows obtaining uniformly processed RNA-Seq data.

Version in the train_cpu.yml has been updated
The files in /data are processed expression values of the TCGA-LIHC, GTEx studies. Do you the original data? I don't see any problems storing the processed expression value here


Conway Consensus Examples

Consensus uses examples from the ledger for testing. In particular, the type ShelleyLedgerExamples captures all the examples that are needed for each era. We need Conway examples.
For example, the Alonzo examples are here.

Technically speaking, we do already have consensus examples, but they do not use any of the new conway features. We should add governance actions and votes to the example.


HDDS-1646. Support real persistence in the k8s example files

Ozone release contains example k8s deployment files to make it easier to deploy Ozone to kubernetes. As of now we use emptyDir everywhere, we should support the configuration of host volumes (hostPath or Local Persistent volumes).
The big question here is the default:

Make the examples easy to start and ephemeral
Make the examples more safe, by default (but couldn't be started without additional administration).

(Note this conversation is started in the review of HDDS-1508)
Xiaoyu:  Can we support mount hostVolume for datanode daemons?
Marton: Yes, we can.
AFAIK there are two options:

using hostPath
or with Local PersistentVolumes

The first one requires the knowledge of directory names on the host.
The second one is recommended but it requires the creation of PersistentVolumes or install a PersistentVolume provider
I am not sure what is the best approach, my current proposal is:

Use empty dir everywhere to make it easier to start simple ozone cluster
Provide simple option to turn on any of theses persistence (the kubernetes files are generated and the generation can be parametrized)
Document how to customize the kubernetes resources files

Summary: it's question of the defaults:

Use a complex, but persistent solution, which may not work out of the box
Use a simple, but ephemeral solution (as default)

I started to use (2) but I am open to change.
See: https://issues.apache.org/jira/browse/HDDS-1646

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
29
Docker mode activated.

_ Prechecks _

-1
dupname
1
The patch has 3  duplicated filenames that differ only in case.

Subsystem
Report/Notes

Docker
Client=17.05.0-ce Server=17.05.0-ce base: https://builds.apache.org/job/hadoop-multibranch/job/PR-945/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/945

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient yamllint shellcheck shelldocs

uname
Linux 307a8431f92e 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
trunk / b057479

dupname
https://builds.apache.org/job/hadoop-multibranch/job/PR-945/1/artifact/out/dupnames.txt

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-945/1/console

versions
git=2.7.4 maven=3.3.9

Powered by
Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

I created a new kubernetes cluster definition (getting-started). After this patch we will have the following resources:

minikube (for Minkube usage, ephemeral)

getting-started (for real kubernetes cluster, ephemeral)

ozone (for normal use-cases, real persistence)

ozone-dev (for development and performance test, ephemeral by default)

I created rules to add LocalPersistentVolume based PVC

I removed the support of daemonset based datanodes as it's not possible to support PVs

I added pod antiAffinity rules to ensure that the statefulset based pods are scheduled to different nodes

securityContext/fsGroup is used to make sure that we have permission to write the volumes

+1, Thanks for the patch. I will commit this now.


Update reference to latest beta

Maybe you can cut out a new release (1.2) and update the cask?

Sent a pull request to update the cask. It might get knocked back because it's a beta though. If I'm their docs correctly it should be acceptable though.

When an App is only available as beta, development, or unstable versions, or in cases where such a version is the general standard, then said version can go into the main repo.

If not another release without the word beta might be necessary.
https://github.com/caskroom/homebrew-cask/pull/21516

@djui Updated cask has now been merged. :)


Update php.js

CURLOPTS_HTTPHEADER doesn't exist, instead use CURLOPT_HTTPHEADER.
Headers need to be strings, and there are no single qoutes present in the generated code.

Bump @jozsefsallai this and #82


Problem: Cannot send event from file system watcher: sending into a full channel

Investigate file watcher error and improve handling

Use a more realistic size that is divisible by 2.

@trevorbernard Can you say more about what this is about? Is it related to our ability to process large log (block) directories?

I think that this is resolved. Closing.


Roadmap & progress update

With continued investment & DAPR project progress, wondering if the eShopOnDapr  team could publish a roadmap? For example is this project still active etc. Thx.

Hi @MedAnd. Yes, the project is active. We're currently working on the last bits of the 1.0 version of the Dapr for .NET Developers ebook (which uses eShopOnDapr as a reference application). When that's out the door, we want to focus on eShopOnDapr updates including a Blazor client UI. Public roadmap is a good idea, we'll look into adding that to the readme.

@amolenk Where will the ebook be published and what is the best channel to follow for notifications? (twitter?)

@CharlieDigital You can find the online version of the book here: https://docs.microsoft.com/dotnet/architecture/dapr-for-net-developers/
This is currently the preview edition. It will be updated to v1 in the coming weeks. That'll be promoted through the @daprdev twitter account

Closing this now. Progress on .NET 6 can be monitored via #62


Add a --loglevel option to build-with-dockerfile

Add a --loglevel option to build-with-dockerfile and use it to add a value from -2 to 3 to the default logrus LogError logging level.  This makes --loglevel 3 equivalent in effect to the global --debug option.
OpenShift defaults to appending --loglevel 0 (or --loglevel $BUILD_LOGLEVEL, if the variable is set) to the command for the builder container, and this lets us accept that.

bot, retest this please
@nalind Should these be hidden options?  Do you see users ever using this in the real world?

@nalind tests aren't hip

@rhatdan I don't expect the option to be used often, but I could say the same for a good number of options we don't hide, including a few no-op options, so I don't see much point in making this a hidden one.

bot, retest this please

LGTM

@rh-atomic-bot r+


Fixed entities gliching, duping, and spamming the log

I would still explain it differently but whatever. I'm not going to argue over a comment for 3-lines fix


Uh oh! I ran into an error while running this command. Please report the content of the attached file here or on the esmBot Support server

error.txt

Seems that the /tmp directory filled up on one of the image processing servers somehow, which resulted in it not being able to properly cache image data. Should be fixed now.


Feature Request: Please Add DP Presence_detection

Please add a data point "Presence_detection". An entry should be made in this data point, after leaving a fence, how long the length of stay was. I firmly believe that this will bring a lot of relief to many people. Realizing this in the adapter is certainly easier than doing this externally. Example of an entry: Work 0 T 7 S 58 M 30 s.

As I told you several times, I think that it does not belong in this adapter.
The task of this adapter is to provide the data from Traccar in ioBroker.
For further processing of the data, another adapter or script should be used.

As I told you several times, I think that it does not belong in this adapter.
The task of this adapter is to provide the data from Traccar in ioBroker.
For further processing of the data, another adapter or script should be used.

+1, cool idea, finally I could track how long I was at the office or  at a customer visit (in fact I would know how long my misses stayed at the mall :-)).   Great work so far, keep it going.

+1, cool idea, finally I could track how long I was at the office or  at a customer visit (in fact I would know how long my misses stayed at the mall :-)).   Great work so far, keep it going.

Presence_detection is a logic function...and does not belong in the adapter
-1

Presence_detection is a logic function...and does not belong in the adapter
-1

true, its a logic function but still a nice to have feature....however if its getting to complex i will do it via a script, cheers

true, its a logic function but still a nice to have feature....however if its getting to complex i will do it via a script, cheers

I agree it's a logic that is going beyond the delivery of the "raw" data from the source. However, such "pre-processing" would simplify the usage significantly IMHO.

I agree it's a logic that is going beyond the delivery of the "raw" data from the source. However, such "pre-processing" would simplify the usage significantly IMHO.

Coole Sache, gefällt mir sehr gut

Coole Sache, gefällt mir sehr gut

But creating a GogleMap link or pulling the address from a third party is something else? Neither raw data coming from the Traccar. If you don't want to install it, because you don't need it personally, you can communicate it that way. And no: I personally don't need this function. Nevertheless, I am very happy with the adapter and thank you very much.

But creating a GogleMap link or pulling the address from a third party is something else? Neither raw data coming from the Traccar. If you don't want to install it, because you don't need it personally, you can communicate it that way. And no: I personally don't need this function. Nevertheless, I am very happy with the adapter and thank you very much.

Die Idee hört sich doch gut an. Und warum nicht eine Sache mit den dazugehörigen Ausbaumöglichkeiten ausstatten?

Die Idee hört sich doch gut an. Und warum nicht eine Sache mit den dazugehörigen Ausbaumöglichkeiten ausstatten?


Support naming variations for google-chrome on linux

Different distros package google-chorme with different names.
Ubuntu: google-chrome
Arch: google-chrome-stable
Would be nice if launchpad check for several common variations.

Assuming you have the google-chrome-stable package installed under Ubuntu, then both google-chrome-stable and google-chrome are symlinks under /usr/bin.
Symlinks as follows:
/usr/bin/google-chrome -> /etc/alternatives/google-chrome -> /usr/bin/google-chrome-stable ->  /opt/google/chrome/google-chrome

Starting with 0.5.0 you can define path to e..g Chrome like this: LAUNCHPAD_CHROME=path/to/chrome. See docs.

The LAUNCHPAD_CHROME is a work around but requires me to set that up on all my build slaves. Can the project do something similar to karma-chrome-launcher in that it falls backwards through the browser names.
You could change this line to support an array and each is done in turn. Or add a key called executables so that the dictionary looks like:

  chrome: {
    pathQuery: 'which ${executable}',
    executables: ['chromium-browser', 'chromium', 'chrome', 'google-chrome'],
    process: 'chrome',
    opensTab: true,
    args: ['--no-first-run']
  },

And the search runs through each of the executables replacing ${executable} in the pathQuery?
It would be a great usability win if launchpad just fired up on GNU/Linux distros by default like Karma.

This can probably be done fairly easy by changing the pathQuery at https://github.com/ekryski/launchpad/blob/master/lib/local/platform/unix.js#L5 to `'which chromium-browser chromium chrome google-chrome'. Always open for PRs.


[#295] Add core modal component

I added simple global modal component for all purposes. We can develop it later. But right now:

Example markup - to get modal design according to figma:
<modal name="modal-example" class="if-you-need" :width="500">

Modal example

      Lorem Ipsum is simply dummy text of the printing and typesetting industry.

</modal>

Width value is optional. As default I set 945 according to figma
If you want to design your own modal just don't use slots:
<modal name="example">

 Lorem Ipsum is simply dummy text of the printing and typesetting industry.

</modal>

You can open, hide or toggle by simple events.
<button @click="$bus.$emit('modal.toggle', 'modal-example')">Example</button>
<button @click="$bus.$emit('modal.show', 'example')">Example</button>
<button @click="$bus.$emit('modal.hide', 'example')">Example</button>

PS. this is only first part of #295, I have to add suitable modal + content now
PS2 if everything goes well, we can rewrite our current modal (auth, subscription)
PS3 one thing I see to handle: jumping of page when overlay appears -> caused by overflow on #app, we should consider overflow on body only.

Cool! @mercs600 please add the read me as a doc under /docs :)


Enhance constexpr with the ability to propagate up why something isn't a constexpr

Right now this is mostly a plumbing change, but this also adds the ability to detect
overly-large constant exprs, with an arbitrary limit to the number of executed
instructions.
This also cleans up the ConstExpr.h interface a bit.

@swift-ci please test tensorflow

Closing this one, using PR17005 instead.


Add trace ID to sentry context

This allows correlation of errors with logs and other tools, and might
be helpful when looking at how errors propagate across the system.

🐟


BsubInvocation Error

I am trying to select some specific nodes on lsf cluster by making a new cluster.json file:
{
    "__default__": {
        "queue": "normal",
        "nodes": "lz-gpu lf-gpu ln-gpu lx-gpu ly-gpu ll-gpu",
        "extra": "",
        "threads": 4  # Default thread count, can be overridden per rule
    }
}

But i am getting this error?
File "/home/ryanr2/data/anaconda3/envs/sopa/lib/python3.10/subprocess.py", line 526, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command 'bsub -M 200 -n 1 -R 'select[mem>200] rusage[mem=200] span[hosts=1]' -W 300 -o "logs/cluster/patch_segmentation_baysor/index=53/jobid55_6637d0e7-670b-4ba2-ad88-3580dba86228.out" -e "logs/cluster/patch_segmentation_baysor/index=53/jobid55_6637d0e7-670b-4ba2-ad88-3580dba86228.err" -J "patch_segmentation_baysor.index=53" -q normal /lila/data/chanjlab/ryanr2/sopa/workflow/.snakemake/tmp.5z0azw4k/snakejob.patch_segmentation_baysor.55.sh' returned non-zero exit status 255.
any idea?

The cluster.json functionality has been deprecated for a long time. Please follow these instructions to achieve what you're trying.

Also, for more flexibility with regard to resource specifications, I can recommend switching to snakemake >=8.10.7 and the new lsf remote executor plugin.