Reintroduce Join/MeetSemiLattice

Why were Join/MeetSemiLattice dropped from the API?
I have some algebras that can only implement meet (or join) but do not have the other, e.g. they form a partial ordering but can only define lub or glb.
It's a bit of a shame to have the missing step from partial ord to lattice.

I'd recommend to use https://hackage.haskell.org/package/semilattices if you need that.
I have to write down my reasoning though for an API change

It'd be good to see the reasoning.
Having to use a separate package is a bit annoying as I have code that works over some types that are lattices and some that are just semi lattices and I'd like to have them use the same operator rather than switching between differently qualified (/) and (/).

Also there is no PartialOrd in semilattices. In general, its API seems inferior.
I have a pomaps package that depends on PartialOrd and datafix which strengthens these requirements to BoundedJoinSemiLattice in a few places, and of course there are BJSLs in practice that just aren't bounded lattices. I'd just use v1.7 forever, but that won't work without --allow-newer anymore with GHC 8.8.1.
Would you consider also maintaining v1.*, if only for bumping upper bounds?

@sgraf812 I did revision for <IP_ADDRESS> https://hackage.haskell.org/package/lattices-<IP_ADDRESS>/revisions/ (looks like GHC-8.10 is fine too). I'll do revision for 2.x versions when I do bigger larger scan of libraries I maintain (after GHC-8.10 is released).
About BoundedJoinSemiLattice. I don't think I'll add it back. For the datafix case you are actually interested in CPOs, not lattices. I'm thinking that class PartialOrd a => CPO a where ??? would be reasonable to have, and maybe make lfpFrom to use that class (as that what the fixpoint theorem requires).
In short Lattice and PartialOrd are unrelated as far as type-checker is concerned, for reasons like (https://github.com/phadej/lattices/issues/54), so I might need to "duplicate" classes.
Yet, I'm not sure how CPO class should look like. Its math definition says that big \/ exists in directed subset (or there is least upper element in ascending chain), which is not arbitrary subset (i.e. not [a]). Thus e.g. binary strings ordered by isPrefixOf are CPO (but they are not lattice). I'm trying to wrap my head around it, and come up with something satisfactory, yet not oversimplifying too much.
I even borrowed a book to wrap my head around these issues properly
 yet I have been lazy studying it.

Yes, BoundedJoinSemiLattice is just an approximation to a CPO, but a very close one. Close enough for the program analyses I had in mind, at least.
Also, being able to compute the join of two incomparable elements is quite useful at times. In terms of a monotone function f as in datafix this means that we can start fixed-point iteration when computing f c, where c is an upper bound to both a and b (so c >= a \/ b), from f a \/ f b (which is lower bound to f (a \/ b), which is lower bound to f c). In a CPO, you would have to start from ⊥.
TLDR; I like BoundedJoinSemiLattice for datafix, and redefining it probably wouldn't be that hard. It's just that I like to build on a separate library that defines this language rather than embedding it into a library with a very narrow use case.

Another solution for datafix, which you probably won't like. Is  to use Monoid instead of BoundedSemiJoinLattice. You'd need to have a disclaimer that only commutative and idempotent monoids work; yet there are no connection between PartialOrd and BoundedSemiJoinLattice (though this library has the same underlying order).
I tried, and needed to do just two changes in the library (examples define instances, so there is more work). joins to mconcat was the other one.

Thanks for the suggestion! I'd probably define a IdempotentCommutativeMonoid class for that. And then I can just define BoundedSemiJoinLattice directly, to get the connection with PartialOrd.
Anyway, the current state of things works for me, so no need to change it just yet :)
I'm a little worried about potential users (well, in case there will ever be any user of datafix other than myself) in the future that like to use some new lattices v2 feature that conflicts with my <2 upper bound.

I can also use lattices-1.7.1 (thanks for providing that) and heyting-algebras-<IP_ADDRESS> but it's not ideal as we'll definitely be missing future updates/additions. Using 2.0 introduces partial functions as I can't define (\/) on all of my lattice types.
I still don't understand the need or benefit to combining join/meet lattices while you keep a separation of bounded meet and join lattices. They're two perfectly lawful parts of the hierarchy.

If you want separate type hierarchy, use https://hackage.haskell.org/package/semilattices.
We (lattices and semilattices) explore the design space of "how to encode mathematical structures in Haskell", and chose different ways.
I wont reintroduce Join/MeetSemiLattice class(es).

@phadej  Please help me understand why semi-lattices have been removed. Who benefits from having separate packages for lattices and semi-lattices, with separate class hierarchies and subtly distinct interfaces? Surely if a type is a lattice, it is automatically both a join and a meet semilattice. Can there ever be a technical reason for breaking things apart like this?

Note that I accepted in https://github.com/phadej/lattices/issues/95#issuecomment-603114321 that I just have to define my own type class. I can't switch to https://hackage.haskell.org/package/semilattices, because it has no analog of PartialOrd. So there are use cases in which you can't replace lattices-1.* by lattices-2.* or semilattices.

I to would be interested in the reasoning for this change. I can't see the reason for this reordering of the type classes (and it breaks my usages of this package).
Above you said you needed to write up the logic, I can't find it yet though. Would you mind explaining please?

I don't like when there are laws assigned to

memberless type-classes (or synonyms)
laws refer to members of type-classes which are not super-classes

class Pointed f where
  pure :: a - f a

class Ap f where
  (<*>) :: f (a -> b) -> f a -> f b

type Applicative f = (Functor f, Pointed f, Ap f)

That's however how hierarchy is modelled in semilattices, and you are free to use it if you like.
Current (lattices-2) design is such that:

there is no memberless type-classes (with extra laws). Note BoundedLattice doesn't add any laws.
there is no laws referencing members not in class itself or its superclasses.
/\ and \/ are introduced in the same class Lattice, so their interaction, e.g. absorption is a natural looking class.

I'm aware that new hierachy might not fit all the previous use-cases,
trade-offs have to be made. I made this one.

You're of course free to refactor your library as you please, but

I don't like when there are laws assigned to

memberless type-classes (or synonyms)

I understand the issue about synonyms, but not so much about type classes. What's wrong with a memberless sub class? If Haskell actually had theorem proving capabilities, the proof for the law would surely be part of the type class, so the type class wouldn't even be empty anymore. Declaring the instance in Haskell basically declares a "trust me" proof.
I'm not a huge fan if the instance for a memberless sub class is directly implied, though, because that makes it effectively a synonym.
Maybe I'm misunderstanding, but the example you gave is just one for the synonym issue, not for the memberless type class issue.

However, Haskell does not have theorem proving capabilities.
In Agda lattices look different, and that is fine.
And even if Haskell had:
class (Functor f, Pointed f, Ap f) => Applicative f where
   ...four law members..

then what would be the inferred type of:
liftA2 f x y = f <$> x <*> y

It won't be Applicative f =>.
In theorem provers, types are rarely inferred.
In Haskell they are, because it's not a theorem prover and
laws are not used formally
(so we won't overconstraint the type if we don't need to).

Inference is a convincing example. Thanks!

Note BoundedLattice doesn't add any laws.

But Lattice does - it has absorption laws which are codified into the typeclass. One can have a type which has both a Join and Meet semilattice instance which does not have a Lattice instance because absorption fails. In this case, a memberless typeclass gives an indicator towards the reasoning principles you can use for join and meet, which is not implied if you just have (Join a, Meet a) => ! The latter introduces ambiguity at the cost of source code cleanliness, and the former introduces improved reasoning at the cost of a typeclass. I'm inclined to believe that the typeclass is the lesser of the two evils here.
One of the other knock-on effects this has is that, while the "more principled class is the superclass" approach may work in some cases like Monoid a => Semigroup a, but not int the case of Lattices. You can view a semigroup as a degenerate Monoid, vis. Semicategory as a deficient category, depending on your worldview, but a Lattice is more akin to a Ring, which is a composite structure built from more principled components: namely, join/meet-semilattices and their bounded variants. So to me and to others, that direction for implication is actually surprising and in the case of the first point, wrong in some cases.
I'm not going to say "change it back", because obviously competition is great, but it's something to think about.

That is the problem I'm running into, this arrangement seems to contradict the theory behind lattices.

One can have a type which has both a Join and Meet semilattice instance which does not have a Lattice instance because absorption fails

But in this case the join and meet instances can't be with respect to the same partial order?
But I might be misunderstanding and you're making exactly this point!
I think I'd expect
class (JoinSemiLattice a, MeetSemiLattice a) => Lattice a
instance (JoinSemiLattice a, MeetSemiLattice a) => Lattice a

?

Not every (JoinSemiLattice a, MeetSemiLattice a) => a is Lattice a, correct. Lattice a comes with extra requirements. If you need those theorems you need to take Lattice.

Yes - but that is only in the case when the induced partial orders are different? - which I'd argue makes for poor instances.
I think that would be fixed by making PartialOrd be a superclass of JoinSemiLattice and MeetSemiLattice?

Yes - but that is only in the case when the induced partial orders are different? - which I'd argue makes for poor instances.
I think that would be fixed by making PartialOrd be a superclass of JoinSemiLattice and MeetSemiLattice?

https://github.com/haskellari/lattices/issues/54

Sorry @phadej - I'd seen this and it wasn't a request to make any changes. Just trying to clear up the discussion I'd been having above.
I do feel that breaking the hierarchy apart to admit the JoinSemiLattice v => JoinSemiLattice (k -> v) is a bit of a misstep. It feels coincidental that the (->) join- and meet-semilattices are pointwise compared to domain-wise for equality, ordering etc. and so living without them as we do for Eq, Ord etc doesn't feel that problematic. There may of course be other instances I'm not aware of that don't admit PartialOrd instances but they must similarly fail to supply Eq instances otherwise you could define the PartialOrd via
(<=?) x y | x /\ y == x = True
               | otherwise = False

That said - thanks for creating/maintaining the library! I understand how much time it can take and underappreciated it can be.

Yes - but that is only in the case when the induced partial orders are different? - which I'd argue makes for poor instances.

I think that would be fixed by making PartialOrd be a superclass of JoinSemiLattice and MeetSemiLattice?

Yes, precisely. This problem comes from the fact that the purely algebraic take (lattices is composed of a pair of commutative bands that agree as a duoid) and the order-theoretic take (lattices are posets with all finite joins/meets). In the former case, you need the typeclass do to having possibly conflicting operations (they don't form a duoid), where the instances can concretize those absorption laws. The latter case works if you accept partial ord as your superclass.

I do feel that breaking the hierarchy apart to admit the JoinSemiLattice v => JoinSemiLattice (k -> v) is a bit of a misstep.

(predicate1 /\ predicate2) \/ anotherPredicate is however very neat and practical.

Ah yes - that is very nice and something I hadn't considered.
You can - albeit with an extra couple of operators - recover that behaviour (and more?) with
(</\>) :: Applicative f => MeetSemiLattice a => f a -> f a -> f a
(</\>) = liftA2 (/\)


WIP: binding list widget with Api

List widget with bindings
Test coverage results :test_tube:
:white_circle: Total coverage has not changed
No changes to code coverage between the base branch and the head branch

/ok-to-test sha=c6fa519

/ok-to-test sha=c057fe5


Upgrade swingx to 1.6.

This disables the auto-sorting tables that SwingX enables, since it's
incompatible with LockableListModel, I guess.
(This seems to work for me, at least with what was previously a
consistent reproducing example no longer reproduces with this change.)

My consistent reproducing test case prior to this change: log in, note that Item Manager frame isn't present.
I also checked that it still reproduces if I revert the changes in ShowDescriptionTable.

Hm. Looks like that actually broke table sorting entirely.
I wonder what else needs fixing.

Hm. So, I still think the problem is a startup race. We use AbstractTableModel with a RowSorter just fine with CandyTable, and also I don't reproduce the issue if I load the frames before I log in (which populates inventory).

More experimenting indicates that changing AutoFilterTextField to use LockableListModel.updateFilter(true) instead of false (which I suspect was an optimization of sorts) fixes the initially observed panel load failure.
There are many other instances of LockableListModel.updateFilter(false), and I'm not sure which if any may trigger this same style of issue.

@jaadams5 Mind taking this for a spin on Windows? I don't expect any problems, but confirmation would be good to have.

Missed this but I will try and check on Windows.  The practice of working with someone else's branch will do me good.  I assume a local build and then trying to interact with a lot of menus will be sufficent?

Yes, that should be good. It's a separate branch on the same remote repo, so I'd expect it to be well-supported by GUIs.

I think I tested on Windows 11.  I convinced some GUI tool (and I didn't take notes) to fetch this branch.  I built via shadowjar and my build.gradle referenced 1.6 and 1.6.1.  I ran the code bringing up windows and sorting some columns and nothing unexpected occurred.

I'll merge this as-is. We can do other cleanups in a followup PR, since I'd rather not conflate too many things, especially since this has the potential to cause another breakage, so it might need to be rolled back again. I don't think it will, but I've been wrong before.


Need to leave logs only for last 4 days

Since tray writes a lot of logs, it can consume a lot of memory usage in user's machine. So let's delete old log folders that are not really useful.

done.

Done.


Focus first incorrect field when form validation is used

Feature Request
If my form does not fit within ~100vh (e.g., https://www.eabsentee.org/form), then if a user submits an invalid form, the page currently does not show the first incorrect field. This leaves the user confused because it looks like the page is just doing nothing when the submit button is clicked.
Implementation
perhaps something like this: https://github.com/1000hz/bootstrap-validator/issues/52#issuecomment-71472662
but rather than animating to the right position, I think focusing the field instead could work

Thanks for the suggestion, but I think that's outside the scope of the project :).


BHV-692: Implemented new Channel Banner and samples - RC

closing out since this jira has been closed.


remove limit from table writer

The table writer previously would exit with an error when too
many limes were encountered.
Instead of quitting, when the table writer reaches it limits, it
simply flushes its output and starts writing again.  This means
long outputs will periodically generate column headers.
The table writer does the same thing when the descriptor changes as
the header is no longerr consistent with the data.  So it flushes the
current data and writes a new header.

Its a little sad to see the dlog go but I get it.

Ha!  Phil hated those messages... :-)


[Suggestions and Injector]

add a left hand knife.
add chams ragdolls and glow on "types 2-3" throw the wall (already have on skeet).
add dynamic fov and smooth and fov viewer.
add more anti detection methods.
add bone esp or skeleton.
add edge jump.
better auto accept.

Please, comment what open source injector is more safe to use.

For the injector, you can try writing an executable binary that injects an dll hex that also fakes and erases pe headers to prevent detection

@anonymouschicken111
I'm not a coder and paster, so I suggest to in future @danielkrupinski can be put this on Osiris.
And I know have a lot of pastes with that "left handed knife" or something.
**I really just need a open source injector than I can make it undetectable and "playable" without any kinda VAC.

for the left hand knife you can just do that command in console

bind 3 "slot3; cl_righthand 0"
bind 1 "slot1; cl_righthand 1"
bind 2 "slot2; cl_righthand 1"
and everything else is pastable

@AbdallahMehiz
https://github.com/danielkrupinski/Osiris/issues/431

@anonymouschicken111
I'm not a coder and paster, so I suggest to in future @danielkrupinski can be put this on Osiris.
And I know have a lot of pastes with that "left handed knife" or something.
I really just need a open source injector than I can make it undetectable and "playable" without any kinda VAC.

Use rando injector and add some junk code & new hex


user_proxy sometimes is None at a_initite_chat time

@SomeComputerGuy was experiencing this issue:
2024-02-13 15:28:08,695 ServerConnection created
2024-02-13 15:28:15,069 Task exception was never retrieved
future: <Task finished name='Task-144' coro=<delayed_initiate_chat() done, defined at /home/emoore/AutoGenLabs/AutoGenGuiChat.py:44> exception=AttributeError("'NoneType' object has no attribute 'a_initiate_chat'")>
Traceback (most recent call last):
File "/home/emoore/AutoGenLabs/AutoGenGuiChat.py", line 47, in delayed_initiate_chat
await user_proxy.a_initiate_chat(manager, message=message)  # Now initiate the chat
^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'a_initiate_chat'

Probably due to an older version of some library where the user_proxy variable is not yet initialized so fixed this by moving it's initialization down in the file.


Add format function to @shopify/dates

Description
Fixes #2101
Adds a format function to @shopify/dates which serves as a drop-in replacement for moment().format usage.
Please see the linked issue for more rationale as to why this is wanted: https://github.com/Shopify/quilt/issues/2101
It works as follows:
import {format} from '@shopify/dates';

const date = new Date(2010, 1, 14, 15, 25, 50, 125);
const formattedDate = format(date, 'dddd, MMMM D YYYY, h:mm:ss a');
formattedDate === 'Sunday, February 14 2010, 3:25:50 pm'; // true

This handles the following format string options:

Month
M
1 2 ... 11 12

MM
01 02 ... 11 12

MMM
Jan Feb ... Nov Dec

MMMM
January February ... November December

Day of Month
D
1 2 ... 30 31

DD
01 02 ... 30 31

Day of Week
ddd
Sun Mon ... Fri Sat

dddd
Sunday Monday ... Friday Saturday

Year
YY
70 71 ... 29 30

YYYY
1970 1971 ... 2029 2030

Hour
H
0 1 ... 22 23

HH
00 01 ... 22 23

h
1 2 ... 11 12

hh
01 02 ... 11 12

Minute
m
0 1 ... 58 59

mm
00 01 ... 58 59

Second
s
0 1 ... 58 59

ss
00 01 ... 58 59

AM/PM
A
AM PM

a
am pm

Type of change

[ ]  Patch: Bug (non-breaking change which fixes an issue)
[x]  Minor: New feature (non-breaking change which adds functionality)
[ ]  Major: Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist

[x] I have added a changelog entry, prefixed by the type of change noted above (Documentation fix and Test update does not need a changelog as we do not publish new version)

It feels like you could do something with formatToParts to get many segments of a datetime in an array, and then you wouldn't need to call .format() a once for each part of the datetime

@BPScott Thanks a lot for the suggestions! I think this version is much more improved. Now, I'm using formatToParts and only making a call to it for each token in a given string.


Add Supernotes to tools

Hi @mattcone, thanks for building Markdown Guide – it's great reference and I've used it countless times over the last couple years.
I've opened this pull request to add Supernotes to the list of tools; I hope I've structured everything ok.

Thanks!


Add reconciler interface

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.06%

Covered Lines:
3229

Relevant Lines:
4838

💛  - Coveralls


[Migrated] Allow Configuration of Lambda Name

Originally from: https://github.com/Miserlou/Zappa/issues/1556 by TimOrme
Context
We'd ideally like to be able to configure the name of the lambda that zappa creates/uses. Right now, this is hardcoded to <project_name>-<api_stage>.
We'd like to be able to override this default behavior with a lambda name of our choosing.  This would also potentially allow us to create the lambda outside of zappa and then only allow zappa access to update functions rather than create them, though Im not sure of the other implications of that approach.  Either way, this seems like it would be a nice feature to have.
Expected Behavior
We could add an optional lambda_name function to the configuration file, which would be used in place of the default.
Possible Fix
I think this should be relatively straightforward to implement.
https://github.com/Miserlou/Zappa/blob/master/zappa/cli.py#L1989
Could be changed to:
self.lambda_name = self.stage_config.get('lambda_name', slugify.slugify(self.project_name + '-' + self.api_stage))

Bump

Lambda function is defined as: <project_name>-<api_stage>
you can define your project_name and stage_name.
You are free to create the lamba function outside of zappa and only use the packaging done by zappa.
If there are issues with that please create a new issue.
closing.


Set property fileName in target by code

Hi all! Please help me.
How  set property fileName and archiveFileName from config Nlog by code?

See
https://github.com/nlog/nlog/wiki/Configuration-API

Thank you very much. But the only question:
root(see below, something direction), for example

        fileName="root/"

        archiveFileName ="root/"
        archiveAboveSize="10000"
        archiveNumbering = "Rolling"
        maxArchiveFiles="10"/>

and then in code i try change root add part of path with file:
{
...
NLog.Layouts.Layout changeRoot = fileTarget.FileName + "\" + "folder1" + "\" + folder2+ "\"  + nameFile + "--Today.log";
fileTarget.FileName = changeRoot;
}

@JinPachi  please use fenced code blocks (syntax highlighting is preferred) in the GitHub issues. Thanks

Closing this due to the lack of activity. Feel free to re-open.


WIP - entitlements validation endpoint

Description
Endpoint that will validate whether the weight estimate exceeds the maximum entitlement. It will be replicating the getEntitlements func in the client, but on the server, and returning a 200 if the weight estimate is within the entitlement, and a 409 response if not. This endpoint will be hit on the Review screen, and if a 409 is returned, a notification/alert will pop up indicating what is to be done (e.g. the user has to lower the weight estimate on the edit weight screen). The user is not able to proceed without correcting the weight.
Code Review Verification Steps

[ ] All tests pass.
[ ] Code follows the guidelines for Logging
[ ] The requirements listed in
Querying the Database Safely
have been satisfied.
[ ] Any migrations/schema changes also update the diagram in docs/schema/dp3.sqs
[ ] There are no aXe warnings for UI.
[ ] This works in IE.
Any new client dependencies (Google Analytics, hosted libraries, CDNs, etc) have been:

[ ] Communicated to @willowbl00
[ ] Added to the list of network dependencies

[ ] Request review from a member of a different team.
[ ] (TRIAL) Have the Pivotal acceptance criteria been met for this change?

References

Pivotal story for this change
this article explains more about the approach used.

Screenshots
If this PR makes visible UI changes, an image of the finished UI can help reviewers and casual
observers understand the context of the changes. A before image is optional and
can be included at the submitter's discretion.
Consider using an animated image to show an entire workflow instead of using multiple images. You may want to use GIPHY CAPTURE for this! 📸
Please frame screenshots to show enough useful context but also highlight the affected regions.

The cases where we need this notification, the user is not changing their weight estimate.  We need to notify the user when changes to their orders or service member information impacts their incentive. This can happen in 2 ways. The user can make changes on the review screen or the user might go back in the wizard and make changes. Design wants the notifications to happen on the review screen, so the user can then make the necessary weight adjustment.


Analysis may be incorrect depending on timing/module load order

When analyzing mod1 that imports mod2 code in
            var reanalyzeEntries = aliases.SelectMany(a => Analyzer.GetEntriesThatImportModule(a, true)).ToArray();
            foreach (var entryRef in reanalyzeEntries) {
                await EnqueueItemAsync(entryRef as IDocument, AnalysisPriority.Low, parse: false);
            }

assumes that analysis of other modules is complete and GetEntriesThatImportModule will return the correct set. However, if analysis of dependencies hasn't been completed yet, the set may be incomplete. So in find reference tests code that loads dependency first like
                var uri2 = await TestData.CreateTestSpecificFileAsync("mod2.py", text2);
                using (server.AnalysisQueue.Pause()) {
                    await server.LoadFileAsync(uri2);
                    uri1 = await server.OpenDocumentAndGetUriAsync("mod1.py", text1);
                }

will succeed because mod2 will be placed in the queue first, but code that loads dependency last
                var uri2 = await TestData.CreateTestSpecificFileAsync("mod2.py", text2);
                using (server.AnalysisQueue.Pause()) {
                    uri1 = await server.OpenDocumentAndGetUriAsync("mod1.py", text1);
                    await server.LoadFileAsync(uri2);
                }

will lead to incomplete analysis with references missing

This requires fair amount of work to build dependency graph and re-analyze from there.

#135


Leaky Headers

The NAS2D headers leak third party includes (OpenGL) in exactly one file: ShaderManager
Should this be allowed, or should users of NAS2D be isolated from the underlying implementation (OpenGL, SDL, etc.). Personally, I think third party includes should stay out of public header files whenever possible. The one exception being when two libraries are meant to be used together in tandem by the client code, which does not appear to be the case here.
Further, ShaderManager is currently dead code. The header is not included by the main NAS2D header, nor is any of it's code referenced from other parts of the project. I think ShaderManager, and the recently commented out Shader, should be deleted from the current version.
Going forward, I'd suggest keeping third party includes out of public headers as a rule.

I actually agree. It's the biggest change I made in 1.4.0, an effort to hide implementation details and only expose NAS2D interfaces.
I'll pull the files associated with shader management and usage as those are features that will be implemented in another release.

Looking at the header Renderer/ShaderManager.h, the copyright notice kinda says it all:
// = Copyright � 2008 - 2012 New Age Software
Hasn't been touched for at least 5 years, almost 6.

Alright, seeing as how you've now removed the files in question, I'm going to close this issue.


 elements not rendering correctly

The following SVG doesn't seem to render correctly. In the browsers I've tried (e.g. Edge, Internet Explorer) it looks like this:

But the JavaFX scene graph created by fxsvgimage looks like this:

It looks like a combination of problems - perhaps not handling whitespace collapse (see https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/xml:space) and also not positioning/styling tspan elements correctly (most of them are missing).
I'm new to fxsvgimage so it's possible I haven't set it up correctly but other SVG images seem fine.

Hello, the image is a PNG in the issue, can you upload the original svg image?

Done. Sorry for the confusion!

Thanks!

I looked at the way I parse text and tspan elements, and I have to change the way I parse these elements :)


Display which user group was mentioned in email/mobile push notifications

Previously, both user group mentions and personal mentions were added in mention_user_ids and consequently, they both were treated the same way everywhere.
This PR separates both types of mentions by using a separate dict user_group_mentions, which maps user ID to group ID, in case of user group mentions. We also add the mentioned_group property in the users data set to access the mentioned group information anywhere we want.
This implementation is then used in displaying which user group was mentioned in email/mobile push notifications. For example, "Halmet mentioned you" in iOS notification subtitle will be converted to "Halmet mentioned @mobile". The same will happen for the text in emails.
Apart from that, we can also supply user group mentions in a nice machine-readable form in the message sent over FCM to Android devices.
Fixes #13080.

@ryanreh99 can you review this, since you've been working on this code path?

@timabbott this is ready for a review.

I finished reviewing all of the changes and they seem pretty good! I left two comments of which only the first needs be addressed now; I want another opinion about that second comment. Otherwise I think that we can ping @timabbott for review now.
Great work @hashirsarwar!

Thanks for the review @Hypro999. I have made the change suggested in the first comment. The second comment looks good to me. However, I will wait for the input from @timabbott to finalize the required changes.

I merged the first commit.  Do you understand why this is failing CI?

@timabbott I had to add # nocoverage due to a coverage bug with continue (background conversation here). Kindly have a look.

This was completed in https://github.com/zulip/zulip/pull/190851.


Embedding Dart Runtime, Windows Compilation (DLL, /MD)?

I'm attempting to embed the Dart vm into a game engine I have a few questions.

The command ./tools/build.py --no-goma --mode release --os host -a x64 runtime returns a static library built using the /MT runtime library which isn't all that compatible with the game engine's /MD runtime. Is it currently known if the dart runtime can be built using the different runtime library?

Is it possible to produce a libdart_jit.dll for embedding in windows?

If it is possible to build dart runtime changing the /MT[d] flags to /MD[d].  In an attempt to embed the dart vm I changed the flag to the /MD type in hopes of producing a compatible .lib file.  When attempting to compile I receive numerous linking errors found HERE (All seem to be from the libdart_vm build rule, maybe?). Did I make a mistake or is there something I'm missing?

I'm hoping to use dart as scripting for the game (or possible future programs). This is also a stepping stone for me for attempting to embed flutter for building the ui inside native applications.
Thanks for any help.

@parrajustin - you might also consider asking in one of the venues here for a faster response: https://dart.dev/community#join-the-conversation

@parrajustin - you might also consider asking in one of the venues here for a faster response: https://dart.dev/community#join-the-conversation


KBS: Enable deployment for s390x

The following changes have been made to enable the KBS deployment for s390x:

Made the mount point /opa/confidential-containers/kbs writable (for both arches, reviving https://github.com/confidential-containers/trustee/pull/431)
Differentiated the configuration for x86_64 and s390x in overlays and nodeport
Updated the documentation

Detailed explanations can be found in each commit message. Verification was performed on a test machine for each platform.
Signed-off-by: Hyounggyu Choi<EMAIL_ADDRESS>

why do we need to add a persistent volume? could we just mount the configmap into the init-container (read-only) and copy the file to the (writable) container storage?

Do you see any cons for using the PV? Why I chose the PV is that I just don't want to open any credentials used for the SE verifier upstream.

why do we need to add a persistent volume? could we just mount the configmap into the init-container (read-only) and copy the file to the (writable) container storage?

Do you see any cons for using the PV? Why I chose the PV is that I just don't want to open any credentials used for a SE verifier to upstream. For me, a PV is the easiest and simplest way of encapsulating those data for kustomize.

why not use the kustomize secret generator?

A question from my side is why not we marked policy as volume rather than configMap. What if a stateful volume? In this way we can probably store the policy in front of time (even for DBs).

I'm not sure what the original idea behind the policy configuration was. We might be able to improve the configuration later after some investigation. Thanks.

why not use the kustomize secret generator?

The configuration is specific to s390x, and a way of configuring the credentials via PV aligns with the documentation at https://github.com/confidential-containers/trustee/tree/main/attestation-service/verifier/src/se. This means that once a user has prepared the credentials following the documentation, they can simply export IBM_SE_CREDS_DIR to point to the root directory of the credentials.


bug :: translation_lev :: fairseq-generate fails due to problems with jit

Issue
I have trained the Levenshtein Transformer on Gigaword: 95k updates, 6.91 loss, 43.93 val ppl. You can get the weights here (1.2 GB).
Unfortunately, the following attempt to generate text fails:
python3 $FAIRSEQ_PATH/generate.py \
    $DATASET \
    --gen-subset test \
    --task translation_lev \
    --path $MODEL \
    --beam 1 --remove-bpe \
    --batch-size 400 \
    --iter-decode-max-iter 9 \
    --iter-decode-eos-penalty 0

It loads the model, but then crashes with the following error:
  File "/data/aiillarionov/fairseq-venv/lib/python3.6/site-packages/torch/_utils_internal.py", line 46, in get_source_lines_and_file
    sourcelines, file_lineno = inspect.getsourcelines(obj)
  File "/usr/lib/python3.6/inspect.py", line 955, in getsourcelines
    lines, lnum = findsource(object)
  File "/usr/lib/python3.6/inspect.py", line 786, in findsource
    raise OSError('could not get source code')
OSError: could not get source code

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/aiillarionov/fairseq/generate.py", line 194, in <module>
    cli_main()
  File "/data/aiillarionov/fairseq/generate.py", line 190, in cli_main
    main(args)
  File "/data/aiillarionov/fairseq/generate.py", line 104, in main
    hypos = task.inference_step(generator, models, sample, prefix_tokens)
  File "/data/aiillarionov/fairseq/fairseq/tasks/fairseq_task.py", line 265, in inference_step
    return generator.generate(models, sample, prefix_tokens=prefix_tokens)
  File "/data/aiillarionov/fairseq-venv/lib/python3.6/site-packages/torch/autograd/grad_mode.py", line 49, in decorate_no_grad
    return func(*args, **kwargs)
  File "/data/aiillarionov/fairseq/fairseq/iterative_refinement_generator.py", line 157, in generate
    prev_decoder_out, encoder_out, **decoder_options
  File "/data/aiillarionov/fairseq/fairseq/models/levenshtein_transformer.py", line 292, in forward_decoder
    eos_idx: int,
  File "/data/aiillarionov/fairseq-venv/lib/python3.6/site-packages/torch/jit/__init__.py", line 1226, in script
    fn = torch._C._jit_script_compile(qualified_name, ast, _rcb, get_default_args(obj))
  File "/data/aiillarionov/fairseq-venv/lib/python3.6/site-packages/torch/jit/__init__.py", line 1075, in _compile_and_register_class
    ast = get_jit_class_def(obj, obj.__name__)
  File "/data/aiillarionov/fairseq-venv/lib/python3.6/site-packages/torch/jit/frontend.py", line 148, in get_jit_class_def
    self_name=self_name) for method in methods]
  File "/data/aiillarionov/fairseq-venv/lib/python3.6/site-packages/torch/jit/frontend.py", line 148, in <listcomp>
    self_name=self_name) for method in methods]
  File "/data/aiillarionov/fairseq-venv/lib/python3.6/site-packages/torch/jit/frontend.py", line 160, in get_jit_def
    sourcelines, file_lineno, filename = get_source_lines_and_file(fn)
  File "/data/aiillarionov/fairseq-venv/lib/python3.6/site-packages/torch/_utils_internal.py", line 50, in get_source_lines_and_file
    "Make sure original .py files are available. Original error: {}").format(filename, e))
OSError: Can't get source for None. TorchScript requires source access in order to carry out compilation. Make sure original .py files are available. Original error: could not get source code

Could you please tell me how to fix this? Is there any way to disable jit compilation just to make it work?
Environment

fairseq: a92bcdad5a0dea6a440cc92976e4166811b16671, installed via pip install -e .
pytorch: 1.3.1+cu100
OS: Ubuntu 18.04.3 LTS

The Gigaword dataset has been taken from here.
cc: @MultiPath

Rolling back to previous versions (eg 50cf3bb596abba70a0770ad2308fed0f4d32a002) did not help, the generation fails with a  RuntimeError. The full trace is below:
Namespace(beam=1, bpe=None, cpu=False, criterion='cross_entropy', data='/data/aiillarionov/gigaword-bin', dataset_impl=None, decoding_format=None, diverse_beam_groups=-1, diverse_beam_strength=0.5, empty_cache_freq=0, force_anneal=None, fp16=False, fp16_init_scale=128, fp16_scale_tolerance=0.0, fp16_scale_window=None, gen_subset='test', iter_decode_eos_penalty=0.0, iter_decode_force_max_iter=False, iter_decode_max_iter=9, lazy_load=False, left_pad_source='True', left_pad_target='False', lenpen=1, load_alignments=False, log_format=None, log_interval=1000, lr_scheduler='fixed', lr_shrink=0.1, match_source_len=False, max_len_a=0, max_len_b=200, max_sentences=400, max_source_positions=1024, max_target_positions=1024, max_tokens=None, memory_efficient_fp16=False, min_len=1, min_loss_scale=0.0001, model_overrides='{}', momentum=0.99, nbest=1, no_beamable_mm=False, no_early_stop=False, no_progress_bar=False, no_repeat_ngram_size=0, noise='random_delete', num_shards=1, num_workers=1, optimizer='nag', path='/data/aiillarionov/gigaword-checkpoints/checkpoint_best.pt', prefix_size=0, print_alignment=False, print_step=False, quiet=False, raw_text=False, remove_bpe='@@ ', replace_unk=None, required_batch_size_multiple=8, results_path=None, sacrebleu=False, sampling=False, sampling_topk=-1, sampling_topp=-1.0, score_reference=False, seed=1, shard_id=0, skip_invalid_size_inputs_valid_test=False, source_lang=None, target_lang=None, task='translation_lev', tbmf_wrapper=False, temperature=1.0, tensorboard_logdir='', threshold_loss_scale=None, tokenizer=None, unkpen=0, unnormalized=False, upsample_primary=1, user_dir=None, warmup_updates=0, weight_decay=0.0)
| [articles] dictionary: 120416 types
| [summaries] dictionary: 120416 types
| loaded 400000 examples from: /data/aiillarionov/gigaword-bin/test.articles-summaries.articles
| loaded 400000 examples from: /data/aiillarionov/gigaword-bin/test.articles-summaries.summaries
| /data/aiillarionov/gigaword-bin test articles-summaries 400000 examples
| loading model(s) from /data/aiillarionov/gigaword-checkpoints/checkpoint_best.pt
  0%|                                                                               | 0/1000 [00:00<?, ?it/s]Traceback (most recent call last):
  File "/home/aiillarionov/fairseq/generate.py", line 194, in <module>
    cli_main()
  File "/home/aiillarionov/fairseq/generate.py", line 190, in cli_main
    main(args)
  File "/home/aiillarionov/fairseq/generate.py", line 104, in main
    hypos = task.inference_step(generator, models, sample, prefix_tokens)
  File "/home/aiillarionov/fairseq/fairseq/tasks/fairseq_task.py", line 260, in inference_step
    return generator.generate(models, sample, prefix_tokens=prefix_tokens)
  File "/data/aiillarionov/venv/local/lib/python3.6/site-packages/torch/autograd/grad_mode.py", line 49, in decorate_no_grad
    return func(*args, **kwargs)
  File "/home/aiillarionov/fairseq/fairseq/iterative_refinement_generator.py", line 157, in generate
    prev_decoder_out, encoder_out, **decoder_options
  File "/home/aiillarionov/fairseq/fairseq/models/levenshtein_transformer.py", line 470, in forward_decoder
    self.unk,
RuntimeError: ins_words() Expected a value of type 'Tensor' for argument 'word_ins_attn' but instead found type 'NoneType'.
Inferred 'word_ins_attn' to be of type 'Tensor' because it was not annotated with an explicit type.
Position: 3
Value: None
Declaration: ins_words(Tensor output_tokens, Tensor output_scores, Tensor attn, Tensor word_ins_attn, Tensor word_ins_pred, Tensor word_ins_scores, Tensor can_ins_word, int pad_idx, int unk_idx) -> ((Tensor, Tensor, Tensor))

This should be fixed now, can you please check again?

This is indeed fixed now, thanks! Closing the issue.


Use set comprehension and flatten nested structures in questionnaire schema

What is the context of this PR?
Use set comprehension in questionnaire schema where appropriate. Flatten deeply nested for loops.
How to review
Check all tests pass and you're happy with the approach.

Opened against wrong repo


odroid-ux3 kernel: remove machine specific assignment of COMPATIBLE_M

If I understand correctly, COMPATIBLE_MACHINE shouldn't be machine specific. With that fix I'm able to build odroid-c1 image again.

merged.
thanks


Transform a Hamiltonian Produced by Qiskit Quadratic Program to.ising() function into a PyQubo Hamiltonian

Hello everyone, I am trying to convert an Ising Hamiltonian produced by to_ising() from Quadratic Program of Qiskit to a PyQubo Hamiltonian mentioned in the tutorials: https://pyqubo.readthedocs.io/en/stable/getting_started.html and my code is as the following:
`def Qiskit_Operator_to_PyQubo(num, QiskitOp):
# num = number of variables, QiskitOp = input Qiskit Operator
from qiskit.opflow import I, ListOp, OperatorBase, PauliOp, PauliSumOp, SummedOp
from qiskit.quantum_info import Pauli
from qiskit_optimization.exceptions import QiskitOptimizationError
# Create Spin variables with respect to variable numbers from Quadratic Program
# Create a dictionary to store the spin variables
spin_variables_dict = {}
for j in range(1, num+1):
    variable_name = f"s{j}"
    spin_variables_dict[variable_name] = Spin("s" + str(j))

# Qiskit Operator transformation using from_ising()
if isinstance(QiskitOp, PauliSumOp):
    QiskitOp = QiskitOp.to_pauli_op()

# No support for ListOp yet, this can be added in future
# pylint: disable=unidiomatic-typecheck
if type(QiskitOp) == ListOp:
    raise NotImplementedError(
        "Conversion of a ListOp is not supported, convert each "
        "operator in the ListOp separately."
    )

offset = 0.0
if not isinstance(QiskitOp, SummedOp):
    pauli_list = [QiskitOp.to_pauli_op()]
else:
    pauli_list = QiskitOp.to_pauli_op()

# prepare a matrix of coefficients of Pauli terms
# `pauli_coeffs_diag` is the diagonal part
# `pauli_coeffs_triu` is the upper triangular part
pauli_coeffs_diag = [0.0] * QiskitOp.num_qubits
pauli_coeffs_triu = {}
# Prepare PyQubo Hamiltonian
H_PyQubo_part_linear = 0
H_PyQubo_part_quadratic = 0

for pauli_op in pauli_list:
    pauli_op = pauli_op.to_pauli_op()
    pauli = pauli_op.primitive
    coeff = pauli_op.coeff

    if not math.isclose(coeff.imag, 0.0, abs_tol=1e-10):
        raise QiskitOptimizationError(f"Imaginary coefficient exists: {pauli_op}")

    if np.any(pauli.x):
        raise QiskitOptimizationError(f"Pauli X or Y exists in the Pauli term: {pauli}")

    # indices of Pauli Zs in the Pauli term
    z_index = np.where(pauli.z)[0]
    num_z = len(z_index)

    # Construct PyQubo Hamiltonian
    spin_var_product = 1

    if num_z == 0:
        offset += coeff.real
    elif num_z == 1:
        pauli_coeffs_diag[z_index[0]] = coeff.real
        if variable_name == f"s{z_index[0]}":
         H_PyQubo_part_linear += (pauli_coeffs_diag[z_index[0]])*(spin_variables_dict[variable_name])
    elif num_z == 2:
        pauli_coeffs_triu[z_index[0], z_index[1]] = coeff.real
        # multiply two spins
        spin_var_names = [f's{z_index[0]}', f's{z_index[1]}']

        for variable_name in spin_var_names:
            if variable_name in spin_variables_dict:
                spin_var_product *= spin_variables_dict[variable_name]

        H_PyQubo_part_quadratic += (pauli_coeffs_triu[z_index[0], z_index[1]])*spin_var_product
    else:
        raise QiskitOptimizationError(
            f"There are more than 2 Pauli Zs in the Pauli term: {pauli}"
        )

H_PyQubo = offset + H_PyQubo_part_linear + H_PyQubo_part_quadratic
return H_PyQubo

H = Qiskit_Operator_to_PyQubo(num_var, qubitOp)
print("PyQubo Hamiltonian:", H)I use the source code of "from_ising()" and created dynamic variables with respect to PyQubo Spin, but when I substitute the MaxCut HamiltonianOffset: -2.5
Ising Hamiltonian:
0.5 * IIIZZ

0.5 * IIZZI
0.5 * IZZII
0.5 * ZIIIZ
0.5 * ZZIIIinto the code it reproduced PyQubo Hamiltonian:PyQubo Hamiltonian: (0.000000 + (0.500000 * ((1.000000 * Spin('s3')) * Spin('s4'))) + (0.500000 * (1.000000 * Spin('s4'))) + (0.500000 * ((1.000000 * Spin('s2')) * Spin('s3'))) + (0.500000 * ((1.000000 * Spin('s1')) * Spin('s2'))) + 0.000000 + (0.500000 * (1.000000 * Spin('s1'))))`
which is not the correct Hamiltonian. How should I modify the function?

If one thinks that converting Hamiltonians are too complicated, how can one turn a Quadratic Program of Qiskit directly to a Quadratic Program of PyQubo?

I am closing this, as you figured out your problem, from Slack here where you also brought up the above
https://qiskit.slack.com/archives/CB6C24TPB/p1694498835187899
https://qiskit.slack.com/archives/CB6C24TPB/p1694499132977739

I found the problem. It is from the settings of spin variables. Both Python and PyQubo had their range and spin variables start from label zero, not one. So after changing range(1, num) to range(num) the problem is solved

Thank you.


Handle more 404s

Got a 404 in another place - when fetching form submissions. This
means it got past retrieving the form definition okay, so presumably
the form ID is correct.  Maybe when there are no new form submissions
past the "since" argument, it just returns 404?
Adding a little better message for this and will watch what happens.

:pizza: :beers: :


Setup for forgeserver does not work

Hey,
when I use
environment:
  - TYPE=FORGE
  - FORGEVERSION=<IP_ADDRESS>54

your image /latest and multiarch), tries to download `1.16.4-<IP_ADDRESS>54-1.16.4 which is definitly not wanted.
I followed the instructions here on this repro and I assume that they are maybe out of date or that maybe smth. goes wrong behind the scene.
Could you pls take a look into this while I am trying to get my FTB Rev 3.4 server running again but as a forge server or at last a custom server?
Would be nice :)
Regards

Took a look into https://github.com/itzg/docker-minecraft-server/blob/master/start-deployForge#L40 and found out that there is a 2nd variable needed which isn't mentioned in the part for the stated type of what I want to deploy. Maybe adding this as hint would be nice ;)

Took a look into https://github.com/itzg/docker-minecraft-server/blob/master/start-deployForge#L40 and found out that there is a 2nd variable needed which isn't mentioned in the part for the stated type of what I want to deploy. Maybe adding this as hint would be nice ;)

It has to try two forms of the forge filename since they used to have a weird naming with 1.12 (I think) and older. There's no harm in what it is doing and rather is necessary to be robust for a wide range of versions.
What 2nd variable are you referring to?

It has to try two forms of the forge filename since they used to have a weird naming with 1.12 (I think) and older. There's no harm in what it is doing and rather is necessary to be robust for a wide range of versions.
What 2nd variable are you referring to?

Um, 1.12 has at last 3 Stages. 1.12, 1.12.1 and 1.12.2 so and yes, there naming is a bit weired but I can understand it, tbh.
The 2nd variable is VERSSION= ... I totaly forgott about this var as it isn't mentioned in the docu directly at the part for forge, where you should only give FORGEVERSION= (or Installer) so it confused me, and you software, that it couldn't found a 1.16.4 forge version, with the given "14.x" forge version number ^^
I assumed that the code behind knows that it counts to 1.12.2 and do "the magic" self then, but it didn't.
After adding the 2nd variable it worked even if not the universal file was installed but this is on forges end ;)

Um, 1.12 has at last 3 Stages. 1.12, 1.12.1 and 1.12.2 so and yes, there naming is a bit weired but I can understand it, tbh.
The 2nd variable is VERSSION= ... I totaly forgott about this var as it isn't mentioned in the docu directly at the part for forge, where you should only give FORGEVERSION= (or Installer) so it confused me, and you software, that it couldn't found a 1.16.4 forge version, with the given "14.x" forge version number ^^
I assumed that the code behind knows that it counts to 1.12.2 and do "the magic" self then, but it didn't.
After adding the 2nd variable it worked even if not the universal file was installed but this is on forges end ;)

I'm confused now. I don't see a VERSSION (with two S's), just VERSION (with one S) in that file. That refers to the main variable used throughout the types
https://github.com/itzg/docker-minecraft-server#versions
I still don't see what is the remaining problem since this iteration here is trying out the two naming conventions and uses the one that succeeds:
https://github.com/itzg/docker-minecraft-server/blob/2fb01b4adfcd279e914ed6a5b1c5bac70994ec11/start-deployForge#L58-L63
Are you finding that the container fails to start with the environment variables shown?

I'm confused now. I don't see a VERSSION (with two S's), just VERSION (with one S) in that file. That refers to the main variable used throughout the types
https://github.com/itzg/docker-minecraft-server#versions
I still don't see what is the remaining problem since this iteration here is trying out the two naming conventions and uses the one that succeeds:
https://github.com/itzg/docker-minecraft-server/blob/2fb01b4adfcd279e914ed6a5b1c5bac70994ec11/start-deployForge#L58-L63
Are you finding that the container fails to start with the environment variables shown?

where those two version naming variables are declared further up
https://github.com/itzg/docker-minecraft-server/blob/2fb01b4adfcd279e914ed6a5b1c5bac70994ec11/start-deployForge#L39-L40

where those two version naming variables are declared further up
https://github.com/itzg/docker-minecraft-server/blob/2fb01b4adfcd279e914ed6a5b1c5bac70994ec11/start-deployForge#L39-L40

Oh, a typo in my response ^^ - Yes, I refered to the env VERSION= which is used to define the version which you want to play on.
But looking at the Doc I have read that you use the evns TPYE=FORGE and FORGEVERSION=<IP_ADDRESS>54 (this is the recomamnded 1.12.2 file) to specify on which forgeversion you'll play but it ended up in using the version above and 1.16.4 which is totaly false ^^
The problem is that you did not mention to add the VERSION= env at this point so I was confused about it, because it didn't wokre like described in the docs, tbh.

Oh, a typo in my response ^^ - Yes, I refered to the env VERSION= which is used to define the version which you want to play on.
But looking at the Doc I have read that you use the evns TPYE=FORGE and FORGEVERSION=<IP_ADDRESS>54 (this is the recomamnded 1.12.2 file) to specify on which forgeversion you'll play but it ended up in using the version above and 1.16.4 which is totaly false ^^
The problem is that you did not mention to add the VERSION= env at this point so I was confused about it, because it didn't wokre like described in the docs, tbh.

I see what you mean and I can clarify that in the docs.

I see what you mean and I can clarify that in the docs.

This would be nice 👍

This would be nice 👍

That section has now been updated. Does that look good?

That section has now been updated. Does that look good?

Know it is  fine, but could you please edit the forgeversion in your codeblock example? Because 1.12.2 and forge 10.x will not work together so maybe replace forgeversion with smth. like <IP_ADDRESS>54 then all should be fine ;)

Know it is  fine, but could you please edit the forgeversion in your codeblock example? Because 1.12.2 and forge 10.x will not work together so maybe replace forgeversion with smth. like <IP_ADDRESS>54 then all should be fine ;)

Good catch! That's fixed now.

Good catch! That's fixed now.


"Remove Styling" needs a better warning as to what it's going to do.

I thought it would be a toggle, not irrevocably destroy my custom stylesheet. This poor UI design cost me a day and a half of work.

Sorry about that, this is being tracked here: #302


Build MSBuildTaskHost.exe in GitHub

We have the code for this assembly, but it's not built.  That allowed us to make some changes that broke it (because it compiles for CLR 2, which is its raison d'être, but also shares code with our other assemblies, switching to Marshal.SizeOf<T>() instead of Marshal.SizeOf(typeof(T)) caused trouble).
I noticed this when porting changes into the Microsoft-internal copy of the source.

When we turn this on again, it would be nice to have telemetry to indicate how often it's used.  Once we ship that, if use is rare, we could drop support for .NET 2.0 tasks.

I'm not sure how frequently MSBuildTaskHost is used outside of Microsoft targets -- telemetry on that would definitely be interesting to see. :)
Note that MSBuild can't drop support for .NET 2.0/3.5 tasks without also dropping or degrading support for targeting .NET 3.5, though. (MSBuildTaskHost was initially introduced in part because of issues with 4.X+ tasks downtargeting.)

Fixed long ago by #611.


where is the detail rancher-cluster.yaml

I want konew about more for rancher-cluster.yaml.
Where can I find the detailed rancher-cluster.yaml?

Not really sure what you are asking exactly, but in the docs (https://rancher.com/docs/rancher/v2.x/en/installation/k8s-install/kubernetes-rke/#advanced-configurations) we link to the RKE documentation which uses this file to create the cluster.
Let me know if there are remaining questions.

@superseb  The docs so simple. Do you have a more detailed docs for the config yaml?
For example:
about kube-api kube-controller kubelet and kube-proxy etc in the rancher-cluster.yaml.
thanks!!

If you follow the link on that page to the RKE docs, you end up on https://rancher.com/docs/rke/latest/en/config-options/ which includes those services here https://rancher.com/docs/rke/latest/en/config-options/services/


Cleanup array API reference links

This is a continuation of #7683. Basically I found everywhere where two backticks were used to make a literal in sphinx but where the content was actually referring to some python object that could be linked to. To do as much as I did required adding the python stdlib and skimage to intersphinx mapping. A couple questions or odd things I noticed are below. I'm happy to change anything that feels "wrong".

Do you want references to have the text da.some_func? The da shortcut is used a lot but obviously the default for API links is to have the full module path (ex. dask.array.some_func). I used by best judgement when to go with one versus the other.
Dask delayed references are odd. On one hand you are talking about the actual Delayed object so you should link to it, but on the other hand users should almost never be created Delayed objects directly and are instead using one of the functions that creates or converts to them. So should docstrings link to the Delayed class docs (not a lot there), the delayed API page, or the higher level Delayed documentation (https://docs.dask.org/en/latest/delayed.html) which may not be what someone reading docstrings cares about?
I'm sure this has been brought up before (I'm pretty sure I was one of the people that did it a long time ago), but there are a lot of functions listed in the autosummary section that don't have the related docstring-level documentation. It looks like most of these are internal (kind of) utility functions so not something users need, but I thought I'd bring it up.

[ ] Closes #xxxx
[ ] Tests added / passed
[x] Passes black dask / flake8 dask / isort dask

I think using the full dask.array.some_func is preferred as it's most likely to help avoid confusion

Done with the latest commit.

Agreed. I don't have a strong preference here, but linking to dask.delayed.Delayed seems okay.

Ok, That's what I did for the cases I found.

I thought there was an open issue for this, but after a quick search I couldn't find it. If you know of a way to keep the autosummary and autofunction, autoclass, ... sections automatically synced, that would be very welcome : )

I don't think I have any ideas on this. I think this comes with the territory of manually writing out your API docs. One option would be to write some custom generation code in the conf.py (a sphinx plugin essentially) that does what dask is looking for (autosummary at the top, autodoc at the bottom). What I've started doing in some of my projects is using https://github.com/sphinx-contrib/apidoc so that it automatically generates the autodoc modules for me when the documentation is generated. I could see it being possible to update it to do this autosummary/autodoc layout, but obviously things still need to be grouped by a human to have the categories/organization that are being done now.
I think if you're OK with this PR as-is then I'm as done with it as I can be.


Check for updates: Unexpected token < in JSON at position 0

Issue Type: Bug
This bug existed in v1.43.
But after uninstalling v1.43, removing .vscode in my home directory, and Code in AppData, and then install v1.44 refreshly, still failed to check for updates.

VS Code version: Code 1.44.0 (2aae1f26c72891c399f860409176fe435a154b13, 2020-04-07T23:31:18.860Z)
OS version: Windows_NT x64 10.0.17763

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz (4 x 2496)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_off_okwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
7.87GB (2.53GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions: none

Same here with 1.44. Update and install extension worked fine. Once bypass the corporate proxy, the problem was gone.
2020-04-14 17:11:35.735] [main] [error] SyntaxError: Unexpected token < in JSON at position 0
at JSON.parse ()
at t.asJson (C:\Users\xxxx\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\code\electron-main\main.js:364:55)
at processTicksAndRejections (internal/process/task_queues.js:85:5)

@keelung-yang Are you behind a proxy?  It seems you are.

yes

Can you bypass the proxy for update.code.visualstudio.com?

Can you bypass the proxy for update.code.visualstudio.com?

No. proxy settings are setted by our IT team. Anyway, it should not crash.

It does not crash, it reports an error.
Is this something new? For how long have updates worked for you before this error appeared?

It does not crash, it reports an error.
Is this something new? For how long have updates worked for you before this error appeared?

I don't think you need such info, since I've posted here 2 versions of vscode, and @davidptwong have posted souce lines exactly.
BTW, you can setup proxy to recure it by yourself. It's very easy to recur.

@joaomoreno
I tested with 1.43.2 same problem
I did not test all versions in between but 1.41.1 (https://code.visualstudio.com/updates/v1_41) worked

@davidptwong Can I ask you to test 1.41.1 right now? https://az764295.vo.msecnd.net/stable/26076a4de974ead31f97692a0d32f90d735645c0/VSCode-win32-x64-1.41.1.zip
Let me know how it goes, thanks.

@joaomoreno , your version worked OK

@chrmarti @deepak1556 It seems electron broke some proxy stuff, I saw quite a few people complaining about this.

@keelung-yang @davidptwong can you launch code v1.44 with --log-net-log=netlog.json , perform the update check and attach the generated log file here. Thanks!
@joaomoreno this issue is different and also seems to be specific to windows, some version of the system proxy configuration is not respected, net log should reveal the issue.

@deepak1556
netlog.json.log

Thanks @keelung-yang
I don't see any issues with the proxy connection, pac endpoints are resolved and requests are completed.

But interesting bit is that the response to https://update.code.visualstudio.com/api/update/win32-x64/stable/2aae1f26c72891c399f860409176fe435a154b13 endpoint has a content-type: text/html which maybe why the json parse was failing.
@joaomoreno  can we add some tracing info to log what response was received ?
@chrmarti do you have any other debugging suggestions ?

@deepak1556  Our proxy provider is zscaler. I'm not sure whether @davidptwong is using the same proxy.
But after uninstalling v1.44 and removing C:\Users\someone\.vscode, I installed v1.41.1 and upgrade it to v1.44.2 by "Check for updates". And then, I checked it again, this issue fired again.

Yup this could be due to some proxy handling changes from electron/chromium as there was a version bump between 1.41 and 1.43.
But before tracking that down, I would like to understand what response is sent from your proxy. In the netlog trace I see that all /GET requests to any JSON endpoint are returned with type text/html.

@deepak1556
{
    "url": "https://az764295.vo.msecnd.net/stable/ff915844119ce9485abfe8aa9076ec76b5300ddd/VSCodeSetup-x64-1.44.2.exe",
    "name": "1.44.2",
    "version": "ff915844119ce9485abfe8aa9076ec76b5300ddd",
    "productVersion": "1.44.2",
    "hash": "4c207b5a6fd200f5c658bc975770db087abc2a26",
    "timestamp":<PHONE_NUMBER>564,
    "sha256hash": "6479735184be6c3a2357ddae47743e85035c85cf4973854f0e78b8b0487dd8ed",
    "supportsFastUpdate": true
}

Can you try our exploration build which comes with a newer runtime https://github.com/microsoft/vscode/issues/94074#issuecomment-607079209 and see if the issue still happens there ?

Can you try our exploration build which comes with a newer runtime #94074 (comment) and see if the issue still happens there ?

No error ocurred on "Check for updates"

Great thanks!
One last testing, can you paste the output of loading https://gist.github.com/deepak1556/51a9d6e639906b3333d8edff1143ab17 into https://github.com/electron/fiddle/releases/tag/v0.14.0 and use electron version 7.1.11.

Sorry. I'm off already. And no proxy used in home.

No problem, when you get back on the proxy please provide the about test result and also please perform --log-net-log=netlog.json with the exploration build.
Thanks for testing info so far!

@deepak1556 Here is netlog.json
netlog.json.log

@keelung-yang Could you install https://az764295.vo.msecnd.net/insider/03a7223ee2a086bbcf028801da9370d5deff5093/VSCodeUserSetup-x64-1.45.0-insider.exe and try updating that while running with --log-net-log=netlog.json? If it doesn't work, could you check what is in the console? (Help > Toggle Developer Tools)

Electron v7.2.3 for current vs code version is may be enough (faster than v8 upgrade) ?
https://github.com/electron/electron/releases/tag/v7.2.3
Release Notes for v7.2.3
Fixes
Security: Ensure proxy object is created in the correct context a9bead2

@chrmarti FYI.
netlog.json.log
 [main 2020-04-22T01:42:12.910Z] update#setState idle
(node:12228) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information
(node:12228) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information
(node:12228) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information
(node:12228) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information
(node:4940) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information
(node:4940) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information
[main 2020-04-22T01:42:26.159Z] update#setState checking for updates
[main 2020-04-22T01:42:26.164Z] Error: net::ERR_NO_SUPPORTED_PROXIES
    at SimpleURLLoaderWrapper.<anonymous> (electron/js2c/browser_init.js:2623:21)
    at SimpleURLLoaderWrapper.emit (events.js:203:13)
[main 2020-04-22T01:42:26.169Z] update#setState idle
[main 2020-04-22T01:42:42.913Z] update#setState checking for updates
[main 2020-04-22T01:42:42.922Z] Error: net::ERR_NO_SUPPORTED_PROXIES
    at SimpleURLLoaderWrapper.<anonymous> (electron/js2c/browser_init.js:2623:21)
    at SimpleURLLoaderWrapper.emit (events.js:203:13)
[main 2020-04-22T01:42:42.924Z] update#setState idle

Thanks @keelung-yang
The netlog shows that there is a change is proxy config that bypasses the initial proxy connection.

Looked further and this change was due to the setproxy api call we make https://github.com/microsoft/vscode/blob/master/src/vs/code/electron-main/window.ts#L609
setProxy({
  proxyRules: '',
  proxyBypassRules: '',
  pacScript: ''
})

An empty config to setproxy, resets everything and tells the network stack to use direct connections.
@chrmarti can we protect against that ? That should fix the net::ERR_NO_SUPPORTED_PROXIES error.

This should only trigger if the http.proxy user setting or one of the HTTP_PROXY, HTTPS_PROXY or NO_PROXY environment variables is set. @keelung-yang Do you have one of these set?
(The idea behind this is that an empty value should be set when the user clears their http.proxy setting. This should not trigger if the setting is not set during startup. I'm adding
a trace log entry now.)

@chrmarti I've set these three XXX_PROXY environment variables and no proxy settings in vscode.

@keelung-yang What do you have these variables set to? (It is new in 1.45 that we use these to configure Electron's network library.)

@chrmarti FYI.

@deepak1556 It looks like setProxy doesn't handle the case where there are credentials in the URL. It might be best to just not call it in that case.
@keelung-yang Could you unset all 3 variables and retry? (Only for testing, I'm working on a fix.)

@chrmarti I renamed them and reinstall vscode v1.45 for insiders. It updated successfully. But I've to keep these environment viriables which used by other softwares, such as python's pip.
vscode_v1.45_insiders_netlog-no-proxy.zip
Our IE browser's proxy is setted by our IT teams. Maybe that's why vscode updated successfully even no XXX_PROXY envirionment variables are setted.
After installing
 [main 2020-04-22T07:04:00.822Z] update#setState idle
(node:11088) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information
(node:11088) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information
(node:11088) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information
(node:11088) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information
(node:13184) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information
(node:13184) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information
[main 2020-04-22T07:04:12.631Z] update#setState checking for updates
[main 2020-04-22T07:04:13.113Z] update#setState downloading
[main 2020-04-22T07:04:55.968Z] update#setState updating
[main 2020-04-22T07:05:18.989Z] update#setState ready

After updating
 [main 2020-04-22T07:06:15.598Z] update#setState idle
(node:17052) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information
(node:17052) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information
(node:17052) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information
(node:17052) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information
(node:6576) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information
(node:6576) Electron: Loading non context-aware native modules in the renderer process is deprecated and will stop working at some point in the future, please see https://github.com/electron/electron/issues/18397 for more information
[main 2020-04-22T07:06:22.145Z] update#setState checking for updates
[main 2020-04-22T07:06:22.611Z] update#setState idle

@deepak1556 It looks like you were right on the forwarding of headers somehow playing into this.
@keelung-yang There will be a fix in tomorrow's Insiders build, the update should work for you with that also with the environment variables set.

It looks like setProxy doesn't handle the case where there are credentials in the URL. It might be best to just not call it in that case.

@chrmarti oh yeah I completely forgot about that case, its something that chromium explicitly decided not to support https://bugs.chromium.org/p/chromium/issues/detail?id=16709, ignoring the setproxy api is a perfect solution for this.

It looks like you were right on the forwarding of headers somehow playing into this.

Nice, might be able to verify with a proxy that relies on authentication headers. I will put together something later this week. But good to know this is finally pinned down :)

@keelung-yang Could you check if this is fixed in 1.45 insiders also with the environment variables set?

@keelung-yang Could you check if this is fixed in 1.45 insiders also with the environment variables set?

No error reported.

Thanks! Marking verified.

@chrmarti On 1.45 I always got:
Updating C/C++ dependencies...

Downloading package 'C/C++ language components (Windows)' (6758 KB)  Done!
Downloading package 'ClangFormat (Windows)' (794 KB)  Done!
Downloading package 'Visual Studio Windows Debugger' (13813 KB)  Done!

Installing package 'C/C++ language components (Windows)'
Failed at stage: installPackages
Error: end of central directory record signature not found

If you work in an offline environment or repeatedly see this error, try downloading a version of the extension with all the dependencies pre-included from https://github.com/Microsoft/vscode-cpptools/releases, then use the "Install from VSIX" command in VS Code to install it.

I'm not setting proxy in settings.json but in system environment variables. I also changed Proxy Strict SSL to disabled, but still not works.

I'm suffering from this problem as of a few days now even though I'm using Insiders 1.45:

I'm behind a corporate proxy so I have to have to have these environment variables set (HTTP_PROXY, HTTPS_PROXY, NO_PROXY). Any ideas?
It's a bit silly that this has disabled the possibility for VS Code Insiders to update itself 😅 .

@keelung-yang @alexravenna Is the proxy using some kind of authentication and do the environment variables include username and password?
Does it work when you clear the environment variables before launching VS Code?

@keelung-yang @alexravenna Is the proxy using some kind of authentication and do the environment variables include username and password?
Does it work when you clear the environment variables before launching VS Code?

No, the environment variables in my case are just URLs pointing to my company's proxy server, they contain no authentication information.
I renamed the variables in system settings (I'm working under Windows, as you can see in my screenshot above), so they shouldn't be set when VS Code starts...and I still have the problem ☹ .

@alexravenna Could you open a new issue? For the new issue: Does Chrome/Chromium work on your machine? What type of proxy is it (I see ERR_NO_SUPPORTED_PROXIES mentioned with socks.)
@keelung-yang Did the original problem come back or is the error you mention in your last comment new?

@chrmarti It works now. Here are details:

Version: 1.45.1 (system setup)
Commit: 5763d909d5f12fe19f215cbfdd29a91c0fa9208a
Date: 2020-05-14T08:27:35.169Z
Electron: 7.2.4
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Windows_NT x64 10.0.17763


first pass at using pytest with consistent parallel coverage

This is a very similar framework that relies on pytest under the hood and treats coverage properly in parallel.

runtests.py inherits all of the command-line arguments of the pytest command, with the additional ones references MPI, building, and coverage

Thoughts, @rainwoodman ?

If we decide to use pytest, the obvious name change would simply be mpi4pytest

The travis error is concerning; looks like the Python path tricks were not in effect?
 ERROR collecting build/testenv/lib/python3.5/site-packages/mpi4py_test/tests/test_uncollective.py

import file mismatch:

imported module 'mpi4py_test.tests.test_uncollective' has this __file__ attribute:

  /home/travis/build/rainwoodman/mpi4py_test/mpi4py_test/tests/test_uncollective.py

which is not the same as the test file we want to collect:

  /home/travis/build/rainwoodman/mpi4py_test/build/testenv/lib/python3.5/site-packages/mpi4py_test/tests/test_uncollective.py

HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules

!!!!!!!!!!!!!!!!!!! Interrupted: 1 errors during collection !!!!!!!!!!!!!!!!!!!!

I sort of recalled this is unavoidable in mpi4pytest itself. See if wrapping sys.path.remove('.') around the test module import helps?

yeah we run into issues because we are importing the thing we are trying to test in runtests.py. I think you can get around this issue if you don't build the package first. I've been testing on nbodykit and everything has been working well

The issue only occurs when you need to build a package. I added a few commits to a new PR #2 . Let's move there.


hasDateTime

As discussed in one of the OBI meetings from a few weeks ago, I am proposing adding at least one datatype property (hasDateTime) to OBI, property whose aim is to point to the temporal end of a process--or, equivalently, the time instant of the end process boundary. (Unfortunately OWL 2.x did away with xsd:time and xsd:date, hence all there is left to work with is xsd:dateTime, which is most likely overkill for most of our everyday purposes.)
I propose that the domain of this property be "process" (obo:BFO_0000015), and its range xsd:dateTime, as it looks to me plausible that whoever might be interested in the "time/date of a process" is actually interested in the time/date the process ended. (Whoever asks when the histopathology happened is more likely to ask when it ended, not when it started. Surely enough, should there be calls for telling these temporal points apart, it may make sense to add two datatype properties (hasStartDateTime and has(End)DateTime, say) instead of just hasDateTime, though for now methinks hasDateTime should do the trick.)
Finally, should there be calls to model such time instants as entities as opposed to a datatypes (and I am guessing that there will be), all the entity "apparatus" can be added later on, hence the hasDateTime property will very likely emerge as a defined property (a "shortcut," if you will), instead of a primitive. For now, I think pointing to a dateTime literal via a primitive datatype property should be enough for most of our purposes. Furthermore, as opposed to the case of ordinary measurement assays (such as measurements of length, chemical composition etc.), I do not really foresee the same sort of debates and uncertainty regarding the instant of time some process ended/started that could justify the addition of an approximation mechanism: While we may have alternative ways to measure length (say), it is quite unlikely that reporting the timing of the end (or start) of an assay would stir heated debates as to when exactly the assay ended (or started).

Just a note that an ontology used in processing systems that want to log events/processes will want both hasStartDateTime and hasEndDateTime (or hasDuration) for performance monitoring & logging purposes.

Superseded by issues #898 and #899. Closing.


[Async CC] Move thick context into async context.

Previously, the thick context was passed as a fourth parameter to partial apply forwarders.  Here, the thick context is instead moved into the async context at the local context position.  To support this, the local context is made always available.

@swift-ci please smoke test


Shared: Add withContext component

That means there are other contexts we could refactor with this utility.

yes, that was the idea.


Hi,
I'm sorry, I completely missed this email.
Please let me know if the issue has been resolved, or still some help is
needed.
Regards,
Rohan
On Thu, Nov 12, 2020 at 12:35 PM legend-k<EMAIL_ADDRESS>wrote:

How can i ignore side face detections?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/rohanrao619/Social_Distancing_with_AI/issues/2, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ALF7LJYXT5PEUDKU6GPVASDSPOCKFANCNFSM4TS4Y7XA
.

The model still gives unreliable detections in side face view.

Hi,
Yes, It doesn't work properly for side angles. The reason is simple, the
face mask classifier is trained on mostly straight faces. There is no such
dataset that has an abundance of faces from side angles that are masked.
Even for this model, masked faces had to be augmented.
However, there are certain things you can try to work around this. You can
try shearing augmentation with ImageDataGenerator, or try finding more data.
You can also plan on ignoring such detections, as you mentioned earlier.
 You can also try looking for
certain specific face landmarks and ignore if not found.
These are just some ideas from my side which may or may not work  Feel free
to reach out if you have any questions.
Regards,
Rohan
On Tue, Nov 24, 2020 at 1:07 PM legend-k<EMAIL_ADDRESS>wrote:

The model still gives unreliable detections in side face view.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/rohanrao619/Social_Distancing_with_AI/issues/2#issuecomment-732714260,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALF7LJZTPR7LN4L3QFRZBFTSRNPFBANCNFSM4TS4Y7XA
.


Add logic to decode and verify certificate

A DER encoded certificate can now be decoded and have it's signature
verified
Added expiry time as a task on #50

Current dependencies on/for this PR:

main

PR #49   👈

This comment was auto-generated by Graphite.

@nick-mobilecoin queued this pull request to merge with Graphite.

@nick-mobilecoin merged this pull request with Graphite.


Split out examples to own package

As discussed it makes, also in preparaton of enhancement packages like for ble, sense to split out the exmaples into an own package.

We discussed that and decided to leave it formally in each package


lspsaga popups do not have borders

Description
At some point I've lost the borders around lspsaga pop up windows. It makes it impossible to differentiate what's in the main window and what the pop up is showing.
Sorry, I'm not sure how to debug this and can find no other mentions.
I have tried in wezterm (my default terminal), terminal.app, and kitty. I've also tried different fonts in each terminal including Nerd Font variants to ensure the characters exist. None produce lspsaga pop ups with borders.
telescope has proper borders, lua vim.lsp.buf.hover() shows its limited borders.
Expected Behavior
There should be a border around the popup window to differentiate content as per the screenshots.
Actual Behavior
Pop up window with no border.
Neovim Built in Behavior
These should be set to whatever lspconfig sets them to, the only settings I've done are for lspsaga, and they are listed below.
Details

Reproduce

nvim -u test.vim the min config that only lspsaga

local saga = require 'lspsaga'
saga.init_lsp_saga {
    error_sign = '💩',
    warn_sign = '🔥',
    hint_sign = '💡',
    border_style = 1,
}

this is my lspsaga configuration. I know that it is being read because there are errors and warnings in the code and they have the appropriate symbols, which I haven't defined anywhere else.

post your program language min code snippet that can reproduce your issue

func main() {
	viper.SetConfigName("ipscromp")       // name of config file (without extension)
	viper.AddConfigPath("/etc/appname/")  // path to look for the config file in
	viper.AddConfigPath("$HOME/.appname") // call multiple times to add many search paths
	viper.AddConfigPath(".")              // optionally look for config in the working directory
	err := viper.ReadInConfig()           // Find and read the config file
	if err != nil {                       // Handle errors reading the config file
		panic(fmt.Errorf("Fatal error config file: %s \n", err))
	}
}

Environment

nvim --version output:

NVIM v0.5.0-dev+nightly-95-g01493e799
Build type: Release
LuaJIT 2.1.0-beta3
Compilation: clang -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -DNDEBUG -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion -Wmissing-prototypes -Wimplicit-fallthrough -Wvla -fstack-protector-strong
-fno-common -fdiagnostics-color=auto -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -DNVIM_MSGPACK_HAS_FLOAT32 -DNVIM_UNIBI_HAS_VAR_FROM -DMIN_LOG_LEVEL=3 -I/tmp/neovim-20210421-58006-3qiss6/build/config -I/tmp/neovim-20210421-58006-3qiss6/src -I/usr/local/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/usr/local/opt/gettext/include -I/tmp/neovim-20210421-58006-3qiss6/build/src/nvim/auto -I/tmp/neovim-20210421-58006-3qiss6/build/include
Compiled by<EMAIL_ADDRESS>
Features: +acl +iconv +tui
See ":help feature-compile"

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/usr/local/Cellar/neovim/HEAD-01493e7_2/share/nvim"

Run :checkhealth for more info

Operating system: macOS 11.2.2
lspsaga commit:

commit 333178b4e941eb19d9c97c0b0b5640c76363b0ad (HEAD -> main, origin/main, origin/HEAD)
Author: tamago324<EMAIL_ADDRESS>Date:   Sun Apr 18 22:29:18 2021 +0900

    fix: not overwrite NormalFloat (#180)

This is telescope with a proper border:

This is the result of Lspsaga preview_definition:

the latest neovim version？

I think so, before asking for help I ran brew reinstall neovim to make sure it was up to date, and now that you just questioned it, I uninstalled and reinstalled with brew install --head neovim which installed the same version:
VIM v0.5.0-dev+nightly-95-g01493e799
Build type: Release

brew info neovim
neovim: stable 0.4.4 (bottled), HEAD
Ambitious Vim-fork focused on extensibility and agility
https://neovim.io/
/usr/local/Cellar/neovim/HEAD-01493e7_2 (1,460 files, 20.5MB) *
  Built from source on 2021-04-21 at 10:01:36

The SHA there matches the SHA of the latest commit on GitHub.

I also noticed that borders were missing in my config a few days ago.  I did a test with a minimal init.lua and add plugins gradually and found that treesitter was the culprit at least for me.

You could maybe try setting the border type manually and see if that changes anything, e.g.
require("lspsaga").init_lsp_saga
{
  border_style = "round"
}

  border_style = "round"

No luck with that.

Interestingly this solved it for me. Uninstalling treesitter, didn't help, only setting border_style = "round".

Worked for me too

@vuki656  you need update your neovim version


Kanban Setup

Project link - https://github.com/Rachelwebdev/JavaScriptCapstone/projects/2
Note: There are 2 people in my group

Hi @Rachelwebdev and @Uchenna-ibute ,
Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉

Highlights
Kanban board setup :heavy_check_mark:
Optional suggestions
Every comment with the [OPTIONAL] prefix won't stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better. Some of them were simply missed by the previous reviewer and addressing them will really improve your application.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


Go + Windows != DLL

go version
go1.6 windows/386

Windows 7x64

What did you do?

What did you expect to see?
Dynamic link library

What did you see instead?
I see error :(

dup #11058


Add background overlay under text view facing

Hi,
I am trying to add a background rectangle behind the text view facing to make it more readable. Do you have any advice to do so ?
Best,
Clément

I do not know what is the proper way using Ogre to display Text with an overlay. If this is already possible with Ogre or if I need to create a rectangle behind the text.

I don't know this by heart too. You will need to consult the docs.

I can see a mpBackgroundMaterial variable in movable_text header but never used. Is it here to do what I want ?

I'm trying to understand how the movable_text.
It use vertexData that are filled with POS and Texture cordinates for each letter of the text, refering the material.
Do you guys know if it's possible to add extra vertex that doesn't contain texture cordinates to draw a rectangle ? To mix vertex format in a certain way (letters vertex and triangle vertex). I can't make it work on my side.

I succeed to make it work adding new vertex corresponding to the background rectangle I wanted to display. I didn't find a way to avoid using POS + TEXTURE, so I found a trick where I choose the middle of a letter to display a full black rectangle ...


Update to cstruct.2.2.0

If we want to use datakit in the future then we need to be in sync with its dependencies, including cstruct.2.2.0
The only real change was a mirage-tcpip backport but this cherry-picked relatively cleanly.

Looks great to me!


add missing metadata in getBulkState() response

Description
In getBulkState() response, the metadata field is missing. Add it back.
Issue reference
Checklist
Please make sure you've  completed the relevant tasks for this PR, out of the following list:

[ ] Code compiles correctly
[ ] Created/updated tests
[ ] Unit tests passing
[ ] End-to-end tests passing
[ ] Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Specification has been updated / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Provided sample for the feature / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]

@yaron2 Please help to review this PR. It's very small, just to pass through metadata

@yaron2 Please help to review this PR. It's very small, just to pass through metadata

Sorry for the long wait, most maintainers are on holiday vacation now


sky: bookmarks in sidebar

User should be able to specify a rendered pane as bookmarked in the sidebar without having it active in the window.

This falls under Workspaces/Bookmarks, which we're punting on.


Typos

Hallo,
I collected a number of typos for you ;)

In the Tasking section, paragraph on synchronization / rendez-vous, “A task proceeds until it reaches an accept statement and then waits for the master task to synchronize with the it”. (s/the it/it/).

In the Tasking section, procedure Show_Cycling_Task, “-- cycle of one seconds”. (s/seconds/second/).

In “Design by Contracts”, first paragraph: “Parameter modes of a subprogram can be viewed as a simple of form of contracts” (s/a simple of/a simple/); and “these specification improve the consistency of the application” (s/specification/specifications/).

The second example in Design by Contracts defines a Double function as follows:
  Function Double (A : Int_8) return Int_8 is
  (A * A)      -- etc

I cannot understand why this function is called Double. Could please call it Square or, if that identifier is already taken, perhaps something like Square_Int_8?

Typo in OOP section, paragraph about tagget types : “style similar to the one described at the beginning of this chaper” (s/chaper/chapter).
Typo in section about the standard library, paragraph about instantiation : “Containers are based on generic packagess” (s/packagess/packages).
Typo in section about the standard library, paragraph about accessing first and last elements: “You can swap elements by calling the procedure Swap and retrieve a reference]” (s/retrieve/retrieving/).

Kind regards,
Vincenzo

Hi Vincenzo,
Thanks for making us aware of these errors. We very much appreciate it! If you come across any more please let us know.
Thanks,
Rob

Hello Robert,
thank you very much for your kind message! Yes sure, if I would have any further remarks it will be a pleasure for me to inform you about them :)
All the very best,
Vincenzo


number of peaks when setting q-value and  p-value

Hello, I'm Dahun.
In advance, I appreicate of using MACS.
I have a question for setting q-value and p-value.
when I call the peaks, I've known that I can set p or q value.
Because I'm curious for number of called peaks, I tried setting different p or q values.
But same results came out. When I set p-value as 0.01 and 0.1, number of peaks is same.
Of course, the result was different when setting p-value and q-value.
But difference for number of peaks are so huge. I mean... if q-value, peaks are 6681. But if p-value, peaks are 1079525.
Are there any  other options I should set?
Thank you.
Dahun

The q-value is an adjusted p-value through Benjamini-Hochberg procedure. In general, q-value=0.05 is more stringent than p-value=0.05, and that's why you will get more peaks using the same number as p-value cutoff.  To select a proper p- or q-value cutoff for peak calling is always a challenge. There are two options: First, you can use macs2 callpeak --cutoff-analysis to check how the cutoff affects the number of peaks, the average length of peaks, and the total length of peaks. macs2 will try various p-value/q-value settings to call peaks and give you the statistics. Plotting the output numbers, you will have an idea of where a proper cutoff should be. Secondly, many pipelines, such as ENCODE pipeline, now use Irreproducible Discovery Rate to find reproducible peaks across replicates (or pseudo-replicates). To do so, people need to call a set of ranked peaks using a relax cutoff, then find the most reproducible peaks with an IDR cutoff, which is ideally independent to the p/q-value cutoff of peak callers.

Thank you for kind explanation!
I'll try to find a proper cutoff.


fixed dropdownopen on chat blade

Weirdly enough when I publish the views, seems like altering filter-form-blade.php works, but this solution doesn't.

Please check the new version and make a new PR if it was necessary


bg -> brainglobe renamed

This PR updates recipe to reflect that the bg_space dependency is now called brainglobe_space.
Checklist

[x] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

The BrainGlobe repositories are all moving to a naming convention where we use "brainglobe" instead of the less explicit "bg" as a prefix. My colleague @willGraham01 has blogged about this in the bg_atlasapi (now brainglobe-atlasapi) context.
A PR to this repo with an updated dependency name (bg_space is now brainglobe_space) failed last month, and as a consequence, a PR to the brainrender-napari feedstock is failing.
This has caused some issues on conda-forge that this PR will help address (I think/hope).

I'd be happy to be added as a maintainer for this feedstock - I currently lead the development of all "brainglobe" tools.

@conda-forge-admin, please rerender

Closing in favour of https://github.com/conda-forge/staged-recipes/pull/25533