deleteFromAllBoxes()

Problem
Having the same object referenced across multiple boxes it's possible to save() It will update the object in all the boxes the object it's referenced to. But if you delete() the object it only deletes from the box you are referencing.
If you have something like
Fruit (box)
-String name

Basket (box)
-List<Fruit> items

If you add the object to both Box, you can have edit the fruit name from any box, but if you can't delete the object from all boxes.
In database this can be expected behavior or not.
Feature Request
Have a alternative deleteFromAllBoxes()

You can only save or delete objects which are stored directly in a box and not within another object.
You cannot add the same object to multiple boxes (there will be an exception).
Hive does not support "backlinks" and will likely not support it in the futue.

Are you saying that if you need to have some relationship we need to use
IDs?
A sábado, 19/10/2019, 12:40, Simon Leier<EMAIL_ADDRESS>escreveu:

You can only save or delete objects which are stored directly in a box and
not within another object.
You cannot add the same object to multiple boxes (there will be an
exception).
Hive does not support "backlinks" and will likely not support it in the
futue.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/hivedb/hive/issues/101?email_source=notifications&email_token=AABWJMLNKUH5MFGBBNDMYO3QPLW4DA5CNFSM4JCPMW5KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBXNG2Q#issuecomment-544133994,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABWJMIWNVXZSXFMFFJZTQ3QPLW4DANCNFSM4JCPMW5A
.

Unfortunately yes. Currently I have no idea how we could improve this. Do you have something in mind?

Maybe instead of List  having BoxValues which is just a
shortcut to Fruit.values
A sábado, 19/10/2019, 14:16, Simon Leier<EMAIL_ADDRESS>escreveu:

Unfortunately yes. Currently I have no idea how we could improve this. Do
you have something in mind?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/hivedb/hive/issues/101?email_source=notifications&email_token=AABWJMI2UOL7N7AAACFPFFTQPMCDVA5CNFSM4JCPMW5KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBXPL6Y#issuecomment-544142843,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABWJMNXW5G4TT2S2SVJ2P3QPMCDVANCNFSM4JCPMW5A
.

I like the idea and I'll try to implement this without breaking the binary format. Also I'll have to test performance. If everything works, this should be in the next version.

Cool! That boxvalues internally should be just a list of shortcuts to items
on the other box ( not all the items of course) but when you add items to
that pseudo list you should be pretending you are adding the object itself.
Internally it just holds the shortcuts.
When you are exposing the list, it should detect if one item was deleted
and remove the item from the list. Well it maybe be a list of keys
internally but externally it's a list of objects. Maybe call it
ValueCollection.
But FYI currently is working with adding an object to a box and then add to
a List of other box, you update save() the object and it updates in all the
boxes, ( in the list you save() the list of course) which it comes handy if
you want to hold the Object on the list.
A domingo, 20/10/2019, 00:59, Simon Leier<EMAIL_ADDRESS>escreveu:

I like the idea and I'll try to implement this without breaking the binary
format. Also I'll have to test performance. If everything works, this
should be in the next version.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/hivedb/hive/issues/101?email_source=notifications&email_token=AABWJMPQRHM36KABHXN2CMDQPONMRA5CNFSM4JCPMW5KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBX7CIA#issuecomment-544207136,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABWJMITYU4V3NMP7A3EB63QPONMRANCNFSM4JCPMW5A
.

But FYI currently is working with adding an object to a box and then add to a List of other box, you update save() the object and it updates in all the boxes
The cached object is updated since there only exists one instance of that object. When you restart the app, the changes of the object in the list should be gone

Oh! I see... So you must copy the object!
One way you could do about deleting and do that linking collection and because sometimes we don't want the object deleted from other boxes: instead of delete() from the current box just disable() it. You can't see from the owner box, but you can see from other boxes and be able to enable() again.

I don't think it is possible to clone objects in Dart. We would need to use mirrors for that :/
One problem I haven't solved yet: Say we have a Fruit object in the fruits box and a BoxValues<Fruit> list in another box which contains that fruit.
If we delete the fruit from the fruits box, the list somehow needs to be notified that the fruit no longer exists. This is already not easy but maybe the box with the list is not even open currently.

And you have to delete from all lists, because the object can exists in many lists.

Exactly :/

The Fruit object should have a hidden list of "shortcuts" to each box> list it is referenced then delete item from the list.
Each time a list is modified it should add or delete from the objects hidden list

But it will be quite expensive to create this list of shortcuts. I'm not sure it is worth the trouble.
If the box with the BoxValues is opened before the box with fruits, each object needs to be checked.

Testing on the fly maybe the option to go. About the key, when working with objects aren't we getting a incremental key, or not writing in the deleted ones?

when working with objects aren't we getting a incremental key, or not writing in the deleted ones?

Yes if you use box.add() but not for box.put()

Many to many usually uses a separated table with the IDs linking the tables. If it was possible to create a box let say "relationships" where we could add some object that has two IDs from different boxes, and in the code we could filter like:
Relationships.values.where((value)=> value.A is Fruit || value.B is Basket).where ...

What do you think about this HiveList class I implemented? It works without using an additional box or breaking any API or binary format.
The only downside is that it is lazy and will fast enough for almost anything, I wouldn't use it for queries.

Awesome work!  But I need some pratical to understand it better. Another thing to implement is cascading deleting , example if you remove a fruit it removes all basket that has the object. Cool great work

You would just use the HiveList instead of a regular list in your object. It has one parameter in the constructor which is the "other" box (for example "Fruits").
Now you can add, remove or change the order of the objects in the HiveList. Internally it just keeps the name of the remote box and the keys (ordered) of the objects from the remote box.
Each time you access an object from the HiveList it will get the object from the remote box with matching key.
If the object doesn't exist anymore (because it has been removed from the remote box in the meantime) it just returns null.

Another thing to implement is cascading deleting , example if you remove a fruit it removes all basket that has the object.

I'm not sure I understand what you mean exactly...

If basket has a hivelist and if I want to delete one fruit and all the basket values that has that fruit referenced on the hivelist

You mean the same object is stored in multiple HiveLists and if you remove it from one, it will be removed everywhere?

No like this:
Fruits box:
Fruit A
Fruit B
Fruit C
Basket box
Hivelist A - Fruit A, Fruit B
Hivelist B - Fruit B, Fruit C
When deleting Fruit A from fruits box:
Fruits box:
Fruit B
Fruit C
Basket box
Hivelist B - Fruit B, Fruit C

What is the use case for this?

Hmm,
Let's say you have a CD store and have a promo pack which has an hivelist of CD . If a CD sold out it no longer make sense to have promo packs with that CD

I see... I think this is something for step two. I'd say we test the HiveList (especially it's performance) and see if it is the right way to go.
What do you think.
(Btw, thanks for your great input and ideas)

My pleasure to help. If I can remeber this feature is present on iOS when building coredata relationships . Yes it's better to test it first

I've never worked with coredata and I'll take a look how it works in detail.

https://cocoacasts.com/core-data-relationships-and-delete-rules check de delete rules

What about having  global method  which connects to an hidden box called relationships that will store all boxes relationships, like HiveLink(Box a, Box b) that will perform like Hivelist.
then the user could call it with Hive.linkValues(box A, box B) and get a and b values.

Hive.linkValues(box, box) :  Iterable
LinkValue.firstBox: FirstBoxValue
LinkValue.secondBox: SecondBoxValue

another feature would be: equality with comparison of Objects by key. So we could do
HiveObjectA == HiveObjectB

var allPostsWithCoolTag = Hive.linkValues(posts, tags).where((link)=>link.secondBox.name == 'cooltag' ).map((link)=>link.firstBox).toList();

Thanks for the detailed explanation. I'm still a bit worried about performance. This needs some testing.

another feature would be: equality with comparison of Objects by key. So we could do HiveObjectA == HiveObjectB

Great idea and very easiy to implement. This will be part of the next update 👍

One great feature is to let user decide about object deletion. One approach I will probably use is to add a boolean parameter to the object called 'disabled', to maintain the object accessible from other boxes via HiveList.

One great feature is to let user decide about object deletion. One approach I will probably use is to add a boolean parameter to the object called 'disabled', to maintain the object accessible from other boxes via HiveList.

I agree, this is a cool feature. I didn't even think about this before you showed me the core data docs. But is it flexible enough to work for all situations? Also I don't want to introduce complicated features which can be easily implemented by the user.
Users today already struggle with some of the details in using Hive. My number one goals for Hive are great performance and ease of use...

I completely understand but they are just ideas, of course some are redundant , but at least the most frequently used IMO should be implemented.  I design this graph to show what's my idea, it misses implementations for delete but you get the general idea.

What is the advantage over the following:
class Post extends HiveObject {
  @HiveField(0)
  String content;

  @HiveField(1)
  String userKey;

  User get user => Hive.box<User>('users').get(userKey);

  @HiveField(2)
  String tagKey;

  Tag get tag => Hive.box<Tag>('tags').get(tagKey);
}

You can still do filtering like:
var postsWithTag = Hive.box<Post>('posts').values.where((p) => p.tag.name == 'tag1');

Maybe we could even create a HiveLink object or annotation which contains the logic with the keys.

Yes an hivelink would be the best option and the user could store List wherever he wants. The advantage is many to many relationship, posts could have many tags and tags could have many posts. Users can have many posts but a post can only have one User.

This method of linking will cover all relationships
One-to-on, one-to-many and many-to-many and avoids of using hiveobject as an hivefield each object only resides in it's box

But how would you for example implement a person object which has friends and enemies?

Oh... Good question... . I never thought in having person inside person.
But you can have a enimies box and a friends box and put hivelinks inside
then you can easily list anything
A quarta, 23/10/2019, 01:07, Simon Leier<EMAIL_ADDRESS>escreveu:

But how would you for example implement a person object which has friends
and enemies?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/hivedb/hive/issues/101?email_source=notifications&email_token=AABWJMIT2IBZNV4AFVMJRH3QP6ISTA5CNFSM4JCPMW5KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEB7TD7Y#issuecomment-545206783,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABWJMNTDWNWAJMU77VMND3QP6ISTANCNFSM4JCPMW5A
.

Imagine the options. You have Hivelink with two values , let's say primary and secondary. You now have total control on deletion:
Hivelink.delete() deletes the link and keep values
Hivelink.delete(primary:true) deletes the Hivelink and primary
Same for secondary

out off main topic, discussion proceeds on #102


Zoom Factor

I want to manipulate the zoom factor of the PDF by passing a parameter. Is this repo still maintained? If yes, I will make a PR

Yes, sure. Great!


Update Microsoft.Web/sites metrics table

After working with Microsoft.Web/sites I noticed some mismatches with actual metrics and information in documentation
next metrics should be updates:
HealthCheckStatus - actually returns just a timestamp

there are separate metrics memoryWorkingSet and AverageMemoryWorkingSet but both have Aggregation: Average, there is no sense in AverageMemoryWorkingSet

HttpResponseTime - actually returns just a timestamp, not matches with what is written in docs

AppConnections - aggregation: Average only, missed: Count, Maximum, Minimum

CpuTime - aggregation: Count only, missed: Total, Minimum, Maximum

In current commit I update only aggregation, if my assumptions will be confirmed - will update next commits

@EdB-MSFT
Can you review the proposed changes?
Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off

Hi @stashut
Thanks for find this.  These articles are generated from json manifest files so changing them here doesn't help.
I'm passing this to the development team to make the appropriate fixes.
Please let us know if you find more issues like this
Thanks
#please-close

Hi @stashut Thanks for find this. These articles are generated from json manifest files so changing them here doesn't help. I'm passing this to the development team to make the appropriate fixes. Please let us know if you find more issues like this Thanks #please-close

Thanks for response @EdB-MSFT
Is there any way to make PR straight to dev team?
I identified one more problem


Relative position of Target wrt Ego Vehicle

Hi Team, Iam trying to log both ego and target vehicle position and get the relative position of target vehicle wrt Ego. I have kept pitch and roll as 0 and just yaw is present . SO its like Iam playing in 2D. I would like to confirm if my methodology is correct or not .
Initially I determine the 2   3*3 homogeneous matrices T_ego and T_target which describes the translation and rotation of the actor, w.r.t Unreal world frame.
The relative pose of the target w.r.t ego-vehicles is given by T_rel = inv(T_ego) * T_targ.
The relative position is T_rel[:2, 2]
The relative rotation (from target axes to ego-vehicle axes) is T_rel[:2, :2].
CARLA version:0.9.11
Platform/OS:Ubuntu 18.04
Thanks a lot in advance.

I am not from the carla simulator Team. However i have been working on simulation of vision and trajectories, expressed in relative pose of the ego vehicle.
Your approach is correct, as your usage utilizes the traditional conventions of roto-translations in homog coords.
Nevertheless, you should try to plot on 2D-plane both the position vector of ego and target vehicles, just to be sure that you are treating the matrices correctly also in practice and not only in theory.

Hi @Chris1nexus  thanks a lot for the reply and for confirming the approach. Yes I am carrying out some unit tests and visualization based tests of output of the script developed and it seems promising.


Processing URLs that redirect - Question and Feature Request

I have a database of URLs relevant to one or more health topic.  I am indexing these existing health topics, for which I've written:

An URL provider that returns them from a database
A tagger that looks up the reference in the database and adds the topic id and name as metadata

Redirects are the trouble with this:

http://aboutincontinence.org/site/about-incontinence/treatment/gas/ redirects to
https://aboutincontinence.org/site/about-incontinence/treatment/gas/ redirects to
https://aboutincontinence.org/treatment.html

When the tagger runs on the last URL, it finds no relevant topic.
At first, I thought I just needed to set maxRedirects in the httpClientFactory, but this did not work.  Setting it to 4 had no effect, and then I lookup and see the default is 20 anyway.
I've also crawled around in the references database, and see no way to follow the chain there, and so I see no way to propagate this data forward without writing some code.   That is, if references doesn't have it, I do not expect to see a redirectedFrom metadata field that can contain multiple references and then be processed (there's a potential feature).
I'm wondering if I'm missing something obvous (there's the question)

I see that there is a RedirectStrategyWrapper class, and I see how it is used in the crawler.

So, to match the typical processing of urls, and handle maxRedirects while also using RedirectURLProvider to normalize them, I would have to subclass the HTTP crawler, and override prepareExecution, since initializeRedirectionStrategy is private.  Overriding the crawler probably means providing my own CrawlerConfig and Collector.  A better way to go is to build my own snapshot version of collector http and hack in changes to either make RedirectStrategyWrapper pluggable or to add functionality to the RedirectURLProvider so that it also decides whether to follow the redirect, which is a bit of a hack, but not too bad.

I am not 100% sure I see the problem you are facing.  Is it that you are trying to map URLs stored in a database with URLs being crawled, but the URL in the DB is the one before the redirect, so it never gets matched?
If so, wouldn't it be best for you to have the right URLs in the database to begin with?  Since you may not always know up front when URL changes, here is a suggestion:
You can implement a ICrawlerEventListener and check for the event type matching this constant: HttpCrawlerEvent#REJECTED_REDIRECTED.   The subject object from the CrawlerEvent will be an HttpFetchResponse that will hold the target URL obtained via getReasonPhrase().  You can parse that string and obtain the target URL.   You will then have both the original and target.
You can then use that to perform an update on your database and change the URL in the table.   For chained redirects, it will mean a few calls, but after the first run, your database will be cleaned up and in sync.
Not the most trivial/intuitive, but may be worth a try.
If that can't work for you, we can make keeping the redirect trail a feature request if you want.

The latest snapshot release now stores the entire redirect trail in a new field called collector.redirect-trail.   It is a multi-value field and the order of the elements matches the order in which each source URLs were encountered.
Please confirm.

I've got a demo on Monday next week and will not have time to reconfirm.  What I did for now is to write a mini crawler in python to crawl these without redirects, and store all of the URLs, including redirect interim targets, in an Elasticsearch database.  That finished late on Friday, after I went home.  This morning, I changed my SiteTopicTagger to query elasticsearch using the reference for the topics.  It will be good to retain this, but disable the crawler part of my work, because then the crawler will be less dependent on a database that is only available on-premise - less coupling.

I cannot quite verify, I'm running with 2.8.0-SNAPSHOT (http) and 1.9.0-SNAPSHOT (core).  I'm using Mongo, as usual, to store references, because it gives me nifty queries I couldn't do as easily with MVstore.   So, here is why it doesn't seem to be working for me:
In [6]: mongodb.references.find({'crawlState': 'REDIRECT' }).count()
Out[6]: 43

In [7]: mongodb.references.find({'redirectTrail': {'$exists': True} }).count()
Out[7]: 0

In [8]: mongodb.references.find({'crawlState': 'REDIRECT' }).count()
Out[8]: 107

In [9]: mongodb.references.find({'redirectTrail': {'$exists': True} }).count()
Out[9]: 0

The interpretation of this is that the crawl edge doesn't contain redirectTrail.

Did you get the latest http snapshot? (which includes latest core).
Because I can test successfully with MongoDB.  Did you start with a fresh DB (in case existing records do not get updated)?

I'm not quite sure I've got the latest snapshot.   Our artifactory tends to get stuck on one snapshot, and I have to either reset it, or work around it with profiles.  This means removing ~/.m2/repository, which I did, and then being careful to provide -P oss-sonatype, which I'm not sure I did any longer.  Also, now that I have a dependency also on some local stuff, I'm not sure which is winning - sonatype snapshots or local artifactory.   The sha1 will be the only way to check.

I put in a little less smart and more concrete check for whether such metadata is coming through:
        if (metadata.containsKey("collector-redirect.trail")) {
            LOG.warn(String.format("%s contains \"collector-redirect.trail\"", reference));
        }

I do not see it.    Here's what I've got as far as dependency:tree:
$ mvn -Poss-sonatype dependency:tree | grep norconex
[INFO] Building norconex-crawler 1.0
[INFO] --- maven-dependency-plugin:3.0.0:tree (default-cli) @ norconex-crawler ---
[INFO] gov.nih.nlm.occs:norconex-crawler:jar:1.0
[INFO] +- com.norconex.collectors:norconex-collector-core:jar:1.9.0-SNAPSHOT:compile
[INFO] |  +- com.norconex.commons:norconex-commons-lang:jar:1.14.0-SNAPSHOT:compile
[INFO] |  +- com.norconex.jef:norconex-jef:jar:4.1.0:compile
[INFO] +- com.norconex.collectors:norconex-importer:jar:2.7.2:compile
[INFO] +- com.norconex.collectors:norconex-committer-core:jar:2.1.1:compile
[INFO] +- com.norconex.collectors:norconex-collector-http:jar:2.8.0-SNAPSHOT:compile
[INFO] +- com.norconex.collectors:norconex-committer-elasticsearch:jar:4.0.0:compile

Looking in ~/.m2/repository, I see that it is taking these ones:
$ (cd ~/.m2/repository/com/norconex/collectors/norconex-collector-http/2.8.0-SNAPSHOT/; sha1sum *.jar)
92921fdc4645c86f7d07fd89aeb139e415d3834b *norconex-collector-http-2.8.0-20170924.045638-11.jar
92921fdc4645c86f7d07fd89aeb139e415d3834b *norconex-collector-http-2.8.0-SNAPSHOT.jar
$ (cd ~/.m2/repository/com/norconex/collectors/norconex-collector-core/1.9.0-SNAPSHOT/; sha1sum *.jar)
7a148a9f0eb443faaf4e6d90de777d1c2e614bbc *norconex-collector-core-1.9.0-20170924.044442-5.jar
7a148a9f0eb443faaf4e6d90de777d1c2e614bbc *norconex-collector-core-1.9.0-SNAPSHOT.jar

I also dropped the MongoCrawlDataStorage in favor of the default, since I don't need Mongo with the simple print-out, and this did not affect it.

Maybe you misspelled it?  It is not collector-redirect.trail as I see in your code sample but rather collector.redirect-trail.
I tested again and in my case, it is working just fine.   I used the DebugTagger to print it and I got this:
[DebugTagger] collector.redirect-trail=http://aboutincontinence.org/site/about-incontinence/treatment/gas/, https://aboutincontinence.org/site/about-incontinence/treatment/gas/

I'll try again tomorrow.

Could you find the redirect trail by now?  Can we close?

Yes - I see the redirectTrail in the references collection of mongodb, and when I save to the filesystem and adjust my KeepOnlyTagger, I also see collector.redirect-trail there.   I need to update my code, but I see this as fixed.

Now that this is done - I have to say it is funny that I spend my days making sure that Urls about gas are properly annotated - my code can now correctly determine that the appropriate health topic for that URL should be https://medlineplus.gov/gas.html.


Create Bleachers

OSM Wiki page

hmm, I looked at https://wiki.openstreetmap.org/wiki/Tag:building%3Dgrandstand and it seems that leisure=bleachers is now discouraged?  I think the existing building=grandstand preset is enough, right?

My understanding from reading the wikis is that Grandstands are larger buildings (permanent) with seating, whereas Bleachers are like these, small versions of Grandstands that could be portable and have no roofs.

My understanding from reading the wikis (and informal knowledge) is that Grandstands are larger buildings (permanent) with seating, whereas Bleachers are like these, small versions of Grandstands that could be portable and have no roofs.

Yes, that's what I thought too, but someone added this to the building=grandstand page:

There’s more discussion on this talk page. Note that the distinction between bleachers and grandstands can be a bit blurred: at least in the U.S., a soccer field or tennis court might have small, movable bleachers, while an American football field might have massive (still uncovered) stands. Those stands can be as large as the grandstand at a horse racing track, which would be covered.

I'm just going to merge this anyway.  There's a wiki page and over 1600 uses, and plenty of people can tell the difference between a grandstand and a bleachers.  Maybe eventually someone will take the scary warnings off the wiki pages.


Cfl gui

This pull request is wrong. It's directly to master.
Gui branch name should be CFL-develop-design and pull request should be made towards CFL-develop

@perseu please close this pull request and open a new one with the specified branch names.
Thank you.

Closing this pull request. New pull request will be created with the correct settings.


BUG: Logo not redirecting to home page

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?

Whenever Logo is clicked, it's not redirecting to the home page

Add ScreenShots
https://github.com/MonalikaPatnaik/UMatter/assets/66116440/bbe39ea6-e08f-48e4-a7c7-5a8afbad32b8
What browser are you seeing the problem on?
Chrome
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'23 contributor
[X] I want to work on this issue

please assign this to me

@anamika7153
PLEASE ASSIGN ME THIS ISSUE


Create new link types

C+
C-
V+
V-
pre
Exclusion

Added on https://github.com/cbilgili/boun-swe-599/commit/a0c5bc869c70d55d8261c1db2fa43df257dd2fab


Rubber banding when running/jumping

The character is rubber-banding and behaving quite terribly while running or in mid air.

This is fixed with the correct usage of rotation and position in the code.


FAB in Ionic

Description
The icons are placed slightly offset from the top as seen in the screenshot. This was built in Ionic v 2.1.8 with Angular 1.5.3.
On setting margin-top to 5px for the material-icons class, it helps, but not entirely. Will give feedback by tomorrow if I get anything more on this issue.
Repro Steps

Start an Ionic App
Include the
Include the layout for the FAB from the website in the file www/index.html

Screenshots / Codepen
Screenshot:

Hello, I'm trying to get what could be the origin and how to solve it without break the behavior. but nothing comes to my mind
Did you know the origin of the issue? maybe is a problem with the web-view? could you suggest a way to fix it without break the normal behavior?
Thanks!

Closed due inactivity. Feel free to reopen it, if it's still necessary.


REBOOT SERVER NOW - Not Rebooting

hello you can help me start the bot?
when it says restart the server restart the raspberry pi but it does not work like never ?

When the script tell REBOOT SERVER NOW it was an instruction not and indication that the server will be restarted. Maybe this output is not good enough to help user to complete the installation process. I will correct this in the next release.

The server will now reboot and put all service up at the starting time.


Add C-c, C-v as bindings to new user's profiles.json by default

Summary of the Pull Request
Adds Ctrl+C as a copy keybinding, as well as Ctrl+V and Shift+Insert for paste, to the userDefaults.json file. New users will get these keybindings by default in their profiles.json file. If they don't want these keybindings, they can just delete them from the file. Ctrl+Shift+C/V are unmodified, and remain default keybindings that have to be unbound
Shift+Insert was also added at @DHowett-MSFT's request. Enter for copy is also an idea, considering we won't eat the keystroke unless there's a selection.
PR Checklist

[x] Closes nothing, this is just a shower thought
[x] I work here
[ ] Tests added/passed - I didn't even run them tbh
[n/a] Requires documentation to be updated

Validation Steps Performed
I cannot stress enough that I haven't even tried building this change. It's a json change, so it should be fineTM

Nnnn. @DHowett-MSFT and I were discussing this last night. One of the "gathering-data" ideas from #3855 is to try to figure out which keys people are setting on the regular so we can make our defaults better. If we have some in the user's file from the get go, I'll either have to filter them out or we'll have to accept that they're not indicative (necessarily) of a conscientious add to the file. @amit-msft, can you help me figure out what the best thing to do here is?

@zadjii-msft @miniksa It'd be best if this PR is merged after we have had an opportunity to look at the insights from data collected via #3855. Since otherwise, as @miniksa pointed, we won't be able to tell whether a user has deliberately set these keybindings, resulting in false positives.

I'm gonna close this one out but keep the branch -- we need further discussion, but for now it's cluttering the list.


Saving user config merges current config in

This makes it absolutely impossible to quit networks because they will stay in the user config and you will re-join them when the server is restarted.

This is probably broken by #57, which changed the way the files are written. It seems that the old one replaced the whole networks array, which worked fine.

Looks like it, yeah.


Update for Swift 3

I'm at WWDC and wanted to play around with swift 3 conversion, but my projects were too big with too many dependencies! So I figured I would try it with my fave library, Gloss! Here are the results of my conversion. Should be merged into separate swift 3 branch.
Let me know if you have questions about any of this, because I'm here and can ask questions in labs!
Summary below:
Sweeping changes, done with the help of the automatic migrator in xCode 8.
It looks like a lot, but it's all pretty straightforward.
The biggest question is whether to use the new URL and Data value types instead of NSURL and NSData. I think it's probably best to commit to URL and Data right away.
All tests pass!

that's great 😄 can you actually resubmit against a new branch I created - swift_3.0 ?


Broadway producer

Heavily inspired by https://github.com/dashbitco/broadway_cloud_pub_sub
close #31

@mmmries @brandynbennett
Hi, do you want to take a look at this PR or can Szymon merge it?


Panic when closing application with 0.10.3

thread 'main' panicked at 'called Option::unwrap() on a None value', C:\Users\Danny.cargo\registry\src\github.com-1ecc6299db9ec823\fltk-0.10.3\src\app.rs:967:40
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace

To reproduce: compile and run swyh-rs (https://github.com/dheijl/swyh-rs/), let it discover devices and capture audio and then close the application with the x button in the right top corner.
It's entirely possible that it is my own fault but I didn't change anything except for the fltk-rs version.

I was able to replicate the issue on swyh-rs. I'm guessing the std::process::exit is triggered before fltk-rs has the chance to do its cleanup asynchronously since it does it in the next draw cycle. Anyways I have removed the unwrapping (which I had assumed before would never happen), and the problem seems to have been resolved.
The changes are in master, I'll push a patch 0.10.4 in a few hours when I'm on my main machine.

Thank you very much for the quick reaction and fix!


added sound to chatbot

Closes: #370
https://user-images.githubusercontent.com/68965499/119238070-f0215100-bb5d-11eb-8e62-81e0cc135195.mp4
@codewithvk please review this pr.

@codewithvk i tried it through many ways, but i am sorry i could not succeed.

@ChitvanRamani22 No problem :)


Cleanup code with a monad

The lack of code looks okay but it could probably be cleaned up with a monad. If that doesn't work try two monads.

shouldn't it rather be a nonad?


Adding a contributors page

I would add anew page dedicated to all the contributors in this project which will display the stats of this project ex- no. of forks, stars etc. and also show stats of the contributors , no. of contributions done and also i would add cool animation on hovering contributors card.

@tushargupta1504 Please assign this issue to me


Symbol type is incorrectly generalized when used as a property value of an object literal

TypeScript Version:  3.7.5
Search Terms: symbol infer type
Expected behavior:
Symbol const uniqueSymbol = Symbol() when used as property value in an object literal is inferred as unique type typeof uniqueSymbol.
Actual behavior:
Symbol const uniqueSymbol = Symbol() when used as property value in an object literal is inferred as general type symbol.
Related Issues:
Code
const uniqueSymbol = Symbol()

// Example of incorrect inference (unique symbol is generalized to type `symbol`)

const foo = {
  prop: uniqueSymbol,
}

type Foo = typeof foo  // { prop: symbol }

// Workarounds for incorrect behavior

const bar = {
  prop: uniqueSymbol as typeof uniqueSymbol,
}

type Bar = typeof bar // { prop: typeof uniqueSymbol }

const genericFactory = <T>(value: T) => ({ prop: value })

const baz = genericFactory(uniqueSymbol)

type Baz = typeof baz // { prop: typeof uniqueSymbol }

Output
"use strict";
const uniqueSymbol = Symbol();
// Example of incorrect inference (unique symbol is generalized to type `symbol`)
const foo = {
    prop: uniqueSymbol,
};
// Workarounds for incorrect behavior
const bar = {
    prop: uniqueSymbol,
};
const genericFactory = (value) => ({ prop: value });
const baz = genericFactory(uniqueSymbol);

Compiler Options
{
  "compilerOptions": {
    "noImplicitAny": true,
    "strictNullChecks": true,
    "strictFunctionTypes": true,
    "strictPropertyInitialization": true,
    "strictBindCallApply": true,
    "noImplicitThis": true,
    "noImplicitReturns": true,
    "useDefineForClassFields": false,
    "alwaysStrict": true,
    "allowUnreachableCode": false,
    "allowUnusedLabels": false,
    "downlevelIteration": false,
    "noEmitHelpers": false,
    "noLib": false,
    "noStrictGenericChecks": false,
    "noUnusedLocals": false,
    "noUnusedParameters": false,
    "esModuleInterop": true,
    "preserveConstEnums": false,
    "removeComments": false,
    "skipLibCheck": false,
    "checkJs": false,
    "allowJs": false,
    "declaration": true,
    "experimentalDecorators": false,
    "emitDecoratorMetadata": false,
    "target": "ES2017",
    "module": "ESNext"
  }
}

Playground Link: Provided

@rbuckton I believe this is the intended behavior, but can you provide context?

Same is true of other literal types:
const uniqueSymbol = "tag"

const foo = {
  prop: uniqueSymbol,
}

type Foo = typeof foo

prop is a mutable object member. Assigning a singleton type to a mutable member is usually not useful, so we widen at mutable positions. Do note, there is no way to declare an immutable object property (only class fields).

Taking into consideration all primitive types this seems to be consistent. I just expected something else as a programmer since symbols are unique values.
My specific (simiplified) use case to give you more context (React application):
// Application state business logic
const loading = Symbol()
type Resource = { id: number; name: string }

// `loading` is used to encode loading state, `undefined` for not found
const getResource: () => Observable<typeof loading | undefined | Resource> = ...

const useApplicationState = () => {
  const resource: typeof loading | undefined | Resource = useObservable(() => getResource(), [])

  return {
    resource, // type of symbol is widened here
  }
}

// UI component
const { resource } = useApplicationState()

if (resource === loading) {
  // render spinner
} else if (resource)
  // render resource details
  // this won't work as `typeof resource` is `Resource | symbol`, expected was just `Resource`
} else {
  // render not found
}

@weswigham Please note that there is quite simple way to enforce string literal type for string primitives, whereas it's not possible for symbols (because their type isn't known before initialization):
type UniqueString = 'UNIQUE_STRING'
const uniqueString: UniqueString = 'UNIQUE_STRING'

const foo = {
  prop: uniqueString,
}

type Foo = typeof foo // { prop: 'UNIQUE_STRING' }

const uniqueSymbol: unique symbol = Symbol()
type UniqueSymbol = typeof uniqueSymbol

const bar = {
  prop: uniqueSymbol,
}

type Bar = typeof bar // { prop: symbol }

Playground link

It seems that main issue that I've described works consistently for primitive types but at the same time TS as a language lacks of other mechanisms for type symbol that allow to avoid generalization of variable that is a specific symbol. Please take a look at following techniques:
const literalString0 = 'literalString1'
const literalNumber0 = 1
const literalBoolean0 = true

// literal types are widened
const obj0 = {
  literalString0,
  literalNumber0,
  literalBoolean0,
}

// literal types are preserved

// technique #1 using `as const`
const literalString1 = 'literalString1' as const
const literalNumber1 = 1 as const
const literalBoolean1 = true as const

const obj1 = {
  literalString1,
  literalNumber1,
  literalBoolean1,
}

// technique #2 using explicit type declaration
const literalString2: 'literalString1' = 'literalString1'
const literalNumber2: 1 = 1
const literalBoolean2: true = true

const obj2 = {
  literalString2,
  literalNumber2,
  literalBoolean2,
}

Playground link
Both as const casting and explicit type declaration cannot be used on symbols.


feature request: show TODO counter in bottom status bar

hello!
thanks for the great lib! i was thinking it would be lovely to have an option to append TODO: ${count} the the status bar.  i often am wondering "how many loose ends" did I leave in this project, regardless of whether it's tested or not.  intellij i think has a little TODO pane.  the table interface is GREAT. it would be cool to click the status bar counter and have it open the table as already supported
thanks for your time and consideration

This is a valid feature request. Though it would only work when the todo list is already open, since it can be a pretty expensive operation to search for workspace todos and I do not want to run that as a background task.
I previously had the tab bar show the number of current todos, but it was kind of a hack so I changed it to be shown just below the search field.

dude... that's awesome!  thanks so much!


Possible typo: track3d.invisibles instead of track3d.visibles in run_initial_optim()

Hi, thanks for the great work. I have seen the pull request suggesting that there might be a typo in the run_initial_optim() function in the flow3d/init_utils.py file.
As it says, there might be a typo and that:
loss_2d = (             masked_l1_loss(                 pred_2d,                 gt_2d,                 (tracks_3d.invisibles.float() * tracks_3d.confidences)[..., None],                 quantile=0.95,             )             / Ks[0, 0, 0]         )
should have tracks3d.visibles rather than track3d.invisibles. So I wanted to ask which of the 2 is the correct one, visibles or invisibles?

Hi invisible is the correct one. Loss for the visible points are already computed in the track 3d loss: https://github.com/vye16/shape-of-motion/blob/main/flow3d/init_utils.py#L320. The idea here is that for the invisible points, we found the 2D track prediction from TAPIR/BootsTAPIR is still pretty reasonable, but we don't have the corresponding depth. Therefore we only supervise the 3D tracks' 2D projection.
Feel free to reopen the issue if you have further questions.


Is there a way to fully rest?

Calibrated my PS4 controller, was perfect so I went from temp to permanent. it said saved but now my centre is far left.
Iv tried to re do it but I just get saved message instead of doing the process.
Controller is currently useless, any help be amazing thanks.

All good!


Add codecov badge

Codecov Report

Merging #2 (3233cf5) into master (348d76e) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master       #2   +/-   ##
=======================================
  Coverage   67.83%   67.83%
=======================================
  Files           7        7
  Lines         914      914
  Branches        3        3
=======================================
  Hits          620      620
  Misses        294      294

Continue to review full report at Codecov.

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


Blurry text rendering on macOS Monterey

I follow the instructions wrote in the wiki and build it on my own machine, the output in the terminal seems ok

except the warnings but I believe it's because the system version is too new
but the program's appearance isn't good, the whole UI seems runs in low resolution

and I don't know if it's the way I use it wrong or something, what I expected to see is use nvui filename and it will open up a instance and let me modify the file, but what happened is it just create a instance but doesn't open the file I want, I have to drag the file into the instance or open it in the instance by some plugin's help

update: I add the --ext_cmdline=true and surprisingly the text in the external block has been rendered correctly

It's probably because of the different text rendering mechanisms. Cmdline (and popup menu) uses QPainter::drawText since I am not doing any text caching there (not much text to draw). Meanwhile on the main text grids the text is being created as QStaticText, stored, and then drawn using QPainter::drawStaticText. I'm guessing that there's some issues with drawStaticText on mac. I'll let you know when I've added a fix.

Does #89 fix this?

Sadly no :(

Rip. I don't really know what's causing the issue then. I'll tag this as 'help wanted', maybe someone else knows why this is happening.
Maybe you could try other fonts, do they have the same problem?

I'm getting something similar on Arch Linux, X11, KDE Plasma, doom-nvim and the nvui package from the AUR started like this /usr/share/nvui/bin/nvui --ext_multigrid=true --ext_popupmenu=true --ext_cmdline=true:

I think my font configuration is fine since it works fine in doom emacs, kitty and a few other apps.
Maybe it has to do with display scaling? I have mine set to 125% in KDE's system settings.
I've tried setting it to 100% and restarting nvui with no success, and I'll try fully restarting the graphical session later to see if that fixes it.

I added some commits for this today (setting antialiasing flags for rendering) on #89, could you check it out and see if it fixes your problem? Builds are here.

I'm getting something similar on Arch Linux, X11, KDE Plasma, doom-nvim and the nvui package from the AUR started like this /usr/share/nvui/bin/nvui --ext_multigrid=true --ext_popupmenu=true --ext_cmdline=true:

I think my font configuration is fine since it works fine in doom emacs, kitty and a few other apps.
Maybe it has to do with display scaling? I have mine set to 125% in KDE's system settings. I've tried setting it to 100% and restarting nvui with no success, and I'll try fully restarting the graphical session later to see if that fixes it.

I used to have the same problem as you but I can't represent it every time. My workaround solution is reboot the machine and it will work for me until the next reboot, quite strange.

I added some commits for this today (setting antialiasing flags for rendering) on #89, could you check it out and see if it fixes your problem? Builds are here.

Still have the same issue on macOS, maybe this is some QT problem on Monterey, we may need to wait until QT release new version for Monterey

cmake --build build --target nvui --config Release
fatal error: unable to execute command: Segmentation fault: 11
in Monterey,building error,please help me

As much as I would like to play with nvui, is it unusable on macOS Monterey because of this font rendering issue. I have tried multiple fonts and sizes--some are better that others, but they all give me a headache. I feel like I'm editing on an old CRT.
Apparently no progress on this recently?
I note that some have commented this could be a QT problem on Monterey. This seems unlikely to me. For example, Calibre uses QT and renders cleanly.

I'm pretty sure the solution to this would be to build a macOS application bundle and set the NSHighResolutionCapable property to true in the Info.plist file.
I've run into this before when playing around with Qt and other GUI frameworks and this fixed the problem for me every time.
The Qt docs have a guide on building macOS app bundles but it seems to only have a guide for QMake and not CMake.
The general lack of application bundles is honestly one of the things that makes me not want to invest time in setting up some of the Neovim GUIs out there because I dislike leaving my terminal open, so this could be a relatively easy win; generate an application bundle when building on macos.

Cool, that might be what I was looking for! I'll create a new branch with the plist soon, will post it here when it's been created.

Had to fix some build issues so it took me longer than I thought. I added the plist on the blurry_text_fix_mac branch and you can find builds here, let me know if that solves it.

I downloaded the build for macOS and tried it. It doesn't seem to have any effect on the blurry text problem on my machine--m1 mini running the latest Monterey, 12.2 with a LG 5k monitor.
It is not obvious to me that the plist file is being used. The structure of the app and location of the plist is the same as other .app packages I looked at. I also moved the nvui.app to the /Applications directory. However, I can only run nvui.app successfully by using the terminal open /Applications/nvui.app command. Running from Finder causes nvui to report that there is no Neovim in the PATH. I'm not sure what Finder thinks $PATH might be.
I don't know how to determine if nvui.app is actually using the info.plist included with it. If it is, then the problem is not fixed. If it is not, how to I make it so?

I used CMake's bundle feature to bundle the plist with the app so it should be using the plist automatically. I don't have any other ideas besides that. Could you check if Neovim-Qt/Goneovim have the same rendering issue? They also render using Qt so if they are fine then there could be a way they solved it.
As for the PATH issue, no idea on why that's happening.

I loaded Goneovim version 0.5.1. It works and renders perfectly. Goneovim's plist file has quite a bit more 'stuff' than nvui's does. nvui has:
<dict>       <key>NSPrincipalClass</key>       <string>NSApplication</string>       <key>NSHighResolutionCapable</key>       <true/>     </dict>
for the same key, Goneovim has:
`	NSPrincipalClass
NSApplication'
but Goneovim does not have the key NSHighResolutionCapable.

I’ll watch for the build and test for you.

Tried the build myself (on Windows) and it looks like the automatic high dpi scaling has broken a lot of things.. I'll try and fix them and put a comment here when it's done

@tthkbw I think the scaling issues have been fixed so if you could let me know how it's working that would be great. The build is here

Yes, it is fixed and displays properly now. However, the problem with running nvui.app from anywhere other than the command line using /Applications/nvui.app persists. Nvui must be using the PATH environment variable to find nvim, but I don't think the PATH environment variable exists other than from the terminal.

Nice! And yeah, from what I've seen in Goneovim and Neovim-Qt, they spawn an external process to print the $PATH and then they manually set it. Might have to do something similar

I think the scaling issues have been fixed so if you could let me know how it's working that would be great. The build is here

Hmm, when I try to run this I see the following:
$ open ~/Desktop/nvui-macos-x64/bin/nvui.app/

The application cannot be opened for an unexpected reason, error=Error Domain=RBSRequestErrorDomain Code=5 "Launch failed." UserInfo={NSLocalizedFailureReason=Launch failed., NSUnderlyingError=0x600003611470 {Error Domain=NSPOSIXErrorDomain Code=111 "Unknown error: 111" UserInfo={NSLocalizedDescription=Launchd job spawn failed}}}

I wonder if that's because the CI is building that on intel architecture while I'm using the M1 chip 🤔

Yeah only the x64 version is built, Github Actions doesn't have M1 virtual machines so that's probably why.

I observe very similar issue on Arch Linux. Here is how font rendering inside the latest nvui looks like in comparison to fonts in nvim-qt:

Please tell me if you know what information needed to help investigate the issue. I will try to provide it.

I have discovered that the issue goes away if the display scaling is switched off. Maybe that can help to resolve the issue.
I use Xorg and KDE and set global display scaling through KDE's systemsettings utility.


[type:feat]add discoverySelector API

Make sure that:

[ ] You have read the contribution guidelines.
[ ] You submit test cases (unit or integration tests) that back your changes.
[ ] Your local test passed ./mvnw clean install -Dmaven.javadoc.skip=true.

We're currently processing your upload.  This comment will be updated when the results are available.


Allow specifying reporter option

No reason to force 'default'

Thank you. I'll provide new release in a couple of hours.


Deploy to Heroku fail

-----> Building on the Heroku-18 stack-----> Using buildpack: https://github.com/heroku/heroku-buildpack-multi.git-----> Multipack app detected=====> Downloading Buildpack: https://github.com/cantino/heroku-selectable-procfile.git=====> Detected Framework: Selectable Procfile-----> Using deployment/heroku/Procfile.heroku as Procfile=====> Downloading Buildpack: https://github.com/heroku/heroku-buildpack-ruby.git=====> Detected Framework: Ruby-----> Installing bundler 2.2.33-----> Removing BUNDLED WITH version in the Gemfile.lock-----> Compiling Ruby/Rails ! !     There was an error parsing your Gemfile, we cannot continue !      !     [!] There was an error parsing Gemfile: tried to create Proc object without a block. Bundler cannot continue. !      !     #  from /tmp/build_f7c9cc38/Gemfile:26 !     #  ------------------------------------------- !     #      # to include them, so we scope them to an unsupported platform. !     >      platform :ruby_18, &proc !     #    end !     #  ------------------------------------------- ! !     Push rejected, failed to compile Multipack app. !     Push failed

Note this isn't a Heroku issue. I came to look for a solution to this for my local dev environment on a freshly downloaded Huginn.

I think my problem is same to this one?
https://github.com/huginn/huginn/issues/3094
if the problem is same, the problem is resolved,but is waiting to merge pr

I encountered the same thing. #3097 has been merged, and now I'm able to push to Heroku.

I am able to  Thanks for the coder


Build determinism

Overview
It would be nice to write a test, or at least check once to ensure that the outputs are currently created deterministically.
That is to say, if we run the build once, then run it again without changing the code, and diff each of the outputs before/after, there should be no difference.

Maybe just do a quick check rather than writing a test. Adding a test for this will almost double the time it takes to run tests, as the build will have to be run twice.


Init Only Variables

Tesseract OCR iOS is unable to set "Init Only" variables like user_words_suffix and load_system_dawg  (see https://code.google.com/p/tesseract-ocr/wiki/ControlParams). I recommend a method

(id)initWithVariables:(NSDictionary*)parameters language:(NSString *)language;
where "parameters" is a key-value dictionary describing init-only parameters and their values.

Implemented by #113.


The documentation suggests an invalid value for the name of a secret

Code of Conduct

[X] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions
What part(s) of the article would you like to see updated?
The article contains the following example configuration:
steps:
  - name: My first action
    env:
      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      FIRST_NAME: Mona
      LAST_NAME: Octocat

However, when attempting to follow this example, I was presented with an error in the UI as follows:
"Failed to add secret. Secret names must not start with GITHUB_."
If this is not a valid naming convention for secrets, then it shouldn't be used in the documentation.
Additional information

@lpmi-13 I apologize for the delay in triaging this issue. Once in a while my notifications act wonky 😭
I removed the stale label and triaged this issue for a writer's review 👀 . I truly appreciate your patience 💖.
Thanks so much taking time to make contributions to GitHub docs 💖

Hi @ramyaparimi! That's no problem at all. I actually think the corresponding PR was correctly closed earlier, since it seemed to be my error in misunderstanding the docs, so we can go ahead and close this issue.

@lpmi-13 Thanks so much 💖
Closing as PR  linked to this issue  was closed.

This is an issue here: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages#example-workflow cc @ramyaparimi


feat: #where and #guard_msgs commands

Adds a mathlib3-style #where command that pretty prints the current top-level scope, including the namespace, any open namespaces, the universe levels, the variable command, and any options with non-default values.
To test this, also adds a #guard_msgs command that checks the messages produced by another command.

Note for the future: I tried out this implementation which describes more precisely the interleaving of section, section Foo and namespace:
inductive NamespaceKind
  | ns : Name → NamespaceKind
  | sect : (nc : Bool) → Name → NamespaceKind
  deriving Repr

def describeNamespaces (n : Nat) (nc : Bool) : List Scope → List NamespaceKind → List NamespaceKind
  | [], nks => dbg_trace repr nks.reverse; nks.reverse
  | sc::rest, nks =>
    let n' := sc.currNamespace.getNumParts
    dbg_trace (n, n')
    let nc' := sc.isNoncomputable
    if n == n' then
      let ncSelf := !nc && nc'
      describeNamespaces n' nc' rest <|
        match nks with
        | .sect nc2 name :: rest =>
          if name == `«» || sc.header == `«» || ncSelf then
            .sect ncSelf sc.header :: nks
          else
            .sect nc2 (name.str sc.header) :: rest
        | _ => .sect ncSelf sc.header :: nks
    else
      describeNamespaces n' nc' rest <|
        match nks with
        | .ns name :: rest => NamespaceKind.ns (name.str sc.header) :: rest
        | _ => .ns sc.header :: nks

-- in the #where impl
  let mut nsMsg := #[]
  for nk in describeNamespaces 0 false (← getScopes).reverse.tail! [] do
    match nk with
    | .ns name =>
      nsMsg := nsMsg.push m!"namespace {name}"
    | .sect nc name =>
      let nc := if nc then "noncomputable " else ""
      nsMsg := nsMsg.push <| if name == `«» then m!"{nc}section" else m!"{nc}section {name}"
  if !nsMsg.isEmpty then
    msg := msg.push m!"{MessageData.joinSep nsMsg.toList "\n"}"

This describes the scoping precisely enough that you can figure out what is legal to type after end at this point, as well as how many scopes you have to close to make things computable and what namespace you would be in after closing N scopes.
I decided against it though, because it's somewhat involved, and I felt that it was not summarized enough, e.g. it is not immediately obvious what namespace you are actually in without reading this whole header. Instead, I think the command should focus on the state in this scope and not the ones above it. To that end I pushed a modification that simplifies the output a bit to focus on that information.

I think I'm addicted to code actions now. I pushed a code action which replaces the #guard_msgs doc string with the command's actual output.

Cool, having a code action crossed my mind, but I wasn't sure how to write one.


No permission handler detected React-native 0.74.1

Before submitting a new issue

[X] I tested using the latest version of the library, as the bug might be already fixed.
[X] I tested using a supported version of react native.
[X] I checked for possible duplicate issues, with possible answers.

Bug summary

Library version
"react-native-permissions": "^4.1.5",
Environment info
╰─ react-native info                                                                                ─╯
info Fetching system and libraries information...
System:
  OS: macOS 14.4.1
  CPU: (8) arm64 Apple M1
  Memory: 57.36 MB / 16.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 20.12.2
    path: /usr/local/bin/node
  Yarn:
    version: 3.6.4
    path: /usr/local/bin/yarn
  npm:
    version: 10.5.2
    path: /usr/local/bin/npm
  Watchman:
    version: 2<IP_ADDRESS>
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.15.2
    path: /usr/local/bin/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 23.4
      - iOS 17.4
      - macOS 14.4
      - tvOS 17.4
      - visionOS 1.1
      - watchOS 10.4
  Android SDK: Not Found
IDEs:
  Android Studio: 2023.2 AI-232.10300.40.2321.11668458
  Xcode:
    version: 15.3/15E204a
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.11
    path: /usr/bin/javac
  Ruby:
    version: 3.3.1
    path: /opt/homebrew/opt/ruby/bin/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 18.2.0
    wanted: 18.2.0
  react-native:
    installed: 0.74.1
    wanted: 0.74.1
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: false
iOS:
  hermesEnabled: true
  newArchEnabled: false

Steps to reproduce
First, I checked the other issues with the same problem, and I deleted the derived data, uninstalled and reinstalled the last version of this package, but the error persisted.

create a new project with the react-native 0.74.1 CLI
install the react-native-permissions
update the profile following the documentation
run pod install
run the project with react-native ios

Reproducible sample code
PodFile:

`# Resolve react_native_pods.rb with node to allow for hoisting
def node_require(script)
  # Resolve script with node to allow for hoisting
  require Pod::Executable.execute_command('node', ['-p',
    "require.resolve(
      '#{script}',
      {paths: [process.argv[1]]},
    )", __dir__]).strip
end

node_require('react-native/scripts/react_native_pods.rb')
node_require('react-native-permissions/scripts/setup.rb')

platform :ios, min_ios_version_supported
prepare_react_native_project!

linkage = ENV['USE_FRAMEWORKS']
if linkage != nil
  Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green
  use_frameworks! :linkage => linkage.to_sym
end

target 'zerelparksharing' do
  config = use_native_modules!

  use_frameworks! :linkage => :static
  $RNFirebaseAsStaticFramework = true

  use_react_native!(
    :path => config[:reactNativePath],
    # An absolute path to your application root.
    :app_path => "#{Pod::Config.instance.installation_root}/..",
     privacy_file_aggregation_enabled: false
  )
  rn_maps_path = '../node_modules/react-native-maps'
  pod 'react-native-google-maps', :path => rn_maps_path

  pod 'Firebase', :modular_headers => true
  pod 'FirebaseCore', :modular_headers => true
  pod 'FirebaseCoreInternal', :modular_headers => true
  pod 'GoogleUtilities', :modular_headers => true

  target 'zerelparksharingTests' do
    inherit! :complete
    # Pods for testing
  end

  post_install do |installer|
    # https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202
    react_native_post_install(
      installer,
      config[:reactNativePath],
      :mac_catalyst_enabled => false,
      # :ccache_enabled => true
    )
  end
end
`

Well, you didn't add any permissions in your Podfile, indeed.
Please read the iOS setup steps (especially the once with setup_permissions)

i didn't understand, in documentation says if you're are using react-native < 0.72,

In my case i'm using the 0.74.1, so there is an error in the documentation?

That's only for the import. The 1. step is different depending on RN version, 2. is identical for all.

Thanks for you're help.


WIP: Add adminer

The New Solution/Problem/Issue/Bug:
Add adminer service, see https://github.com/drud/ddev/issues/3534
How this PR Solves The Problem:
Adds adminer as a service to ddev, allowing to manage databases with it.
Manual Testing Instructions:

Adminer listens to sitename.ddev.site:8080
Username, password and dbname need to be filled by hand (db everywhere in ddev with mysql)

Remaining Tasks

[ ] Add readme
[ ] Get feedback

Nice to have

[ ] Allow passwordless login
[ ] Add theme switcher plugin (need to figure out how)

Nice! I'd love it if you could implement this using https://github.com/drud/ddev-addon-template

I'm reading into ddev services, and I also need to figure out how to configure adminer plugins. It will take a while.
Meanwhile shall we close this PR? Since it will eventually be a service?

There's nothing wrong with it being here :)

https://github.com/bserem/ddev-adminer
I'll be glad to get some feedback and know who it works.

This is obsolete because ddev get drud/ddev-adminer got promoted thanks to @bserem 's work. Thanks!


Method for deleting dictionary data needed

At present there is no option in the Webonary Admin interface to delete the data for a Mongo DB dictionary, there is only a button to delete a WordPress dictionary.
This is needed as we may get a request from a dictionary complier to remove their data. It can be done by directly working with the MongoDB and deleting the WP data but it would be good to have an automated procedure that does it and not have to work out each time what needs deleting.

@phillip-hopper: webonary-cloud-api/lambda/deleteDictionary.ts appears to have the code for a deleteDictionary API call. Can this be utilized from a WP admin console?

@peteroatley There is already a button to delete the cloud data for a site.

On the Dictionary Webonary Admin page Data (Upload) tab:
Delete Data
Remove the text: "(deletes all posts in the category "webonary")"
Remove the text: "You are not in your testing environment!"
Below "Delete Data" add the following text:
"In this section you can delete either the cloud dictionary data or Wordpress posts data.
To delete cloud dictionary data, make sure the "Use cloud backend" box above is checked.
To delete Wordpress dictionary data, make sure the "Use cloud backend" box above is unchecked.
Then click on Delete.
Older dictionaries which were later uploaded to the cloud may have both types of data."

I tested deleting a dictionary and checked the data on MongoDB and it looks like that is working and all data is deleted including the reversal indexes.
Phil says that data from the reversal dictionary is not fully deleted because the table isn't deleted. If we decide we need to fully delete this data Phil gave two options:

Copy the reversal index, delete the data from the copy and then overwrite the original. This is a slow process.

Re-write the reversal indexes so that each dictionary has a table rather than storing all the data in one table. This is the better option but is more work.


Incomplete substitution for FunctionType type parameter bounds

The test below fails, because U is not replaced with a fresh TypeParameter U (new) in the T (new) bounds.
Or is it expected behavior?
import 'package:kernel/kernel.dart';
import 'package:kernel/type_algebra.dart';
import 'package:test/test.dart';

main() {
  test('me', () {
    var Z = TypeParameter('Z');
    var classPair = Class(name: 'int', typeParameters: [
      TypeParameter('T1'),
      TypeParameter('U1'),
      Z,
    ]);

    var T = TypeParameter('T');
    var U = TypeParameter('U');
    T.bound = InterfaceType(classPair, [
      TypeParameterType(T),
      TypeParameterType(U),
      TypeParameterType(Z),
    ]);
    U.bound = InterfaceType(Class(name: 'Object'));

    var ft = FunctionType(
      [TypeParameterType(T), TypeParameterType(U)],
      TypeParameterType(T),
      typeParameters: [T, U],
    );

    var intType = Class(name: 'int').rawType;
    var ft2 = Substitution.fromPairs(
      [Z],
      [intType],
    ).substituteType(ft) as FunctionType;
    print(ft2);

    var T2 = ft2.typeParameters[0];
    var U2 = ft2.typeParameters[1];
    expect(T2, isNot(same(T)));
    expect(U2, isNot(same(U)));
    var boundT = T2.bound as InterfaceType;
    expect((boundT.typeArguments[0] as TypeParameterType).parameter, same(T2));
    expect((boundT.typeArguments[1] as TypeParameterType).parameter, same(U2));
  });
}

Is this related to https://github.com/dart-lang/sdk/issues/38585?

@derolf I don't think so. This issue is for kernel and CFE, and the one you references is for analyzer.

@scheglov Bug #38585 is caused by wrong substation in visitTypeParameterType, which I fixed in PR https://github.com/dart-lang/sdk/pull/38614


fixed outdated entity

I found an issue with outdated entities. If you have following code which will be called by your request:
$em->beginTransaction();
try {
    $repository = $em->getRepository(Entity::class);
    /** @var Entity $entity */
    $entity = $repository->findOneBy(['tyef' => 'foo']);
    $em->lock($entity, LockMode::PESSIMISTIC_WRITE);
    $entity->increase(1); //increase field 'bar'

    sleep(2);

    $em->persist($entity);

    $em->flush();
    $em->commit();
} catch (\Exception $e) {
    $em->rollback();
    throw $e;
}

This will happen:

Before requests: Number is 30 (in fieldbar)
Request 1 is fired
Request 2 is fired
Request 1 finished. Number is 31
Request 2 finished. Number is 31

Since we have a write lock inside of a transaction I expect to have 32. The entity is not up to date and has do be refreshed. If you use the EntityRepository::find() method with the write lock it works fine. It only occurs if you add the lock afterwards.

@messyOne automatically refreshing the entity is a quite unwanted side-effect, no? It should be up to the user to call the refresh() in my opinion (thinking about current codebases)

It looks to me like you have a possible race between these 2 lines.
$entity = $repository->findOneBy(['tyef' => 'foo']);
$em->lock($entity, LockMode::PESSIMISTIC_WRITE);

@Ocramius But for what do I have the lock then? It is the same behavior as without having a lock at the moment. Fetching it with find(1, LockMode::PESSIMISTIC_WRITE) would result in the expected result so I thought doing it with $em->lock() should be the same.
@kimhemsoe What do you mean exactly?

What i mean is that it possible for the data in the database to have changed between you loading the data and you locking the data. You should find and lock at the same time.

@kimhemsoe That is true. That is what I do now. I overwrote the findOneBy to delegate the lock mode. But I thought it should work out of the box.

What about having the auto-refreshing responsibility in \Doctrine\ORM\Persisters\BasicEntityPersister::lock() instead? After all, that's where it is already doing a SELECT 1 on the relevant row. You could probably change that to retrieve the row's data as well.


chore: bdd-sbhg-import-1587215958 to 0.0.1

chore: Promote bdd-sbhg-import-1587215958 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Problem for displaying index of vector's elements

The Calcpad codes are as follow:
n = ? {10}
x = vector(n)
#for i = 1 : n
x.i = i^2 - 1
#loop
'<hr/>
x.1
x.2
x.3
$repeat{x.j = j^2 + 2 @ j = 1 : 10}
x.1
x.2
x.3
#for i = 1 : n
x.i
#loop

Maybe I have not get the right way of using and taking elements of a vector. There is one more problem I tested.
n = 10
x = vector(n)
#for i = 1 : n
#hide
x.i = i - 1
#post
x.i
#loop

b

Maybe I have not get the right way of using and taking elements of a vector. There is one more problem I tested.
n = 10
x = vector(n)
#for i = 1 : n
#hide
x.i = i - 1
#post
x.i
#loop

Once again, I changed the code only for adding one"#val" after #post, the output become totally varied.
n = 10
x = vector(n)
#for i = 1 : n
#hide
x.i = i - 1
#post
#val
x.i
#loop

Hi!
Thank you so much for reporting this. I tried and noticed that it does not display the correct index. It is always 1.
This is probably after optimizing loops by pre-compiling. The compiled expression does not update the index display, although internally it refers to the correct element. I will fix that.

Hi!
Thank you so much for reporting this. I tried and noticed that it does not display the correct index. It is always 1. This is probably after optimizing loops by pre-compiling. The compiled expression does not update the index display, although internally it refers to the correct element. I will fix that.

Pls pay special attentions to my supplementary comment about the "#val" effect, for which I guess some logic confusions happen there.


Add tests for export incorrectly emit twice for decorated class declaration (#8343)

Add more tests for issue #8343

:+1:


Issue469 rescaling of plot graphs

Title of PR
Rescaling of plots #469
Changes
Wrote a unit test to demonstrate that the rescaling of plots is working.
Issues
None. Except that also change the FFT window to Hanning in MultiRecognizer.cs.
That may or maynot cause a change somewhere.
Final Checklist

[Anthony ] Assign reviewers if you have permission
[ ] Assign labels if you have permission
[ ] Link issues related to PR
[ ] Link any PRs or issues blocking this PR from being merged
[ ] Remove/Reduce warnings from edited files
[ Yes] Unit tests have been added for changes
[ ] Ensure CI build is passing

Hi @towsey. Good tests but the issue was with the generic recogniser and not the multi recogniser.
You probably just need to add the array scaling call in the generic recogniser class.
But the way, this is what the imageWidth argument is used for (your comments frequently indicate you don't know what it is for). It's used to define a fixed width images should be when rendered. Not applicable here but I was reminded by the subject.

I have included a loop to rescale plots to fit the accompanying spectrogram.

Very soryy but unfortunately, the work involved in fixing this aparnetly small Plot scaling problem got significantly more difficult because I used the OscillationEvent class in the unit test. It turned out that the functionality for much of Oscillation events was not working. So this latest commit is mostly about fixing oscillation events.


Enable configuring a mirror of maven central

Describe the Enhancement

As a user of this buildpack I want to use a local mirror as drop in replacement for e.g. maven central. We use Artifactory for this.
Possible Solution

To do so it would be very smooth to configure an alternative mirror via environment variables.
https://github.com/paketo-buildpacks/maven/blob/main/buildpack.toml#L76
With this variable a user is able to replace https://repo1.maven.org/maven/ with something else.
Motivation

In our company we try to reduce remote traffic, which could be slow at times. Also we try to avoid that someone replaces a file and build results are changing unpredictable.

You want to add a settings.xml file and supply that through a binding. See instructions here.
Alternatively, you can share your local Maven cache & settings.xml file via a volume mount. This only works with pack or Spring Boot builds though. It won't work with kpack, because there's no persistent local system.

Oh I think you missed me. I already provide a custom settings.xml via binding.
I want to download maven binary itself from a mirror.

I suppose https://github.com/paketo-buildpacks/maven#type-dependency-mapping will be your friend then.

I don't know why I missed that in the first place. Yes this is the option I'm looking for.
The fact that buildpacks take care that my build tools are up to date, is very cool. This is one reason I'm decided to use buildpacks.
If I then manually set a binding, I'm again in charge to update this binding. Thus I'm not going to use it.
Imho this requirement is not specific to maven, therefore the discussion should take place at another level.
As my question is answered, this issue is closed.

Bindings for dependencies primarily exist I believe (I am not a maintainer) to support environments that have no access to the original site. You are actually forced to provide and use the very same version that the buildpack brings - bindings can change the URL, but not the SHA of the artefact.

You could use a dependency-mapping. That would allow you to point to a different location and fetch Maven binaries from there, but dependency mappings are painful. That's something Paketo is working to improve.
In the short term, I would suggest using Maven wrapper in your project. It's beneficial for other reasons, but the wrapper has ways to point to an alternative location for Maven binaries.

Thanks a lot. For maven I will switch to maven wrapper.
Yes bindings are useful, but painful in my case.
The scope of my original question was a bit wider. For additional binaries, e.g. JRE I will play around with squid caching proxy.
Hope a more elegant solution in future will be available in buildpacks.

@ajdergute - Tentatively, we're looking at something like the proposal in this doc: https://docs.google.com/document/d/1g5rRW-oE_v8Gdvz-CiCOK9z2rxg6L5XniKI25Zq2j6M/edit. Feel free to drop in any comments.

@dmikusa this is a great proposal. I've nothing to add.


aggregated_geography E, M match but P Z mismatch

select
	*
from (
select
	a.census_geoid,
	a.geoid,
	a.pff_variable,
	a.c, a.e, a.m, a.p, a.z,
	b.c as _c, b.e as _e, b.m as _m, b.p as _p, b.z as _z
from (
	select *, a.census_geoid as geoid
    from pff_acs."2018-test" a
    where a.geotype = 'NTA'
) a
join pff_acs."2018" b
on a.pff_variable = lower(b.variable)
and a.geoid = b.geoid
and b.geotype = 'NTA2010'
) a
where abs(e - _e) > 1 or abs(m - _m) > 1 or abs(p - _p) > 0.1 or abs(z - _z) > 0.1

sometimes the base is a median variable

sometimes the base is a median variable

Update: mostly resolved, still remaining variables: hh5, pop_6

Update: mostly resolved, still remaining variables: hh5, pop_6

To fully resolve, do not calculate P and Z for not-in-profile variables. See #77 and #41.

Will get resolved by #77


Missing function pack_binary and Msgpax dependency

@DanielaIvanova this is resolved with #503 as well, right?

@thepiwo
I think so. All the test are passing as well

great, so I close this as resolved by #503


examples

where are the examples located?

Please be more explicit what kind of exampels you're talking about?

I don't have your discord

You can just join on the link on modrinth. Please tell me which and what kind of examples  do you mean?


Release 0.2.16

Changes

#99 - add the resource environment_variable_job_override to allow environment variable override in jobs
Update the go version and packages versions

Fixes

#221 - removing the value for an env var scope was not removing it in dbt Cloud
add better messages and error handling for jobs

Passing CI 🚀


Archive.org

Please note this archive of videos http://archive.org/details/trumparchive&tab=about

Hi there :)
Thanks for pointing this out, we will be able to use this in the future, instead of uploading every video to our own youtube channel. Waiting till @VirenMohindra sees this.

Since this seems to fall under the general gist of this issue, might be good to offer link to archive.org mirror for all sources, just in case things disappear or move around (not likely, but meh)

I spoke to @VirenMohindra and it seems very likely that we will adapt archive.org as our main sources in the near future.

0ea1b9e028450ebe86eeab5529ccb7bbfb6fcf8e + archive.org will be sending up deep-linked videos to add to our citations


Added method call to redeem token.

Mind adding tests and error handling similar to other endpoints? small nitpick: tokenId should be token_id

Hi @jorilallo
I added tests and changed tokenId to token_id. Please take another look.

Hi @jorilallo
Friendly ping for review of this pull request.

Looks good, sorry for the delay!

Thanks.
Ashish
On Tue, Mar 17, 2015 at 6:55 PM, Jori Lallo<EMAIL_ADDRESS>wrote:

Merged #2 https://github.com/coinbase/coinbase-python/pull/2.
--
Reply to this email directly or view it on GitHub
https://github.com/coinbase/coinbase-python/pull/2#event-257607782.


guard move

when we try to apply a universal guard, to prevent a rename in the same directory, one of the test fails
• [FAILED] [0.044 seconds]
op: move fs: UniversalFS [It] 🧪 ===> given: target is '[from] file exists, [to] directory exists, [no-clash]', Move should: 'succeed'
/Users/plastikfan/dev/github/snivilised/nefilim/fs-move_test.go:56

  [FAILED] OVERWRITE: false
  Expected success, but got an error:
      <*fmt.wrapError | 0xc0001d01a0>:
      op: "Move", from "scratch/the-same-deep-water-as-you.MOVE-FROM.txt", to: "scratch/disintegration" same directory move rejected, use move instead
      {
          msg: "op: \"Move\", from \"scratch/the-same-deep-water-as-you.MOVE-FROM.txt\", to: \"scratch/disintegration\" same directory move rejected, use move instead",
          err: <*errors.errorString | 0xde0af20>{
              s: "same directory move rejected, use move instead",
          },
      }
  In [It] at: /Users/plastikfan/dev/github/snivilised/nefilim/fs-move_test.go:69 @ 10/22/24 12:26:27.661

Here is the guard:
func (m *baseMover) guard(from, to string) error {
	if filepath.Dir(from) == filepath.Dir(to) {
		return NewRejectSameDirMoveError(moveOpName, from, to)
	}

	return nil
}

// invoked from move:

func (m *baseMover) move(from, to string) error {
	if err := m.guard(from, to); err != nil {
		return err
	}

  // ...
}

We can't apply a universal guard in this fashion in the same way that has been done for change, because move is subtler and requires more context (ie the flags that indicate file/dir existence returned by peek).


Dracula for Beyond Compare 4

I have created a Dracula theme for the Beyond Compare 4 application.
Github repo: https://github.com/cr45hmurphy/bc4_dracula

Great! I just sent you an invite to join the organization @cr45hmurphy.
Once you accept it, you'll be able to transfer the repo and I'll take care of adding it to the site.
Thanks for building this! 🎉

Great! I just sent you an invite to join the organization @cr45hmurphy.
Once you accept it, you'll be able to transfer the repo and I'll take care of adding it to the site.
Thanks for building this! 🎉

Done!

Looks like the repository still needs to be transferred.

Try now.

https://draculatheme.com/beyond-compare-4 💥 💥 💥


[TASK] Investigate CVE's impact on the plugin

Is your feature request related to a problem?
Some packages can introduce security vulnerabilities.
Task
Investigate these CVEs:
CVE-2022-46364
[Verify the below CVEs have the updated version bumps]
CVE-2022-46175
CVE-2020-36604
CVE-2022-37603
What solution would you like?
Update the package version if needed.

CVE-2022-46175 should be fixed with CVE-2022-46175 (High) detected in json5-1.0.1 #3305

CVE-2022-37603 should be fixed with:

#3306
#452

CVE-2020-36604 is already up to date.
The affected versions are from (including) 9.0 - up to 9.0.3 (excluding).
The currently installed version is: hapi/hoek - 9.2.1


Add traceback ricing functionality

In this commit, a new test module test_trace_ricing has been added to tests/test_python.py. It includes changes in pytest_robotframework/init.py, allowing traceback tracing functionality. Support for 'robot.', 'pytest.', '_pytest.', 'pytest_robotframework.', and 'pluggy.' have been added for module detection. A pylint plugin has also been replaced in .idea/externalDependencies.xml.

pfgl except the commit message. can u remove the ai generated nonsense please


Request: Pin Dependency Versions in Dockerfile for Reproducibility

I'm trying to build the Docker image from the provided Dockerfile, but I'm encountering dependency conflicts during the build process. This is likely due to the fact that the Dockerfile doesn't specify exact versions for the installed packages. Without pinned versions, the build process can pull in the latest available versions, which may not be compatible with each other or with the application code.
To ensure reproducibility and avoid dependency conflicts, I would greatly appreciate it if you could update the Dockerfile to specify exact versions for all installed packages.
Pinning dependency versions will make the build process more reliable and consistent across different environments.
Could you please consider making this change? It would significantly improve the usability and maintainability of the project.
Thanks for your time and consideration!

Hello, thank you for sharing the issue.
I double-checked docker build process without any cache by using following commands.
cd EDOPT
eval $(ssh-agent -s)
ssh-add path/to/my/ssh/secret/key
docker build --no-cache -t sixdof:latest --ssh default .

However, I didn't encounter this issue.
Here is my local environment,
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.5 LTS
Release:	22.04
Codename:	jammy

Docker version 27.3.1, build ce12230

Can you confirm your local environment? If you have this error message, could you share it with us? Especially, we would like to know which libraries have dependency conflicts.
Thanks


Comment via Staticman

Dear human,
Here's a new entry for your approval. :tada:
Merge the pull request to accept it, or close it to send it away.
:heart: Your friend Staticman :muscle:

Field
Content

post
/tutorial-comments-with-staticman-in-gatsby

name
Callum Macdonald

email
4528528255e384327d4bc0c1032f481f

message

date
1528207407

timestamp
1528207407

layout
post

tags

StaticMan appears to be broken at the moment. :-(


Support break and continue in loops

Below is the text from the guide describing the support for break.  (The support for continue is relatively trivial).  The design for break continues with the philosophy that loops should be checkable in a separate SMT query for better modularity in verification, so that the loop must fully specify its invariants and, in the presence of break, its ensures clauses independently of the surrounding context.

Loops can exit early using return or break.  Suppose, for example, we want to remove the requirement triangle(n as nat) < 0x1_0000_0000 from the loop_triangle function, and instead check for overflow at run-time.  The following version of the function uses return to return the special value 0xffff_ffff in case overflow is detected at run-time:
fn loop_triangle_return(n: u32) -> (sum: u32)
    ensures
        sum == triangle(n as nat) || (sum == 0xffff_ffff && triangle(n as nat) >= 0x1_0000_0000),
{
    let mut sum: u32 = 0;
    let mut idx: u32 = 0;
    while idx < n
        invariant
            idx <= n,
            sum == triangle(idx as nat),
    {
        idx = idx + 1;
        if sum as u64 + idx as u64 >= 0x1_0000_0000 {
            proof {
                triangle_is_monotonic(idx as nat, n as nat);
            }
            return 0xffff_ffff;
        }
        sum = sum + idx;
    }
    sum
}

Another way to exit early from a loop is with a break inside the loop body.  However, break changes the meaning of loop invariants slightly.  For simple while loops without a break, each invariant must be true before and after each loop iteration, and Verus also knows that the loop condition (e.g. idx < n) must be false after exiting the loop.  If there is a break, though, the loop condition is not necessarily false after the loop, because the break might cause the loop to exit even when the loop condition is true.  To deal with this, while loops with a break, as well as Rust loop expressions (loops with no condition), work slightly differently, as shown in the following code:
fn loop_triangle_break(n: u32) -> (sum: u32)
    ensures
        sum == triangle(n as nat) || (sum == 0xffff_ffff && triangle(n as nat) >= 0x1_0000_0000),
{
    let mut sum: u32 = 0;
    let mut idx: u32 = 0;
    while idx < n
        invariant
            idx <= n,
            sum == triangle(idx as nat),
        ensures
            sum == triangle(n as nat) || (sum == 0xffff_ffff && triangle(n as nat) >= 0x1_0000_0000),
    {
        idx = idx + 1;
        if sum as u64 + idx as u64 >= 0x1_0000_0000 {
            proof {
                triangle_is_monotonic(idx as nat, n as nat);
            }
            sum = 0xffff_ffff;
            break;
        }
        sum = sum + idx;
    }
    sum
}

For while with break (or for loop), each invariant must be true before each loop iteration, but need not be true on exit.  Instead, ensures clauses are used to indicate what must be true on exit.  (For convenience, you can also supply invariant_ensures clauses, in between the invariant clauses and ensures clauses, that act as both invariant and ensures.)

It seems a little awkward that the meaning of 'invariant' changes when a 'break' statement is added.
Could we rename 'invariant_ensures' to 'invariant' and 'invariant (in the case of a loop with a break)' to something else?

Could we rename 'invariant_ensures' to 'invariant' and 'invariant (in the case of a loop with a break)' to something else?

I originally implemented syntax for requires/invariant/ensures rather than invariant/invariant_ensures/ensures:
https://github.com/verus-lang/verus/blob/93c0dfa8c2f7148847c4effdd461d7217dace4b6/dependencies/syn/src/expr.rs#L542
    pub struct ExprLoop #full {
        pub attrs: Vec<Attribute>,
        pub label: Option<Label>,
        pub loop_token: Token![loop],
        pub requires: Option<Requires>,
        pub invariant: Option<Invariant>,
        pub ensures: Option<Ensures>,
        pub decreases: Option<Decreases>,
        pub body: Block,
    }

However, requires was confusing in practice, because it looked like it was only required upon the first entry to the loop, when in fact, it was required upon every entry to the loop.  In other words, it was an invariant, so I changed it to:
    pub struct ExprLoop #full {
        pub attrs: Vec<Attribute>,
        pub label: Option<Label>,
        pub loop_token: Token![loop],
        pub invariant: Option<Invariant>,
        pub invariant_ensures: Option<InvariantEnsures>,
        pub ensures: Option<Ensures>,
        pub decreases: Option<Decreases>,
        pub body: Block,
    }

invariant/invariant_ensures/ensures has some nice properties.  The word invariant refers to the loop head (an invariant, true n times for n iterations), the word ensures refers to loop exit (true once at exit, so not an invariant), and invariant_ensures refers to both.  invariant_ensures is a more cumbersome name, but it is also optional.  People can just use invariant and ensures if they want, as in the loop_triangle_break example above.  If we used some name other than invariant for the loop head invariant, then people would be forced to use that alternate name.

Actually, I don't think I should have written "However, break changes the meaning of loop invariants slightly" in the documentation in the first place.  I think it makes more sense to say that invariant always means the thing that is true at the beginning of each loop iteration, and that this meaning does not change when we introduce break.  What changes is that without break, Verus can automatically compute the exit condition by combining the invariant with the loop condition (since the loop condition is the only thing that causes the loop to exit, and it happens to sit right at the beginning of the loop), and with break, the programmer has to specify the exit condition using ensures.  I've updated the documentation to say this more clearly:
Another way to exit early from a loop is with a break inside the loop body.  However, break complicates the specification of a loop slightly.  For simple while loops without a break, Verus knows that the loop condition (e.g. idx < n) must be false after exiting the loop.  If there is a break, though, the loop condition is not necessarily false after the loop, because the break might cause the loop to exit even when the loop condition is true.  To deal with this, while loops with a break, as well as Rust loop expressions (loops with no condition), must explicitly specify what is true after the loop exit using ensures clauses, as shown in the following code:
fn loop_triangle_break(n: u32) -> (sum: u32)
    ensures
        sum == triangle(n as nat) || (sum == 0xffff_ffff && triangle(n as nat) >= 0x1_0000_0000),
{
    let mut sum: u32 = 0;
    let mut idx: u32 = 0;
    while idx < n
        invariant
            idx <= n,
            sum == triangle(idx as nat),
        ensures
            sum == triangle(n as nat) || (sum == 0xffff_ffff && triangle(n as nat) >= 0x1_0000_0000),
    {
        idx = idx + 1;
        if sum as u64 + idx as u64 >= 0x1_0000_0000 {
            proof {
                triangle_is_monotonic(idx as nat, n as nat);
            }
            sum = 0xffff_ffff;
            break;
        }
        sum = sum + idx;
    }
    sum
}

(For convenience, you can also supply invariant_ensures clauses, in between the invariant clauses and ensures clauses, that act as both invariant and ensures.)

That does make a little more sense, though there's still something I'm wondering.
If you have a loop with a 'break' in it, and use invariant statements, what VC is generated at the end of the loop body? Is it
assert !cond ==> invariant (which would be okay because the invariant doesn't need to be true on exit)
or
assert invariant (the same as it is for a loop without a break)?

That's interesting.  I think you could have a VC like assert invariant || !cond at the end of the loop body, at least if cond is a pure expression.  It gets more complicated in general, because Verus supports loop conditions with side effects.  For example, cond might be x < y - 1, and y - 1 might have the side effect of underflowing.  In this case, Verus relies on the invariant (e.g. y > 0) to prove that it's safe to execute cond, which means the VC might have to be the whole invariant, without being able to use cond as an assumption.


Expose clientManifest in pageContext during production runtime

Description
As a consumer of vite-plugin-ssr I would like to be able to access the "clientManifest" in an easy way (vite-plugin-ssr already loads it for internal use), to allow preloading my dynamic assets. The library already provides static dependency analyses but this is insufficient for more dynamic content-driven use cases.
This would be useful when:

you can get a reference to used assets during a render (as described in https://vitejs.dev/guide/ssr.html#generating-preload-directives)
you will know ahead of time which components will be rendered on a dynamic page. (Analyzing preliminary API response)

I would even be in favor of passing the references to vite plugin ssr of these preloadable assets instead of manually generating all the preload directives and injecting them in the html. That way we could easily avoid asset preload duplication without the use of injectFilter.
Regardless, clientManifest would be vital for such a feature to be able to infer the manifestKeys using the plain component names.

I agree in principle, although so far I think the DX can be better instead of just providing the content of manifest.json.

I would like to be able to access the "clientManifest" [...] to allow preloading my dynamic assets. [...] The library already provides static dependency analyses but this is insufficient for more dynamic content-driven use cases.

When and what kind of assets do you want to preload? The more I know about your use case the better.

I would even be in favor of passing the references to vite plugin ssr of these preloadable assets instead of [...] injectFilter.

What issues are you having with injectFilter?
Note that, for various reasons, there can be only two positions: at the begin (before the HTML of pageContext.Page) and at the end (after the HTML of pageContext.Page). That's why https://github.com/brillout/vite-plugin-ssr/issues/695 has exactly two placeholders.

My use case is the following:

Only parts of my web page are rendered on the server (above the fold mainly), the rest is loaded on the client side. This is due to the content being highly dynamic and some system level limitations which disallowing the page regeneration when some parts of the content (shared central content) change.
Due to this I only use a single entry (page file) to render the dynamic content depending on the given page's structure. This means that the manifest json cannot really be statically analyzed as the app is littered with dynamic imports.
This leads to me using vite's built in module tracking which works wonderfully, although, I miss most of my components being preloaded due to most of them rendering on the client only.
To work around this, I analyze the full page structure on the server side during the cached render, and use the basic data of x, y component will be rendered to generate asset preload directives for my components as they will be rendered always.
As for what I want to preload it varies on what the component relies upon. It can be images, css, javascript.
For the injectFilter my only problem is the warning which cannot be turned off when I don't inject certain assets due to me already including them directly on my own (this avoids double preload directives).

For DX improvements, it would be nice to pass some sort of an object to the plugin instead of having to generate all the preload directives manually. How I would imagine this:

I resolve the manifestKey which has to be preloaded
I pass it to the plugin
The plugin does the rest

Seems like a set of requirements that are very specific to your app.
In general, I consider implementing features that target only a single user only if that user is a sponsor. Maybe your employer would be up to sponsor VPS? (Or one time donation/contract but I prefer long-term sponsoring.)

Closing for lack of interest.


Issues with installing in windows using cargo

I have tried intalling wasmCloud cli using cargo but issues of unresolved imports occurs. Kindly Help thank you

Hey @Aques, apologies for not seeing this issue earlier! This is unfortunately due to the terminal emulator (termion) not supporting Windows in their roadmap. This could be fixed relatively easily by making termion a default feature but optional, and Windows users would not be able to use the wash REPL. Is that the feature you are most interested in, or are you looking for wash as a whole?
Another option would be to completely replace termion with crossterm, which does have Windows support.

Thanks Brook for replying I was interested in using wash for some project
but was not able to do so because of these errors. I would try to make
termion optional or replace it with crossterm whichever works best. Thanks
again for your help.
On Tue, Jul 20, 2021, 1:26 AM Brooks Townsend @.***>
wrote:

Hey @Aques https://github.com/Aques, apologies for not seeing this
issue earlier! This is unfortunately due to the terminal emulator (termion)
not supporting Windows in their roadmap. This could be fixed relatively
easily by making termion a default feature but optional, and Windows
users would not be able to use the wash REPL. Is that the feature you are
most interested in, or are you looking for wash as a whole?
Another option would be to completely replace termion with crossterm,
which does have Windows support.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/wasmCloud/wash/issues/147#issuecomment-882817074, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AIXZOLHRNXYN3FMUHC2XZV3TYR7NLANCNFSM47ZLK35Q
.

Hey @Aques , working on fixing this in my other PR #150. If you'd be willing to test, you should be able to install wash 0.5.0 now on your Windows machine with the following command:
cargo install --git https://github.com/wasmcloud/wash --branch 0.5.0-release --no-default-features

The up command will be missing, as termion is a requirement. You aren't missing out on too much, the REPL is going to be deprecated in 0.6.0 so it's not too far off of the norm 😄

Thanks Brook, I would be trying this one sorry was not able to reply soon
due to some work. Thanks for telling about details I will try this and tell
you how that works if possible 😁. Thanks again
On Mon, Aug 2, 2021, 9:06 PM Brooks Townsend @.***>
wrote:

Closed #147 https://github.com/wasmCloud/wash/issues/147 via #150
https://github.com/wasmCloud/wash/pull/150.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/wasmCloud/wash/issues/147#event-5099828085, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AIXZOLFVZNE77BRYCJGAD4DT223Q3ANCNFSM47ZLK35Q
.