Progress bar UI elements no longer accept float values (regression)

Godot version:
3.1 alpha hash dd1e38cd
OS/device including version:
Win10 64 bit; 32 gigs RAM; Nvidia GTX 1060 6GB GPU; Ryzen 2700X CPU.
Issue description:
It used to be possible for use a float to add or subtract the value in a progress bar (I was using them as a visual display for things like health). For some reason, they now only accept integer inputs so they no longer work in my project. You can't even type in a float value in the value field in the inspector.
Steps to reproduce:
Create a progress bar and write a small script to constantly subtract a float value from it (such as 0.005). The progress texture will not move.
Is this by design? If it is, how are we supposed to use the bars now?

Hi there Ace!
I checked the sources first thinking it might have been related to another issue, but it turns out it's simpler than that.
Looking at the source code I discovered that if "step" is > 0 then it will get rounded to the nearest step.
Setting step to zero should allow you to enter decimal values.
Perhaps zero would be a more sensible default/starting value for step.

So that was the issue then. I don't know if it's a new field or not, but if there's going to be any migration notes that come with the official 3.1 release, this should be noted.

I don't know if step is a new field or if the default value has changed. Changing the default to 0 should fix this problem.

This was a change made in #22405 Previously step was just ignored sometimes.

This was a change made in #22405 Previously step was just ignored sometimes, which didn't make a lot of sense.

Well, it is my opinion that when the default value changes, it shouldn't change values for any node currently in the scene tree (but only apply for newly created nodes).

But the default didn't change, a bug was fixed. Controls that expect a float-based step should define not, not expect int steps not to work due to a bug :)

You can't even type in a float value in the value field in the inspector.

Be sure that you're not being affected by https://github.com/godotengine/godot/issues/21874 (which was fixed, but be sure to test again).

If I'm reading DualMatrix correctly I think the "new" behaviour could have been induced by the fact that someone corrected the step rounding, the default value had nothing to do with it.


CMake style 'find' modules

As an alternative to fixing issue #10, we could also simply provide lightweight CMake-like Find*.cmake modules for specific files/libraries. That way, we don't need to test the compiler for its capabilities and we can focus on finding files, basically. As a drawback, the developer will have to build the project and watch out for compiler error messages, should the compiler lack certain capabilities needed to build the project. I personally believe this is a better approach than the typical configure based one. We're nearing the end of 2023 after all. And yes, this is an excuse as I don't have any motivation to fix issue #10 right now. Not sure if we could additionally face legal issues as I have no idea if one can basically copy the intellectual property of Kitware, even if it's BSD-3 licensed (and I have no idea what that license really allows and what it doesn't). CMake's copyright.txt file only reads you can modify CMake's source code if you want, at least that's what I'm getting out of that. Not my cup of tea to be honest.
Even so, I'm thinking about something like this:
compilers:
  - path: gcc
    find:
      - type: library
        names:
          - glew
      - type: library
        names:
          - glut
      - type: filesystem
        names:
          - python3
          - python3.11
          - python

# The path to the python executable would resolve the same way as $(realpath $(which python3)) would
# All of the above would also apply to targets:compiler of course

The developer needs to be able to specifiy lookup paths themselves, just like you would with CMake. Something like:
compilers:
  - path: gcc
    find:
      - type: library
        names:
          - glew
        paths:
          - /usr/lib
      - type: library
        names:
          - glut
      - type: filesystem
        names:
          - python3
          - python3.11
          - python
        paths:
          - /home/user/pyenv/my-python3-folder

These custom paths would take precedence over the ones defined in PATH.

Also, we should handle static vs. shared library search results.

This could be combined with the new actions keyword: https://github.com/thetredev/gmakec/blob/main/examples/actions/execute_commands/gmakec.yaml
I guess we can add things like examples/actions/find_file and examples/actions/find_library to come full circle.

See issue https://github.com/thetredev/gmakec/issues/14


HDDS-6682. Validate Bucket ID of bucket associated with in-flight requests.

What changes were proposed in this pull request?
In high concurrency scenarios (which will become more common once we introduced prefix-based locking), there is a possibility of the following race condition:
Take for instance the following scenario and 3 concurrent write requests:
Bucket vol/buck1 exists with LEGACY layout.
Request 1: CreateKey by an older client (pre- bucket layout) on a bucket vol/buck1.
Request 2: DeleteBucket by a new client on the bucket vol/buck1.
Request 3: CreateBucket by a new client on the bucket vol/buck1 with layout FILE_SYSTEM_OPTIMIZED.
Let's say that these requests are processed in the following order:

Request 1 is picked up by one of the threads, which proceeds to run the PRE_PROCESS validations on this request. The validator we are interested in is called blockCreateKeyWithBucketLayoutFromOldClient. This validator will make sure that the bucket associated with this request is a LEGACY bucket - which is the pre-defined behavior in the case of old client/new cluster interactions since we do not want an old client operating on buckets using a new metadata layout.

One thing to know here is that at this stage, the OM does not hold a bucket lock (which only happens inside the updateAndValidateCache method associated with the write request's handler class).

While Request 1 was being processed, another thread was processing Request 2. Let's say `Request2' managed to get hold of the bucket lock and successfully completed the bucket deletion.

Now before Request 1 got a chance to acquire the bucket lock, Request 3 manages to acquire it. It proceeds with the bucket creation and creates a new bucket vol/buck1 with FILE_SYSTEM_OPTIMIZED bucket layout.

Finally, Request 1 is able to acquire the bucket lock and proceeds to enter its validateAndUpdateCache method. However, even though it is able to find the bucket it is looking for, this is not the same bucket that was validated in its pre-processing hook. This new bucket has the same name, but a different bucket layout. The request ends up modifying a bucket that it should not be allowed to touch.

This race condition can lead to undefined behavior of the Ozone cluster, where older clients might be modifying information they do not understand.
This PR aims to add bucket ID validation to the request processing flow, which would make sure that the bucket that ends up being processed is the same one that was validated.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-6682
How was this patch tested?
Existing test cases.

@rakeshadr Could you please review the changes I've made to this patch.
The number of files we are touching is high since there were a lot of unit test fixes.
There is also a change in the method signature for OMKeyRequest.validateBucketAndVolume since we now need to send an OzoneManager instance instead of OMMetadataManager instance because we need access to OzoneManager.resolveBucketLink method.
Most of these code changes are simple, however.

@rakeshadr could you please review this patch?

Hello, @errose28 @rakeshadr. I have rebased the PR on top of the latest master. Could you please review it?

As @errose28 already pointed out as per HDDS-6931, the common theme of the problems is: pre-process validation should only perform logic on data which is not supposed to change between pre-process and actual execution in validateAndUpdateCache. Otherwise, that validation should be moved to validateAndUpdateCache (and is done together with the actual data change in a proper lock scope) to ensure consistency.
This change introduces a new mechanism to solve a rare case when a bucket is re-created between pre-processing (a bucket needs to be empty to be deleted, so this case may not happen in a high concurrency). Why don't we just validate the bucket layout in validateAndUpdateCache?

/pending Why don't we just validate the bucket layout in validateAndUpdateCache?

@JyotinderSingh Are you working on this PR?

Hi @swamirishi, I'm afraid I no longer have bandwidth to work on this PR.


Fix issues caused by the most recent changes made to package.json

This PR:

[X] Fixes issues caused by the most recent changes made to package.json in this commit.

@rkencoresky This is a very critical issue as it currently makes the package completely unusable.

@rkencoresky This is a very critical issue as it currently makes the package completely unusable.

@aryaemami59 Thank you for your contribution.
However, I’ve noticed that the command rimraf dist && tsup might pose compatibility issues for macOS users, as it often requires special permissions to access certain folders. Given that our team includes macOS users, it’s important to ensure compatibility across all platforms.
And so since you suggested this is a good solution for Linux and Windows users, we'll add these instructions in the ReadMe
thanks.

Fair enough, we just need a new release for the applies fixes to become usable.

I don't have access to a computer at the moment I will share the exact error message tomorrow but without the changes in this PR, there is no build step to convert the TypeScript code to JavaScript therefore there is no published build artifact only a index.ts which is not usable. I tried with both vite and create-react-app. If we can publish a 2.0.1 with the changes included in this PR that would fix all the lingering issues.

This is the error I get when I try to build a vite project by running vite build:
[commonjs--resolver] Failed to resolve entry for package "react-mobile-share". The package may have incorrect main/module/exports specified in its package.json.


Token expired event  for  Refresh Token

Is your feature request related to a problem? Please describe.
I want to show a popup to the user when it's idle more than the refresh token expiry.  So if the user wants to continue working, they can click on the button and refresh the token before it expires. But the problem is there is no expire event for the refresh token like how we have for the id token and access token.

Describe the solution you'd like
Please add an expiry event for the refresh token as well.

Are you sure? Because I get
{
     type: "token_refreshed"
}

Thanks, @FrEaKmAn .  But I  am talking about an expiry event for a refresh token not a refresh event.

Thanks, @FrEaKmAn . But I am talking about an expiry event for a refresh token not a refresh event.

Hello, I'm interested in it too. Did you manage to get the refresh token expiration?


chore: add DBlanchard88 to org

This contributor recently added some tests: https://github.com/open-feature/java-sdk-contrib/pull/468
@DBlanchard88 please comment on this PR and confirm if you're interested in being part of the OpenFeature org. It comes with no obligation, but it will allow us to @ you and assign you issues.

I am interested in being part of OpenFeature org.


Esprima: Upgrade to 2.4.0

Fixes #1382

I'll upgrade to 2.4.0 while this is still open

@mikesherov Upgraded to esprima 2.4.0 and specified the traversal key of handlers for backCompat. Coveralls saying coverage decreased by -0.0%. Is that a blocker?

:+1:

Wow, great!

:+1:


Fix test for sync-async semantics

I fail to see why this change is necessary, but it does seem to fix the broken build.

Merging TBR


Smoothing the Q(h) relation

In the grand scheme of boosting performance by making the whole RHS of the Ribasim ODE problem C1 smooth, doing this for TabulatedRatingCurve is one of the steps. Currently the $Q(h)$ relation is given by piecewise linear interpolation of the input data. To make this more smooth, we can use a cubic polynomial that rounds out the corners. As proposed by @Huite, this is easiest to understand by hydrologist by taking some fixed small interval centered around each data point where the linear interpolation is replaced by a polynomial (some care must be taken half this interval is bigger than the distance between points in the $x$ direction).
For the nicest integration this could be incorporated into DataInterpolations.jl. For some inspiration see here, which uses an interval around the data points whose size is relative to the distance between points instead of absolute as proposed here.

Commenting this for completeness, this paper

Model smoothing strategies to remove microscale discontinuities and spurious secondary optima in objective functions in hydrological calibration
Dmitri Kavetski, George Kuczera
First published: 08 March 2007 https://doi.org/10.1029/2006WR005195

primarily suggest using logistic smoothing. This has the upside of being better than C2, but I'd say with a significant cost since our Qh tables contain quite a lot of rows.
Basically, you need a logistic function for each jump of dQ/dh. For integration, to keep it continous, you need to sum as many integrals (a softplus) as there are jumps (because the function is only 0 or 1 in the limit as x to ±infinity). For e.g. 20 points, that means 20 softplus evaluations.


Changed output channel name from 'Jupyter Notebooks' to 'Notebooks'

Changed output channel name from 'Jupyter Notebooks' to 'Notebooks'
This is how it finally looks:

@geleems why are we making this change? any context?

This is for the issue https://github.com/microsoft/azuredatastudio/issues/4535

i see, please include the issue # when sending out PR :), also, please delete the branch if it is not needed anymore


Fusion swap

:tada: This PR is included in version 1.0.0-dev.28 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


TCN weights

Hi Jingwei, could you share the weights for the TCN model?

Hi Chuyang,
Sorry for late response. Are you mentioning the weights for the single TCN model in code/ablation_models/tcn.py? You can download my weights for this model herehttps://drive.google.com/file/d/1H4bLLOsC8ftJRwo8LbdFYxDdBfOLqXca/view?usp=share_link. Please note that the purpose I trained this model was simply to test the correctness of my code. This pre-trained model works generally well but I did not make an effort to reproduce the accuracy reported in previous papers.
If you are requesting the weights for TCN_Demix model (one baseline model in our paper), you can download the weights herehttps://drive.google.com/drive/folders/16vWPZzlq9A0k0bnpydUlQmTOtMpRrgSp?usp=sharing. (There are 8 weights corresponding to 8-fold cross validation). For each fold, the model weight was picked according to the overall performance on the validation set.
Regards,
Jingwei
From: Chuyang @.>
Sent: Tuesday, January 3, 2023 00:57
To: @.>
Cc: @.***>
Subject: [zhaojw1998/Beat-Transformer] TCN weights (Issue #11)

External Email -

Hi Jingwei, could you share the weights for the TCN model?
—
Reply to this email directly, view it on GitHubhttps://github.com/zhaojw1998/Beat-Transformer/issues/11, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AKPJZ6DMLXGAAM5IGKY3GGDWQMCHPANCNFSM6AAAAAATO63LVQ.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Hi Jingwei,
Yes, this is very helpful. Thanks!

Hi Chuyang, Sorry for late response. Are you mentioning the weights for the single TCN model in code/ablation_models/tcn.py? You can download my weights for this model herehttps://drive.google.com/file/d/1H4bLLOsC8ftJRwo8LbdFYxDdBfOLqXca/view?usp=share_link. Please note that the purpose I trained this model was simply to test the correctness of my code. This pre-trained model works generally well but I did not make an effort to reproduce the accuracy reported in previous papers. If you are requesting the weights for TCN_Demix model (one baseline model in our paper), you can download the weights herehttps://drive.google.com/drive/folders/16vWPZzlq9A0k0bnpydUlQmTOtMpRrgSp?usp=sharing. (There are 8 weights corresponding to 8-fold cross validation). For each fold, the model weight was picked according to the overall performance on the validation set. Regards, Jingwei From: Chuyang @.> Sent: Tuesday, January 3, 2023 00:57 To: @.> Cc: @.> Subject: [zhaojw1998/Beat-Transformer] TCN weights (Issue #11) - External Email - Hi Jingwei, could you share the weights for the TCN model? — Reply to this email directly, view it on GitHub<#11>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AKPJZ6DMLXGAAM5IGKY3GGDWQMCHPANCNFSM6AAAAAATO63LVQ. You are receiving this because you are subscribed to this thread.Message ID: @.>

Have you compared the results of TCN with Demix and TCN without Demix?  What is the F-Measure improvement of Demix brings?
By the way, can you share the weights of Transformer without Demix?

If not so urgent, I will share after ISMIR deadline.

Have you compared the results of TCN with Demix and TCN without Demix? What is the F-Measure improvement of Demix brings? By the way, can you share the weights of Transformer without Demix?

Hi, for the non-demix model, I have the pre-trained checkpoint for Fold 0 here. This weight file corresponds to attn_len=5, ntoken=2, dmodel=256, nhead=8, d_hid=512, nlayer=9, and norm_first=True.
For the non-demix model, we directly compare with Bock et al, which is based on TCN under exactly the same design. The comparison results can be seen in our paper. In a nutshell, ours yields comparable performance for beat tracking and marginally better performance for downbeat tracking, especially on the testing-only GTZAN dataset.

Thanks for your reply, but  the non-demix model seems not right for my infer.
I convert the colab to py file for infer convenient, for non-demixed the core infer part changed as follows.
x = np.dot(np.abs(np.mean(separator._stft(waveform), axis=-1))**2, mel_f)
x = np.transpose(x)
x = librosa.power_to_db(x, ref=np.max)
x = np.transpose(x)
with torch.no_grad():
model_input = torch.from_numpy(x).unsqueeze(0).float()
activation, _ = model(model_input)
beat_activation = torch.sigmoid(activation[0, :, 0]).detach().numpy()
dbn_beat_pred = beat_tracker(beat_activation)
I just test the whole gtzan datasets, but the result is F-measure: 0.369 P-score: 0.380 Cemgil: 0.273 Goto: 0.205 CMLc: 0.143 CMLt: 0.196 AMLc: 0.422 AMLt: 0.549 D: 1.303 Dg: 0.124, tfar apart papers result.
this is my eva code.
beat_evals = []
e = BeatEvaluation(pred_beat, gt_beat, downbeats=False)
beat_evals.append(e)
BeatMeanEvaluation(beat_evals)
as my test contains training segments, I think the result should be better than the paper's. so could you please help to figure out where is the problem?

Hi, could you try replacing the first line with the following and see if it works:
x = separator.separate(waveform)
x = np.stack([np.dot(np.abs(np.mean(separator._stft(x[key]), axis=-1))**2, mel_f) for key in x]) # shape (5, T, 128)
x = np.sum(x, axis=0).T  # shape (128, T)
x = librosa.power_to_db(x, ref=np.max).T # shape(T, 128)
In our implementation, we regard mel-spec(sum(demixed channels)) $\approx$ sum(mel-spec(demixed channels)), and use the latter to represent a non-demixed mel-spectrogram. This estimation makes it more convenient to get non-demixed mel-spectrogram using pre-saved demixed mel-spectrograms.

I get it. the result seems still not right .
for rock.00099.beat, the ground truth shape is 62, but the infer is 30, and the calculate F-measure is 0.
By the way, mel-spec(sum(demixed channels))  sum(mel-spec(demixed channels)), I think this cannot be called non-demixed. Compare with the demixed model, the only difference is the input manipulation, direct feed to the network or sum than feed to the network.

I think I gave the wrong checkpoint. Apologies for that. Please use this updated checkpoint for non-demix model instead.
For GTZAN dataset, I get the following result on my device:
Beat F-measure:0.873; CMLt: 0.787; AMLt: 0.916.
Downbeat F-measure: 0.680; CMLt: 0.634; AMLt: 0.836.
BTW, we note that the whole GTZAN dataset is held out from training and used for testing only.

I think I gave the wrong checkpoint. Apologies for that. Please use this updated checkpoint for non-demix model instead. For GTZAN dataset, I get the following result on my device: Beat F-measure:0.873; CMLt: 0.787; AMLt: 0.916. Downbeat F-measure: 0.680; CMLt: 0.634; AMLt: 0.836. BTW, we note that the whole GTZAN dataset is held out from training and used for testing only.

thanks, this model works.


Set PID constants with SysID

After we have all the values needed about the robot, use SysID in order to get the  PID constants for our drivetrain.

when robot!? DX


install instructions documentation

There should be document which describes:
what software should be installed and how should be configured before installing Tendrl
Tendrl installation process
Tendrl post installation steps like configuration, service starting and so on
[was originally at https://tendrl.atlassian.net/browse/TEN-36]

Are you asking about rpm installation and configuration doc ?
If yes, what would be your suggestion on keeping the doc. Shall we keep it in trndrl-frontend-doc package or any other place ?

This is already done here https://github.com/Tendrl/documentation/wiki/Tendrl-Package-Installation-Reference


Handle asynchronous exceptions on failure to allow for log files to be written

Currently, there is a delay that was introduced to allow for the terminated process to write the log files:
txsUIProc mUiLogDir imf port =
       Concurrently $ do
         eRes <- try $ Turtle.fold txsUIShell findExpectedMsg
         sleep 5.0       -- take time to write results to log files (in case of error)
         case eRes of

The delay should be removed and instead txsServerProc and txsUIProc should catch the asynchronous exceptions and flush whatever log files are written by these processes.
runConcurrently $ timer
                     <|> heartbeat
                     <|> txsServerProc mLogDir (port : txsServerArgs ex)
                     <|> txsUIProc mLogDir inputModelF port

This issue seems to be obsolete after #650 @capitanbatata ?

Yes, indeed.


Create Posts “walkthrough-msfvenom-metasploit-exploitation-tryhackme-jr-pen-tester-pathway”

Automatically generated by Netlify CMS

👷 Deploy Preview for ltcblog processing.
🔨 Explore the source changes: bc69a11143292099847973533d02fd2c888db242
🔍 Inspect the deploy log: https://app.netlify.com/sites/ltcblog/deploys/61aa3b1fe0175e00071385f2


Duplication in settings

This is duplication appears in my installation.

Thanks for reporting, @kmaustral! I'm not sure what changed recently as I hadn't noticed this issue before :sweat_smile: but it should be fixed now in the 0.2.2 release!

Thanks. That has fixed the duplication, but I still can't get it to work. I've double-checked the settings and I get a message that the sync is successful, but nothing appears in the designated folder and I see that the links haven't been deleted from the Chrome extension yet.

Looking at some of the traces from my server I see some authentication related errors  but not sure if that's from your requests. In case you haven't already tried it could you try to generate a new token and paste that into both the Chrome extension settings (you can click the gear icon and then click "Clear token" to add a new one) and the Obsidian plugin settings? You might also want to make sure that there are no extra spaces at the start or end of the token as that can cause it to fail as well.
Just to clarify my understanding, when you say "I see that the links haven't been deleted from the Chrome extension yet" do you mean to say that the popup window doesn't close once you click "Save Link"? If that's the case then I think that the token for the Chrome extension is what is failing and the Obsidian plugin one might be valid otherwise you wouldn't get a "Sync successful" notification.

Hi Joel,
I tried with a new token but that didn't work. I use what is copied into
clipboard when clicking the copy button, which seems right.
The popup window closes when I Save Link, but I do see the previous links
that I had saved on that window. They haven't been cleared yet.
The "linkshelf sync successful" message in Obsidian appears almost
immediately after selecting the sync links command.
On Mon, 28 Aug 2023 at 02:34, Joel Sequeira @.***>
wrote:

Looking at some of the traces from my server I see some authentication
related errors but not sure if that's from your requests. In case you
haven't already tried it could you try to generate a new token and paste
that into both the Chrome extension settings (you can click the gear icon
and then click "Clear token" to add a new one) and the Obsidian plugin
settings? You might also want to make sure that there are no extra spaces
at the start or end of the token as that can cause it to fail as well.
Just to clarify my understanding, when you say "I see that the links
haven't been deleted from the Chrome extension yet" do you mean to say that
the popup window doesn't close once you click "Save Link"? If that's the
case then I think that the token for the Chrome extension is what is
failing and the Obsidian plugin one might be valid otherwise you wouldn't
get a "Sync successful" notification.
—
Reply to this email directly, view it on GitHub
https://github.com/joelseq/obsidian-linkshelf/issues/2#issuecomment-1694709474,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARTR6N3QO5IISA6DPBO4FQTXXNZJ5ANCNFSM6AAAAAA374WO5M
.
You are receiving this because you were mentioned.Message ID:
@.***>

Okay I think I know what's going on. There's another Chrome extension that's also called LinkShelf which from looking at the screenshots appears to show the previous links that were saved.
This LinkShelf is the right Chrome extension to install. It should not be showing any previously saved links (though that might be an interesting feature to add later on).

Yes, that was the issue. I couldn't find a link to that specific extension
on your site, so others might have this issue too.
Great. It's good that you have a keyboard shortcut for it as well.
I'll give it a try and let you know if any other issues come up.
On Mon, 28 Aug 2023 at 09:28, Joel Sequeira @.***>
wrote:

Okay I think I know what's going on. There's another Chrome extension
that's also called LinkShelf which from looking at the screenshots appears
to show the previous links that were saved.
This LinkShelf
https://chrome.google.com/webstore/detail/linkshelf/ahppmgflbaeiphlkkgngijgmfapabgee
is the right Chrome extension to install. It should not be showing any
previously saved links (though that might be an interesting feature to add
later on).
—
Reply to this email directly, view it on GitHub
https://github.com/joelseq/obsidian-linkshelf/issues/2#issuecomment-1694790915,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARTR6N3NTOMPEYDKF6Q7RADXXPJY5ANCNFSM6AAAAAA374WO5M
.
You are receiving this because you were mentioned.Message ID:
@.***>

Thanks for the suggestion! That's definitely something I should add to the site to avoid confusion


cancel funcs should always be called on cancellable contexts

Ohai!  I noticed this context.CancelFunc wasn't being called. Since the lifetime of the context is the RPC call happening right after it, I think a simple defer works fine.

Calling the CancelFunc cancels the child and its children, removes the parent's reference to the child, and stops any associated timers. Failing to call the CancelFunc leaks the child and its children until the parent is canceled or the timer fires.

https://golang.org/pkg/context

Canceling this context releases resources associated with it, so code should call cancel as soon as the operations running in this Context complete: [...]

https://golang.org/pkg/context/#WithTimeout

My read of the context package documentation was that WithDeadline and WithTimeout will have their cancel functions called automatically, since they are based on time. Since we call a blocking RPC immediately after, the RPC should either finish or cancel itself, therefore I don't see the cancellation happening any sooner this way, either.
That said, I see no reason not to apply your change.


Ability to process chunks or snippets in field options

If you could use a chunk or snippet to generate the options, this would open up a whole array of possibilities. Related to #61 and #93.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Pull requests are welcome.

Added in 2.0, thanks :)

To give an example of how this works before I update the docs. Add a snippet or chunk tag to the options field, for example:
[[getResources? &parents=`0` &tpl=`@INLINE [[+pagetitle]]==[[+id]]` &outputSeparator=`||` &limit=`0` ]]

and enable the "Process tags in options" checkbox.


[ADP-3032] Refactor checkpoint extension in restoreBlocks

Overview
This pull request refactors the addition of new checkpoints to the WalletState in the function restoreWallet.
Specifically, we move the logic to a function extendCheckpoints in the Cardano.Wallet.Checkpoints module.
Comments

The purpose of this pull request is increate the use of onDBVar walletState.
The simplification of the checkpointing logic is planned for ADP-3031.

Issue number
ADP-3032

bors merge


Add more property capitalizations

Add property name capitalizations for:

BiDi
FileSystem
NavMesh

Needs a rebase.

@akien-mga I rebased it.

Thanks!

Cherry-picked for 3.5.


How To Use: Without Dockerfile Not Working

The How To Use the httpd Image gives the following command to run if a dockerfile is not used

docker run -it --rm --name my-apache-app -v "$PWD":/usr/local/apache2/htdocs/ httpd

I believe this command is incorrect as I am not able to connect to port 80 if this is all I use.
However, when I run the following command I can connect to port 80 however, I always get a 404 error in my browser.

docker run -it --rm --name my-apache-app -v "$PWD":/usr/local/apache2/htdocs/ -p 80:80 httpd

I am completely new to docker, but it feels to me that there are two issues:

The How To Use document has an error
The image also does not really have a volume at the described location.

Attaching a screening shot to assist in seeing what I did.

I discovered that the reason the -v argument was not working for me was because my working directory (e.g. the $PWD) was not under the C:\Users directory and it is a known limitation of docker.
I still believe the -p argument is required though.

enabling the ports is required.
also there is a hidden file that is required that should be in your root dir by the name of "http-foreground"
there is no mention of this required (executable) file in the documentation.

Forwarding ports is only necessary when you want access to the container from outside the docker host.  Currently, with boot2docker and docker-machine on Windows and OSX, this means that you always need a -p if you want to access it from Windows or OSX.  On Linux machines you can just hit the IP address of the container at the correct port.  This is applicable to all images generally and not really unique to the httpd image.


Add windows images to build script

What type of PR is this?
/kind cleanup
What this PR does / why we need it:
This adds the windows images to the main image build script.
Which issue(s) this PR fixes:

None
Special notes for your reviewer:
None
Does this PR introduce a user-facing change?

None

/lgtm


'Friendly Names' for Clusters, Hosts and VMs

Hi, great project, exactly what I was looking for, however when I run against my test VCenter, I get some internal name for the cluster, host and VM eg:
gauge-domain-c151.HostSystem.host-51.cpu.0.average.usage.perc
gauge-domain-c151.VirtualMachine.vm-216.cpu.all.average.usage.perc
Any way of getting the names that show up in the web client as tags?

We have the same issue. I can't promise anything, but might magically somehow find a chance to look at the code for a solution...

Hi there,
friendly names will be now supported with release v1.0.0. Please note that there has to import a typesDB for collectd.
Now, the missing entities will be displayed too.


pyftsubset: Can't keep 'SVG ' table

If I add --drop-tables-='SVG ' like shown in the docs, the 'SVG ' table is still dropped:
pyftsubset --verbose --drop-tables-='SVG ' compyx.ttf '*'
SVG  dropped

@RoelN thanks for reporting this.
Space characters in strings passed to pyftsubset are being stripped out by its argument parser.
I just sent a patch to fix the issue: https://github.com/behdad/fonttools/pull/377
Could you please have a look?
Also, note that because the subsetter does not know how to subset the "SVG " table, even if you tell it to not --drop-tables-='SVG ', that table will be dropped anyway. In order to keep it, you will need to pass --no-subset-tables+='SVG ' option, in addition to --drop-tables-='SVG '.
I hope this makes sense.

@anthrotype Sorry, wasn't able to check earlier. This works now, and having to tell you don't want to subset the 'SVG ' table does make sense. (The feedback is good too: "SVG  NOT subset; don't know how to subset; dropped")
Thanks for fixing this!


FileChooserListView cannot show unicode text

Software Versions

Python:3.8.13
OS:Ubuntu20.04
Kivy:2.1.0
Kivy installation method: pip

Describe the bug
FileChooserListView cannot render unicode text correctly use a specified font which containing unicode charsets.

Other UI controls can display unicode string.

Expected behavior
Render unicode text correctly in an FileChooserListView
To Reproduce
https://kivy.org/doc/stable/api-kivy.uix.filechooser.html
Additional context
Add any other context about the problem here.

It's not a bug of kivy. There were something wrong with the system fonts in my ubuntu.
I solved the problem by reinstalling the system fonts.


Unable to filter on scalar field backed by Lambda Resolver

Before opening, please confirm:

[X] I have searched for duplicate or closed issues and discussions.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

JavaScript Framework
React
Amplify APIs
GraphQL API
Amplify Categories
function, api
Environment information

# Put output below this line
saileshkumar@Saileshs-MacBook-Pro ruso % npx envinfo --system --binaries --browsers --npmPackages --duplicates --npmGlobalPackages

  System:
    OS: macOS 11.3.1
    CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
    Memory: 351.20 MB / 32.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 16.6.0 - /usr/local/bin/node
    Yarn: 1.22.10 - /usr/local/bin/yarn
    npm: 7.21.0 - /usr/local/bin/npm
  Browsers:
    Chrome: 93.0.4577.82
    Safari: 14.1
  npmPackages:
    @aws-amplify/ui-react: ^1.0.6 => 1.0.6
    @daily-co/daily-js: ^0.18.0 => 0.18.0
    @date-io/date-fns: ^1.3.13 => 1.3.13
    @material-ui/core: ^4.11.4 => 4.11.4
    @material-ui/icons: ^4.11.2 => 4.11.2
    @material-ui/pickers: ^3.3.10 => 3.3.10
    @material-ui/styles: ^4.11.4 => 4.11.4
    @reduxjs/toolkit: ^1.5.1 => 1.5.1
    @testing-library/jest-dom: ^5.11.4 => 5.11.10
    @testing-library/react: ^11.1.0 => 11.2.6
    @testing-library/user-event: ^12.1.10 => 12.8.3
    HelloWorld:  0.0.1
    antd: ^4.16.13 => 4.16.13
    aws-amplify: ^3.3.26 => 3.3.26
    cypress: ^8.3.1 => 8.3.1
    date-fns: ^2.23.0 => 2.23.0
    flow-bin: ^0.148.0 => 0.148.0
    hermes-inspector-msggen:  1.0.0
    mixpanel-browser: ^2.41.0 => 2.41.0
    moment: ^2.29.1 => 2.29.1
    moment-timezone: ^0.5.33 => 0.5.33
    react: ^17.0.2 => 17.0.2
    react-dom: ^17.0.2 => 17.0.2
    react-easy-crop: ^3.5.2 => 3.5.2
    react-google-button: ^0.7.2 => 0.7.2
    react-google-calendar-api: ^1.4.0 => 1.4.0
    react-native: ^0.64.0 => 0.64.0
    react-player: ^2.9.0 => 2.9.0
    react-redux: ^7.2.4 => 7.2.4
    react-router-dom: ^5.2.0 => 5.2.0
    react-scripts: 4.0.3 => 4.0.3
    react-social-icons: ^5.5.0 => 5.5.1
    stream-chat: ^4.2.0 => 4.2.0
    stream-chat-react: ^6.7.2 => 6.7.2
    styled-components: ^5.3.1 => 5.3.1
    styled-components/macro:  undefined ()
    styled-components/native:  undefined ()
    styled-components/primitives:  undefined ()
    web-vitals: ^1.0.1 => 1.1.1
  npmGlobalPackages:
    @aws-amplify/cli: 5.2.1
    npm: 7.21.0

Describe the bug
I'm unable to filter on a scalar field that is backed by a resolver. if there is no resolver, it performs as expected. Example:
Here, liveStatus is backed by a resolver that is a lambda:
Query:
query MyQuery {
  listClasses {
    items {
      liveStatus
    }
  }
}

Response:
{
  "data": {
    "listClasses": {
      "items": [
        {
          "liveStatus": "UPCOMING_ONLY",
        },
        {
          "liveStatus": "PAST",
        },
        {
          "liveStatus": "LIVE_ONLY",
        },
        {
          "liveStatus": "PAST",
        }
      ]
    }
  }
}

But then:
query MyQuery {
  listClasses(filter: {liveStatus: {eq: "LIVE_ONLY"}}) {
    items {
      liveStatus
    }
  }
}

Yields:

{
  "data": {
    "listClasses": {
      "items": []
    }
  }
}

Expected behavior
Filtering on liveStatus should filter the items with their liveStatus, not return an empty list.
Reproduction steps

Install + setup Amplify
Add API with a model with some scalar field on it
Go to AppSync, and attach scalar field to resolver that is a Lambda function
Return any string in said Lambda Function
Now when you query for your model, you'll see the field populated. But when you try to filter on the field, see that it doesn't work.

Code Snippet
// Put your code below this line.
schema.graphql:
type Class
  @model {
  id: ID!
  liveStatus: String
}

Then Lambda Function:
exports.handler = async(event, context) => {
    return "TEST";
};

And query:
query MyQuery {
  listClasses(filter: {liveStatus: {eq: "TEST"}}) {
    items {
      liveStatus
    }
  }
}

Log output

// Put your logs below this line

aws-exports.js
No response
Manual configuration
No response
Additional configuration
No response
Mobile Device
No response
Mobile Operating System
No response
Mobile Browser
No response
Mobile Browser Version
No response
Additional information and screenshots
No response

Hey @SaileshKumar just wanted to follow up on this one to see if you're still experiencing this?

Hey @josefaidt , we are. Not sure I understand the suggestion from @iartemiev .
Our setup is as follows:
Schema:
type Class @model {
  live_status: String @function(name: "computeClassLiveStatus-${env}")
}

where computeClassLiveStatus is a lambda that looks something (simplified) like:
exports.handler = async (event, context) => {
  if ({SOMETHING}) { return "LIVE"}
  else { return "PAST" }
}

when I call getClass or listClasses and query for live_status, I'll correctly see either PAST or LIVE as a value.
However
query MyQuery {
  listClasses(filter: {liveStatus: {eq: "TEST"}}) {
    items {
      liveStatus
    }
  }
}

will return an empty array.
Is the suggestion to add a different return to the JS lambda computeClassLiveStatus?

Hey @SaileshKumar apologies for the delay here. I'm able to reproduce this, marking as a bug


Malwarebytes Issue

Malwarebytes is now flagging this as outbound malware.

On what justification? I publish the source code, the code of the bundled extension can be un-packed and read... I've had repeated offers to include adware and other such "money making opportunities" which I have repeatedly rejected. On what grounds is this "outbound malware", exactly?

I think it might have been one of the urls i was scanning was malware? It hasn't happened again.

That makes more sense. The URLs that the extension validates need to be requested and loaded in order to determine their validity. If the extension is asked to validate a URL that points to malware, it will try to. If you want to blacklist URLs you can do so in the extension settings. Closing this issue as it is expected behaviour.


Data without a named volume does not work

It does not work if we don't use a named value for the data, for example like this:
# volumes:
#   data: {}
. . . . .
    volumes:
      - ./data:/data

Have you created ./data beforehand? If I remember correctly, Docker will create a file instead of a directory which will obviously fail. Bind-mounting directories definitively works. We use it in production.

Have you created ./data beforehand? If I remember correctly, Docker will create a file instead of a directory which will obviously fail.

This is not an issue. The same thing works for ./db without creating a directory:
https://github.com/opencast/opencast-docker/blob/9d8632cca0ad3fea1d9b23a248307c7021205aaa/docker-compose/docker-compose.allinone.mariadb.ssl.yml#L34
Docker-compose does not complain when trying to mount a data directory (with - ./data:/data), everything goes well, and the directory is mounted. The problem is that somehow the directory remains empty and the system is broken.
From my experience, this can happen for example when the mounted directory needs to have certain ownership (different from root) and the docker scripts fail to initialize it correctly.

From my experience, this can happen for example when the mounted directory needs to have certain ownership (different from root) and the docker scripts fail to initialize it correctly.

I can confirm that this is the case. The scripts run with the 'opencast' user (UID 800). When the directory does not exist on the host docker will create one but obviously not with the correct permissions/owner. Somewhere in the logs one can find org.osgi.service.component.ComponentException: /data/opencast/staticfiles does not exists and could not be created

To solve this, just create the directory on the host system in advance with correct owner and permissions.

In my opinion, this is a workaround, not a solution.
The solution would be to fix the scripts to handle this case properly.

The MySQL/MariaDB images handle this by iterating through every file in the data directory and changing the owner where needed. I think the Opencast images have done similarly in the past and the build image is doing the same even now. The problem is that the Opencast data directory can contain hundreds of thousands of files and even a simple iteration of every file can take minutes/hours, even worse if you use the recommended network filesystem.
What can be implemented, however, is that the permissions of the root folder are set correctly. Since container orchestrators like Kubernetes typically do that for you, this is currently not implemented.


Use lodash-es

It would be great to use lodash functions selectively (e.g. import _isNil from "lodash/isNil";) so that tree shaking can be done.
Thanks!
https://www.npmjs.com/package/lodash-es

Sorry, no. Node.js doesn't support ES6 modules yet.


don't emit for ambient module declarations

Skip over the contents of a "declare module ...", as it's only
making declaraitons for TypeScript's (not Closure's) benefit.

This doesn't work due to a different bug in enums.  I will ping on it once I expect it to work.

Ack. Let me know.


Pydeequ to support additional where filters

Is your feature request related to a problem? Please describe.
From what I can understand there's no implementation of CheckWithLastConstranitFilterable from Deequ in Pydeequ which makes it impossible to add  (.where) method at the end of the defined check. Is there any particular reason for that or it's just part of Deequ that hasn't been implemented yet?
Describe the solution you'd like
Additional class in Pydeequ that extends Check so that we can specify additional SQL WHERE statement to apply before evaluation of the previous constraint.

It's not implemented yet - I think this was planned before https://github.com/awslabs/python-deequ/issues/30.

Will do a minor version release around EOW 12/08 - 12/11

Closing, released in https://github.com/awslabs/python-deequ/releases/tag/v1.2.0


Not being able to fetch type metadata should not fail verification?

As I understand the SD-JWT VC specification, the vct CAN be used to represent the type metadata URL, but i don't think it's invalid to use https:// uri for vct and not host type metadata?
Also the error message is the response of the VCT, which can be confusing. Instead of using response.text() as the error message, maybe it should be Error fetching type metadata. ${await response.text()}?

Hi @TimoGlastra ,
you can pass a parameter if the metadata should be loaded from the vct by setting a config value: https://github.com/openwallet-foundation/sd-jwt-js/blob/main/packages/sd-jwt-vc/src/sd-jwt-vc-config.ts#L18
the default value is false, so when there is a url it will not be fetched. But when there is another url and you set it to fetching, it will end in an error.
For the error for schema fetching we have this error message: https://github.com/openwallet-foundation/sd-jwt-js/blob/main/packages/sd-jwt-vc/src/sd-jwt-vc-instance.ts#L252
But in the fetch function it's generic in the fetch function because this function is used to fetch the status list and the schema that are throwing case specific error messages.

The config option assumes you know upfront whether the SD-JWT has type metadata. I'd like to fetch the type metadata if it exists, but if the endpoint returns 404 that seems fine to me.

The config option assumes you know upfront whether the SD-JWT has type metadata. I'd like to fetch the type metadata if it exists, but if the endpoint returns 404 that seems fine to me.

When you are activating the loadMetadataFormat, from where should you get the schema to validate it when not from a successful response? If you set it to true and the function is not able to load it, there is no other way to run the validation.
You are able to overwrite the vctFether via the config and so implement your own logic. For me the normal way sounds logic that when somebody adds a URL, starting with http:// it's meant to be fetchable. This allows you for example to look up a a database for the schema, rather then fetching it from a URL.
So when you want to perform schema validation and you know you will get other values than URL in the vct that, you need to overwrite this function by passing it.


Create convention for remote_class_name

Hey @ataber, thanks for creating this gem, it really helped us out with our Bill.com integration. I've been digging through the source and made a few modifications that I thought might be helpful for others. Let me know what you think

Sure looks good to me!


Export Failed: target not found: XXXXXXXXXXXXXXXXX

How do I deal with this error here?
Below is a snippet of the log.
The archive seems to be successful, but it somehow ended up with this error here.
▸ Generating 'MyTarget\ Prod\ CI.app.dSYM'
▸ Running script '[CP] Copy Pods Resources'
▸ Touching MyTarget\ Prod\ CI.app (in target: MyTarget Prod CI)
▸ Archive Succeeded

Archive infos:
team: My Inc (XXXXXX)
profile: My Profile Prod (xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx)
export: app-store
xcode managed profile: false

Exporting ipa from the archive...

Exporting ipa with ExportOptions.plist
No custom export options content provided, generating export options...
export-method specified: app-store
target not found: XXXXXXXXXXXXXXXXX
|                                                                              |

Looks like I missed a commit locally that updates the blueprintidentifiers in the xscheme file

Glad to see you've managed to sort this quickly! 🙂

I'm having the same issue with my project
Could anyone, please, explain what exactly needs to be done in order to fix this?

@default
In my case it was something in the project.xcodeproj/xcshareddata/xcschemes/Prod CI.xcsheme file specifying a wrong BlueprintIdentifier = "YYYYYYYY"
I am not sure exactly how this happen, but what fixed it for me was the following:

Product -> Scheme -> Manage Scheme

Click around in the new window (I didn't modify anything).
And then just close the window. Observe git, magically that file is updated with a new BlueprintIdentifier which seems to work correctly with bitrise builds.

Can confirm, this, indeed, fixed the issue.
To clarify: I had to deselect and then select the deselected scheme again.


app.ini changes are reset after pod restart

Description
I found similar issue but it is closed and I can not comment.
https://github.com/go-gitea/gitea/issues/24146
I am using minikube, install gitea using HELM without any changes.
I want to change ROOT_URL to my custom url,  but when I change app.ini and restart pod my changes got lost.
Steps to reproduce:

SSH  into minikube
minikube ssh

Become root
sudo su

Create dummy file to make sure file is there after restart

echo 'Dummy' > /tmp/hostpath-provisioner/default/gitea-shared-storage/gitea/conf/foo.txt

Modfidy app.ini. Change ROOT_URL to some custom url f.e. https://custom.local

Ctrl+D from minikube to host

Delete gitea pod

minikube kubectl -- delete pod gitea-YOUR_POD_ID

SSH  into minikube
minikube ssh

Make sure dummy file still exists

stat /tmp/hostpath-provisioner/default/gitea-shared-storage/gitea/conf/foo.txt

Check /tmp/hostpath-provisioner/default/gitea-shared-storage/gitea/conf/app.ini file

cat /tmp/hostpath-provisioner/default/gitea-shared-storage/gitea/conf/app.ini | grep ROOT_URL

Custom url was discarded and default url is used
ROOT_URL = http://git.example.com

Gitea Version
1.21.1
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots
No response
Git Version
2.40.1
Operating System
Ubuntu
How are you running Gitea?
helm repo add gitea-charts https://dl.gitea.com/charts/
helm install gitea gitea-charts/gitea

Database
PostgreSQL

Can you send this to help chart repository?

Can you send this to help chart repository?

Which one? Can you send the link?

Solved by modifying values in custom values.yaml file like this:
gitea:
  config:
    server:
      ROOT_URL: https://custom.domain
      DOMAIN: custom.domain


Issue 1070 - Docker Overhaul, Configuration Handling Update, Documentation Overhaul

Wrapping up Docker overhaul. This consequently resulted in the configuration system getting some modifications as well. Here is a brief on the changes;

Added environment variable / setting key tracking files at powerdnsadmin/env/*.env that serve for automatic type conversion when loading app settings from environment variables. Also used for manual change tracking during project cleanup.
Updated the app config loading process to make use of a config utility that loads app config settings from environment variables replacing the legacy implementation
Cleaned up the configs directory files and moved the default configuration file from powerdnsadmin/default_config.py to configs/default.py.
Removed all current defaults from the default config file at configs/default.py as a move toward standardizing on Docker deployments for all environments
Started the migration of some legacy app settings / environment variables into the new PDA_ namespace. Added backwards compatibility to specific locations that were changed such as the main run.py file.
Overhauled some of the documentation, I specifically updated primary README.md file and also added docs/docker.md and docs/settings.md
Completely overhauled the Docker implementation to include two production ready images based on Alpine 3.14 and Debian 11.1-slim.
Separated Docker image templating files from deployment files within the docker directory.
Added Docker image building script at docker/bin/build-image and a release building script at docker/bin/create-release
Added shared Docker image asset files to docker/shared directory such as entrypoint script and auto-init database schemas
Docker container has option to automatically initialize chosen database on first run
Docker container has option to wait for MySQL server to be online before starting
Docker container has option to wait for PDNS API server authorization test to pass before starting
Docker container running Flask in development environment will automatically rebuild flask assets during startup if feature enabled
Docker container will automatically run Python test unit during startup if feature enabled
Dramatically improved the build effeciency, maintainability, and startup time of the Docker images

@jbe-dw thank you! I put a lot of work into this for the last few days with a lot of small-scale rewrites until I found the right combination of solutions.

Hello @AzorianSolutions
The maintaining team has changed, and we needed some time to start working together on the project. I'm going to review your code once again (as maintainer now) very soon.
Thank you for your work !

@jbe-dw Very much appreciated! If I start to see some traction in this area again, I will reevaluate my consideration of further contributions as it regards to ideas I previously proposed.

@AzorianSolutions Can you take some time to continue this PR ?

@jbe-dw it will be some time before I can get to it. I'm not nearly as available as I was many months ago when this work was done.

Likewise ! We can address other things until we can go forward on this one.

Likewise ! We can address other things until we can go forward on this one.

I will try to turn these changes out sooner than later but I simply can't commit to anything specific. I have to pick up efforts as time and mood permits as I'm sure you understand!

I know this isn't the proper way but this was quick and minor. I included a quick correction to the saml service to mitigate an issue of referencing config keys that may not be present.

@jbe-dw As far as these two questions from earlier go;

There is a lot of TODO comments in the docs/settings.md. Can you tell us what is needed to complete the documentation ?

I created this index to properly document every setting in existence. The issue is that I simply don't know the details behind many of these (without doing code review first) so I was hopeful someone already knows. Assuming it's an agreed upon change, the secondary TODO note for each relates to transitioning existing app setting keys to all use the "PDA_" name prefix.
While this would be a proper move to fall inline with a certain pattern that has proven effective, I would argue that there are a number of better ways that the configuration management could be handled for the app. I tend to prefer a simple YAML based system that loads an arbitrary number of YAML files into a single map with a structure of keys representing the file system minus extensions.
I would be willing to give this a configuration overhaul so long as everyone is onboard with some slightly aggressive changes to achieve that goal.

Can you explain how did you sort the .env files variables ?

There is no sorting to be applied here. I realize that I didn't really provide any documentation of what this implementation is for. The simple explanation is that when I started this contribution, I was very new to Python. I have been in software engineering for 2 decades but merely hadn't learned the specifics of Python. I have been working with it aggressively for around 6 months and have gained great insight on applying my existing knowledge of design patterns.
With that being said, the .env file implementation here is a quick and dirty approach (based on limited knowledge) to solve a transitional issue regarding automatic type casting of configuration values loaded via environment variable. Obviously I would think the best long-term approach here is to implement (or locate) a simple library to handle automatic type-casting based on pattern matching.

Now that I have taken ownership of the PDA project, I do intend to revisit this and finish what I started. Even though there is a good chance that the current version of PDA will undergo a complete freeze without active contributors to help with it, I will likely still take some aggressive steps to clean up the deployment support. My hopes is that this will still help reduce barrier to entry for others wishing to contribute and help continue cleaning up the current version.


[Enhancement] Resizing symbol with right aligned text

At the moment, symbol instances are always resized from the top-left.
However, if the widest text layer is right aligned, it would be better if the symbol instance resized from the right, instead of the left.
Example of current behaviour:

Completed in v1.0.2


BUG: Windows' border are too thick on HiDPI 150% scaled Xorg session

Operating System: NixOS 23.05
KDE Plasma Version: 5.27.7
KDE Frameworks Version: 5.106.0
Qt Version: 5.15.10
Kernel Version: 6.1.58 (64-bit)
Graphics Platform: X11
Processors: 20 × 12th Gen Intel® Core™ i7-12700H
Memory: 23.2 GiB of RAM
Graphics Processor: Mesa Intel® Graphics

Hi,
There's a "Windows Borders" setting in the bottom left of the window decorations settings panel. Does adjusting that fix your issue?

Hi, There's a "Windows Borders" setting in the bottom left of the window decorations settings panel. Does adjusting that fix your issue?

Not for me even on "Tiny" or "No Borders" settings.

A look around seems to suggest that this is an issue that other themes are having as well. Fortunately, there's an easy fix.
Open up the folder for the theme (located under /home/serena/.local/share/aurorae/themes/). It open the text file ending in rc; for me it's called CatppuccinMocha-Modernrc. Then, find the PaddingLeft, PaddingRight, etc. lines and divide them by your scaling factor. So, for 1.5 scaling, the lines would be changed to:
PaddingBottom=43
PaddingLeft=35
PaddingRight=35
PaddingTop=29

Tested on Linux Mint running KDE

A look around seems to suggest that this is an issue that other themes are having as well. Fortunately, there's an easy fix.
Open up the folder for the theme (located under /home/serena/.local/share/aurorae/themes/). It open the text file ending in rc; for me it's called CatppuccinMocha-Modernrc. Then, find the PaddingLeft, PaddingRight, etc. lines and divide them by your scaling factor. So, for 1.5 scaling, the lines would be changed to:
PaddingBottom=43
PaddingLeft=35
PaddingRight=35
PaddingTop=29

Tested on Linux Mint running KDE

Works for me as well, OpenSUSE Tumbleweed KDE 6


doc(plugins): added jsdoc comments for some plugins options

Summary
Related Links
Added jsdoc comments for some plugins options: https://github.com/web-infra-dev/rsbuild/issues/181
covering plugin-react, plugin-vue, plugin-rem, plugin-vue2-jsx

Thanks!


App configuration split

Description of your changes

Reuse modular https://github.com/upbound/configuration-app
Use special label to arrange deletion ordering of Release and XEKS from within the Cluster Composition

I have:

[x] Read and followed Upbound's contribution process.
[ ] Run make reviewable to ensure this PR is ready for review.
[ ] Added backport release-x.y labels to auto-backport this PR, as appropriate.

How has this code been tested
local make e2e + uptest below

/test-examples


Submit a CWL workflow via HySDS

Use docker-in-docker pattern to submit a "docker run" command. Must register the "kubectl...." job with HySDS.

We actually decided to try another model: change the Verdi container to be able to excute "cwl-runner" passing the CWL workflow and the YAML file.

This was successfully tested with the "echo" CWL workflow. Now it must be tested when invoking the CWL L1B and L1A workflows, which involve executing CWL steps as Docker containers.


Problem in Image caption example

Can anyone explain the paramters involved in image captioning example in Keras.
The training data consists of images with 5 caption per image. Model gives prop distribution over next word given caption. So should I concatenate all 5 captions and pass that as sequence?
What does partial_caption here stands for and what is next_words? Is it one-hot encoded vector of next word after 1 caption out of 5? Also how to pass input at test time ?. I will only have image vector, but input requires [image, partial_caption].

(image, partial_caption)->(next_words)
(image, "word1 word2")->("word3")

@GriffinLiang could you please explain this in detail on how to give the inputs and also how to give the test data ?

How to do it for whole caption ?


Adds BlobStream to hold BLOBs.

Represent the BLOBs used to store and send image content (layer tar.gzip, manifest JSON, container configuration JSON).
Required for #33 and #34 .

@elharo Changing this to be an actual stream


Message archive management

Does vines support message archive management (XEP-0313)?

A list of supported extensions is in the readme: https://github.com/negativecode/vines#standards-support.


zh: replace the usage of DM-Ansible with TiUP

What is changed, added or deleted? (Required)

remove deploy-a-dm-cluster-using-ansible.md and cluster-operations.md
replace other usage of DM-ansible with TiUP

Which DM version(s) do your changes apply to? (Required)

[x] master (the latest development version, including v2.0 changes for now)
[ ] v1.0 (TiDB DM 1.0 versions)

What is the related PR or file link(s)?

This PR is translated from:
Other reference link(s):

Do your changes match any of the following descriptions?

[x] Delete files
[x] Change aliases
[x] Have version specific changes
[ ] Might cause conflicts

@TomShawn @GMHDBJD PTAL


Update to vertx-eventbus-client 3.1

Changelog
Changes from the 3.0.x to 3.1

IMPORTANT: The API has been changed to be compatible with node.js and to be closer to the vert.x eventbus API .Creating the bridge is made using var eb = new EventBus("http://localhost:8080/eventbus"); instead of new vertx .EventBus.... In addition, registering a handler use the node convention: eb.registerHandler("metrics", function(err, res) {...} instead of ev.registerHandler("metrics", res).
The file name has been updated to eventbus-client.js

Rescheduled.
vertxbus is now internally using an UMD header which assumes CommonJS in the Browserify environment. This requires additional work for running SockJS (and especially for the SockJS mock).


Draft: Refactor upload actor

Ref https://github.com/scientist-softserv/iiif_print/issues/7

trying to merge into wrong location


Check used PID library - check reliability. Has it been unit tested?

Possible duplicate of #39

Currently playing with PID lib in test mode, I see one major issue with the way it keeps track of time and assumes constant sample time to compute integrals and derivatives:
When I introduce a jitter in the task, the PID computes the integral and derivatives assuming it was called with exact sample time (dInput = (input - lastInput) which is then multiplied by kd = Kd/SampleTime in output), but records start of execution time (with millis()) as lastTime and will only refresh output when millis() > lastTime + sampleTime, and compute the derivatives and integral assuming constant SampleTime, therefore having "lost" a fragment of time in those integral and derivatives.
I see several steps in fixing this, from easiest to more complicated (and of course each step brings more robustness in the PID):

use lastTime += SampleTime instead of lastTime=now (will also require proper init on first call), quick fix that makes the PID not lose fractions of time but integral and derivatives are still not perfect due to jitter,
compute derivative and integral using actual time between calls instead of constant sample time, this poses the problem that call time is not actually the time of the reading, introducing a small error in those as well,
perform derivation and integration faster than SampleTime (which is actually desired refresh time, not actual sample time), this will require more complex algorithm for derivative which may or may not yield better estimations (in the case of the derivative, the integral should be better if performed faster). This one is definitely not mandatory and may be a little ressource-heavy.
have the sensors timestamp their readings and use those timestamps to compute integral and derivatives.

I'll start working on 1 and 2, and possibly the other as well depending on the time I have on my hands.


Set SDPBackend explicitly for validation

NVFuser CI has failed thunder/tests/test_sdpa.py tests for H100.
This is because the backend picked for torch.nn.scaled_dot_product_attention in these cases is cudnn_attention whereas nvfuser is using flash attention. Explicitly setting the SDPBackend will allow validation against torch reference.
When checking if sdpa operator can be accepted by nvfuser, we use utils.py/_fused_sdp_choice (same as sdpaex.py). This function returns FlashAttention as the backend whenever flash attention is enabled and can be used for the given set of inputs (for torch.__version__ > 2.2.0). Hence, it is possible that for the reference computation,  torch.nn.attention.scaled_dot_product_attention actually uses a different backend.

I have verified this locally on the GH node. @xwang233, is there a way to check if the nvfuser CI passes with this PR (only need to run thunder/tests for H100)?


Is thaliMobile's peerAvailabilityWatchers now just a plain bug? #1457

This change is

@opetkevich,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

Reviewed 3 of 6 files at r1, 1 of 2 files at r2.
Review status: 4 of 6 files reviewed at latest revision, 6 unresolved discussions.

test/www/jxcore/bv_tests/testThaliMobile.js, line 2042 at r2 (raw file):

);

test('#stop should change peers', function (t) {

This test uses only native functionality. If there is no similar test for wifi peers we should change it to check both native and wifi peers. Otherwise we can just disable it for wifi.

test/www/jxcore/bv_tests/testThaliMobile.js, line 2043 at r2 (raw file):

test('#stop should change peers', function (t) {
  var somePeerIdentifier = 'urn:uuid:' + uuid.v4();

that's an old test, peerIdentifier has a new format which is just uuid.v4(). There are also several places below with such identifiers.

test/www/jxcore/bv_tests/testThaliWifiInfrastructure.js, line 723 at r2 (raw file):

  'were received during availability timeout',
  function () {
    return !platform.isAndroid

this test is not android-only anymore

test/www/jxcore/bv_tests/testThaliWifiInfrastructure.js, line 754 at r2 (raw file):

          }

          t.notOk((peer.portNumber === null && peer.hostAddress === null), 'Peer should not be available');

Shouldn't it be t.ok instead?
NB: I prefer to check values as explicit as possible, like
t.equal(peer.portNumber, null, 'port is null');
t.equal(peer.hostAddress, null, 'host is null');

In this case when test fails you can see invalid values itself reported by tape instead of usually useless "expected: true, got: false".

test/www/jxcore/bv_tests/testThaliWifiInfrastructure.js, line 859 at r2 (raw file):

      if (spy.calledOnce) {
        t.equal(peerAvailable, true, 'peer should be available');
        testServer.stop();

testServer should not be stopped here, because stop makes it emit ssdp:byebye message which in turn makes listener emit wifiPeerAvailabilityChanged event. We're testing a different scenario here, when our wifi listener does not receive advertisement messages from some peer in a TCP_PEER_UNAVAILABILITY_THRESHOLD amount of time (it happens when peer moves out of access point range and can't send any notifications). testServer simulates such peer by emitting advertisements with adInterval much larger than our threshold. In this case after TCP_PEER_UNAVAILABILITY_THRESHOLD passes we should get artificial peerAvailabilityChanged event with host and port set to null.
Instead it receives an event caused by testServer's  "byebye" notification.

thali/NextGeneration/thaliWifiInfrastructure.js, line 763 at r2 (raw file):

ThaliWifiInfrastructure.prototype._hadlePeerAvailabilityWatchers =
function (peer) {
  if (peer.peerAvailable) {

wifi peers don't have peerAvailable field.

Comments from Reviewable

PR is added to the queue for testing as 2. task. (04701a2)

Test 110366195 (04701a2) build started.

Test (Fail) 110366195 build is completed (04701a2)
See https://github.com/ThaliTester/TestResults/tree/11036619504701a2_Is_thaliMobile_s_peerAvailabilityWatchers_now_just_a_plain_bug___1457_opetkevich/ for the logs

PR is added to the queue for testing as 1. task. (d1b7cb9)

Test 110366195 (d1b7cb9) build started.

Test (Fail) 110366195 build is completed (d1b7cb9)
See https://github.com/ThaliTester/TestResults/tree/110366195d1b7cb9_Is_thaliMobile_s_peerAvailabilityWatchers_now_just_a_plain_bug___1457_opetkevich/ for the logs

-@chapko +@opetkevich

Reviewed 1 of 6 files at r1, 1 of 3 files at r3, 2 of 2 files at r4.
Review status: all files reviewed at latest revision, 9 unresolved discussions.

test/www/jxcore/bv_tests/testThaliMobile.js, line 2058 at r4 (raw file):

        if(spy.callCount === 2) {
          t.equal(Object.getOwnPropertyNames(
            ThaliMobile._peerAvailabilities[peer.connectionType]).length, 1,

It tests only latest peer. Ideally we need to check wifi peers storage and native peers storage. connectionType of native peers depends on platform, wifi peers have its own conection type.

test/www/jxcore/bv_tests/testThaliWifiInfrastructure.js, line 859 at r2 (raw file):
Previously, chapko (Eugene Chapko) wrote…
testServer should not be stopped here, because stop makes it emit ssdp:byebye message which in turn makes listener emit wifiPeerAvailabilityChanged event. We're testing a different scenario here, when our wifi listener does not receive advertisement messages from some peer in a TCP_PEER_UNAVAILABILITY_THRESHOLD amount of time (it happens when peer moves out of access point range and can't send any notifications). testServer simulates such peer by emitting advertisements with adInterval much larger than our threshold. In this case after TCP_PEER_UNAVAILABILITY_THRESHOLD passes we should get artificial peerAvailabilityChanged event with host and port set to null.
Instead it receives an event caused by testServer's  "byebye" notification.

testServer still should be stopped at the end of the test.

test/www/jxcore/bv_tests/testThaliWifiInfrastructure.js, line 773 at r4 (raw file):

          portNumber: portNumber,
          hostAddress: '<IP_ADDRESS>',
          availableSince: Date.now()

Why this field is required? Original WifiListener does not emit it.

thali/NextGeneration/thaliWifiInfrastructure.js, line 763 at r4 (raw file):

ThaliWifiInfrastructure.prototype._hadlePeerAvailabilityWatchers =
function (peer) {
  if (Boolean(peer.hostAddress && peer.portNumber)) {

There is no need for extra boolean cast inside of if statement.

thali/NextGeneration/thaliWifiInfrastructure.js, line 787 at r4 (raw file):

  // If the time from the latest availability advertisement doesn't
  // exceed the threshold, no need to do anything.
  if (peer.availableSince + unavailabilityThreshold > now) {

Wifi peers do not have availableSince property. Right now it exists only in the ThaliMobile's cached peers.
ThaliWifiInfrastructure should have its own cache.

Comments from Reviewable

PR is added to the queue for testing as 3. task. (570cc5a)

Test 110366195 (570cc5a) build started.

Test (Fail) 110366195 build is completed (570cc5a)
See https://github.com/ThaliTester/TestResults/tree/110366195570cc5a_Is_thaliMobile_s_peerAvailabilityWatchers_now_just_a_plain_bug___1457_opetkevich/ for the logs

PR is added to the queue for testing as 2. task. (130407f)

Test 110366195 (130407f) build started.

Test (Fail) 110366195 build is completed (130407f)
See https://github.com/ThaliTester/TestResults/tree/110366195130407f_Is_thaliMobile_s_peerAvailabilityWatchers_now_just_a_plain_bug___1457_opetkevich/ for the logs

Reviewed 1 of 2 files at r5, 3 of 4 files at r6, 1 of 1 files at r7.
Review status: all files reviewed at latest revision, 2 unresolved discussions.

test/www/jxcore/bv_tests/testThaliMobile.js, line 2084 at r7 (raw file):

      };

      ThaliMobile.emitter.on('peerAvailabilityChanged', availabilityHandler);

We need to unsubscribe from this event after the test.

thali/NextGeneration/thaliWifiInfrastructure.js, line 856 at r7 (raw file):

      var assumingPeer = {
        peerIdentifier: peerIdentifier
      };

NB: _isAvailabilityWatcherForPeerExist, _watchForPeerAvailability, _addAvailabilityWatcherToPeerIfNotExist, and _removeAvailabilityWatcherFromPeerIfExists accept peer as an argument but use only peerIdentifier property. Changing its signature to accept only identifier would simplify it a bit and we can get rid of the dummy assumingPeer object.

Comments from Reviewable

PR is added to the queue for testing as 1. task. (7c2daf7)

Test 110366195 (7c2daf7) build started.

Test (Fail) 110366195 build is completed (7c2daf7)
See https://github.com/ThaliTester/TestResults/tree/1103661957c2daf7_Is_thaliMobile_s_peerAvailabilityWatchers_now_just_a_plain_bug___1457_opetkevich/ for the logs

Reviewed 2 of 2 files at r8.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Please fix my comments (nothing earth shattering) and then

Reviewed 1 of 6 files at r1, 1 of 2 files at r5, 2 of 4 files at r6, 2 of 2 files at r8.
Review status: all files reviewed at latest revision, 5 unresolved discussions, all commit checks successful.

thali/NextGeneration/thaliWifiInfrastructure.js, line 26 at r8 (raw file):

var enqueuedAtTop = common.enqueuedAtTopMethod;

var thaliMobileNativeWrapper = require('./thaliMobileNativeWrapper');

NB: It's good style for requires to all be together.

thali/NextGeneration/thaliWifiInfrastructure.js, line 774 at r8 (raw file):

};

ThaliWifiInfrastructure.prototype._hadlePeerAvailabilityWatchers =

/_hadle/_handle

thali/NextGeneration/thaliWifiInfrastructure.js, line 784 at r8 (raw file):

};

ThaliWifiInfrastructure.prototype._isAvailabilityWatcherForPeerExist =

/_is/_does/

thali/NextGeneration/thaliWifiInfrastructure.js, line 814 at r8 (raw file):

ThaliWifiInfrastructure.prototype._addAvailabilityWatcherToPeerIfNotExist =

It's best to define functions before using them. So please hoist this method and _removeAvailabilityWatcherFromPeerIfExists before they are called in the lines above.

thali/NextGeneration/thaliWifiInfrastructure.js, line 817 at r8 (raw file):

function (peerIdentifier) {
  var self = this;
  this.peerAvailabilities.timers[peerIdentifier] = Date.now();

Please follow the rule that once self is defined it is used everywhere in the function, not just in closures. So please change the 'this' to 'self'.

Comments from Reviewable

Reviewed 1 of 6 files at r1, 1 of 2 files at r5, 2 of 4 files at r6, 2 of 2 files at r8.
Review status: all files reviewed at latest revision, 5 unresolved discussions.

Comments from Reviewable

PR is added to the queue for testing as 1. task. (657239b)

Test 110366195 (657239b) build started.

Test (Fail) 110366195 build is completed (657239b)
See https://github.com/ThaliTester/TestResults/tree/110366195657239b_Is_thaliMobile_s_peerAvailabilityWatchers_now_just_a_plain_bug___1457_opetkevich/ for the logs


Use KeyInterceptorService

The IKeyInterceptor / KeyInterceptorFactory is obsolete and removed in v8.
I left some TODOs.
It's better to make all your HandleKeyDown / HandleKeyUp to be Task as for now it would be breaking change for some as it's protected. Also it would be better to use IAsyncDisposable instead of IDisposable for this components.

cc @mckaragoz

Thanks 🥇


Tuya Powerplug TS011F with metering not recognized

hello,
It looks like the TS0011F is supported according to changelog 0.2.2 but mine does not get recognized.
Producent ID:_TZ3000_gjnozsaz
Product ID: TS011F
Is it not supported (yet) or is there is difference so it is not recognized ?
Thanks in advance.
0.2.2
Added metering capability to _TZ3000_mraovvmm / TS011F (Blitzwolf)

TS011F _TZ3000_gjnozsaz interview.txt
added interview of device as mentioned on https://community.homey.app/t/app-pro-tuya-zigbee-app/26439

bought on Aliexpress
https://nl.aliexpress.com/item/1005003446740203.html?gatewayAdapt=glo2nld&spm=a2g0o.90423<IP_ADDRESS>f1d4c4dhAMBcZ

Added to next test release

Johan,
i now see it's the samen as I have posted

Hi Johan,
when is the next (test) release ?
Because I installed the Experimental app again and still no power meter on it...
Thanks,
Paul


One man spam filter

Can you elaborate on how this is supposed to work?

Can you elaborate on how this is supposed to work?

Perhaps it would store x amount of messages and match similarity to others in chat:

While this was a good idea (in my eyes at least), I don't think it's fitting for pajbot.


Adjoint curl, Nedelec elements, Delaunay-Voronoi meshes?

Dear MFEM developers
I would like to compute the adjoint curl of a vector field expanded into Nedelec basis functions, is that possible ?
Basically, I solve the Diriclet problem like this one,
(1) curl curl E - k^2 E=F
with the lowest order Nedelec elements. Then  I compute the magnetic field as
H=Const*curl E =Const * Q * A^{-1} * F = S * F,
where
Q is the matrix of curl operator,
A is the system matrix arising in (1),
S=Const * Q * A^{-1}.
Now, given some Y, I need to compute the following quantity
(2) X= adj(S) * Y = adj(Const) * adj(A^{-1}) * adj(Q) * Y,
where 'adj' stands for Hermitian conjugate.
My question is: how to compute adj(Q)=adj(curl) ?
I suspect that I will have to build the dual (Voronoi) mesh, is it correct ?
Thank you very much!

If I understand your question correctly, all the operators you have are real, so adj(Q)=Q^T. To apply the action of the transpose matrix you can use the method MultTranspose.

If I understand your question correctly, all the operators you have are real, so adj(Q)=Q^T. To apply the action of the transpose matrix you can use the method MultTranspose.

@v-dobrev
Thank you for your time!
I would like to clarify my question. Operation H=curl E can be seen as the application of a rectangular matrix Q to E, i.e. H=Q*E. I need to compute A=Q^T *B, such that <Qx,y>=<x,Q^T y> holds for any pair x,y (with proper dimension).
It seems that you recommended to modify Vector::GetCurl by transposing the shape matrix. So I outlined the function as follows. Could you please have a look at it ?
//Computing A = Q^T * B, where Q^T is the matrix of adjoint curl
//For simplicity, B is assumed real-valued

class MyGridFunction: public GridFunction
{
...
	Vector A; //<-- vector of length equal to the number of DoFs (edges)

	Vector B_x; //<-- vector of length equal to number of elements (tets)
	Vector B_y; //<-- vector of length equal to number of elements (tets)
	Vector B_z; //<-- vector of length equal to number of elements (tets)
...
	void MyGridFunction::GetCurlAdjoint(ElementTransformation &tr);
};

void MyGridFunction::GetCurlAdjoint(ElementTransformation &tr)
{

	int elNo = tr.ElementNo;
	const FiniteElement *FElem = fes->GetFE(elNo);

	// Assuming ND-type space with FElem->GetDim()=3

	Array<int> dofs;
	fes->GetElementDofs(elNo, dofs);
	DenseMatrix curl_shape(FElem->GetDof(), FElem->GetDim());
	FElem->CalcCurlShape(tr.GetIntPoint(), curl_shape);

	Vector B_loc   (FElem->GetDim());  //x,y,z
	Vector JT_B_loc(FElem->GetDim());

	//The following code contributes to all DoFs (==edges) assigned to this element

	//Extract values of 3D physical vector corresponding
	//to this element (i.e. attached to this tetrahedron)
	B_loc(0) = B_x(elNo);
	B_loc(1) = B_y(elNo);
	B_loc(2) = B_z(elNo);

	tr.Jacobian().MultTranspose(B_loc, JT_B_loc);

	Vector result(FElem->GetDof());
	curl_shape.Mult(JT_B_loc, result);
	result /= tr.Weight();

	//Adding contribution to A
	A.AddElementVector(dofs,1.0,result);

       //Complex-valued B requires some modifications
}

Hi, @Marshdweller ,
The Q operator that @v-dobrev is referring to is computed using the CurlInterpolator.  Such an operator is defined on the entire domain not just a single element.  Normally this is used to compute the curl of an H(Curl) field (i.e. expressed in terms of the Nedelec basis) and produce a result in H(Div) (i.e. expressed in terms of the Raviart-Thomas basis).  This works in a particularly nice manner because the curls of the Nedelec basis functions are contained in the space of Raviart-Thomas basis functions.
If your angle bracket notation is referring to the Euclidean inner product on an n-dimensional real space then clearly <Qx,y>=<x,Q^Ty> for all x and y of the appropriate dimensions.  However, such an inner product has no physical meaning because it ignores the relative weights associated with the different degrees of freedom due the variations in element sizes.
We'd be happy to offer more advice but I don't think we really understand what you're trying to accomplish.
Best wishes,
Mark

Dear @mlstowell and @v-dobrev
Thank you. Perhaps this is what I wanted (?). I will try this out.
"Such an operator is defined on the entire domain, not just a single element," - sure.
"...produce a result in H(Div) (i.e. expressed in terms of the Raviart-Thomas basis)" - this makes perfect sense for me
"I don't think we really understand what you're trying to accomplish" - this is a very classical task in the context of coefficient inverse problems, although FEM complicates things.
Say, we have a forward solver,
rot rot E - k*E=F,   (1)
which is formally expressed as E=F_e(k), F_e : k->E (a forward-problem operator).
Then we compute H as follows,
H=rotE,    (2)
which is formally expressed as H=F_h(k), Fh : k->H. Clearly Fh=Q(Fe).
What I am trying to do is to compute product y=adjoint(J)*x needed for optimization.
Here J=d Fh / d k (Jacobian of Fh with respect to coefficient k).
It turns out, to compute y for given x I need not only solve the adjoint of problem (1), but also to compute operator adj(Q).  This is a direct consequence of the fact that I optimize H, but the forward solver produces E (for some reason).
Regards,
M

Hi, @Marshdweller ,
Thank you.  I see now.  We have a few people here working on adjoint methods for optimization problems including @bslazarov and @jamiebramwell who may be interested as well.
Presumably you're interested in optimizing some functional  G(H(k)) which can probably be expresses as a linear or non-linear function of H.  For simplicity let's assume it's linear so that we can represent G as a LinearForm.  In this case G is just a vector of the same length as H and your J = d Fh / d k would just be given by Q d Fe / d k.  This implies that adjoint(J) = adjoint(d Fe / d k) transpose(Q) so you'l be computing (rot rot - k)^{-1} Q^T G.  There are at least three different ways to compute Q^T G but @v-dobrev 's suggestion of using Q.MultTranspose(G, QG) is certainly the easiest.
Best wishes,
Mark

@mlstowell , it is just like you wrote. I have checked  CurlInterpolator as per @v-dobrev , and it works. Thank you so much !
The minimal working example is given below for reference. I just wonder what is the other out of  the "three different ways to compute Q^T G" mentioned by Mark?
		const char * mesh_file = "../spherical_shell.mesh";
		Mesh *mesh = new Mesh(mesh_file, 1,0);

		int dim  = mesh->Dimension();
		mesh->SetAttributes();

		int nd_order = 1;//The lowest order ND elements
		int rt_order = 0;//The lowest order RT elements
		FiniteElementCollection *nd_coll = new ND_FECollection(nd_order, dim);
		FiniteElementCollection *rt_coll = new RT_FECollection(rt_order, dim);

		FiniteElementSpace *nd_fes 	= new FiniteElementSpace(mesh, nd_coll,dim );
		FiniteElementSpace *rt_fes 	= new FiniteElementSpace(mesh, rt_coll,dim );

		DiscreteLinearOperator * dlo = new DiscreteLinearOperator(nd_fes,rt_fes);

		DiscreteInterpolator * di = new CurlInterpolator;
		dlo->AddDomainInterpolator(di);
		dlo->Assemble();

		SparseMatrix &Q(dlo->SpMat());

		GridFunction x(nd_fes);
		GridFunction y(rt_fes);

		x.Randomize();
		y.Randomize();

		GridFunction Qx(rt_fes);
		GridFunction QTy(nd_fes);

		//Qx=Q*x
		Q.Mult(y,Qx);

		//QTy=Q^T * y
		Q.MultTranspose(y,QTy);

		// <Q*x,y> == <x,Q^T*y>
		double L = Qx*y;
		double R = QTy*x;

		printf("L = %.3e, R = %.3e, rerr= %.3e\n",L,R,fabs((L-R)/L));

which produces
L = 5.331e+02, R = 5.331e+02, rerr= 5.758e-15

Hi, @Marshdweller ,
The three possibilities are:

Q->MultTranspose(...);
Build transpose of Q from Q.

   SparseMatrix * QT = Transpose(Q);
   QT->Mult(...);

Build transpose of Q directly

   DiscreteInterpolator * di = new CurlInterpolator;
   TransposeInterpolator *ti = new TransposeInterpolator(*di);
   dlo->AddDomainInterpolator(ti);
   dlo->Assemble();

Note that the TransposeInterpolator class does not yet exist but it should be trivial to implement based on the TransposeIntegrator class.
Option 2 is, I think, what @v-dobrev was suggesting.  This option will probably be the most efficient if you need to use both Q and QT repeatedly within your optimization loop.  If you only need QT then option 3 would probably be most efficient and use less memory.  Option 1 is the easiest to implement and it uses less memory than option 2 but it will likely be more computationally expensive.
Best wishes,
Mark


How can I display upload or download progress bar with speed and estimated time?

Please share the code with Example.... I'm new to python.

@ashish453 there is an pCloud API method for that: https://docs.pcloud.com/methods/file/uploadprogress.html
It is not implemented yet. You have several options:

Implement it yourself and submit a pull request.
Wait until I have time and interest to implement it.
Pay me (or someone else) to implement it. My contact details are on my homepage: https://tomgross.github.io/

HI Tom - for this do you have any package or lib suggestions on how to tackle this? If you have some familiarity then maybe someone could take it on..


Add send request on Enter Key press.

#17 Added send request on Enter Key press.

Hey @reefqi037,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: c4ca9b30-c562-11e9-8712-75d78f9b457f

Hey @reefqi037,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: cc382810-c562-11e9-8712-75d78f9b457f


Add a Loading Spinner to Completion NFTs

Add an indicator of loading to the completion nfts in rewards.

see also #31


. on error

Please take a look at the documentation for this module<EMAIL_ADDRESS>And for EventTarget: https://doc.deno.land/builtin/stable#EventTarget
You're looking for .addEventListener() instead of .on()


Near endorsements

From NEAR v2.0.0 validators also need to support endorsements uptime.

Test plan:
$ env CGO_ENABLED=0 go build -o near-exporter.bin ./cmd/near_exporter
...
$ time env NEAR_RPC_ADDR=http://<IP_ADDRESS>:3030 ./near-exporter.bin
2024/08/16 08:34:39 RPC address http://<IP_ADDRESS>:3030
2024/08/16 08:34:39 Listening on :8080
...

In another shell:
$ curl -s <IP_ADDRESS>:8080/metrics | grep -i endorsements | wc -l
     412

versus
$ curl -s <IP_ADDRESS>:8080/metrics | grep -i endorsements | wc -l
       0


Bit twiddling

Do you guys want me to create a branch with my bit twiddling exercises?  I put it in the cryptol-saw-course git a while ago on gitlab.  I think it's a pretty good intro to SAW (it assumes someone is at least familiar with Cryptol).

Yes

Beat you to it! https://github.com/weaversa/cryptol-course/pull/20

Are you willing to polish them up?

Fixed the name of the Cryptol answers file, as well as changing the solver to z3.


Populate correct path for flexible sync configurations

This change makes it so we generate a path to the realm based on the app id and the user id. It generates path of the format *appConfig.basePath*/*app.id*/*user.id*/flx_sync_default.realm.
I've also removed two previously public properties: defaultPath and filesPath. The reason is that defaultPath no longer makes sense since that'll be different between different configs and filesPath is also misleading since the base path of the app is where we're storing realm files for flx sync realms. The correct way to access the path of the configuration is to just construct it and evaluate the path property.

@nirinchev I have updated to latest master and removed the Core invoke TODO.
I could not make this green cause I there is this change that hides the app.configuration here https://github.com/realm/realm-dart/commit/eaaf73480fd88946026ad99c69a8dcb9673aee45#diff-3705042816f3bd9d24304192811bed9d5104fa569a36f063a4166cfea97b845a
I am unsure why we are hiding the AppConfiguration. Imo we should be still exposing it as before. It contains useful info for the app which can be beneficial to the user at runtime. Otherwise they will need to store this themselves.
Will postpone this PR until we had a chance to discuss this here or on the meeting

@nirinchev I have updated to latest master and removed the Core invoke TODO.
I could not make this green cause I there is this change that hides the app.configuration here https://github.com/realm/realm-dart/commit/eaaf73480fd88946026ad99c69a8dcb9673aee45#diff-3705042816f3bd9d24304192811bed9d5104fa569a36f063a4166cfea97b845a
I am unsure why we are hiding the AppConfiguration. Imo we should be still exposing it as before. It contains useful info for the app which can be beneficial to the user at runtime. Otherwise they will need to store this themselves.
Will postpone this PR until we had a chance to discuss this here or on the meeting

CI failures are unrelated and will be addressed separately.


Bump log to 0.4

Failure seems unrelated

@bors-servo r+

:pushpin: Commit c2c3f3f has been approved by emilio

:hourglass: Testing commit c2c3f3f87f17652c72ec64e70581465c77b39bb2 with merge 9ab1338f9837bc24902918cde35b1585e9ee80a1...

:broken_heart: Test failed - status-travis

Same failure, I don't see how this could be related to the bump

It's a consistent failure that I filed as https://github.com/servo/gaol/issues/44.


chore(libreoffice): switch to unoconverter

Codecov Report

Merging #715 (8cfb89c) into main (143b7ce) will increase coverage by 0.06%.
The diff coverage is 50.00%.

:exclamation: Current head 8cfb89c differs from pull request most recent head 87b4cd2. Consider uploading reports for the commit 87b4cd2 to get more accurate results

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@            Coverage Diff             @@
##             main     #715      +/-   ##
==========================================
+ Coverage   93.55%   93.61%   +0.06%
==========================================
  Files          40       40
  Lines        3241     3241
==========================================
+ Hits         3032     3034       +2
+ Misses        133      132       -1
+ Partials       76       75       -1

Files
Coverage Δ

pkg/modules/libreoffice/api/api.go
96.85% <50.00%> (ø)

... and 1 file with indirect coverage changes
:mega: Codecov offers a browser extension for seamless coverage viewing on GitHub. Try it in Chrome or Firefox today!