Add useToggle and useForcibleToggle hooks to react-hooks

Description
Standardize some of the layout in the react-hooks package as we were sometimes using named and sometimes using default exports - now we always used named.
Add two new hooks that I've found very useful in polaris-react and have came in handy when writing stuff in web.
useToggle() is a little hook that abstracts away creating a boolean state which crops up a lot when you have to deal with toggling the visibility of modals and popovers and other conditional rendering. It's a pretty light touch but I've found myself having to reach for it quite often as many of these boolean states are needed in meaty components.
Instead of writing
function MyComponent() {
  const [isActive, setIsActive] = useState(false);
  const toggleIsActive = useCallback(() => setIsActive(state => !state), []);

   return (
    <>

Value: {isActive ? 'true' : 'false'}

      <button onClick={toggleIsActive}>Toggle</button>
    </>
  );
}

You can now write
function MyComponent() {
  const [isActive, toggleIsActive] = useToggle(false);

   return (
    <>

Value: {isActive ? 'true' : 'false'}

      <button onClick={toggleIsActive}>Toggle</button>
    </>
  );
}

useToggle() is accompanied by its sibling useForcibleToggle() for cases when you  want functions for force the state to be true or false instead of "the opposite of the current value". This is handy for components like popovers where you'd want open buttons to not hide an already open dialog or dismiss buttons to always close an overlay:
function MyComponent({value}) {
  const [
    isActive,
    {
      toggle: toggleIsActive,
      forceTrue: forceIsActiveTrue,
      forceFalse: forceIsActiveFalse,
    },
  ] = useForcibleToggle(false);

  return (
    <>

Value: {isActive ? 'true' : 'false'}

      <button onClick={toggleIsActive}>Toggle</button>
      <button onClick={forceIsActiveTrue}>Open</button>
      <button onClick={forceIsActiveFalse}>Close</button>
    </>
  );
}

Type of change

[x] react-hooks Minor: New feature (non-breaking change which adds functionality)

Checklist

[ ] I have added a changelog entry, prefixed by the type of change noted above

Have you considered returning an object instead of an array?
const {value, toggle, setTrue, setFalse} = useToggle();

renaming can be done through destructuring, like so
const {
  value: modalIsVisible,
  toggle: toggleModal,
  setTrue: openModal,
  setFalse: hideModal,
} = useToggle();

Have you considered returning an object instead of an array?

I want to evoke a familiarity with useState's API which returns an array whos first item is the value. I don't want people to have to use destructuring renaming for the value as that's going to look clunky and is unfamiliar.
Note that the existing API for forcibleToggle is an object with the exception of the value
const [modalIsVisible, {
  toggle: toggleModal,
  setTrue: openModal,
  setFalse: hideModal,
}] = useForcibleToggle();

Should we push that as the API as the primary way of doing this? i.e. would you prefer it if useToggle() had the above API  (renaming useForcibleToggle to useToggle, and finding a new name for the current useToggle)

Should we push that as the API as the primary way of doing this? i.e. would you prefer it if useToggle() had the above API (renaming useForcibleToggle to useToggle, and finding a new name for the current useToggle)

I think we should pick 1 API to expose, and run with it. Creating two hooks that do the same thing but expose slightly different APIs seems to discourage consistency. I like the idea of using forcibleToggle's API but renaming it to useToggle.

In the past I used [state, toggleState, setState] = useToggleState(true)
If you only need the state + setState parts then you can just use the regular useState so you don't get the weird missing elements

The masses have spoken. Two Hooks instead of one is a little confusing and following the "return an array with two things" API stet state is considered clunky if the second item is an object, so now we have a pure object based API.
If you need everything:
const {
  value: isActive,
  toggle: toggleIsActive,
  setTrue: setIsActiveTrue,
  setFalse: setIsActiveFalse
} = useToggle(false)

If you need just the toggle:
const {value: isActive, toggle: toggleIsActive} = useToggle(false)

cc/ @BPScott Slight suggestion on naming before this is released. This hook isn't just for toggling anymore. It provides useful methods for changing a boolean value, useBoolean better represents what the hook does imo


Fix issue:- #5617  Only owner and admin should allow to make changes in entity and service

Describe your changes :

I worked on the Fixing issue #5617

made  0 as the default value of hour option in ingestion cron
Closes #5617

Fixed teams not showing on the search of user in user page

Type of change :

[x] Bug fix

Frontend Preview (Screenshots) :
https://user-images.githubusercontent.com/71748675/175542082-81c0a5a8-e12d-4d8b-8bd3-ebcf5efb2129.mov

Checklist:

[x] I have read the CONTRIBUTING document.
[ ] I have commented on my code, particularly in hard-to-understand areas.
[ ] I have added tests that prove my fix is effective or that my feature works.
[x] All new and existing tests passed.

Reviewers

@open-metadata/ui

@ShaileshParmar11 Webhooks can be hidden for Non-Admin users.

@ShaileshParmar11 Webhooks can be hidden for Non-Admin users.

code updated, Thanks


create separate worker container for prometheus gateway in pachyderm workers

What is the goal / desired outcome?
Prometheus needs to scrape pachyderm workers.
If there is a way to accomplish this today via workaround, what does that require?
Patching the workers.
(Optional) What is your proposal for a feature to solve this?
Add a prometheus gateway to worker pods

Environment?:

Kubernetes version (use kubectl version):
Pachyderm CLI version (use pachctl version):
Cloud provider (e.g. aws, azure, gke) or local deployment (e.g. minikube vs dockerized k8s):
OS (e.g. from /etc/os-release):
Others:
(created from Zendesk ticket #106)gz#106

Agent comment from Dale Georg in Zendesk ticket #106:Feature request was created (Github issue #5238); closing the Support issue.


[Reveal] Opening modal create additional scrollbar to body element in Foundation v6.4.4-rc1 (doesn't happen in v6.4.3)

How to reproduce this bug:

Create a Reveal component normally (code from docs also applicable)
Open the modal

What should happen:
Modal open normally
What happened instead:
Modal open and add 2 scrollbars to the body
Browser(s) and Device(s) tested on:
Chrome Version 63.0.3239.84 and Firefox Version 56.0 (probably all browser)
Foundation Version(s) you are using:
6.4.4-rc1 (the issue doesn't exist on 6.4.3)
Test case link:
https://codepen.io/lukeyouell/pen/VrGvQP

I cannot reproduce it on Firefox & Chrome on macOS, but I can reproduce on Windows.
Also, i have an other bug for Firefox on macOS: the gradient background disapear when the modal is open.

This comes from html.is-reveal-open and .reveal-overlay that both have overflow-y: scroll. So a scrollbar is showed on these two elements even if it is not necessary.
However, I seen there was way more complicated issues on this before, like: https://github.com/zurb/foundation-sites/pull/10583. So if the easy solution would be to replace overflow: scroll by overflow: auto, I don't think this would be the right thing to do.
@isapir Could you give me some help there ?

For the background bug on Firefox, see https://github.com/zurb/foundation-sites/issues/10791

@ncoden I don't remember the details and have no time to look deep into this, but given the information that you already know, why not simply add:
.reveal-overlay {
  overflow: inherit;
}

See https://codepen.io/isapir/pen/EoWjdb

I am afraid on the simply word there. The PR you made should have fixed this bug, and I don't understand everything in it. But in the worst case I'll go the the too obvious idea of overflow: auto.

My tests showed that it did fix the issue, but there are too many factors here (e.g. other patches by other developers) and I really do not remember the details.
I will try to look into it at a later time, but can't ATM.

Don't worry, it can wait. And thank you.

Do we need some more testing here?

poke @isapir

See #11065


Solve Issue #12 & Add some macOS functions

Add mac.py in cup/res/
Add get_disk_usage_all() & get_disk_info() in cup/res/linux.py
Add check macOS decorator in cup/decorators.py
More work will be done on mac.py
(Document not updated)

@mythmgn Please check! Thanks!

lgtm

By the way, you can use English to write the function description.
Thanks :)


LLM user frame processor with tests

This PR is based on #450 and improves VAD and user transcription ordering issues fixing the LLM context aggregators.

Hey @aconchillo how is it going? any updates on when you think this PR will be merged?

Hello team! @aconchillo @marcus-daily , any ETA on when you think this PR could be merged? I've been using a forked repo with this fix, works super well. Would love to go back to the main repo!

There are a couple of use cases (the ones were we interrupt) that I'm not sure about and I have never ran into actually. One of the cases is:
S E T1 T2

In this case we get 2 transcriptions after UserStoppedSpeaking. In this PR implementation (which is still the original one from @EdgarMMProsper) when we get T2 we interrupt the bot. It's actually weird, because if T1 was a final transcription we shouldn't really get another final transcription without having another UserStartSpeaking-UserStoppedSpeaking, but I guess it can happen? Interrupting the bot from the context aggregator is something I'd like to avoid since I don't think it's the right place . In general we don't want to send random interruptions from processors to fix some other issue (i.e. separation of concerns for each processor as much as possible).

There are a couple of use cases (the ones were we interrupt) that I'm not sure about and I have never ran into actually. One of the cases is:
S E T1 T2

In this case we get 2 transcriptions after UserStoppedSpeaking. In this PR implementation (which is still the original one from @EdgarMMProsper) when we get T2 we interrupt the bot. It's actually weird, because if T1 was a final transcription we shouldn't really get another final transcription without having another UserStartSpeaking-UserStoppedSpeaking, but I guess it can happen? Interrupting the bot from the context aggregator is something I'd like to avoid since I don't think it's the right place . In general we don't want to send random interruptions from processors to fix some other issue (i.e. separation of concerns for each processor as much as possible).

In our experience this does happen quite a lot. If you do not want to send interruptions from this processors (I agree it is not very clean), you can implement a similar logic in the input processor directly.

There are a couple of use cases (the ones were we interrupt) that I'm not sure about and I have never ran into actually. One of the cases is:
S E T1 T2

In this case we get 2 transcriptions after UserStoppedSpeaking. In this PR implementation (which is still the original one from @EdgarMMProsper) when we get T2 we interrupt the bot. It's actually weird, because if T1 was a final transcription we shouldn't really get another final transcription without having another UserStartSpeaking-UserStoppedSpeaking, but I guess it can happen? Interrupting the bot from the context aggregator is something I'd like to avoid since I don't think it's the right place . In general we don't want to send random interruptions from processors to fix some other issue (i.e. separation of concerns for each processor as much as possible).

In our experience this does happen quite a lot. If you do not want to send interruptions from this processors (I agree it is not very clean), you can implement a similar logic in the input processor directly.

Interesting. Well, I guess we can give this a try :smiley: . I have some local changes (e.g. pushing BotInterruptionFrame upstream instead) and some unit tests fixes because many internal things have changed since this PR was originally written. I should be able to finish it today/tomorrow.

@EdgarMMProsper @skandere In the case discussed above:
S E T1 T2

what is an example of the contents of T1 and T2. Why do we need to interrupt instead of simply queuing T2?

@EdgarMMProsper @skandere In the case discussed above:
S E T1 T2

what is an example of the contents of T1 and T2. Why do we need to interrupt instead of simply queuing T2?

I was actually reading the original commit and sent_aggregation_after_last_interruption is actually never sent to True which means interruptions will never happen. So, I guess my question above is still valid.

@EdgarMMProsper @skandere In the case discussed above:
S E T1 T2

what is an example of the contents of T1 and T2. Why do we need to interrupt instead of simply queuing T2?

T1: start of the sentence. T2: end of the sentence. Both things said between S and E but received a bit late because of STT latency. If you do not interrupt the bot will generate two very similar outputs "repeating" itself.

@EdgarMMProsper @skandere In the case discussed above:
S E T1 T2

what is an example of the contents of T1 and T2. Why do we need to interrupt instead of simply queuing T2?

T1: start of the sentence. T2: end of the sentence. Both things said between S and E but received a bit late because of STT latency. If you do not interrupt the bot will generate two very similar outputs "repeating" itself.

It seems the foundational examples series 22 would solve this issue without needing to interrupt. I was assuming T1 and T2 would be two different sentences in the which case the interruptions didn’t make sense. But if it’s the same sentence then those examples might help better without needing to interrupt. What if T1 has more context than T2?

@EdgarMMProsper @skandere In the case discussed above:
S E T1 T2

what is an example of the contents of T1 and T2. Why do we need to interrupt instead of simply queuing T2?

T1: start of the sentence. T2: end of the sentence. Both things said between S and E but received a bit late because of STT latency. If you do not interrupt the bot will generate two very similar outputs "repeating" itself.

It seems the foundational examples series 22 would solve this issue without needing to interrupt. I was assuming T1 and T2 would be two different sentences in the which case the interruptions didn’t make sense. But if it’s the same sentence then those examples might help better without needing to interrupt. What if T1 has more context than T2?

I've decided I will make this a constructor argument. So you will have the option to interrupt the bot if you want to.

Alright, I have been playing with this a bit. I wanted to add it to 0.0.52 but it's not going to happen. We will rethink LLM aggregators in January considering also how multi-modal models works. For now, I'll park this.


Api mgmt

@ReenuSaluja - there are merge issues in the pull request.  Can you resolve those?  That was just a first pass.  I will review fully a bit later.

we are working on the recommendations . Closing this pull request for now. I will raise a new pull request once done with the changes.


Rule.issuer - what properties belong to it? What does the option do?

From you docs:

In a Rule the properties test, include, exclude and resource are matched with the resource and the property issuer is matched with the issuer.

You can either supply a Rule.resource option or use the shortcut options Rule.test, Rule.exclude, and Rule.include

So we have:
    {
        resource: {
            test: ...,
            include: ...,
            exclude: ...,
        },
        issuer: { ...boom?? }
    }

There is nothing for issuer in your reference. What properties belong to it? What is it for? What does issuer do?

resource, issuer, resourceQuery and compiler can all have the same properties:
issuer: {
  test: ...,
  include: ...,
  exclude: ....,
  and: ....,
  or: ....,
},
issuer: /regexp/,
issuer: [{ ... }, { ... }] // matched with or

@webpack-bot move to webpack/webpack.js.org


Unity Event-Property Drawer Height not updated when selecting method with parameter of MonoBehaviour

The height of the property drawer does not correctly set its height initially when selecting a method that has a parameter of type MonoBehaviour. It might also affect other types, but I haven't tested that.
When dragging a MonoBehaviour into the slot, the height updates correctly.

Seems to be dead. Closing this issue.


wine: {pkgs -> self}.wine.override

I haven't been keeping up with the structural changes in nixpkgs and especially the whole self business, and have no clue whether this is correct.

At least other overrides in all-packages.nix follow this example, and so did I for some time -- I suppose this is correct.

That's what I wanted to hear. Thanks!


[AMD] getBackwardSlice variant with handling for op regions

mlir::getBackwardSlice does not traverse through op regions. This can cause the backward slice to not be in topological order and this can result in the reordering pass moving a value's use before its def.
Example:
%0 op0 ...
%1 scf.if %arg0
{
%2 op1 %0, ...
}
%3 op2 %0,
%4 tt.load %1, %3
while gathering the backward slice of the tt.load, if op1's use of %0 is not seen during the post-order walk in mlir::getBackwardSlice, then the backward slice can have op0 after the scf.if. Global load reordering relies on the load's backward set being topologically sorted to move the load and its transitive dependencies.
This PR adds a getBackwardSlice variant with handling for op regions. This is a temporary fix until these changes are upstreamed to mlir::getBackwardSlice.
The core Triton is a small number of people, and we receive many PRs (thank
you!).  To help us review your code more quickly, if you are a new
contributor (less than 3 PRs merged) we ask that you complete the following
tasks and include the filled-out checklist in your PR description.
Complete the following tasks before sending your PR, and replace [ ] with
[x] to indicate you have done them.

[x] I am not making a trivial change, such as fixing a typo in a comment.

[x] I have written a PR description following these
rules.

[x] I have run pre-commit run --from-ref origin/main --to-ref HEAD.

Select one of the following.

[x] I have added tests.

/test for lit tests
/unittest for C++ tests
/python/test for end-to-end tests

[ ] This PR does not need a test because FILL THIS IN.

Select one of the following.

[ ] I have not added any lit tests.
[x] The lit tests I have added follow these best practices,
including the "tests should be minimal" section. (Usually running Python code
and using the instructions it generates is not minimal.)

@htyu @manman-ren

Closing this given superseded by https://github.com/triton-lang/triton/pull/5363.


RD Combiner: 10

Adds MT Subsetting script
This is now an optional stage 🎉 If we're running on only a single Dataset, this Stage is skipped completely. This saves the time and cost of creating and storing a whole MT which is a 100% subset of the AnnotateCohort output.
Otherwise this is again a copy-paste job, but in a stand-alone script
This stage allows the default JAR file to be overridden using config

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 26.78%. Comparing base (88c8bf8) to head (a037ced).

Additional details and impacted files
@@              Coverage Diff               @@
##           rd_combiner_9    #1039   +/-   ##
==============================================
  Coverage          26.78%   26.78%
==============================================
  Files                  9        9
  Lines               1725     1725
==============================================
  Hits                 462      462
  Misses              1263     1263

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[feature/rate-limiting] add rate-limit usage status support

after some discussions in #517 and #531, this pull request adds a support to fetch current rate-limit usage status.
to fetch the current usage status, user, consumer or admin will request the proxy (port 8000) with a custom url that can be configured in the plugin configuration.

Hi @thibaultcha
Any updates on adding rate-limit usage status support?


Results without fringe

Hi @NathanUA,
I have a library that makes use of your model.
@alfonsmartinez opened an issue about the model result, please, take a look at here:
https://github.com/danielgatis/rembg/issues/14
Can you figure out how I can achieve this result without the black fringe?
thanks.

In my case, this is green edges with green screen

Hi, Daniel,
Thanks for your interests. This could be solved by conducting morphological
operations (e.g. erosion) on the binarized maps. The size of erosion
disk/square can be determined based on your input image size (e.g.
input_size/320) or configured experimentally. If you don't care about the
time costs, you can also feed the results of U2-Net to CascadedPSP-Net (
https://github.com/hkchengrex/CascadePSP) for getting the original
resolution probability maps.
On Tue, Sep 29, 2020 at 3:29 PM Daniel Gatis<EMAIL_ADDRESS>wrote:

Hi @NathanUA https://github.com/NathanUA,
I have a library that makes use of your model.
@alfonsmartinez https://github.com/alfonsmartinez opened an issue about
the model result, please, take a look at here:
danielgatis/rembg#14 https://github.com/danielgatis/rembg/issues/14
Can you figure out how I can achieve this result without the black fringe?
thanks.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/NathanUA/U-2-Net/issues/75, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADSGORO5YD66M6ZXI6RVKYDSIJGTXANCNFSM4R6KACZA
.

--
Xuebin Qin
PhD
Department of Computing Science
University of Alberta, Edmonton, AB, Canada
Homepage:https://webdocs.cs.ualberta.ca/~xuebin/

But I want to make a general case model which works on both monotonous and complex background, If I dilate on images that already show good results, wouldn't it cut off my borders.

https://github.com/hkchengrex/CascadePSP/issues/25
Results using Cascade PSP are not good either, as well as processing masks skyrockets.

It might help to create a trimap from the U-2-Net mask by erosion and dilation. The image and trimap can then be used as input for some alpha matting framework.
But even with a hand-drawn trimap, the result will not perfect because there is some blue chromatic aberration on the rice grains (most noticeable on the top right).

Hi thomas @99991

It might help to create a trimap from the U-2-Net mask by erosion and dilation.

Sorry for the dumb question but can you provide the code that generates the trimap in this example?

@danielgatis That trimap was hand-drawn, but it is not too difficult to generate it automatically from the output of u2net. Simply threshold the prediction to get approximate foreground and background masks, erode the masks to increase the region where alpha matting methods are allowed to calculate the alpha values and then combine the masks to form a trimap.
Here is some code to do this.
I reduced the size of the input image to not run out of memory.
A solution for a less memory hungry method for alpha matting is described in this paper
There is also this paper, where the authors predict an alpha matte directly from the input image without trimap, but the associated repository has no code at the moment and it would probably not be legal to use the network due to the license of the images it was trained on.

Matting Still does not remove the edges,

I have uploaded a small resized image, on original 1920X1080 green edges are clearly visible

Hi @kashyappiyush1998,
I have a project that just pipes the u2net and pymatting.
curl -s https://upload.wikimedia.org/wikipedia/commons/c/c2/Girl_in_front_of_a_green_background.jpg | rembg -a > a.png

curl -s https://user-images.githubusercontent.com/35548940/95571670-6f866800-0a46-11eb-9a7c-8272e0229ee6.jpg | rembg -a > b.png

Hi @kashyappiyush1998,
I have a project that just pipes the u2net output to the pymatting and I get the following results:
curl -s https://upload.wikimedia.org/wikipedia/commons/c/c2/Girl_in_front_of_a_green_background.jpg | rembg -a > a.png

curl -s https://user-images.githubusercontent.com/35548940/95571670-6f866800-0a46-11eb-9a7c-8272e0229ee6.jpg | rembg -a > b.png


Parallelization fails if pytorch imported after sbi

This was a fascinating bug to find. It seems that the import order of the modules determines if parallelization works. Here is a minimal example from the tutorial that will fail. The only change is moving import torch down one line, and setting num_workers=2.
from sbi import utils as utils
import torch
from sbi.inference.base import infer

num_dim = 3
prior = utils.BoxUniform(low=-2*torch.ones(num_dim), high=2*torch.ones(num_dim))
def simulator(parameter_set):
    return 1.0 + parameter_set + torch.randn(parameter_set.shape) * 0.1

posterior = infer(simulator, prior, method='SNPE', num_simulations=10, num_workers=2)

Here is the traceback:

This definitely kept me stumped for awhile! (I thought the issue had to do with my NEURON simulator). I doubt this warrants a PR since the code does not follow the provided example. However, a note in the documentation, or an inline comment, might be worthwhile for us troublemakers who don't copy the examples.

Hey there!
Thanks for reporting this, thats indeed quite interesting. It might well be related to #388
We'll have to have a look. Thanks again!
Michael

On torch v1.7.0, joblib 1.0.0 and bleeding edge sbi, I can not reproduce this issue. I'll close it for now, but feel free to re-open if the problem prevails with the latest versions of these libraries.


Feature Request: Not too verbose during model.fit

I wonder if it's possible that model.fit can print epochs once we have finished every 10% (of course this 10% can be a variable) of nb_epoches rather than every one single epoch.
For example, when we have model.fit(x, y, verbose=2, nb_epochs=1000), the output will be something like:

Epoch 1/1000
0s - loss: 0.0396 - acc: 0.0021
Epoch 2/1000
0s - loss: 0.0239 - acc: 0.0024
Epoch 3/1000
0s - loss: 0.0160 - acc: 0.0044
Epoch 4/1000
0s - loss: 0.0130 - acc: 0.0042
... lots of staff here
Epoch 1000/1000
0s - loss: 0.0020 - acc: 0.0042

This is what I want:

Epoch 100/1000
0s - loss: 0.0396 - acc: 0.0021
Epoch 200/1000
0s - loss: 0.0239 - acc: 0.0024
Epoch 300/1000
0s - loss: 0.0160 - acc: 0.0044
Epoch 400/1000
0s - loss: 0.0130 - acc: 0.0042
Epoch 500/1000
0s - loss: 0.0020 - acc: 0.0042
Epoch 600/1000
0s - loss: 0.0020 - acc: 0.0042
Epoch 700/1000
0s - loss: 0.0020 - acc: 0.0042
Epoch 800/1000
0s - loss: 0.0020 - acc: 0.0042
Epoch 900/1000
0s - loss: 0.0020 - acc: 0.0042
Epoch 1000/1000
0s - loss: 0.0020 - acc: 0.0042

I second this feature.

It's surprising that this feature is not supported!

You can disable fit logging and pass in an epoch callback to print what you want when you want.


Pass isSourceHandle flag on to onEdgeUpdateStart

This allows to know during an edge update which side of the edge is getting dragged by the user.
Use cases include showing custom validation hints to the user during an edge update, e.g. which handles can be connected to and which not. This would otherwise not be possible without knowing which side is updated.

@andreas-schultz thanks for providing this - @moklick do we need to follow a contribution guide to get this merged?

Hey @andreas-schultz,
thanks for your PR and sorry that it got lost in the shuffle.
You you just change the boolean to "source"/ "target". That makes it a bit more generic for possible changes in the future.
So instead of isSourceHandle, the param should be handleType. Thanks!

Hi @moklick,
sure, makes sense, I've changed the code as you proposed.

@moklick Alright,done. I've also updated the UpdatableEdge example.

released in v10.1.0


Unique Link Clicks

I have contacted customer support who tell me that while you can track total link clicks in a campaign, you cannot see unique link clicks for any given link. Has anyone else found this a frustration, can offer a solution? In other email marketing packages I've used this view and metric is usually a standard for measuring success.

Expected content
Actual content
Link to page:

Hi @sendgridhelp ,
Thank you for the feedback. We have passed it along to the product team.
Twilio SendGrid Docs Team


MdcCheckbox doesn't seem to implement the setDisabledState method of ControlValueAccessor.

Funny, noticed this myself this morning! 😄
Retesting, but it should be good for v0.36.0.


training go wrong

Hello, I want to reproduce your results, but when I went to the second step (training), I encountered some problems related to the dictionary. I don't know how to solve it. How should I do it?
my command

delta=1.0
modelfile=/root/model
data=/root/data2

python train.py --ddp-backend=no_c10d ${data} --arch transformer --share-all-embeddings
--optimizer adam
--adam-betas '(0.9, 0.98)'
--clip-norm 0.0
--lr 5e-4
--lr-scheduler inverse_sqrt
--warmup-init-lr 1e-07
--warmup-updates 4000
--dropout 0.3
--criterion label_smoothed_cross_entropy
--label-smoothing 0.1
--left-pad-source False
--delta ${delta}
--save-dir ${modelfile}
--max-tokens 4096 --update-freq 2

Reported an error related to the dictionary. I don't know how to deal with it.

| [de] dictionary: 34928 types
| [en] dictionary: 33176 types
| loaded 2919 examples from: /root/data2/valid.de-en.de
| loaded 2919 examples from: /root/data2/valid.de-en.en
| /root/data2 valid de-en 2919 examples
Traceback (most recent call last):
File "/root/GMA/train.py", line 365, in
cli_main()
File "/root/GMA/train.py", line 361, in cli_main
main(args)
File "/root/GMA/train.py", line 59, in main
model = task.build_model(args)
File "/root/GMA/fairseq/tasks/fairseq_task.py", line 201, in build_model
return models.build_model(args, self)
File "/root/GMA/fairseq/models/init.py", line 48, in build_model
return ARCH_MODEL_REGISTRY[args.arch].build_model(args, task)
File "/root/GMA/fairseq/models/transformer.py", line 154, in build_model
raise ValueError("--share-all-embeddings requires a joined dictionary")
ValueError: --share-all-embeddings requires a joined dictionary

When processing the data into the fairseq format, you should add --joined-dictionary for WMT15 German-English:

ok，Thank u. I soved it.


Docs minor improvements

The "simple example" being the entry gate into SSM.jl (i.e., users will try that first and if they understand everything they will continue and adopt the package), it's important to make it as clear and streamlined as possible ☺

Also, could you add the documentation URL to the "website" field of the About repo section, some people (like me 😁) get disoriented when it's missing

Also, could you add the documentation URL to the "website" field of the About repo section, some people (like me grin) get disoriented when it's missing

Can do.
Thanks for the PR. Please see my comments.

Please see my comments.

I think all have been addressed?

@DominiqueMakowski, thanks for addressing the comments. I will merge now.


Do not render features on map

Problem:
Campaign's features are not rendered on the map.
The geojson is invalid.
https://campaigns.hotosm.org/campaign/225ef5eedfbb4251b5417381997269c9
https://campaigns.hotosm.org/campaign/917ba0f43d5145a99b004a9938ebdd1e
Solution
Make the geojson valid again!

I didn't fix code, I just re-uploaded the process_feature_attribute_completeness to AWS Lambda.


Avalanche Website problems

Today the node is over 310G in size, is this correct?

Could be, at the time of asking the pruned database was about that size. But, this is not why GH issues are for.


"Urlize" Tags and Categories in Article and swap ".Hugo" for "hugo"

Fixes:

Tags and category text needs to be URL sanitized to not create broken links in Articles
.Hugo is deprecated according to message, which suggests updated to use hugo instead:

WARN 2019/06/08 19:27:21 Page's .Hugo is deprecated and will be removed in a future release. Use the global hugo function.

Thanks for providing this theme. It worked great getting off-the-ground. Just a couple minor snags I ran into!


Feature/tf v2

This PR adds support for TensorFlow Version 2. @marcoancona Please review carefully since the import structure did change.
Important to notice is that DeepEXplain tf v2 version is NOT rewritten using eager execution, but rather ported to the new API.

Closing this pr since it seems stale

你好，来信已收到~~


[Question] Undesired output with LLaVA-13b-v1

Question
Hi, I am trying to run LLaVA-13b (especially v1).
I could get the right result with LLaVA-13b-v0 by running the following:
python -m llava.eval.run_llava_multigpu \
    --model-name checkpoints/LLaVA-13B-v0 \
    --image-file "https://llava-vl.github.io/static/images/view.jpg" \
    --query "You are a helpful What are the things I should be cautious about when I visit here?" \
    --num-gpus 2

Result:
When visiting this location, one should be cautious about the weather conditions, especially during the winter season. In the image, the wooden pier is surrounded by snow and ice, which can make it slippery and potentially dangerous. It is important to wear appropriate footwear with good traction to prevent slipping and falling. Additionally, visitors should be mindful of the cold temperatures and dress warmly to protect themselves from the cold weather. Since the pier is located near a mountain lake, it is also crucial to be aware of any sudden changes in weather conditions, such as strong winds or storms, which can make the area more hazardous. Visitors should always pay attention to any safety warnings and follow local guidelines to ensure a safe and enjoyable experience.

However, I got the undesired result with LLaVA-13b-v1 by running the same command and it takes much more time inference.
I followed the same procedure to get llava-13b-v1 weights with v0 (download delta from huggingface, and converted weight)
part of result:
,\, decla Asp comput Алек hina iphone vba abgerufenński nella Harold ehem$}}%
');
� ‘ имаcomple р Opera +.— jap Central Nav Abd coloursfoxFootnote maja porte Kur",
 iphone Obviouslyampio natur PR }

This is the code I edited from run_llava for multigpu
import argparse
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
import os
from llava.conversation import conv_templates, SeparatorStyle
from llava.utils import disable_torch_init
from transformers import CLIPVisionModel, CLIPImageProcessor, StoppingCriteria
from llava.model import *
from llava.model.utils import KeywordsStoppingCriteria

from PIL import Image

import os
import requests
from PIL import Image
from io import BytesIO

DEFAULT_IMAGE_TOKEN = "<image>"
DEFAULT_IMAGE_PATCH_TOKEN = "<im_patch>"
DEFAULT_IM_START_TOKEN = "<im_start>"
DEFAULT_IM_END_TOKEN = "<im_end>"

def load_image(image_file):
    if image_file.startswith('http') or image_file.startswith('https'):
        response = requests.get(image_file)
        image = Image.open(BytesIO(response.content)).convert('RGB')
    else:
        image = Image.open(image_file).convert('RGB')
    return image

def eval_model(args):
    # Model

    if args.num_gpus == 1:
        kwargs = {}
    else:
        kwargs = {
            'device_map': "auto",
            "max_memory": {i: "18GiB" for i in range(args.num_gpus)},
        }

    print("kwargs: ", kwargs)
    disable_torch_init()
    model_name = os.path.expanduser(args.model_name)
    tokenizer = AutoTokenizer.from_pretrained(model_name)

    if "mpt" in model_name.lower():
        model = LlavaMPTForCausalLM.from_pretrained(model_name, low_cpu_mem_usage=True, torch_dtype=torch.float16, use_cache=True, **kwargs)
    else:
        model = LlavaLlamaForCausalLM.from_pretrained(model_name, low_cpu_mem_usage=True, torch_dtype=torch.float16, use_cache=True, **kwargs)

    if args.num_gpus == 1:
        model.cuda()

    image_processor = CLIPImageProcessor.from_pretrained(model.config.mm_vision_tower, torch_dtype=torch.float16)

    mm_use_im_start_end = getattr(model.config, "mm_use_im_start_end", False)
    tokenizer.add_tokens([DEFAULT_IMAGE_PATCH_TOKEN], special_tokens=True)
    if mm_use_im_start_end:
        tokenizer.add_tokens([DEFAULT_IM_START_TOKEN, DEFAULT_IM_END_TOKEN], special_tokens=True)

    vision_tower = model.get_model().vision_tower[0]
    if vision_tower.device.type == 'meta':
        vision_tower = CLIPVisionModel.from_pretrained(vision_tower.config._name_or_path, torch_dtype=torch.float16, low_cpu_mem_usage=True).cuda()
        model.get_model().vision_tower[0] = vision_tower
    else:
        vision_tower.to(device='cuda', dtype=torch.float16)
    vision_config = vision_tower.config
    vision_config.im_patch_token = tokenizer.convert_tokens_to_ids([DEFAULT_IMAGE_PATCH_TOKEN])[0]
    vision_config.use_im_start_end = mm_use_im_start_end
    if mm_use_im_start_end:
        vision_config.im_start_token, vision_config.im_end_token = tokenizer.convert_tokens_to_ids([DEFAULT_IM_START_TOKEN, DEFAULT_IM_END_TOKEN])
    image_token_len = (vision_config.image_size // vision_config.patch_size) ** 2

    qs = args.query
    if mm_use_im_start_end:
        qs = qs + '\n' + DEFAULT_IM_START_TOKEN + DEFAULT_IMAGE_PATCH_TOKEN * image_token_len + DEFAULT_IM_END_TOKEN
    else:
        qs = qs + '\n' + DEFAULT_IMAGE_PATCH_TOKEN * image_token_len

    if "v1" in model_name.lower():
        conv_mode = "llava_v1"
    elif "mpt" in model_name.lower():
        conv_mode = "mpt_multimodal"
    else:
        conv_mode = "multimodal"

    if args.conv_mode is not None and conv_mode != args.conv_mode:
        print('[WARNING] the auto inferred conversation mode is {}, while `--conv-mode` is {}, using {}'.format(conv_mode, args.conv_mode, args.conv_mode))
    else:
        args.conv_mode = conv_mode

    conv = conv_templates[args.conv_mode].copy()
    conv.append_message(conv.roles[0], qs)
    conv.append_message(conv.roles[1], None)
    prompt = conv.get_prompt()
    inputs = tokenizer([prompt])

    image = load_image(args.image_file)
    image_tensor = image_processor.preprocess(image, return_tensors='pt')['pixel_values'][0]

    input_ids = torch.as_tensor(inputs.input_ids).cuda()

    stop_str = conv.sep if conv.sep_style != SeparatorStyle.TWO else conv.sep2
    keywords = [stop_str]
    stopping_criteria = KeywordsStoppingCriteria(keywords, tokenizer, input_ids)

    with torch.inference_mode():
        output_ids = model.generate(
            input_ids,
            images=image_tensor.unsqueeze(0).half().cuda(),
            do_sample=True,
            temperature=0.2,
            max_new_tokens=1024,
            stopping_criteria=[stopping_criteria])

    input_token_len = input_ids.shape[1]
    n_diff_input_output = (input_ids != output_ids[:, :input_token_len]).sum().item()
    if n_diff_input_output > 0:
        print(f'[Warning] {n_diff_input_output} output_ids are not the same as the input_ids')
    outputs = tokenizer.batch_decode(output_ids[:, input_token_len:], skip_special_tokens=True)[0]
    outputs = outputs.strip()
    if outputs.endswith(stop_str):
        outputs = outputs[:-len(stop_str)]
    outputs = outputs.strip()
    print(outputs)

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("--model-name", type=str, default="facebook/opt-350m")
    parser.add_argument("--image-file", type=str, required=True)
    parser.add_argument("--query", type=str, required=True)
    parser.add_argument("--conv-mode", type=str, default=None)
    parser.add_argument("--num-gpus", type=int, default=1)
    args = parser.parse_args()

    eval_model(args)

There was an error in weight conversion

Hi jun297
I am facing the same problem. How do you solve it?

Hi jun297
I am facing the same problem. How do you solve it?

Hi, as I mentioned above, in my case, I converted wrong weight. check weight path

Hi Iun297
Thank you for your response.
Please, can you explain how to do weight conversion?
I have delta but I do not have weight, and I follow this :
####################################################
LLaVA Weights
We release LLaVA weights as delta weights to comply with the LLaMA model license. You can add our delta to the original LLaMA weights to obtain the LLaVA weights.
Instructions:
Get the original LLaMA weights in the huggingface format by following the instructions here.
Use the following scripts to get LLaVA weights by applying our delta (13b-v0, 7b-v0, lightning-7B-v1-1). It will automatically download delta weights from our Hugging Face account.
######################################################
I can not find the original LLaMA weights.

you can find LLaMA weight via submitting request form to Meta (takes a long time) or on web

can you give me instructions to conversion?

Please follow the instructions in LLaVA readme

Hi Jun297
I download 13B weight from Llama

then I used this code to convert
python src/transformers/models/llama/convert_llama_weights_to_hf.py
--input_dir /path/to/downloaded/llama/weights --model_size 7B --output_dir /output/path

Then I tested by

and then I run the conversion code

Sorry I used llama_hf directly, I did not convert llama weight to llama_hf weight
All I do was converting lllama_hf to llava with llava_delta

okay thanks, I solve my problem.


Power-loss resilience

Does azure sphere offer power-loss protection for writes to mutable storage?
I understand that azure sphere uses the littlefs file system which does feature power-loss protection. Does this benefit apply to the mutable storage API? If not, what is the recommended approach to ensure the mutable storage file does not get corrupted?

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

ID: a6e5e32a-18fa-2084-519c-66b31cefcbba
Version Independent ID: 594664c5-a625-119d-4e7e-22c1df8eac3f
Content: Azure Sphere storage
Content Source: AzureSphere/articles/app-development/storage.md
Product: azure-sphere
GitHub Login: @esalc
Microsoft Alias: azurespheredocs

@daniel-larsen Thanks for the feedback! We are currently investigating and will update you shortly.

@daniel-larsen Great question. We plan to address this in an update of the documentation.

@daniel-larsen Thanks for your valuable feedback. We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.

@Alberto-Vega-MSFT @pennyo we are having issues restoring correct values from the mutable file after power loss, and would like to have an update on this.
Cheers!


Enabling HTTPS

Is it possible to enable HTTPS for this repo? I enabled it and replaced all instances of http with https as instructed but the assets are not loading properly anymore. Has anyone else enabled HTTPS and figured out how to get it to render properly? Thanks.

I have the same question. I cant even find the enable https option in my GitHub setting. did you figure it out?

I'm having a similar problem. How did you fix it?


Add my first file

Why:
Closes [issue link]
What's being changed:

Check off the following:

[ ] For workflow changes, I have verified the Actions workflows function as expected.
[ ] For content changes, I have reviewed the style guide.

is done


feat: save wild card mode in local storage

Checklist

[x] the [contributor license agreement][] is signed
[x] commit message follows [commit guidelines][]
[ ] tests are included
[x] screenshots are included showing significant UI changes
[ ] documentation is changed or added

Description of change
This PR adds the feature of saving wild card mode in browser local storage.

Looks good Penghai!
Could be worth adding this to some tests, and I'm unsure whether or not we need to handle potential errors thrown by the JSON functions.

Thanks Sam! I have added tests.


Fix incorrect issuer IDs for GrottoNetworking.

One implementation was using an incorrect issuer ID DID:key.
This PR corrects the issue and adds a local test to ensure all issuers using DID:key ids are correct going forward.

@Wind4Greg my apologies about this, I did not know that issuer ids had to be dids directly and not fragments.


METRON-2062: Metron Alerts: Accidentally commited fdescribe in unit tests

Contributor Comments
Link to the original ASF Jira: https://issues.apache.org/jira/browse/METRON-2062
We accidentally committed fdescribe (focused describe) tests and pushed it to the master. Focused describe means that the test runner only runs those tests within the fdescribe block and miss the rest of them.
In order to tests it just run npm test in the metron-alerts folder and make sure all the tests are ran and passed.
Pull Request Checklist
Thank you for submitting a contribution to Apache Metron.
Please refer to our Development Guidelines for the complete guide to follow for contributions.
Please refer also to our Build Verification Guidelines for complete smoke testing guides.
In order to streamline the review of the contribution we ask you follow these guidelines and ask you to double check the following:
For all changes:

[X] Is there a JIRA ticket associated with this PR? If not one needs to be created at Metron Jira.
[X] Does your PR title start with METRON-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.
[X] Has your PR been rebased against the latest commit within the target branch (typically master)?

For code changes:

[X] Have you included steps to reproduce the behavior or problem that is being changed or addressed?

[X] Have you included steps or a guide to how the change may be verified and tested manually?

[X] Have you ensured that the full suite of tests and checks have been executed in the root metron folder via:
mvn -q clean integration-test install && dev-utilities/build-utils/verify_licenses.sh

[X] Have you written or updated unit tests and or integration tests to verify your changes?

[X] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

[X] Have you verified the basic functionality of the build by building and running locally with Vagrant full-dev environment or the equivalent?

For documentation related changes:

[X] Have you ensured that format looks appropriate for the output in which it is rendered by building and verifying the site-book? If not then run the following commands and the verify changes via site-book/target/site/index.html:
cd site-book
mvn site

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.
It is also recommended that travis-ci is set up for your personal repository such that your branches are built there before submitting a pull request.

+1. Tested on full dev. Nice catch! We should think about adding a linter rule to catch focused statements like this. I created a ticket for this task here: https://jira.apache.org/jira/browse/METRON-2063

I'm going to merge this. Just a heads up, there is apparently some overlap in this PR with https://github.com/apache/metron/pull/1375.
The change on line 34 of metron-interface/metron-alerts/src/app/alerts/alerts-list/alerts-list.component.spec.ts. I thought it worth mentioning because the diff stat with master is a little bit different than what Github shows. This is due to the current HEAD of master that this PR was last merged with.
git diff --cached --stat
 metron-interface/metron-alerts/src/app/shared/time-range/time-range.component.spec.ts | 18 +++++++++++-------
 metron-interface/metron-alerts/src/app/utils/utils.spec.ts                            |  2 +-
 2 files changed, 12 insertions(+), 8 deletions(-)


Documentation about compiling for Android for 2.1.1-stable needs 2 additions.

Operating system or device - Godot version:
Xubuntu 16.04 64-bit , Godot 2.1.1-stable but probably also 2.1-stable
Problem 1
Issue description (what happened, and what was expected):
After doing all steps from documentation
http://docs.godotengine.org/en/stable/reference/compiling_for_x11.html#distro-specific-oneliners
and taking care of all needed requirements from
http://docs.godotengine.org/en/stable/reference/compiling_for_android.html
Compilation stops at error:
Incremental java compilation is an incubating feature.
:preBuild UP-TO-DATE
:preDebugBuild UP-TO-DATE
:checkDebugManifest
:preReleaseBuild UP-TO-DATE
:prepareComAndroidSupportSupportV42340Library UP-TO-DATE
:prepareDebugDependencies
:compileDebugAidl FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileDebugAidl'.
> java.lang.RuntimeException: org.gradle.process.internal.ExecException: A problem occurred starting process 'command '/home/user1/Android/android-sdk-linux/build-tools/23.0.3/aidl''

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Only after installing additional and not mentioned in the documentation 32-bit libraries it's possible to build Android templates.
Please add lib32z1 lib32ncurses5 lib32stdc++6 to the required one liner on Ubuntu.
For Fedora it probably should be zlib.i686 ncurses-libs.i686 bzip2-libs.i686
in the documentation at http://docs.godotengine.org/en/stable/reference/compiling_for_x11.html#distro-specific-oneliners
or maybe at the http://docs.godotengine.org/en/stable/reference/compiling_for_android.html .
Problem 2
Issue description (what happened, and what was expected):
In the r10e version of Android NDK, in the /toolchains/ folder there is no /llvm/ subfolder that Scons is looking for, so Scons fails to compile for Android.
There are only llvm-3.5 and llvm-3.6 folders, so simple solution is to create a llvm symlink to llvm-3.6 or change Scons to search in more places for llvm* folder.

I've just run into Problem 2. Can confirm.

I can confirm that NDK r14beta2 I used lately does not have llvm folder problem anymore. Still, at least in ubuntu 16.04 with Godot 2.1.2 the lack of libraries I mentioned is still present - testeg again on freshly installed system.

The instructions have been updated to require the r13* NDK already, so that part should be fine.
As for the missing libs, that's weird. Compiling for Android should not be using shared libraries from your distro (otherwise it wouldn't be possible to compile for Android while on Windows), especially not runtime ones like you mentioned (lib32z1 lib32ncurses5 lib32stdc++6 which are not development libraries, i.e. no headers and .so). All development libraries should be taken directly from the SDK and NDK to cross-compile to the right platform.
So I can only guess that those libraries are dependencies of the SDK - why the Android SDK would need 32-bit libraries on a 64-bit system, I don't know, but that seems to be a SDK issue and not Godot's.

@akien-mga In case somone runs into this, I created Q&A https://godotengine.org/qa/12652/problem-compiling-godot-2-1-for-android-on-ubuntu-16-04-64-bit.

Is this still an issue? If it is, please report to https://github.com/godotengine/godot-docs repository


Add API for deprecating packages

https://github.com/nuget/nugetgallery/issues/6852
As part of adding end-to-end tests for deprecate, we need a programmatic way to deprecate/undeprecate packages. I felt that adding a public API that is simply a mirror of the web's API would be the best approach for dealing with this rather than trying to create a hidden or less-functional API.
I'll be scheduling a short design meeting to discuss this work, but basically:

I added a package:deprecate scope for API keys, so that API keys with that scope are allowed to deprecate packages.

I added ApiController.DeprecatePackage, which responds to /api/v2/package/{id}/deprecate and expects the following JSON data, where everything except versions is optional:

{
    "versions": [ ...some list of versions... ],
    "isLegacy": false/true,
    "hasCriticalBugs": false/true,
    "isOther": false/true,
    "alternatePackageId": "alternate-package-ID",
    "alternatePackageVersion": "1.0.0-alternate-package-version",
    "message": "customMessage"
}

I moved most of the code from ManageDeprecationJsonApiController into PackageDeprecationManagementService so it can be shared by both controllers.

Why made this a public feature if there is no scenario for it? Once you support feature publicly you have to support it forever. I think a safer, cheaper solution would be add the API and flight it on the test user. This was we don't really need the additional scope and we could make the "unlist" scope allow this as well.
Seems like this is more like a test hook right now. Or does @anangaur or @karann-msft have a specific experience in mind with this?

@joelverhagen - we had talked about making a CLI command earlier on with the feature (nuget deprecate ...), but eventually we decided it was a P2. I figured that if we already wanted it, and some form of it is a requirement of E2E tests, I would rather implement this than a private or incomplete API, which we also discussed. We could easily flight this and only make it accessible to the test user as well--it's already behind the normal deprecation flag.

I figured that if we already wanted it, and some form of it is a requirement of E2E tests, I would rather implement this than a private or incomplete API, which we also discussed.

Makes sense, but incomplete can be a benefit here. Until the CLI experience is nailed down we shouldn't promise a certain API.
We can get by with something very simple for E2E tests. Nothing fancy or scoped is required.

@joelverhagen - I would agree, but the work to implement this was only slightly more than an "incomplete" API because this API calls the same existing backend as the website UI. I could remove the new API key scope and cut out some work there but, ultimately this was fairly cheap to implement overall. We can discuss more in the design meeting.

Summary of design meeting:

change endpoint to ".../deprecations" to match REST better
remove new API key scope and rely on existing unlist scope
if API goes public, remember that we will need to apply throttling this endpoint

This PR is ready for review after the changes from the design meeting!


Swift example of WalletApp can not connect URI Succeed

Describe the bug
when i input
wc:6b31a02bf6cc434e3943d9f94f05fa9bca82e46352fd412cd84caaca565db1bf@2?relay-protocol=irn&symKey=fb865b24bc869544b546807b70982b783249cbddcfb09322093c670c0857776b
example show not connet any URL,but when i try twice show pairing already exists
i use projectId f403a34252288357c76bd36080081ec1
SDK Version

Client: Swift
Version: the lastest

WalletConnectSwiftV2 1.6.7

@deeryoona I got the same error, have you run it successfully?

Facing the same issue

Could you guys ensure you don't use any proxy and your project id is properly set?

yes ， i am in China, i use VPN

@deeryoona are you using VPN btw?
yes ， i am in China, i use VPN

So for people in China: you have to use another relay URL which is relay.walletconnect.org or try to access relay.walletconnect.com with VPN.

How can i set it?

@deeryoona I got the same error, have you run it successfully?

I do not konw how to run is successfully,i am in China

Could you guys ensure you don't use any proxy and your project id is properly set?

I do not konw how to run is successfully,i am in China,when i do not use VPN, is the same result

So for people in China: you have to use another relay URL which is relay.walletconnect.org or try to access relay.walletconnect.com with VPN.

can you  run is successfully with VPN？

So for people in China: you have to use another relay URL which is relay.walletconnect.org or try to access relay.walletconnect.com with VPN.

can you run is successfully with VPN？

NO i can not

Facing the same issue

哥们你解决了，求交流

哥们你解决了没，求交流

16 系统用VPN可以用了，


selected build description info icon not hoverable

the icon is not hoverable on the active build

on an inactive build, it is hoverable and shows the description

Fixed after converting the element to a button.


ci(semantic-release): add support for our commit convention

Based on the angular commit convention. The angular preset is still used, but extended / mostly overwritten for our needs.
Special handling

feat, fix, dep, doc, refactor will show up in the release note
ci, test will not show up in the release note, unless they are breaking changes.
Any commit types that don't fit will be put in a category "Other".

Supports the breaking change indicator ! and maps our types appropriately to sections in the release note.
Suggestion for Testing this PR:
As the semantic-release step in dry run mode can only be run from main in the rc step of the CI pipeline, a local test is useful to check that the configuration and rules actually work as intended.
The following are instructions on how to run this new semantic-release configuration locally.

Comment out the following lines, as they are creating BOSH releases, etc which are not relevant for the release note:     ["@semantic-release/exec", {
         "verifyReleaseCmd": "bosh -n create-release --final --version ${nextRelease.version} --tarball /tmp/pcap-${nextRelease.gitTag}.tgz",
         "publishCmd": "./ci/scripts/publish.sh ${nextRelease.gitTag}",
         "generateNotesCmd": "./ci/scripts/notes.sh ${nextRelease.gitTag} ${nextRelease.version}"
     }],
     ["@semantic-release/github", {
         "assets": [
             {"path": "/tmp/pcap-*.tgz"}
         ]
     }]

Set the "active" branch for conventional commit generation from main to semantic-release-commit-convention:- "branches": ["main", {"name": "alpha", "prerelease": true}, {"name": "beta", "prerelease": true}],
+ "branches": ["semantic-release-commit-convention", {"name": "alpha", "prerelease": true}, {"name": "beta", "prerelease": true}],

Add some demo commits that you want to test, e.g. with prefix ci:, docs: or a non-conventional-commit. The local commit check could be disabled / ignored, as you will not commit any of those demo commits.
Run semantic-release (install, if necessary):GH_TOKEN=your_github_token semantic-release --dry-run=true

The GitHub token is needed, but in dry-run mode will not be used to create a release. The output of the test will be something along the lines of:[...]
marked(): headerIds and headerPrefix parameters enabled by default, but are    deprecated since version 5.0.0, and will be removed in the future. To clear    this warning, install  https://www.npmjs.com/package/marked-gfm-heading-id,    or disable by setting `{headerIds: false}`.
   # 2.0.0 (2023-07-19)

### Bug fixes

    * allow tests (0c4050e)

### Continuous Integration

    * break! (f203df5)

### Documentation

    * add CONTRIBUTING page (7fad748)

### BREAKING CHANGES

    * this is a breaking change, isn't it? How did we break via CI?

I think it would make sense to have the ### BREAKING CHANGES section at the top of the release note. It's the most important section after all and might get overlooked otherwise.

I think it would make sense to have the ### BREAKING CHANGES section at the top of the release note. It's the most important section after all and might get overlooked otherwise.

Ok, that works out fine. I am considering also adding an indicator for the commits themselves, like this:
2.0.0 (2023-07-19)
BREAKING CHANGES
* well...
* please revert this, it will break!

Bug Fixes
* *Breaking Change!* another brak! ([bfa53c2](https://github.com/cloudfoundry/pcap-release/commit/bfa53c2d37937b4e5c8027d3c239baa4e4778597))

Documentation
* add CONTRIBUTING page ([29db9c7](https://github.com/cloudfoundry/pcap-release/commit/29db9c7a6b89633f25f63926dd37034211a60c72))

Features
* *Breaking Change!* something something ([2351c67](https://github.com/cloudfoundry/pcap-release/commit/2351c671c5d1d61febfcb8c22a4e8ffcfbd267b8))


How to understand this equation?

how could i understand the code in line 233 of renderer.py?
iter_cos = -(F.relu(-true_cos * 0.5 + 0.5) * (1.0 - cos_anneal_ratio) +                      F.relu(-true_cos) * cos_anneal_ratio)
Why is the equation divided into two parts? And why F.relu() is adopted instead of torch.abs()?(I noticed that the paper used |cos|.)

Hi, I think torch.abs() is OK  in the "without mask" setting. For the "with mask" setting, the advantage of using Relu is that it can make the sum of weights rightly 0.5 at the object boundaries, which is good for introducing the Binary Cross Entropy loss.
With ReLu, there could be a "dying ReLU" problem, that some gradients can not be back-propagated due to the clip. Therefore, in the beginning training iterations, we smooth the ReLU function by the code in line233, letting the gradients can all be back-propagated.  After we get a coarse shape, we use the full ReLU, i.e., cos_anneal_ratio = 1.

Hi @Totoro97 , thanks for your reply above.
Based on my understanding -- The first term shifts the dot product between normal and view direction from range [-1,1] to [-1, 0], so gradients propagate to all sampled points. The second term simply clips the values at zero, so only surfaces facing towards the camera (-true_cos < 0.0) will receive gradients.
In the wmask setting, cos_anneal_ratio is always set to 1.0. In the womask setting, cos_anneal_ratio slowly converges to 1.0.  Does it imply that wmask doesn't need to propagate gradients to all sampled points?
Thank you very much!


⚠ LPDM Handbook (hosted on Divio) has degraded performance

In a2b7819, LPDM Handbook (hosted on Divio) (https://repohubdev.tk) experienced degraded performance:

HTTP code: 500
Response time: 5907 ms

Resolved: LPDM Handbook (hosted on Divio) performance has improved in fe8296e.


added the missiing Dockerfile

Signed-off-by: Haoran Jin<EMAIL_ADDRESS>

fix https://github.com/iflytek/aiges/issues/53


Spawning 7 workers...
Sending 50 files to free worker...
Sending 50 files to free worker...
Sending 50 files to free worker...
Sending 50 files to free worker...
Sending 50 files to free worker...
Sending 50 files to free worker...
Sending 50 files to free worker...
/Users/andy/.nvm/versions/node/v5.5.0/lib/node_modules/jscodeshift/node_modules/babel-register/node_modules/babel-core/lib/transformation/file/index.js:591
      throw err;
      ^

SyntaxError: /Users/andy/flow-codemod/transforms/strict-type-args/strict-type-args.js: The keyword 'interface' is reserved (21:0)
  19 | // minimal API type info in lieu of full libdef
  20 | //
> 21 | interface Collection {
     | ^

Do the maintainers have a .babelrc lurking in a parent directory?

this may be because jscodeshift uses babel5 which has an outdated parser. this is mentioned in the README, but doesn't say what things are known to not parse... not sure if this is one of them. @bhosmer?

oh, maybe i misread. this isn't even able to parse the transform? i thought you were saying it hit one of your files that it couldn't transform, not that the transform itself doesn't load.

Right, I saw that note in the README but it's the codemod script itself that jscodeshift fails to parse.

Hi Andy - I think this is due to a (recent change in jscodeshift)[https://github.com/facebook/jscodeshift/commit/327f985598784e1e91615d78237ece490995d165]. I've logged an issue there; if I haven't heard within the next day or so I'll add a stripped version of the transform here. Thanks for reporting this!

Personally, I worked around this with
npm install<EMAIL_ADDRESS>
but we definitely should fix this generally.

Updated strict-type-args.js to stripped version (original is in a src subdir - see here), so should run fine now. Let's revisit if jscodeshift makes it possible to pick up colocated .babelrcs.

jscodeshift v0.3.26 removes type annotations form the transformer again. Sorry!


Partially remove Groovy dynamic dispatch from portion of FGP that handles setting application name

This portion of the FGP was extracted to Kotlin to try to fix https://github.com/flutter/flutter/issues/103230/, which is caused by a bug in Groovy's dynamic dispatch. But the original conversion made use of withGroovyBuilder, which essentially meant that we never actually removed the use of Groovy's dynamic dispatch.
Should fix https://github.com/flutter/flutter/issues/103230/ in most cases.
Still delegates to the dynamic dispatch in one curious case though, so it doesn't fix entirely.
Prompted by running in to the flake on https://github.com/flutter/flutter/pull/151568/
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[ ] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making, or this PR is test-exempt.
[x] I followed the breaking change policy and added Data Driven Fixes where supported.
[ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Converting to draft to remove this from the the tool PR review queue: this seems to have gone stale awaiting response from review feedback

This will be superseded by https://github.com/flutter/flutter/pull/155963


where to find api version(s) ?

where to find API version(s)? What are the possible values?

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

ID: 8ffeaaf5-1859-90e1-6451-aca6d7fb34b1
Version Independent ID: 43849bff-28fe-661c-be86-d8d355ac0584
Content: Deployment history - Azure Resource Manager
Content Source: articles/azure-resource-manager/resource-manager-deployment-operations.md
Service: azure-resource-manager
GitHub Login: @tfitzmac
Microsoft Alias: tomfitz

@borys86, Thanks for leveraging Azure docs feedback channel! We are taking a look into this and will get back to you soon.

@borys86 - are you looking for API versions specifically from the deployment history? Or, are you just trying to find the available API versions in general?
You can find available versions in the template reference.

@tfitzmac
I landed on the https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-deployment-operations#portal because I wanted to find a programmatic way to query and get deployment details.
I see following link, GET https://management.azure.com/subscriptions/{subscription-id}/resourcegroups/{resource-group-name}/providers/microsoft.resources/deployments/{deployment-name}?api-version={api-version}
but no specification on what to substitute for api-version parameter

Above that code block is a link to the REST operation. It goes to the latest version of the API (which is currently 2019-08-01). I will add a note that clarifies where to find the API version.


Gzip'd Response causes Failed File Size Check

Expected Behavior

File Size check should deflate the url response to compute size if content-encoding: gzip is in the headers
Current Behavior

File size is taken from the content-length. Since the file on the server was sent as compressed, it is smaller than the file to be checked.
Possible Solution

The file downloads to the correct size, so maybe it gets downloaded with a temporary extension, after it completes, we check the file size of the temporary. Afterwards, remove the temporary extension before the md5 check.
Alternatively, I found this stackexchange that says to deflate and then do what you want. https://stackoverflow.com/questions/20537432/force-webserver-to-return-uncompressed-data-no-gzip
Steps to Reproduce

fresh install
download 10, use wine app image
wait till it gets to wine tricks
see error

Context (Environment)

Fedora 39, GNOME Wayland

Detailed Description

On a fresh install, the installer fails with error
2023-12-28 16:05:42 CRITICAL: Bad file size or checksum: /home/user1/Downloads/winetricks

In debug log, it shows a smaller url_size than after the size of the file downloaded:
2023-12-28 15:39:46 DEBUG: url_size = 191443 B; file_size = 904682 B

Examining the headers in firefox, github is responding with a gzip compression, so this line is returning a compressed value to be judged by the same_file size
Headers to the raw file:
HTTP/2 200
content-encoding: gzip
content-length: 191443
cache-control: max-age=300
content-security-policy: default-src 'none'; style-src 'unsafe-inline'; sandbox
content-type: text/plain; charset=utf-8
etag: W/"6ea1078523c73e321b37fc6db2781620d63401e3320f9033c20d9b6d4fcc0c48"
strict-transport-security: max-age=31536000
x-content-type-options: nosniff
x-frame-options: deny
x-xss-protection: 1; mode=block
x-github-request-id: D7C2:63A2:3A603F:47A7B1:658DEB1C
accept-ranges: bytes
date: Thu, 28 Dec 2023 22:58:02 GMT
via: 1.1 varnish
x-served-by: cache-dfw-kdfw8210092-DFW
x-cache: HIT
x-cache-hits: 1
x-timer: S1703804282.138054,VS0,VE105
vary: Authorization,Accept-Encoding,Origin
access-control-allow-origin: *
cross-origin-resource-policy: cross-origin
x-fastly-request-id: 1fb49f40c6dfdaa7a8f773e397fb219cd5dd68f6
expires: Thu, 28 Dec 2023 23:03:02 GMT
source-age: 0
X-Firefox-Spdy: h2

LogosLinuxInstaller/utils.py Line 92
        content_length = self.headers.get('Content-Length')

Possible Implementation

Also present using Debian 12 with a clean install/appimage selected

Thanks for the clear problem description and helpful link, @savionlee. I have posted the above commit, 085d119, in a branch, but this needs testing in a clean system. I may have time later today, but not at the moment.

Here's a test build (binary executable) that includes the commit, give it a try if you can: https://github.com/FaithLife-Community/test-builds/releases/download/v4.0.0alpha-issue9-20231230-78001b1c/LogosLinuxInstaller

Installer made it all the way through with that patch. No error on file size. @n8marti


to_additive fails to translate iff with Exists

import Mathlib.Tactic.ToAdditive

@[to_additive]
def IsUnit [Mul M] (a : M) : Prop := a ≠ a

-- this works fine
@[to_additive]
theorem isUnit_iff_inv [Mul M] {a : M} : IsUnit a ↔ a ≠ a :=
  ⟨fun h => absurd rfl h, fun h => h⟩
#print isAddUnit_iff_neg

/-
The declaration isUnit_iff_exists_inv depends on the declaration isUnit_iff_exists_inv.match_1 which
is in the namespace isUnit_iff_exists_inv, but does not have the `@[to_additive]` attribute.
This is not supported.  Workaround: move isUnit_iff_exists_inv.match_1 to a different namespace.
-/
@[to_additive]
theorem isUnit_iff_exists_inv [Mul M] {a : M} : IsUnit a ↔ ∃ b : α, a ≠ a :=
  ⟨fun h => absurd rfl h, fun ⟨b, hab⟩ => hab⟩

-- attribute [to_additive isAddUnit_iff_exists_neg.match_1] isUnit_iff_exists_inv.match_1
-- attribute [to_additive] isUnit_iff_exists_inv

The first example works fine. Including the Exists makes to_additive fails. I've had to do the "tag match_1" workaround repeatedly in #549.

Closed by #680


Provide option to include or ignore owl:Thing

Assuming that input entities include owl:Thing as a universal root, we generally aren't interested in including it in IC calculations since it won't make any contribution to that value (it's a root, so it should have an IC of zero).
But it isn't really semsimian's job to make that kind of assumption, so let's provide an option to exclude it or not.
This could conceivably apply to whatever the overall root of the input is if it isn't owl:Thing - though that may depend on having the root identified beforehand.

I'd vote that we just get rid of any logic in rust that specifically excludes anything, including owl:thing
That is, it's up to the user to provide the ontology, and they can exclude any terms they want beforehand


feat: Table Widget Add Rows

Added docs for new feature: Adding new rows to Tables. Plan to rehaul the inline-editing page, but just added these docs for now to meet the release of the feature.

Currently a draft PR. Wanted to check in and see if this is an okay way to add this information, or if I should take another route.
For now I've got the new feature information added to the inline-editing page, because they share a lot of features/functionality and the work very similarly. I've put it into its own subsection at the bottom, because it has some unique properties that wouldn't make as much sense mixed into the big properties table of the inline-editing section; there is already quite a lot of information on the page and I think mixing the two topics together would make it pretty hard to read.
To accomplish adding a new major section for the "Add new rows" feature, I've bumped all heading levels on the page down by 1 (except for the title). ## to ### and so-on. This actually makes the organization of this page more consistent with the rest of the docs in terms of what content is at what heading level.
That was more info than I intended to dump... But does this seem okay?
First Draft, notion
Current docs (Table)
Current docs (Table > inline-editing)

@spark-c - As discussed, this looks good to me. Few minor suggestions:

'Adding new rows' at the top. So, the page structure could be:
--Inline Editing
--- Adding new rows
--- Editing cells
Update Mode looks duplicate and should be placed under properties.

Could you please run it through the linter?

@sbalaji1192 Hi! Do you know what the new release date is for this feature for adding table rows?

@spark-c We don't have an exact date. But it should be available in the upcoming release 1.8.9

@sbalaji1192 - Could you please review the changes and update us on when to release the doc? CC: @spark-c

@jnikhila Add new row feature is in prod. But not available for the self-hosted versions yet. Should we release the docs once it's also available for the self hosted instance?

@sbalaji1192 - We are okay with that. I presume the feature is available on the cloud too. Would not having docs cause any issues for cloud users? CC: @spark-c - Please take it ahead if the docs needs to be released.

@jnikhila Yeah it is in the cloud. I was coming from the point where we release the doc and people couldn't find the feature on the self-hosted instances, it might create confusion. @dilippitchika What do you think?

If we know when tagging will be done we can launch it then @jnikhila @spark-c

@danciaclara would you be able to take a quick look at this and see if any requested changes are still pending? merge is blocked for the moment, I think it is requiring another check from you :)


what is use to determine the output image resolution

Thanks for making this project, i think it will become a useful tool in the future.
i haven't traced through all the code and there are a bunch of libraries that i have not used before, so im having trouble tracking it down.
What is setting the output resolution ?
Cheers
Kym

Hello Kym,
So sorry, I am currently finishing my Master's and lack the time to look
into the code again. However, I believe the resolution of smoke output (if
that is what you mean) is determined by the resolution of smoke input, that
is controlled by the Houdini nodes, most likely the pyro import nodes. I
think the intermediate image resolutions are always proportional to that
resolution too.
On Thu, 4 Mar 2021, 19:00 Kym Watts<EMAIL_ADDRESS>wrote:

Thanks for making this project, i think it will become a useful tool in
the future.
i haven't traced through all the code and there are a bunch of libraries
that i have not used before, so im having trouble tracking it down.
What is setting the output resolution ?
Cheers
Kym
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Ozeuth/Houdini-Plugin-for-Tensorflow-Smoke-Stylization/issues/2,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AI3ZDTH35XP4DL5DWYTP6YDTB7KF7ANCNFSM4YTZ3VSA
.

Thanks for the follow up and good luck with your Masters.
ill take a look at those options.
Cheers
Kym


Reliance on HuggingFace servers for sentence transformer model has caused errors

HuggingFace is currently facing infrastructure issues and this has caused our Zep NLP microservice to fall over. I guess including the model in the package could be a solution?

https://huggingface.co/api/models/sentence-transformers/all-MiniLM-L6-v2


feat: add AnyNode type

Closes #9049

hey @mattsse, thanks for your review! please LMK if my latest change is what you had in mind. not completely sure about the naming, so if you have better suggestions - happy to update.


re-run flaky StopwatchTest 1000 times

experiment

experiment finished, resulted in fix https://github.com/selenide/selenide/commit/9388cd9b0b3dbe96544473a71f98a268900e159a


Dev ios wkwebview

Resolves
upgrade UIWebView to WKWebView

Resolves #274

Proposed Changes
WKWebView differs from UIWebView very much, we can't get result from the native
codes directly.  I introduced Promise for javascript native calling and async/await
to reduce complexity.
nothing needs to be changed for android.
Reason for Changes

.gitignore package-lock.json is not upload to the codebase and should be ignore.
package.json @babel/polyfill and babel-preset-stage-3 helps compile async/await to es2015 stage-3
JsBridge.m, bridging JS messages and implementing WKScriptMessageHandler
JsRequest.m, wrapping messages that JS sent and return the native result
View.xib, no UIWebView needed anymore, replace it with a normal View file
iOS.js, adapting javascript call to native code.

Test Coverage

[x] display/create/edit/delete projects
[x] recording/playing sounds
[x] GUI sounds
[x] taking pictures
[x] share project via Airdrop
[x] share project via Email
[x] open project via Airdrop
[x] open project via Email

@yueyuzhao thank you for the PR. That's a very elegant solution for the didReceiveScriptMessage handler, and the stackoverflow link has such a thorough explanation! Unfortunately, we can't accept this PR as is as it will create conflicts with our work. I decided that it was finally time to refactor the interface layer so that it stopped being 'iOS' everywhere. The PR that refactors the interface is up now. Since we're splitting the iOS and Android interfaces, there's no need to try to maintain the tabletinterface calls with async/await. We're also free to change how iOS.js deals with the WKWebview calls.

Closing in favor of https://github.com/LLK/scratchjr/pull/291. Thanks @yueyuzhao.


Dependencies are upgraded to new major versions during release

Affected Packages
Probably:

assemble-release-plan
apply-release-plan

Problem
Let's say we have a repo with three projects<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>foo has<EMAIL_ADDRESS>in the dependencies. Which is the same as in the monorepo.
bar has an older version of qar in dependencies: 1.0.0.
Now if I release a new version of qar (v2.0.1), I only want to get it bumped inside foo. I want bar to keep using<EMAIL_ADDRESS>However, seems like in some cases qar is bumped in bar as well. The reason is probably that assemble-release-plan is checking the semver ranges when finding dependents but apply-release-plan is not checking the semver ranges.
Proposed solution
Maybe we should pass more state to apply-release-plan, to prevent it from making breaking/unwanted bumps

I am not sure at the moment how hard it will be to fix this. I will look into it. For us, I think a fast fix would be to only bump version specs if they use the workspace protocol.

To have a flag that would bump only workspace protocols would probably be a good thing. Although I think that depending on the older version of a package (than the one in monorepo) is quite rare - why dont u want to upgrade the dependency?

We have a big monorepo with hundreds of packages and dozens of teams working in that monorepo. A package had some breaking changes and it was not upgraded in all the dependents (a long time ago, probably before we even started using changesets). Ideally it should be upgraded in all dependents to the latest major version. But it would require a lot of effort, so it won't happen soon. For now, we only want to ship a new feature to all the dependents that use the latest version of the package.
I think such an option would work for us and it would probably be even more straighforward than the current behavior.

We need to keep the current behavior as a default but a new option that would allow for your use case sounds OK. We’d appreciate a PR for this 😉

sure, I'll look into it


Updated pods install workaround

Summary
Updated info about the ability to use this library with use_modular_headers!
Test Plan
What's required for testing (prerequisites)?
What are the steps to reproduce (after prerequisites)?
Compatibility

OS
Implemented

iOS
✅

Android
❌

Checklist

[x ] I have tested this on a device and a simulator
[x] I added the documentation in README.md
[ ] I mentioned this change in CHANGELOG.md
[ ] I updated the typed files (TS and Flow)
[ ] I added a sample use of the API in the example project (example/App.js)

Thanks 🙏


docs: use the Rust IPFS logo

I think this looks great 😁 @aphelionz

Agreed. Thank you so much for the logo @alanshaw

Looks like we're having issues with the camo.github proxy, but I saw that we're to expect some downtimes today so we'll keep an eye on it


Mobile support

Issue: This plugin does not support my device. (By extension, I assume it does not support any mobile device.) Obsidian does not allow me to install or enable it on mobie.
Versions:

Android 14
Obsidian 1.7.6
Inline Admonitions: 1.4.6

I tried to install Inline Admonitions via mobile, and the app didn't allow this. I then installed it on Desktop and sync'd it to the mobile copy of my vault via Obsidian Sync. It would not enable. (This is all expected behaviour, but I figured more details were better.)

Yes, i need to test/enable mobile support.  I have a few things in this plugin to fix.  Finding time has been rough.  I might be able to get to knocking out a few of these this/next week!


Neo4J Driver is never closed, leaving the event loop threads running

Creating a single JDBC connection with the neo4j jdbc driver leaves the neo4j-java-driver Driver event loop running...
public static void main(String[] args) throws SQLException {
    // connection properties
    var properties = new Properties();
    // credentials
    properties.put("user", "neo4j");
    properties.put("password", "password");
    // url
    var url = "jdbc:neo4j:bolt://my-neo4j-server:7687?database=neo4j";
    // create connection - checkpoint #1
    try (var connection = DriverManager.getConnection(url, properties)) {
        // do noting - checkpoint #2
        assert connection != null;
    }
    // checkpoint #3
}

Threads at checkpoint #1

Threads at checkpoint #2, the Driver event loop threads are running...

Threads at checkpoint #3, the Driver event loop threads continue running...

JDBC driver version:
<dependency>
    <groupId>org.neo4j</groupId>
    <artifactId>neo4j-jdbc-bolt</artifactId>
    <version>5.0.0</version>
</dependency>

Running the application with maven exec plugin reports threads are not stopped at program exit:
mvn exec:java -Dexec.mainClass="example.Application"

[INFO] Scanning for projects...
[INFO]
[INFO] -------------< modules:test-jdbc >--------------
[INFO] Building Test JDBC 1.0.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- exec-maven-plugin:3.1.0:java (default-cli) @ test-jdbc ---
[WARNING] thread Thread[Neo4jDriverIO-2-1,10,example.Application] was interrupted but is still alive after waiting at least 14999msecs
[WARNING] thread Thread[Neo4jDriverIO-2-1,10,example.Application] will linger despite being asked to die via interruption
[WARNING] thread Thread[Neo4jDriverIO-2-2,10,example.Application] will linger despite being asked to die via interruption
[WARNING] thread Thread[Neo4jDriverIO-2-3,10,example.Application] will linger despite being asked to die via interruption
[WARNING] NOTE: 3 thread(s) did not finish despite being asked to via interruption. This is not a problem with exec:java, it is a problem with the running code. Although not serious, it should be remedied.
[WARNING] Couldn't destroy threadgroup org.codehaus.mojo.exec.ExecJavaMojo$IsolatedThreadGroup[name=example.Application,maxpri=10]
java.lang.IllegalThreadStateException
    at java.lang.ThreadGroup.destroy (ThreadGroup.java:803)
    at org.codehaus.mojo.exec.ExecJavaMojo.execute (ExecJavaMojo.java:319)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:370)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:351)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:171)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:163)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:298)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:960)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:568)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)

Thanks for the report, we'll have a look ASAP.

@rjbaucells thank you so much for opening the issue! The JDBC Driver is designed that way because creating a Driver instance is an expensive operation, so we make the Driver once and then rely on Sessions. Unfortunately, this is the best compromise otherwise using one Driver instance per Connection would kill the performance.

I agree with the design, creating a Driver instance per connection is a very expensive operation.
But, there should be a way to let the JDBC driver / Neo4J Java driver know that the application is exiting and the event loop must be terminated.
My specific use case is a process that will execute Liquibase statements against a database, and exit on completion. This process is going to be executed from a build pipeline and because of the process not existing clean, the pipeline is failing. I cannot ignore the failure since a "real" error in the execution must be handled.
An application that is creating the Neo4J Java Driver is in full control and can terminate the event loop (by closing the driver) at program exit. Using the JDBC driver is not possible. That is why I believe it is a BUG in the JDBC driver!

@rjbaucells apologies for the delay, but have you checked the recent version of Liquibase?
This uses a simplified, built-in JDBC driver which does not suffer from this issue.

@fbiville Yes, I have tried the new version of Neo4J Liquibase plugin (4.19.X). Having a different problem with this version of Liquibase, so we are using 4.18 until the other issue is solved. We are manually killing the process for now...

If you have not opened an issue against Liquibase, please do, I will look into it!


2.46.0 install failing on Debian looking for libffi6 but only libffi7 in Debian Stable 11+

Related command
sudo apt-get install azure-cli
Describe the bug
The installer package for 2.46.0 is looking for libffi6 but starting with Debian 11 (current stable out August 14th, 2021) libffi7 is included.
The following packages have unmet dependencies:
azure-cli : Depends: libffi6 (>= 3.0.10~rc8) but it is not installable
E: Unable to correct problems, you have held broken packages.
To Reproduce
While running Debian 11+  try to install latest AZ CLI
Expected behavior
latest version of az cli to be installed
Environment summary
debian apt repo via MSFT instructions
Additional context
https://packages.debian.org/source/stable/libffi to see what version is included with Debian Stable. If Debian stable has a newer version we know that Ubuntu and other are going to have even newer ones.
This appeared to have happened on 2.46.0 as I can remove and install 2.45.0 all day long.

@bebound for awareness

Duplicate of https://github.com/Azure/azure-cli/issues/25750
Debian 12 is not released yet.


Alter file date formats to match those desired by SSCL

Changes the date format for generated ADI files and alters
the date in the bank statement filename to be the date of
the transactions rather than the date on which it was generated.

retest this please


Minor UX changes

Overview

Prevents double loading spinners in the search sidebar
Updates font sizes and copy in the search sidebar
Moves 'search by area' to the map
Moves 'copy search' to the sidebar
Removes the 'Guide' tab

Connects #1743
Demo

Testing Instructions

On develop, run ./scripts/server. Search for a 'number of workers' in the sidebar. Refresh the page to see double loading spinners (on small screens, you might need to zoom out slightly so the search button and a bit of space above it show by default).
On this branch, run ./scripts/server. Search for a 'number of workers' in the sidebar. Refresh the page and you should only see one spinner.
Search by area using the control on the map.
Copy the search address using the 'copy link' button.
Confirm that the tooltip text and the explanatory text (in the nested extended fields section) match.
Confirm the search sidebar matches the wireframes.

Checklist

[x] fixup! commits have been squashed
[ ] CI passes after rebase
[x] CHANGELOG.md updated with summary of features or fixes, following Keep a Changelog guidelines

Thank you for reviewing!


Create Rails App with React frontend in the same application.

Hi, in this PR, I have implemented the following,
-Create Rails app with API endpoint for quotes
-Use React to create frontend in the same rails applications using jsbundling-rails.

Hi @prolajumokeoni . thank you. I have updated the readme.


add a comment about hpack-convert to the readme

Related to #114.
cc: @yamadapc @mgsloan @sol

LGTM!
The travis errors are weird.


Question about dataset

Thanks for your great works!
I'd like to ask how to collect paired dataset for ffhq.

You generate image pairs using the same seed/vector on the base and fine-tune models. For example, for each seed, generate once on FFHQ and once on your FFHQ fine-tuned model.
I once shared an old Tensor-Flow-1.x code which does it, it should be as simple to port it into a modern pytorch version:
https://pastebin.com/xgciynUH
Good luck

Besides, i'd like to ask how many training samples are used in your training process.

It's written in the link I provided in my previous comment
number_of_gen_cycles = 1750     #1750 * 4 = 7K image pairs, good for p2s2p, e4e. For Pix2PixHD use a higher number like 6500 (*4 = 26000)


Add apps support

More a proof of concept at the moment.
Definition of an app looks like https://github.com/davidanthoff/examplejlapp.
To add an app:
juliaup app add https://raw.githubusercontent.com/davidanthoff/examplejlapp/main/

To run the app:
juliaup app run jlappexe1 arg1 arg2
juliaup app run jlappexe2 arg1 arg2

To remove the app:
juliaup app remove ExampleJlTestApp

Lots and lots of things that would need to be added:

[ ] Handling of even the most basic errors :)
[ ] Shims
[ ] Registry story
[ ] Updates
[ ] Status
[ ] Maybe the app commands should actually have their own app, like jlapp add ...
[x] Handle installs of apps into different depots

Some relevant links for the next steps:

https://learn.microsoft.com/en-us/windows/uwp/launch-resume/hosted-apps#declare-a-hosted-app
https://learn.microsoft.com/en-us/windows/apps/desktop/modernize/grant-identity-to-nonpackaged-apps

Are you aware of https://github.com/JuliaLang/Pkg.jl/pull/3772? I think this would be good to coordinate with that PR so we don't have two completely separate notions of apps in the Julia ecosystem


ffmpeg: 2.8.7 -> 2.8.8

Motivation for this change
https://github.com/NixOS/nixpkgs/issues/18856
https://lwn.net/Vulnerabilities/675050/
~~https://lwn.net/Vulnerabilities/676796/~~
Things done

[x] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] OS X
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Also backported to 16.09 and 16.03.


Vim9: try/catch wrongly suppresses error raised from popup callback

Describe the bug
In Vim9 script, an error raised from a popup callback can be wrongly suppressed by a try/catch.
To Reproduce
Run this shell command:
vim -Nu NONE -S <(cat <<'EOF'
    vim9script

    def Callback(...l: any)
        try
            eval [][0]
        catch /wont_match/
        endtry
    enddef

    popup_menu('', #{ callback: Callback })
    feedkeys("\r", 't')
EOF
)

No error is raised.
Expected behavior
E684 is raised, because the pattern passed to :catch does not match the error message:
E684: list index out of range: 0

Environment

Vim version: 8.2 Included patches: 1-1855
OS: Ubuntu 16.04.7 LTS
Terminal: xterm(360)

Unrelated to this issue, but IMO, these todo items should have a higher priority:
https://github.com/vim/vim/blob/e13bdec6b90b3a0fce4f021e3ee986e731cea3b5/runtime/doc/todo.txt#L132
https://github.com/vim/vim/blob/e13bdec6b90b3a0fce4f021e3ee986e731cea3b5/runtime/doc/todo.txt#L108-L112
These are the 2 basic constructs which I miss the most when I try to write a Vim9 script.
For example, if :silent! was able to suppress an error, I would have used it instead of a try conditional in the code of the original report:
vim9script
def Callback(...l: any)
    silent! eval [][0]
enddef
popup_menu('', #{ callback: Callback })
feedkeys("\r", 't')

But it doesn't work, E684 is still raised.

https://github.com/vim/vim/blob/e13bdec6b90b3a0fce4f021e3ee986e731cea3b5/runtime/doc/todo.txt#L108-L112

Btw, I'm not sure whether it covers the dot notation:
vim9script
var d = {}
def Func()
    d.key = 0
enddef
Func()

Not supported yet: d.key = 0

Actually, the error is raised.  But it's only visible if we run :messages.  Sorry, for the noise.


Process is terminating due to StackOverflowException.

I'm running ChakraCore in an ASP.NET core app, using the JavascriptEngineSwitcher.(https://github.com/Taritsyn/JavaScriptEngineSwitcher).
I have managed to reproduce the error on my local machine running in a Linux Docker container.
The error crashes the process with the following output:
Process is terminating due to StackOverflowException.
*** stack smashing detected ***: dotnet terminated
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x70bfb)[0x7f699ad8fbfb]
/lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x37)[0x7f699ae181f7]
/lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x0)[0x7f699ae181c0]
/web.api/code/WebApi/bin/Debug/netcoreapp2.0/publish/runtimes/linux-x64/native/libChakraCore.so(+0x17eda2)[0x7f66bcb19da2]

I am instantiating a single instance of the JS engine and actually the process crashes before I make use of it. After instantiating the engine I'm loading quite a large amount of data into memory before throwing an exception.
The process seems to crash at the point that the c# exception is raised. The exception would normally be caught but unfortunately this bug is bringing down the application before reaching that point. If I remove the JS engine code then I don't run into any problems.
Can anyone suggest how I can attempt to debug this error?
Thanks,
Stuart

I have stripped back to the following line as the only reference to the ChakraCore engine in my code:
`JavaScriptRuntime Runtime { get; } = JavaScriptRuntime.Create();
I am including the ChakraCore libraries for Linux and Windows in the following Nuget packages:
JavaScriptEngineSwitcher.ChakraCore.Native.linux-x64 2.4.14
JavaScriptEngineSwitcher.ChakraCore.Native.win-x64 2.4.14
but otherwise I have not referenced the JavascriptEngineSwitcher library.
I encounter exactly the same error.

Closing this since it has been inactive for a while. @stuart-beattie Feel free to reactivate if this is still an issue.


Login Screen for Costa?

Is it possible to implement a Login Screen for Costa?

Technically, yes. But since DOS computers don't have any concept of multiple users, there's not really any practical use for it. Version 0.8.0 did actually have multiple users which could be protected with password, but I removed it since I couldn't see any reason for having it.