text:
Implementation of Auto Conjugate Gradient Attack

Description
I implemented a new attack method Auto Conjugate Gradient attack proposed in "Diversified Adversarial Attacks based on Conjugate Gradient Method", ICML2022. paper link(arxiv)
This implementation works poor when the batch size is greater than or equal to 2 because the way to treat the loss and step size condition is different from the original implementation. The implementation of APGD also has the same issue, and to fix this, we have to modify the wrapper class of the threat model (e.g. PyTorchClassifier). Due to this reason, we imitate the implementation of APGD to avoid large modification.
Type of change
Please check all relevant options.

[ ] Improvement (non-breaking)
[ ] Bug fix (non-breaking)
[x] New feature (non-breaking)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] This change requires a documentation update

Testing
The test of ACG is the same to that of APGD because ACG is very similar to APGD.

[ ] Whether the attack works correctly (tests/attacks/evasion/test_auto_conjugate_gradient.py)

Test Configuration:

OS: ubuntu 22.04
Python version: 3.9.13
ART version or commit number: 11,126
TensorFlow / Keras / PyTorch / MXNet version: 2.10.1 / 2.10.0 / 1.13.1 / 1.8.0.post0

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

Hi @yamamura-k Thank you very much for contributing your attack to ART and congratulations for your ICML paper! I think your attack will be very useful for many users of ART.
What kind of changes would be required to the ART estimators to support batches of size 2 or larger with the best attack performance? Maybe we can add the required functionality.

Codecov Report

Merging #2028 (b915b03) into main (dee448d) will decrease coverage by 47.27%.
The diff coverage is 7.42%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more

@@             Coverage Diff             @@
##             main    #2028       +/-   ##
===========================================
- Coverage   75.15%   27.88%   -47.27%
===========================================
  Files         290      291        +1
  Lines       25437    25720      +283
  Branches     4573     4305      -268
===========================================
- Hits        19117     7172    -11945
- Misses       5283    18265    +12982
+ Partials     1037      283      -754

Impacted Files
Coverage Δ

art/attacks/evasion/auto_conjugate_gradient.py
7.09% <7.09%> (ø)

art/attacks/evasion/__init__.py
98.21% <100.00%> (+0.03%)
:arrow_up:

art/evaluations/evaluation.py
0.00% <0.00%> (-100.00%)
:arrow_down:

art/preprocessing/audio/__init__.py
0.00% <0.00%> (-100.00%)
:arrow_down:

art/estimators/object_detection/utils.py
0.00% <0.00%> (-100.00%)
:arrow_down:

art/evaluations/security_curve/__init__.py
0.00% <0.00%> (-100.00%)
:arrow_down:

art/preprocessing/audio/l_filter/pytorch.py
0.00% <0.00%> (-100.00%)
:arrow_down:

art/attacks/poisoning/perturbations/__init__.py
0.00% <0.00%> (-100.00%)
:arrow_down:

...essing/expectation_over_transformation/__init__.py
0.00% <0.00%> (-100.00%)
:arrow_down:

...rmation/natural_corruptions/contrast/tensorflow.py
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 196 more

What kind of changes would be required to the ART estimators to support batches of size 2 or larger with the best attack performance? Maybe we can add the required functionality.

@beat-buesser
Thank you for considering adding this feature to estimator.
In order to improve performance, we would like to calculate the condition for the step size update decision for each image. Therefore, we want to use the objective function value for each image in the batch, not the reduced (average or sum) value.

Hi @yamamura-k
The method compute_loss of the classification estimators provides an option to define the type of reduction on the loss values. Currently it is set to reduction="mean" resulting in the average loss of all samples in the batch. This option can be set to reduction="none" to return the loss for each sample separately. Would this solve the issue?

@beat-buesser Thank you for your comment. I think your suggestion can solve my problem. I misunderstood that the reduction affects the behavior of loss_gradient method. Thank you again for your suggestion.
I will fix my implementation later. Also, I can modify the implementation of auto_projected_gradient_descent.py at the same time. If this modification is helpful to you, I will modify the implementation of auto_projected_gradient_descent.py and send another pull request.

Hi @yamamura-k I think it would be amazing if you could upgrade your ACG andART's APGD attacks to account for per sample step sizes! I think you are asking important questions, this is what I think:

reduction="none" would have to be applied in line 522, 523, and 555 to get per sample losses for the algorithms of ACG and APGD

Does the loss_gradient function work when the output of the loss is not scalar?

I understand this question affects line 485 of the ACG attack and similarly APGD. You are right, the method loss_gradient calculates the gradients of the average loss of a batch. But because of the chain rules for derivatives of sum and division (averaging of the loss) the gradients backpropagated from the average loss per batch should still result in per sample gradients independent of the other samples in the batch. In addition the per sample gradients are normalized depending on the selected norm after calling loss_gradient. Based on this I think we should not require any changes to loss_gradient for ACM and upgraded APGD.

What do you think?

@beat-buesser Thank you for your comments and suggestions.

Based on this I think we should not require any changes to loss_gradient for ACM and upgraded APGD.

I understand your opinion, and basically agree with you. However, the problem is how to satisfy the following conflicting requirements.

classifier._loss should return a vector of losses to get the loss values per samples.
classifier._loss should return the averaged losses to calculate the gradient.

I think reduction="none" cannot solve this problem directly because ART classifiers assume the output of loss is averaged over the batch (e.g.  lines 843 to 856 in adversarial-robustness-toolbox/art/estimators/classification/pytorch.py). That is, the output of loss should be averaged in the definition of loss function class (like DifferenceLogitsRatioPyTorch) to calculate the gradient in the current implementation of loss_grad.

One possible solution is averaging the output of classifier._loss when the shape > (1, ) in loss_gradient function.
The code below is the example of this solution. The similar modification should be applied to the other files.

    loss = self._loss(model_outputs[-1], labels_t) #line 843 in adversarial-robustness-toolbox/art/estimators/classification/pytorch.py
    # My suggestion
    if len(loss.shape) == 1 and loss.shape[0] > 1:
            loss = loss.mean() # reduce the loss
    elif len(loss.shape) > 1:
            raise ValueError
    # !My suggestion
    # Clean gradients
    self._model.zero_grad()

    # Compute gradients
    if self._use_amp:  # pragma: no cover
        from apex import amp  # pylint: disable=E0611

        with amp.scale_loss(loss, self._optimizer) as scaled_loss:
            scaled_loss.backward()

    else:
        loss.backward()

Another possible solution is to pass the keyword argument reduction to the classifier._loss and reduce the loss value in classifier._loss according to reduction keyword. (currently, user-specified reduction is applied in compute_loss but it seems not to work because the classifier._loss returns the mean of loss value.)

These are what I'm thinking about. Would you tell me your opinion?

Hi @yamamura-k
I think your considerations are correct and important.
ART expects classifier._loss to be the reduced loss (average, sum, etc.) across the batch as a single value.
Your last proposal of passing the keyword argument reduction to the classifier._loss is a good idea and I think we are doing this already in classifier.compute_loss in lines
https://github.com/Trusted-AI/adversarial-robustness-toolbox/blob/eadbe6d545b62fcdb8eabaa7daca449c85044d43/art/estimators/classification/pytorch.py#L743-L748
where we save the original reduction option to prev_reduction and set the reduction option defined in the keyword argument with self._loss.reduction = reduction. In the next lines we revert self._loss.reduction to the original reduction option.
I have run a short test based on one of ART's example scripts which trains a PyTorchClassifier and runs/prints compute_loss with both options mean and none:
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim
import numpy as np

from art.attacks.evasion import FastGradientMethod
from art.estimators.classification import PyTorchClassifier
from art.utils import load_mnist

# Step 0: Define the neural network model, return logits instead of activation in forward method

class Net(nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        self.conv_1 = nn.Conv2d(in_channels=1, out_channels=4, kernel_size=5, stride=1)
        self.conv_2 = nn.Conv2d(in_channels=4, out_channels=10, kernel_size=5, stride=1)
        self.fc_1 = nn.Linear(in_features=4 * 4 * 10, out_features=100)
        self.fc_2 = nn.Linear(in_features=100, out_features=10)

    def forward(self, x):
        x = F.relu(self.conv_1(x))
        x = F.max_pool2d(x, 2, 2)
        x = F.relu(self.conv_2(x))
        x = F.max_pool2d(x, 2, 2)
        x = x.view(-1, 4 * 4 * 10)
        x = F.relu(self.fc_1(x))
        x = self.fc_2(x)
        return x

# Step 1: Load the MNIST dataset

(x_train, y_train), (x_test, y_test), min_pixel_value, max_pixel_value = load_mnist()

# Step 1a: Swap axes to PyTorch's NCHW format

x_train = np.transpose(x_train, (0, 3, 1, 2)).astype(np.float32)
x_test = np.transpose(x_test, (0, 3, 1, 2)).astype(np.float32)

# Step 2: Create the model

model = Net()

# Step 2a: Define the loss function and the optimizer

criterion = nn.CrossEntropyLoss()
optimizer = optim.Adam(model.parameters(), lr=0.01)

# Step 3: Create the ART classifier

classifier = PyTorchClassifier(
    model=model,
    clip_values=(min_pixel_value, max_pixel_value),
    loss=criterion,
    optimizer=optimizer,
    input_shape=(1, 28, 28),
    nb_classes=10,
)

# Step 4: Train the ART classifier

classifier.fit(x_train, y_train, batch_size=64, nb_epochs=3)

print("mean")
print(classifier.compute_loss(x=x_test[:10], y=y_test[:10], reduction="mean"))

print("none")
print(classifier.compute_loss(x=x_test[:10], y=y_test[:10], reduction="none"))

This script should print something like
mean
0.011778888
none
[ 7.0333235e-06  1.9073468e-06  2.7418098e-06  1.0013530e-05
  1.1394425e-02 -0.0000000e+00  2.2188823e-03  2.7656173e-05
  1.0411299e-01  1.3232144e-05]

Would this provide the required loss values for ACG attack?

@beat-buesser Thank you for your explanation about the functionality of ART. I think the explained functionality satisfies my requirements. Then I will try my second proposal and push the commits later.

@beat-buesser I modified the implementation of ACG and APGD to enable the image-wise stepsize updates in this pull request. If you need any help, please tell me. Thank you for your patience and valuable comments and suggestions.

Hi @yamamura-k Thank you very much! This is really great news about the performance.
Some of the code style checks above are raising warnings (https://github.com/Trusted-AI/adversarial-robustness-toolbox/actions/runs/4213637617/jobs/7332433821). I think a lot of the warnings can be automatically taken care of by running black --line-length 120 art/ and black --line-length 120 tests/ using Black formatter version (black==21.12b0, https://github.com/psf/black). Could you please run these two commands and push the changes in art/ and tests/?

Hi @yamamura-k Thank you very much for the format updates! May I ask you for a few additional updates to make the tests pass? I will provide code suggestions where possible.

I think the new test module had an effect on the randomness in some tests. Could you please in file tests/attacks/evasion/test_shadow_attack.py:62 change the expected value from 0.38116083 to 0.31463563?

@yamamura-k I have added a few code change suggestions to make the style checks pass. Don't worry, it looks like more than it is, most changes are about variable naming conventions. Could you please take a look and let me know if you have questions?

@beat-buesser Thanks for the code review. I have replied individually to the comments you want to ask about. As for the other changes, I will push them after modifying them locally, is that ok?

@yamamura-k Thank you very much. Let me answer your questions in the threads above.

I will push them after modifying them locally, is that ok?
Yes, that's ok.

@yamamura-k Your updates have fixed the errors for TensorFlow v1, but it seems it encountered a different issue later in the code of ACG:
>                       self.f_max[f1_ge_f0] = f_1_tmp.copy()
E                       TypeError: 'numpy.float32' object does not support item assignment

art/attacks/evasion/auto_conjugate_gradient.py:597: TypeError

If you think you can easily fix this TypeError for TensorFlow v1 then please add it to the pull request, but I don't want you to spend too much time on this issue because almost all users will use the attack with TensorFlow v2 and we can easily limit support of the attack to TensorFlow v2 only. Please let me know what you prefer.

@yamamura-k You can see the remaining warnings of the Style Check test here: https://github.com/Trusted-AI/adversarial-robustness-toolbox/actions/runs/4238593122/jobs/7373807215
Many of the remaining items can be solved by running black again or explain themselves.
I think the warnings raised by mypy might require the biggest change. Would it be possible to initialize the variables gradk_1 and cgradk_1 in lines 537/538 as numpy.ndarray of the same shape as x and filled with 0? And add similar initialization for gradk_1_tmp and cgradk_1_tmp? That way mypy definitely know that these are arrays.

Your updates have fixed the errors for TensorFlow v1, but it seems it encountered a different issue later in the code of ACG:

@beat-buesser I think it is not a difficult problem either, but would prefer to limit support to tensorflow v2 because I am not familiar with tensorflowv 1 and I believe it will take some time to solve the problem.

Hi @yamamura-k Thank  you very much! I have made 3 code suggestions above that should make not supporting TensorFlow v1 explicit. Could you please add these changes? I think after this the pull request should be ready for a final review.

@beat-buesser Thank you for your suggestions. I changed the codes following your comments and pushed them.

Hi @yamamura-k Thank you very much for updating your code! I think we are get close to finish. Mypy raised new warnings after the recent changes, I would propose the changes above to fix the mypy warnings. What do you think?

@yamamura-k The score is still 10.0 but only because of the large number of lines of code in ART. I would like to propose the changes below to fix the style check.

Hi @yamamura-k I think the proposed changes above should fix the style checks. What do you think?

Hi @beat-buesser, the codes changed by your suggestion fix the style checks, and no new warnings are raised. Thank you so much!

Hi @yamamura-k Thank you very much for contributing your attack Auto Conjugate Gradient Attack (ICML 2022) to ART! It will be part of ART 1.14!

@beat-buesser Thank you very much for your patience in working with me to modify the code!


text:
Dispatch event to root only if the key combo is registered as shortcut

Closes TryGhost/Ghost#12294.
Cache registered shortcuts and check KeyboardEvent before dispatching event to the root.
Fixed the bug introduced with TryGhost/Ghost-Admin#1707.
I wish there were a way to test ctrl+v event. But unfortunately, native events are not executed by triggering event in the acceptance tests.

Got some code for us? Awesome 🎊!
Please include a description of your change & check your PR against this list, thanks!

[x] There's a clear use-case for this code change
[x] Commit message has a short title & references relevant issues
[x] The build will pass (run ember test from the repo root - will be core/client if working from the submodule in Ghost).

More info can be found by clicking the "guidelines for contributing" link above.

@sainthkh Thank you for this PR! I apologise for the delay but this is on my list to review ASAP.

Hey @sainthkh 👋 So sorry this was left for such a long time. I've tested and it works for the main use-case of copy/paste in the post tags input, thanks! 🎉
I'm going to merge but just wanted to note two concerns for future reference:

we're trying to move away from keymaster and the shortcuts mixins, replacing all shortcut handling with ember-keyboard so there may be some places where we use the token input where there aren't any keymaster shortcuts registered
the shortcuts cache util doesn't take the keymaster scope into account so it's possible there are some edge cases where it doesn't quite work as expected

Thanks again for the contribution 😊

source: gharchive/pull-request

authors: ErisDS kevinansfield sainthkh

repo: TryGhost/Admin

license: MIT

license_type: permissive

license_source: github-api


text:
Microformats 2 supprt

There's a pull request at https://github.com/TryGhost/Casper/pull/29 regarding MF2 support in casper, but it was rejected on the basis of MF2 being something undevelped. Three years down the line, I'm wondering if you'd accept that or an updated PR to support MF2 and Indieweb bits?

We've since adopted automatic microformats support in Ghost core via JSON+LD, which we went for because it's abstracted away from the theme and so "just works" everywhere :)

That's excellent news, but at the moment https://john.onolan.org/en-route-to-mauritius/ isn't validating for the basics of microformats2 h-entry classnames (e-content, p-name, dt-published, u-url - see http://microformats.org/wiki/h-entry for the extended bits) or author (p-author h-card and/or rel=author - see http://microformats.org/wiki/h-card). In addition, the https://john.onolan.org/ doesn't support h-card.
I can submit issues to core for this, if that's preferred and/or attempt to generate a PR for you. I just thought I'd check on this issue before I start.

Sorry, I should have been more clear: We're using the schema.org specification via JSON+LD. The output of which is valid, and can be verified here: https://search.google.com/structured-data/testing-tool/u/0/#url=https%3A%2F%2Fjohn.onolan.org%2Fen-route-to-mauritius%2F
At the moment we still don't think that the microformats2 approach is the right way to go or will offer significant benefits beyond our existing structured data -- particularly at the cost of a significant amount of additional clutter in the HTML

Schema isn't microformats. There is no public parser for it, just some opaque stuff at Google. The supposed clutter is much terser than schema. See http://www.kevinmarks.com/microformatschema.html

I also wonder if you'd rethink the view that there's a lot of clutter if you have a moment to look at PR #29 again? There's a total of 46 added characters to index.hbs and 91 characters to post.hbs, so it isn't what I'd call particularly heavy (although I appreciate you might want a new PR focussed on the core rather than the theme).

You're (both) very welcome to add microformats 1/2/any-other to your themes, but this isn't something we're going to include in the default theme at the moment. I have no opinion on any politics RE schema-vs-microformats other than that schema has a concrete use-case and benefit which justifies its inclusion :)

source: gharchive/issue

authors: JohnONolan jaduncan kevinmarks

repo: TryGhost/Casper

license: mit

license_source: bigquery


text:
Post image max-width is greater than container and/or off-center

Meaning larger images display like this...

And on mobile device like the iPhone the image is to big.
As result yo can not see the edges

Hey @stoqe! Would you mind providing more information about this? When I upload a large image, it's never larger than the parent container and stays within the max-width of 1040px. It's also centered for me.
@shadowframe I can confirm this behaviour on mobile. Not sure if this is intended, cc @JohnONolan?

I am able to reproduce this, when I'm running Casper 2.0 on Ghost 0.11.11, but not on Ghost 1.0

ghost 1.0

@stoqe Casper 2.0 is not supported on Ghost LTS. If you want to use the new design you'll need to use Ghost 1.0. Compatibility is specified in package.json
@shadowframe That is a completely different bug (please open a separate issue next time) - but it should now be fixed in master :) thanks for reporting, that was an ugly one!

authors: AileenCGN JohnONolan shadowframe stoqe


text:
Ghost log timestamps are always in UTC regardless of system timezone

Issue Summary
A typical Ghost use case is to configure the logging transports to stdout or file. These transports lack automatic timestamp conversion based on the operator's timezone. Even in this case, it would be nice to be able to view the logs in local time instead of UTC without the bunyan CLI. (e.g., use journalctl, tail, grep)
Share my workaround:
Changed @tryghost/logger's GhostLogger to use timestamps based on the system timezone.
diff --git a/packages/logging/lib/GhostLogger.js b/packages/logging/lib/GhostLogger.js
index b794a1c..315efdf 100644
--- a/packages/logging/lib/GhostLogger.js
+++ b/packages/logging/lib/GhostLogger.js
@@ -497,6 +497,11 @@ class GhostLogger {
             }
         });

+        // Force using zoned datetime instead of UTC datetime
+        let currentDate = new Date();
+        currentDate.setMinutes(currentDate.getMinutes() - currentDate.getTimezoneOffset());
+        modifiedObject["time"] = currentDate.toISOString();
+
         if (!isEmpty(modifiedObject)) {
             if (modifiedObject.err) {
                 modifiedMessages.push(modifiedObject.err.message);

Related Issues:

https://github.com/TryGhost/Ghost/issues/7116
https://github.com/trentm/node-bunyan/issues/103

Steps to Reproduce

Boot Ghost.
A startup messages are logged with UTC timestamps, regardless of system timezone.

Note: Alpine based images have no zoneinfo and ignore the TZ environment variable, so you should use Debian based images.
Ghost Version
5.7.0
Node.js Version
v16.16.0
How did you install Ghost?
Docker official Ghost image on Ubuntu Server 22.04 LTS
Database type
MySQL 8
Browser & OS version
No response
Relevant log / error output
[2022-08-06 15:54:21] INFO Ghost is running in production...
[2022-08-06 15:54:21] INFO Your site is now available on https://[[masked]]/
[2022-08-06 15:54:21] INFO Ctrl+C to shut down
[2022-08-06 15:54:21] INFO Ghost server started in 0.265s
[2022-08-06 15:54:21] INFO Database is in a ready state.
[2022-08-06 15:54:21] INFO Ghost database ready in 0.367s
[2022-08-06 15:54:22] WARN Theme translations file locales/ja.json not found.
[2022-08-06 15:54:22] WARN Theme translations falling back to locales/en.json.
[2022-08-06 15:54:22] INFO Ghost booted in 1.146s
[2022-08-06 15:54:22] INFO Adding offloaded job to the queue
[2022-08-06 15:54:22] INFO Scheduling job update-check at 43 11 21 * * *. Next run on: Sun Aug 07 2022 21:11:43 GMT+0900 (Japan Standard Time)
[2022-08-06 15:54:22] INFO Ghost URL Service Ready in 1.43s

Code of Conduct

[X] I agree to be friendly and polite to people in this repository

Hey there, thank you so much for the detailed bug report.
That does look like something that shouldn't happen! A PR to fix this issue would be very welcome 🙂

repo: TryGhost/Ghost


text:
Search Function does not work due to CORS access control

Issue Summary
I use docker ghost 5.17.2 version from https://hub.docker.com/_/ghost. The built-in search is not work due to CORS access control checks. I do not use ghost as a CMS. Instead, I use the casper theme. I think that this bug is caused due to CORS access control policy, so where could I specify the Access-Control-Allow-Origin in HTTP request in the backend.
Steps to Reproduce

Click search button on website
No response
Open Developer Tools
Logs provided as follow

Ghost Version
5.17.2
Node.js Version
16.17.1
How did you install Ghost?
Docker run on Ubuntu Linux
Database type
SQLite3
Browser & OS version
No response
Relevant log / error output
[Error] Preflight response is not successful. Status code: 301
[Error] XMLHttpRequest cannot load https://aspires.cc/ghost/api/content/posts/?key=87e71ee411e5a336cff00b0906&limit=10000&fields=id%2Cslug%2Ctitle%2Cexcerpt%2Curl%2Cupdated_at%2Cvisibility&order=updated_at%20DESC due to access control checks.
[Error] Failed to load resource: Preflight response is not successful. Status code: 301 (posts, line 0)
[Error] Unhandled Promise Rejection: AxiosError: Network Error
	dispatchException (sodo-search.min.js:2:254618)
	(anonymous function) (sodo-search.min.js:2:250803)
	v (sodo-search.min.js:2:256363)
	a (sodo-search.min.js:2:256603)
	promiseReactionJob

Code of Conduct

[X] I agree to be friendly and polite to people in this repository

The search function is working as expected on all standard setups.

I do not use ghost as a CMS. Instead, I use the casper theme.

I couldn't make sense of what you mean by this. Can you explain more about your setup? Particularly everything to do with your domain/url configuration.

I deployed Ghost using docker deploy command: docker run -d --name some-ghost -e NODE_ENV=development -p 80:2368 -v /var/www/aspires:/var/lib/ghost/content -e url=https://aspires.cc ghost with nothing changed inside the docker container. However, the search function does not work. The error log (from web debugger) is displayed below.

PS. I use Cloudflare to proxy my domain's DNS server, I don't know if this make the problem

This doesn't seem like a bug in Ghost. You shouldn't be deploying Ghost in development onto a production site - although I doubt that's the problem. You can get help with docker from the docker community that maintains the docker image for Ghost or from our forum. Forum is probably best to solve this specific issue as it's likely cloudflare.


text:
Controller framework options

This adds two new config properties to API controllers
serialisationBeforeValidation
The first is serialisationBeforeValidation and runs the serialization layer before validation - it is global for a controller.
usage
// core/server/api/v2/admin/things.js
module.exports = {
  docName: 'thing',
  serialisationBeforeValidation: true,
  add: {
    data: ['someProperty'],
    validations: {data: {someProperty: {required: true}}},
    query({data}) {
      doSummin(data.someProperty);
    }
  }
};

But data in the POST request looks like
{
  "things": [{
    "someProperty": "awesome",
    "anotherProperty": "wicked-cool"
  }]
}

So we can write a serializer...
// core/server/api/v2/utils/serializers/input/things.js
module.exports = {
  add(apiConfig, frame) {
    frame.data = frame.data.things[0];
  }
};

To me this makes a lot more sense, as serialization moves data into a "common" format, which makes it a lot easier to validations. For example, if we were to move to a json-data structure like
{
  "data": [{
    "type": "thing",
    "id": 1,
    "attributes": {
      "someProperty": "awesome",
      "anotherProperty": "wicked-cool"
    }
  }]
}

Then we could just write a different serializer (which could probably be shared between most resources, seeing as we use a common format for most things (everything). And all validations that we've written can stay the same.
It is worth noting that none of the global validators will work currently because they receive pre-serialized input.
disableGlobalValidator
Currently if we add any form of validation - we will automatically lose out on the global validation defined in ghost, for example:
module.exports = {
  docName: 'whatever',
  add: {
    data: ['slug'],
    validation: {slug: {required: true}}}
};

This will add the validation of making sure there is a slug property - however it will no longer check if that slug is a slug as defined by ghost.
This addition would change functionality by making that validation run by default.
However it adds the new property if you want the current behaviour (which most of the time you don't)
module.exports = {
  docName: 'whatever',
  add: {
    data: ['slug'],
    validation: {slug: {required: true, disableGlobalValidator: true}}}
};

This now makes it very explicit that we do not want to validate the slug property as if it is a slug.

As discussed with @kirrg001 - She has some changes that alleviate the problems fixed by serialisationBeforeValidation - Will remove that commit :+1:

@kirrg001 I've updated with a test that fails without these changes


text:
Question regarding receiving events from Android device

Good day @Tryanks !
Thanks to your code I was able to send touchscreen HID events to my old Sony Xperia Z1 Compact Android phone.
The phone is currently locked and cannot use ADB to interact with the phone.
I am trying to unlock my phone using PIN combinations, as I forgot what the PIN was.
This is the report descriptor I have used
var Touchscreen5 = []byte{
	0x05, 0x0D,        // Usage Page (Digitizer)
	0x09, 0x02,        // Usage (Pen)
	0xA1, 0x01,        // Collection (Application)
	0x09, 0x20,        //   Usage (Stylus)
	0xA1, 0x00,        //   Collection (Physical)
	0x09, 0x42,        //     Usage (Tip Switch)
	0x09, 0x32,        //     Usage (In Range)
	0x15, 0x00,        //     Logical Minimum (0)
	0x25, 0x01,        //     Logical Maximum (1)
	0x75, 0x01,        //     Report Size (1)
	0x95, 0x02,        //     Report Count (2)
	0x81, 0x02,        //     Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
	0x75, 0x01,        //     Report Size (1)
	0x95, 0x06,        //     Report Count (6)
	0x81, 0x01,        //     Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
	0x05, 0x01,        //     Usage Page (Generic Desktop Ctrls)
	0x09, 0x01,        //     Usage (Pointer)
	0xA1, 0x00,        //     Collection (Physical)
	0x09, 0x30,        //       Usage (X)
	0x09, 0x31,        //       Usage (Y)
	0x16, 0x00, 0x00,  //       Logical Minimum (0)
	0x26, 0x10, 0x27,  //       Logical Maximum (10000)
	0x36, 0x00, 0x00,  //       Physical Minimum (0)
	0x46, 0x10, 0x27,  //       Physical Maximum (10000)
	0x66, 0x00, 0x00,  //       Unit (None)
	0x75, 0x10,        //       Report Size (16)
	0x95, 0x02,        //       Report Count (2)
	0x81, 0x02,        //       Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
	0x91, 0x02,        //       Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
	0x95, 0x03,        //       Report Count (3)
	0x91, 0x02,        //       Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
	0xC0,              //     End Collection
	0xC0,              //   End Collection
	0xC0,              // End Collection

	// 70 bytes

}

This is a long shot as there are not much documentation out there.
Question to you is if there are any way to receive HID report events in case there were incorrect/correct PIN entered or HID event did not emulate a key press correctly?
Currently my implementation works 80% of the time and have cases where a key press does not happen and difficult to implement some error handling when a key press does not happen.

Hello!
In my use cases over the past few months, I have not encountered a situation where a HID event did not occur. Sometimes, this is accompanied by console output libusb: pipe error, but this does not result in failure to send this event.
I can update the code to trap and callback for pipe error from libusb, but as a validation, some information is needed: are you getting pipe error in the console when the HID event send fails?

Hi,
I don't get any pipe error while executing my script.
I can confirm that handle_events: error: libusb: interrupted [code -10] does not have any effect on the HID event being sent.
I have uploaded my code here https://github.com/jeanbritz/go-android-bruteforce-pin
I will reply with a video clip soon to illustrate the problem I have.

I've checked your code implementation.
It looks like you are using a stylus or an absolutely positioned mouse rather than a touchscreen implementation.
For your question, there is no way to get HID Report or PIN Report from USB, because in AOAv2, HID is a one-way protocol.
You can try the built-in descriptor accessory.TouchscreenReportDesc, the protocol format is as follows:
The length of a touch event is 6 bytes.
- `byte 0`: 0x01 | 0x00 (Press | Release)
- `byte 1`: Reserved (0x00)
- `byte 2-3`: The abscissa of the touch point (0-32767)
- `byte 4-5`: The ordinate of the touch point (0-32767)

In my use case it works 100% of the time.
If you have any more questions, please feel free to let me know :)

Hi @Tryanks,
Thanks for your feedback on HID and AOAv2! Appreciate it.
I did not use the accessory.TouchscreenReportDesc because I did not understand how to calculate the touch point positions.
I have found using a mouse pointer easier as it allows you to give absolute positions on the screen and then use the stylus to do the pressing for me.
Currently my implementation works for me now 👍

authors: Tryanks jeanbritz

repo: Tryanks/go-accessoryhid


text:
fix(deployment): avoid running rcon-cli if RCON not enabled

Motivations
Avoid running rcon-cli in cases where RCON is disabled
Modifications

Doesn't set AdminPassword (which is the rcon password in the palworld config) when RCON is disabled
Avoids creating an rcon secret
uses a minimal daily reboot script that doesn't use rcon
uses a minimal Role for the newly-limited daily reboot
avoids running rcon-cli save on lifecycle exit

Will rebase after #11

Yeah I'm thinking exec_container_cmd backup should be ran even with rcon disabled since the container will handle non-rcon situations correctly


text:
Hack

I am a hacker
That's it

Mey I coming

![Uploading IMG_20220414_180119.jpg…]()

repo: Txxd/Suraj-bhujel-

license: Unlicense


text:
Add source-code inline

How much work would be required to add the source-code as optional output in the module? It would make the generated HTML a lot more beneficial for what we're doing in house...
If it's not too much work, I might try my hand at adding that support,

Hi Bryan, nice to hear from you. TypeDoc uses the TypeScript compiler to extract documentation data from the source files, the compiler metadata also contains the position and length of declarations in the source files. I did a quick test and it seems pretty straight forward. However, this data is pretty "dirty", the compiler sees the beginning of a declaration right after the end of the previous one, the snippet often contains undesired brackets, newlines and comments.
We are currently working on version 0.2 of TypeDoc which will introduce support for TypeScript 1.1/1.3. I'll check back on this feature after 0.2 release.

:+1:

For github projects TypeDoc supports linking to source code. If you want additional code snippets in documentation, the simplest option is to use code fences.
/**
 * The below will be a block of code
 * ```typescript
 * function toBeDocumented() {
 *   return Math.random();
 * }
 * ```
 */
function toBeDocumented() {
  return Math.random();
}

I don't anticipate this being added to TypeDoc anytime so l so I will close the issue. If someone is looking for this feature, I would suggest looking into creating a plugin. If you are successful, please share.

This would be very useful for (sort of) literate programming and writing specifications-as-tests

FYI https://www.npmjs.com/package/typedoc-plugin-inline-sources

authors: Chowarmaan Luca-spopo aciccarello bryanrideshark sebastian-lenz tgreyuk

repo: TypeStrong/typedoc


text:
"Inject media tags" is disabled but title (bitrate of audio stream) is still injected into final file

Version
v1.10.11
Platform
Windows
Steps to reproduce

Set "Inject media tags" to disabled.
Download any video as ogg file (i tested it with https://www.youtube.com/watch?v=MkNeIUgNPQ8 ).

The bitrate of the audio stream is set as title:

ffmpeg version 6.1.1-essentials_build-www.gyan.dev
...
Input #0, ogg, from 'Adventures – A Himitsu (No Copyright Music).ogg':
  Duration: 00:03:44.44, start: 0.004333, bitrate: 107 kb/s
  Stream #0:0(eng): Audio: vorbis, 48000 Hz, stereo, fltp, 112 kb/s
    Metadata:
      title           : 150,24 Kbit/s
      encoder         : Lavc60.31.102 libvorbis

Details
The problem is likely related to
https://github.com/Tyrrrz/YoutubeExplode/blob/ac779eabc18b5a300bce6eb459352bb1f3415b3e/YoutubeExplode.Converter/Converter.cs#L121
and other lines that set the title.
For me this code looks like something that was left over from debugging and I think that it should be removed.
The problem does not occur when downloading in as mp3:
ffmpeg version 6.1.1-essentials_build-www.gyan.dev
...
Input #0, mp3, from 'Adventures – A Himitsu (No Copyright Music).mp3':
  Metadata:
    encoder         : Lavf60.16.100
  Duration: 00:03:44.47, start: 0.023021, bitrate: 160 kb/s
  Stream #0:0: Audio: mp3, 48000 Hz, stereo, fltp, 160 kb/s
    Metadata:
      encoder         : Lavc60.31

However the title was still set before inside the code

for further comparison here the ogg version:

Checklist

[X] I have looked through existing issues to make sure that this bug has not been reported before
[X] I have provided a descriptive title for this issue
[X] I have made sure that this bug is reproducible on the latest version of the application
[X] I have provided all the information needed to reproduce this bug as efficiently as possible
[ ] I have sponsored this project

Perhaps a bit confusing, but "inject media tags" refers to injecting YouTube video-related metadata (title, description, author, etc.), as well as artist tags (if downloading an audio file).
Metadata related to audio/video streams and caption tracks is always injected if the media container supports it.

authors: Tyrrrz litetex

repo: Tyrrrz/YoutubeDownloader


text:
API for creating report on constraints

The function search_for_dna_sequences creates reports of constraint violations as part of the search.
It would be good to expose an API for a user to create such reports on their own, without conducting a search.

Release notes
API for creating report on constraints
The function create_report was added to dsd.search.

repo: UC-Davis-molecular-computing/dsd


text:
illegal design error when making domains overlap

Looks like domains can be created like this:

When this happens, no error is immediately thrown, but when reloading the page, this message appears:

Click to show
******************
* illegal design *
******************

The design has the following problem:

two domains overlap on helix 1:
Domain {
  helix=1,
  forward=true,
  start=0,
  end=8,
  deletions=[],
  insertions=[],
  is_first=true,
  is_last=true,
  is_scaffold=false,
  strand_id=strand-H1-0-forward,
  unused_fields={},
}
  and
Domain {
  helix=1,
  forward=true,
  start=1,
  end=7,
  deletions=[],
  insertions=[],
  is_first=true,
  is_last=true,
  is_scaffold=false,
  strand_id=strand-H1-1-forward,
  unused_fields={},
}
  but have the same direction

**********************************************************************************
* If you believe this is due to a bug in scadnano, please file a bug report at   *
*   https://github.com/UC-Davis-molecular-computing/scadnano/issues              *
* Include this entire message in the email.                                      *
**********************************************************************************

stack trace:
dart:sdk_internal 4850:11                                                            throw_
package:scadnano/src/state/design.dart 1483:15                                       check_strands_overlap_legally
package:scadnano/src/state/design.dart 1366:5                                        [_check_legal_design]
package:scadnano/src/state/design.dart 120:11                                        new
package:scadnano/src/state/design.dart 1303:12                                       from_json
package:scadnano/src/state/design.dart 1254:19                                       from_json_str
package:scadnano/src/reducers/load_dna_file_reducer.dart 25:29                       load_dna_file_reducer$
package:scadnano/src/reducers/app_state_reducer.dart 21:12                           app_state_reducer$
package:redux_dev_tools/src/state.dart 38:17                                         fromApp
package:redux_dev_tools/src/reducer.dart 31:20                                       call
package:redux/src/store.dart 235:28                                                  <fn>
package:redux_dev_tools/src/middleware.dart 35:20                                    <fn>
package:over_react/src/over_react_redux/devtools/middleware.dart 176:9               call
package:redux_dev_tools/src/middleware.dart 39:25                                    call
package:redux/src/store.dart 255:43                                                  <fn>
package:redux_dev_tools/src/middleware.dart 35:20                                    <fn>
package:scadnano/src/middleware/oxdna_export.dart 48:7                               oxdna_export_middleware
package:redux_dev_tools/src/middleware.dart 39:25                                    call
package:redux/src/store.dart 255:43                                                  <fn>
package:redux_dev_tools/src/middleware.dart 35:20                                    <fn>
package:scadnano/src/middleware/zoom_speed.dart 15:7                                 zoom_speed_middleware
package:redux_dev_tools/src/middleware.dart 39:25                                    call
package:redux/src/store.dart 255:43                                                  <fn>
package:redux_dev_tools/src/middleware.dart 35:20                                    <fn>
package:scadnano/src/middleware/system_clipboard.dart 38:9                           system_clipboard_middleware
package:redux_dev_tools/src/middleware.dart 39:25                                    call
package:redux/src/store.dart 255:43                                                  <fn>
package:redux_dev_tools/src/middleware.dart 35:20                                    <fn>
package:scadnano/src/middleware/autostaple_and_autobreak.dart 20:9                   autostaple_and_autobreak_middleware
package:redux_dev_tools/src/middleware.dart 39:25                                    call
package:redux/src/store.dart 255:43                                                  <fn>
package:redux_dev_tools/src/middleware.dart 35:20                                    <fn>
package:scadnano/src/middleware/periodic_save_design_local_storage.dart 14:7         periodic_design_save_local_storage_middleware
package:redux_dev_tools/src/middleware.dart 39:25                                    call
package:redux/src/store.dart 255:43                                                  <fn>
package:redux_dev_tools/src/middleware.dart 35:20                                    <fn>
package:scadnano/src/middleware/edit_select_mode_change.dart 32:7                    edit_select_mode_change_middleware
package:redux_dev_tools/src/middleware.dart 39:25                                    call
package:redux/src/store.dart 255:43                                                  <fn>
package:redux_dev_tools/src/middleware.dart 35:20                                    <fn>
package:scadnano/src/middleware/check_mirror_strands_legal.dart 59:9                 check_reflect_strands_legal_middleware
package:redux_dev_tools/src/middleware.dart 39:25                                    call
package:redux/src/store.dart 255:43                                                  <fn>
package:redux_dev_tools/src/middleware.dart 35:20                                    <fn>
package:scadnano/src/middleware/invalidate_png.dart 14:7                             invalidate_png_middleware
package:redux_dev_tools/src/middleware.dart 39:25                                    call
package:redux/src/store.dart 255:43                                                  <fn>
package:redux_dev_tools/src/middleware.dart 35:20                                    <fn>
package:scadnano/src/middleware/adjust_grid_position.dart 14:9                       adjust_grid_position_middleware
package:redux_dev_tools/src/middleware.dart 39:25                                    call
package:redux/src/store.dart 255:43                                                  <fn>
package:redux_dev_tools/src/middleware.dart 35:20                                    <fn>
package:scadnano/src/middleware/insertion_deletion_batching.dart 38:9                insertion_deletion_batching_middleware
package:redux_dev_tools/src/middleware.dart 39:25                                    call
package:redux/src/store.dart 255:43                                                  <fn>
package:redux_dev_tools/src/middleware.dart 35:20                                    <fn>
package:scadnano/src/middleware/selections_intersect_box_compute.dart 78:9           selections_intersect_box_compute_middleware
package:redux_dev_tools/src/middleware.dart 39:25                                    call
package:redux/src/store.dart 255:43                                                  <fn>
package:redux_dev_tools/src/middleware.dart 35:20                                    <fn>
package:scadnano/src/middleware/reselect_moved_domains.dart 68:9                     reselect_moved_domains_middleware
package:redux_dev_tools/src/middleware.dart 39:25                                    call
package:redux/src/store.dart 255:43                                                  <fn>
package:redux_dev_tools/src/middleware.dart 35:20                                    <fn>
package:scadnano/src/middleware/reselect_moved_copied_strands.dart 73:9              reselect_moved_copied_strands_middleware
package:redux_dev_tools/src/middleware.dart 39:25                                    call
package:redux/src/store.dart 255:43                                                  <fn>
package:redux_dev_tools/src/middleware.dart 35:20                                    <fn>
package:scadnano/src/middleware/reselect_moved_dna_extension_ends.dart 39:9          reselect_moved_dna_extension_ends_middleware
package:redux_dev_tools/src/middleware.dart 39:25                                    call
package:redux/src/store.dart 255:43                                                  <fn>
package:redux_dev_tools/src/middleware.dart 35:20                                    <fn>
package:scadnano/src/middleware/reselect_moved_dna_ends.dart 38:9                    reselect_moved_dna_ends_middleware
package:redux_dev_tools/src/middleware.dart 39:25                                    call
package:redux/src/store.dart 255:43                                                  <fn>
package:redux_dev_tools/src/middleware.dart 35:20                                    <fn>
package:scadnano/src/middleware/export_dna_sequences.dart 11:7                       export_dna_sequences_middleware
package:redux_dev_tools/src/middleware.dart 39:25                                    call
package:redux/src/store.dart 255:43                                                  <fn>
package:redux_dev_tools/src/middleware.dart 35:20                                    <fn>
package:scadnano/src/middleware/dna_extensions_move_start.dart 76:9                  dna_extensions_move_start_middleware
package:redux_dev_tools/src/middleware.dart 39:25                                    call
package:redux/src/store.dart 255:43                                                  <fn>
package:redux_dev_tools/src/middleware.dart 35:20                                    <fn>
package:scadnano/src/middleware/dna_ends_move_start.dart 48:9                        dna_ends_move_start_middleware
package:redux_dev_tools/src/middleware.dart 39:25                                    call
package:redux/src/store.dart 255:43                                                  <fn>
package:redux_dev_tools/src/middleware.dart 35:20                                    <fn>
package:scadnano/src/middleware/helices_positions_set_based_on_crossovers.dart 29:7  helix_positions_set_based_on_crossovers_middleware
package:redux_dev_tools/src/middleware.dart 39:25                                    call
package:redux/src/store.dart 255:43                                                  <fn>
package:redux_dev_tools/src/middleware.dart 35:20                                    <fn>
package:scadnano/src/middleware/helix_hide_all.dart 10:7                             helix_hide_all_middleware
package:redux_dev_tools/src/middleware.dart 39:25                                    call
package:redux/src/store.dart 255:43                                                  <fn>
package:redux_dev_tools/src/middleware.dart 35:20                                    <fn>
package:scadnano/src/middleware/helix_grid_change.dart 51:7                          helix_grid_offsets_middleware
package:redux_dev_tools/src/middleware.dart 39:25                                    call
package:redux/src/store.dart 255:43                                                  <fn>
package:redux_dev_tools/src/middleware.dart 35:20                                    <fn>
package:scadnano/src/middleware/helix_idxs_change.dart 52:7                          helix_idxs_change_middleware
package:redux_dev_tools/src/middleware.dart 39:25                                    call
package:redux/src/store.dart 255:43                                                  <fn>
package:redux_dev_tools/src/middleware.dart 35:20                                    <fn>
package:scadnano/src/middleware/helix_offsets_change.dart 50:7                       helix_change_offsets_middleware
package:redux_dev_tools/src/middleware.dart 39:25                                    call
package:redux/src/store.dart 255:43                                                  <fn>
package:redux_dev_tools/src/middleware.dart 35:20                                    <fn>
package:scadnano/src/middleware/helix_group_move_start.dart 42:9                     helix_group_move_start_middleware
package:redux_dev_tools/src/middleware.dart 39:25                                    call
package:redux/src/store.dart 255:43                                                  <fn>
package:redux_dev_tools/src/middleware.dart 35:20                                    <fn>
package:scadnano/src/middleware/group_remove.dart 27:9                               group_remove_middleware
package:redux_dev_tools/src/middleware.dart 39:25                                    call
package:redux/src/store.dart 255:43                                                  <fn>
package:redux_dev_tools/src/middleware.dart 35:20                                    <fn>
package:scadnano/src/middleware/helix_remove.dart 45:7                               helix_remove_middleware
package:redux_dev_tools/src/middleware.dart 39:25                                    call
package:redux/src/store.dart 255:43                                                  <fn>
package:redux_dev_tools/src/middleware.dart 35:20                                    <fn>
package:scadnano/src/middleware/strand_create.dart 12:7                              strand_create_middleware
package:redux_dev_tools/src/middleware.dart 39:25                                    call
package:redux/src/store.dart 255:43                                                  <fn>
package:redux_dev_tools/src/middleware.dart 35:20                                    <fn>
package:scadnano/src/middleware/assign_dna.dart 22:7                                 assign_dna_middleware
package:redux_dev_tools/src/middleware.dart 39:25                                    call
package:redux/src/store.dart 255:43                                                  <fn>

Oh wow... is that by clicking in the small white space in the helix adjacent to the existing domain?
At any rate, this is definitely a bug and should just be prevented. Thanks for finding it!

I don't know how to reproduce this. If it can be reproduced, re-open the issue and describe in detail what steps are needed to create the design shown in the first comment above.

I'm able to reproduce this bug in the current dev branch by drawing a domain, and then drawing another domain starting on one side of the first domain and ending on the other side to overlap the first domain. This was fixed in the original pull request (#860) but reintroduced in #883.

I'm able to reproduce this bug in the current dev branch by drawing a domain, and then drawing another domain starting on one side of the first domain and ending on the other side to overlap the first domain. This was fixed in the original pull request (#860) but reintroduced in #883.

Ah, I see it now! scadnano prevents dragging the cursor into the middle of the domain, but if you reach to the other side of it, it allows you to draw it.
Hmm, right now I'm not seeing how to fix the logic in a way that won't re-introduce the bug in #883, but maybe we can discuss in our next meeting

I removed the "closed in dev" because this behavior still appears on the dev server (https://scadnano.org/dev/) and when I run locally from the dev branch.
I'm a bit confused about the history here, I see some of the comments here were made after PR #860, but for some reason I thought we had fixed this issue again after that.

repo: UC-Davis-molecular-computing/scadnano


text:
🛑 Student Media - Motley is down

In 6333163, Student Media - Motley (https://motley.ie) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Student Media - Motley is back up in 47cbec4 after 5 minutes.

repo: UCCNetsoc/upptime


text:
mount online-storage

The storage provided by online-storage needs to be useful to the server. Probably what this means is making it available with a PersistentVolume so that the k3s cluster can make PVCs against it.

prerequisite: #23

Or it can be used to just back the whole application

OK so here is what i think is the sensible way to do this:

(possibly) don't let cloudinit install k3s or jupyterhub
first deploy the jupyter server vm, and a storage server vm, and a volume
then hook up the volume to the storage. then from jupyter VM, mount it. (a la terraform-condenser-nfs-server)
then when installing k3s do so with --default-local-storage-path=/mnt
then install jupyterhub.

The problem is that this isn't working so far, but I have hope.

repo: UCL-ARC/ssrc-jupyter


text:
Allow for any server name

Essentially, explicitly specifying the valid server_name/URL to filter by is unnecessary in our current CS set-up as there is a 1:1 mapping between URL and server at the network level.
And it’s actively annoying in some development environments - e.g. what we’re doing with Docker in SRR

Closing as fixed in #58

repo: UCL-MIRSG/ansible-collection-infra


text:
467 - Process pseudo patient ID

Description
Fixes #467,

[x] read in pseudo patient id (particpant_id from dri-to-pixl) in the cli and add to database (pseudo_patient_id in Image table) if has been defined in the csv file (never define it in omop parquet input)
[x] CLI tests
[x]  in pixl_dcmd, when getting the Image entity, if it has a pseudo_patient_id then set the DICOM tag to use that, if not then update the database with the generated value from de-identification
[x]  pixl_dcmd tests

Type of change
Please delete options accordingly to the description.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] This change requires a documentation update

Suggested Checklist

[x] I have performed a self-review of my own code.
[x] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have passed on my local host device. (see further details at the CONTRIBUTING document)
[x] Make sure your branch is up-to-date with main branch. See CONTRIBUTING for a general example to syncronise your branch with the main branch.
[x] I have requested PR review to UCLH-Foundtry/arc-dev
[x] I have addressed and marked as resolved all the review comments in my PR.
[ ] Finally, I have selected squash and merge

Hi @stefpiatek and @p-j-smith Do you have any ideas on how to address the following issues? https://github.com/UCLH-Foundry/PIXL/actions/runs/10465931114/job/28981927756 ? Talk to you soon!

Do you have any ideas on how to address the following issues? https://github.com/UCLH-Foundry/PIXL/actions/runs/10465931114/job/28981927756 ?

Oh I think it might be related to the alembic migration that's needed to to add in the new column. There's some docs on adding a new migration

Thanks Stef for your comments. Let's catch up!

Getting there and the code you've written is of good quality 🎉
I think there's a bit of confusion over what we're asking for in terms of final outcomes so might be worth having a chat in person about my review comments.

Thank you, Paul and Stef, for your feedback and the productive pair programming sessions! Feel free to share any additional thoughts or suggestions. Thanks again, Miguel

authors: mxochicale p-j-smith

repo: UCLH-Foundry/PIXL


text:
Update generating-uht-compatible-headers.md

Add blubb's error fixes for Palia (5.2)

@narknon did you want to bundle in the .module error you mentioned into this?


text:
Marimba integration test v2

fix audio launch file for device value
modify prompt message for speech
add robot motion planning instructions with details for team members in planning folder
set upper and lower bounds for tempo

Actually, I have encountered this CI failure several times, it is weird to download all the model weights files for the crepe model. I don't understand why pip install -r requiements.txt will download the model.
Just try CI again and again could pass the test, but it is indeed annoying.

Whenever anyone else approves, we may merge it.

authors: Juphex berkgungor yunlong-wang-cn


text:
AMPI support for MPI-3 RMA

Original issue: https://charm.cs.illinois.edu/redmine/issues/1258

MPI's 3.0 standard updated the MPI RMA interfaces with a unified memory model and added some more synchronization routines.
See comment below for list of APIs

Original date: 2016-10-15 17:01:26

Routines:
MPI_Win_allocate_shared
MPI_Win_shared_query

MPI_Win_create_dynamic
MPI_Win_attach
MPI_Win_detach

MPI_Win_allocate

MPI_Win_flush
MPI_Win_flush_all
MPI_Win_flush_local
MPI_Win_flush_local_all
MPI_Win_lock_all
MPI_Win_unlock_all
MPI_Win_sync

Errors:
MPI_ERR_RMA_RANGE
MPI_ERR_RMA_ATTACH
MPI_ERR_RMA_SHARED
MPI_ERR_RMA_FLAVOR

Request-based RMA routines (MPI_Rput, MPI_Rget, etc.) and comm types (MPI_Comm_split_type) were already added separately:
~~https://charm.cs.illinois.edu/gerrit/#/c/1801/~~ https://github.com/UIUC-PPL/charm/commit/621a0eaea30a70b776c010267745e2921f689423
~~https://charm.cs.illinois.edu/gerrit/#/c/1877/~~ https://github.com/UIUC-PPL/charm/commit/c97812986f0c965b411a9832beffbe661488c09e

repo: UIUC-PPL/charm


text:
Apply C++11 atomic feature to lock operations for the integrated LLVM OpenMP Library

Original author: Seonmyeong Bak
Original issue: https://charm.cs.illinois.edu/redmine/issues/1266

The integrated LLVM OpenMP Library reverted the patch applying c++11 atomic features for better compatibility with old compilers.
We'll keep the codes for backward compatibility but should maintain the codes in the base repo as well not to be divorced from the upstream.
Probably, two implementations of lock operations in the library should be chosen by a compiler flag such as STDC_VERSION >= 201112L(C11) or __cplusplus >=201103L(C++11)

Original author: Seonmyeong Bak
Original date: 2016-10-25 22:17:18

Seonmyeong Bak wrote:

The integrated LLVM OpenMP Library reverted the patch applying c++11 atomic features for better compatibility with old compilers.
We'll keep the codes for backward compatibility but should maintain the codes in the base repo as well not to be diverged from the upstream.
Probably, two implementations of lock operations in the library should be chosen by a compiler flag such as STDC_VERSION >= 201112L(C11) or __cplusplus >=201103L(C++11)


text:
tests/converse/commbench/pingpong-cachemiss: SMP builds crash due to mistakenly shared buffer

Original issue: https://charm.cs.illinois.edu/redmine/issues/1344

From netlrts-linux-x86_64-smp-clang, run as

./charmrun +p4 ++ppn 2 ++debug-no-pause ./pgm

Charm++> Running in SMP mode: numNodes 2,  2 worker threads per process
Charm++> The comm. thread both sends and receives messages
Converse/Charm++ Commit ID: v6.7.0-535-g22a2fc39d
Warning> using Isomalloc in SMP mode, you may need to run with '+isomalloc_sync'.
Charm++> scheduler running in netpoll mode.
[pingpong-cachemiss] initiated

Thread 2 "pgm" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff6d7e700 (LWP 26064)]
0x000000000040c7c8 in startNextIter (msg=0x7ffff0084570)
    at pingpong-cachemiss.c:220
220         pva(times)[pva(nextNbr)][pva(nextSize)] =

(gdb) bt
#0  0x000000000040c7c8 in startNextIter (msg=0x7ffff0084570)
    at pingpong-cachemiss.c:220
#1  0x00000000004175bb in CmiHandleMessage (msg=0x7ffff0084570)
    at convcore.c:1814
#2  CsdScheduleForever () at convcore.c:2051
#3  0x0000000000417302 in CsdScheduler (maxmsgs=-153626840) at convcore.c:1987
#4  0x0000000000412299 in ConverseRunPE (everReturn=0)
    at ./machine-common-core.c:1297
#5  0x000000000041550f in call_startfn (vindex=0x1) at ./machine-smp.c:406
#6  0x00007ffff7bc4464 in start_thread (arg=0x7ffff6d7e700)
    at pthread_create.c:333
#7  0x00007ffff6e679df in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

The same is consistently reproducing in all of the SMP configuration in the Jenkins Nightly-Build job

Original date: 2017-01-03 15:17:46

Some more observations, with assertions, etc.
In startNextIter, the 'then' case of the if sees pva(nextNbr) == -1 and tries to use that as a subscript into pva(times). Setting a breakpoint in startNextNbr before nextNbr is reset to -1, I see that never runs. So, we've still got the value set at initialization time.

Original date: 2017-01-03 15:53:04

[pingpong-cachemiss] initiated
0 0 startNextNbr 1
0 0 startNextNbr 3
0 0 startNextsize 2: size 0 nbr 1 buf 0x1e88610
0 1 setupMessage: size 0 nbr 0 buf 0x1e88610
[1] Assertion "buffer_msgs == 0" failed in file pingpong-cachemiss.c line 277.
------------- Processor 1 Exiting: Called CmiAbort ------------

Format is Node, PE, Function, branch, and details.

Original date: 2017-01-03 16:24:27

Fix in change 2098


text:
Charmxi segfaults with aggregate keyword on explicit declarations of templated client

Original author: Joseph Hutter
Original issue: https://charm.cs.illinois.edu/redmine/issues/1946

Code excerpt:
template
group CacheManager {
template
entry [aggregate] void addCache(MultiMsg);
};
extern entry [aggregate] void CacheManager addCache (MultiMsg);
Charmxi just can't parse the aggregate keyword on explicit declarations. Not sure if bug or suggested feature.

Original date: 2018-07-16 14:35:57

This patch added support for attributes on explicit instantiations, so it's a bug. You can see a working example with [sync] attributes in charm/tests/charm++/charmxi_parsing/ParameterPack.ci
~~https://charm.cs.illinois.edu/gerrit/#/c/charm/+/3987/~~ https://github.com/UIUC-PPL/charm/commit/440a2fdbf32a00365f1b3c52a50b6b1745e6926c

Original date: 2018-07-16 16:50:17

It looks like this entry has overlap with https://charm.cs.illinois.edu/redmine/issues/1227

Original date: 2018-07-16 18:58:19

~~https://charm.cs.illinois.edu/gerrit/4360~~ https://github.com/UIUC-PPL/charm/commit/2aeb66929da69fbdf5b3cd34ebd4f2ec096e879b fixes the crash on my end

authors: evan-charmworks pplimport stwhite91


text:
Create e2e test

Should probably do this on master only maybe

So this is the first stab - it's not perfect but enough time has been spent for now and I've captured enhancements with issue #57


text:
Reorganize boxes on control platform shelves

There is still plenty of unnecessary junk up there. I got some plastic bins for storing the useful stuff.

Done today:

repo: UNH-OE/tow-tank


text:
一些标签不会居右

如图所示，一些标签无法居右
LogSeq：0.8.16
DeveloperTheme: 1.1.3
Windows10

和顺序无关，似乎和数量有关，只能有三个居右的

如图所示，一些标签无法居右
LogSeq：0.8.16 DeveloperTheme: 1.1.3 Windows10

很遗憾，目前不支持  #QUES 标签居右显示，不过您可以考虑将下述代码复制到 custom.css 中，来实现这一操作
@media (min-width: 640px) {
    a.tag[data-ref=QUES],
    a.tag[data-ref=ques],
    a.tag[data-ref=question] {
      position: relative;
      float: right;
      top: 11%;
    }
}

目前只支持以下标签居右显示

#Bug、#bug
#feat、#Improvement 、#improvement
#perf 、#feature、#Feature
#docs 、#Documentation、#documentation
#idea、#Idea

考虑到一段内容中增加太多标签，可能会破坏段落的阅读性，所以只设置了部分标签可以居右显示
如果您有更好的改进建议，欢迎指出
ASPA: #QUES 标签将会在下一个版本得到支持

明白了，原来是我没有设置

authors: UNICKCHENG butfool

repo: UNICKCHENG/logseq-developer-theme


text:
Addressed bug: unitId and stackPipeId not showing up

Back-end Issue: unitId and stackPipeId not showing up in Swagger.
Front-end Issue: Stack Pipe Name, Unit Name and End Date are not showing up under Relationships Data

Global Endpoint:

repo: US-EPA-CAMD/easey-monitor-plan-api


text:
Save Updates - 'Test Summary Data' (Linearity Summary)

As an ECMPS user (logged in), I want the ability to save edits to 'Test Summary Data' (Linearity Summary) so that the updates are reflected
Acceptance Criteria:
Given a user selects 'Test Type - Linearity Summary' from the dropdown in the Workspace
When the Test Summary Data is displayed
And user clicks on 'Edit' next to it
Then the system opens a modal and allows the user to update the information (ALREADY IMPLEMENTED)
Given the user has made edits to 'Test Summary Data' (Linearity Summary)
When the user chooses to save and close
Then the data is saved
And the modal closes
And the user is returned to the Test Summary table on the Configurations tab
And the edits/updates are reflected in the Test Summary section
Given the user has made edits to 'Test Summary Data' (Linearity Summary)
When the user chooses to Cancel
Then the user is returned to the Test Summary table on the Configurations tab
And no updates are saved
Warning message to pop up when a user updates data and closes the modal (Clicks Cancel/X)
Warning message to read: Closing this window will discard any unsaved changes
API Link:
https://api-easey-dev.app.cloud.gov/qa-certification-mgmt/swagger/#/Test Summary/TestSummaryWorkspaceController_updateTestSummary

Testing
Test Case: TC802
Tester: @JanellC

TC802 passed

authors: JanellC vishnunavuluri

repo: US-EPA-CAMD/easey-ui


text:
Add ability to override default context in Gradle run task

allow the developer to override the default context in the Gradle run task. an example property for the override is added to gradle.properties.example.

I accomplished something sort of similar via:
cwms.dataapi.default.office=SPK
but your suggestion seems valid.

authors: adamkorynta rma-rripken

repo: USACE/cwms-data-api


text:
Remove proto link from "About" section

Describe the bug
The proto URL no longer works. It should be removed from the About section of the TADAShiny Github. I'm not sure how to do it!

I think this is already done. Do you still see it there?

Nope! Looks great now, thanks.
Elise
Elise Hinman, Ph.D. (she/her)
ORISE Participant
Water Data Integration Branch
Watershed Restoration, Assessment, and Protection Division
Office of Wetlands, Oceans and Watersheds
US EPA|Office of Water
@.***

From: Cristina Mullin @.>
Sent: Thursday, May 25, 2023 2:08 PM
To: USEPA/TADAShiny @.>
Cc: Hinman, Elise (she/her/hers) @.>; Author @.>
Subject: Re: [USEPA/TADAShiny] Remove proto link from "About" section (Issue #55)
I think this is already done. Do you still see it there?
—
Reply to this email directly, view it on GitHubhttps://github.com/USEPA/TADAShiny/issues/55#issuecomment-1563308460, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A5B72SS4P5FOQLII5EEG6ETXH6NZNANCNFSM6AAAAAAYKQV5F4.
You are receiving this because you authored the thread.Message ID: @.***>

authors: cristinamullin ehinman

repo: USEPA/TADAShiny


text:
calc_magLow: Handling zero flows for average of annual baseflow index values

Metric ml17 computes the average or median of annual baseflow index values. The annual values can be NaN when there are full years of 0 flow. ml17 and ml18 (std. dev. of ml17) could be computed with na.rm=TRUE to handle this case.
I can make a PR for this fix if you agree.
Line ref

Yeah -- go for it.

repo: USGS-R/EflowStats


text:
Hovers broke from #343

updateCategory hasn't actually been doing anything to change the categories...it's all been the hover.
lost hovers because when waterUseViz.interactionMode was checked in the if statement for addButtons, it was undefined.

There's a lot going on here, and I'm not sure I understand fully, but I think I want to propose a very different approach to this.
The problem, as I currently (barely) understand it, is that iOS mobile devices recognize a hover event and let that interfere with a click event when you tap with your finger. On desktop, we're relying on hover + click to complete the steps needed to fully change categories. So executing only those commands triggered by hover works poorly. I don't know what's happening on non-iOS mobile devices and am worried that this means I'm missing something important. Still, forging ahead:
The solution proposed in this PR is to

reintroduce a hover event on all mobile devices, even though most of them can't recognize hover and the ones that do recognize it do the wrong thing with it, and
cause updateCategory to call showCategory such that on desktop, showCategory will get called at least twice when you move the mouse onto a button and then click.

Neither of these steps seem ideal to me, for the reasons noted above.
Instead, how about:

separate into its own function the code (currently in resize.js) that detects waterUseViz.viewport and waterUseViz.interactionMode. call this, say, detectDevice.
call detectDevice early in build_map.js, such that the value of waterUseViz.interactionMode is defined before addButtons gets called.
don't define mouseover or mouseout events unless waterUseViz.interactionMode === "hover" (i.e., revert to #343)
maintain the separation between updateCategory and showCategory that existed before this PR.
if waterUseViz.interactionMode === "hover", define mouser.on('click' as it's currently being defined, like this:.on('click', function(d){
  updateCategory(d.toLowerCase(), activeCategory);
});

if waterUseViz.interactionMode === "tap", define mouser.on('click' as it's currently being defined, like this:.on('click', function(d){
  showCategory(d.toLowerCase(), activeCategory, action = 'mouseover');
  updateCategory(d.toLowerCase(), activeCategory);
});

Here's a more concise summary of the behavior I'm seeing. On beta: iOS registers hovers when it shouldn't (and on the mobile view in dev tools, clicking a category also registers as a hover); desktop technically registers a hover before a click anyway. After adding if so mouseover events are only added when interactionMode == "hover" (result of #343), showCategory was no longer called on mobile, so only the hash changed when you clicked and nothing was visually updated.
Potential solutions are complicated by #346. I don't really want to get into change waterUseViz.interactionMode earlier, but I guess if it wasn't too complex we could do that, or we could leave the ifs inside the actions.
Potential solution 1 (change the URL hash when button is clicked, only visually update when mobile click):
.on('click', function(d){
  updateCategory(d.toLowerCase(), activeCategory);
  if(waterUseViz.interactionMode === "tap") {
	showCategory(d.toLowerCase(), activeCategory, action = 'click');
  }
})

Potential solution 2 (if we decide #346 is a good idea, don't register click at all for desktop and have mouseovers update the hash and change the active category):
.on('click', function(d){
  if(waterUseViz.interactionMode === "tap") {
    updateCategory(d.toLowerCase(), activeCategory);
    showCategory(d.toLowerCase(), activeCategory, action = 'click');
  }
})
.on('mouseover', function(d){
  if(waterUseViz.interactionMode === "hover") {
    // need these ifs inside .on("mouseover") because waterUseViz.interactionMode
    // is undefined when addButtons is run
    updateCategory(d.toLowerCase(), activeCategory);
    showCategory(d.toLowerCase(), activeCategory, action = 'mouseover');
  }
});
// and delete mouseout action

For either of these, I would want to add the ability to turn off events for showCategory or updateCategory because they both fire an event right now.

authors: aappling-usgs lindsaycarr


text:
Meta-learning Mujoco baselines s.t. Halfcheetah-Velocity

Hello, I found your paper very inspiring and I have seen you reported mujoco results for Halfcheeta-velocity in the paper.
However, I don't see it contained here. By any chance you can add it here?
Many thanks!

Hi,
The classic mujoco meta-RL baselines (Halfcheetah-Vel, Halfcheetah-Dir, Ant-Sparse, WalkerRandomParams, etc.) are not well standardized and all their historical results create a huge gym/gymnasium/mujoco-py version control problem. I avoid trying to maintain this in the amago/envs/builtin/ environments, because it creates a chance that someone would use this version for the AMAGO run and another version for their other baselines.
The best solution is to run all your baselines locally on the same env. AMAGO can run on any gym environment so, if the other repo you're using has a version of the env that you trust, you can train AMAGO on that exact same env.
It'd look like examples/01_basic_gym.py:
def make_half_cheetah_vel):
   env = HalfCheetahVel() # from somewhere else
   env = AMAGOEnv(env, env_name="half-cheetah-vel")
   return env

....

experiment = Experiment(
           ...,
          make_train_env=make_half_cheetah_vel,
          ....
)

Hi @luisegehaijing. After we talked about this over email, I looked into bringing back the original VariBAD version that you're using (and I used in the paper).   Here are the gymnasium/mujoco requirements for this (screenshots from the repo):

This just isn't practical to include as a built-in environment anymore. Instead, what I've done is recreate the same task using HalfCheetah-v4 (the most recent one we can support).
https://github.com/UT-Austin-RPL/amago/blob/ba219ea8d60b5a06a6b9217b6293eda9fd5adb1d/amago/envs/builtin/half_cheetah_v4_vel.py#L1-L104
I've done my best to match the original task dist / reward func (velocities in [0, 3] by default, reduced control cost). This seems to lead to comparable returns to the original:

But thanks to some custom logging metrics, we don't need to rely on the rewards to see if this is working; we can plot the error between the agent's velocity at the end of the episode (when it should've already figured out the correct speed) and the target:

And as a sanity-check, the average target task is velocity=1.5, so our agent's average vel across evals should converge to 1.5:

I also checked that AMAGO trains fine on the standard MDP (fixed-task) version of HalfCheetah-V4 (I normally use the DMC version). Again with some custom logging I looked at the range of speeds you can reach. It's a lot higher than 3

A pretty standard return on this env for a memory-free model-free baseline would be 10k. That corresponds to a vel around 10:

So I think it would be a pretty interesting to revitalize this (very saturated) benchmark task by raising the max task velocity above 10. This task requires trivial memory (reward is dense distance from target vel), so it could be cool to make it require a more complex locomotion policy to stress-test the RL details more.
I've done a brief search over hparams and left examples/12_half_cheetah_vel.py in the examples. You can play around with the max task velocity with --task_max_velocity. An example wandb is here with command --run_name half_cheetah_vel_max_vel3_l64 --buffer_dir buffers/ --memory_layers 3 --parallel_actors 24 --epochs 1000 --start_learning_at_epoch 2 --timesteps_per_epoch 1000 --batches_per_epoch 1400 --dset_max_size 25_000 --max_seq_len 64. This has not been tuned for sample efficiency because this env runs so quickly.
Please note that due to changes in the underlying cheetah env, any results here would not be comparable to the originals, even if the reward funcs are as similar as I can get them.

Thank you Jake!! You are great!

authors: jakegrigsby luisegehaijing

repo: UT-Austin-RPL/amago


text:
[Code Addition Request]: Addition of Memory Typing Game

Have you completed your first issue?

[X] I have completed my first issue

Guidelines

[X] I have read the guidelines
[X] I have the link to my latest merged PR

Latest Merged PR Link
https://github.com/UTSAVS26/PyVerse/pull/832
Project Description
Players have to memorize and type words that briefly appear on the screen. This game helps improve both memory and typing skills.
Full Name
V Pratheek
Participant Role
Contributor at GSSOC , Hacktoberfest

@UTSAVS26 Please assign me this issue ASAP ..... I will start working on it


text:
Add CMake file.

It may be easier to compile VIC,set the path of dependences and choose which driver to build. And now only support Classic and Image drivers.
cd vic
mkdir build
cd build
cmake -D CLASSIC=OFF -D IMAGE=ON -D SHARED_LIB=ON -D INSTALL=ON ..
make -j8
sudo make install
...

Thanks @Sibada.
This looks like an interesting addition and is certainly related to #376. CMAKE may be the way to go but we should discuss with the larger group (@UW-Hydro/vic-developers, @tbohn, @wietsefranssen).

closed #605

I just red the CMake discussions. Looks good (although I am not good in cmake yet)!
I also think it is important to make it more generalised and avoid for example hardcoded depenency paths.
For us it would be very usefull to also add options like --enable-extension=rvic(see #376) in VIC5.1.

authors: Sibada jhamman wietsefranssen

repo: UW-Hydro/VIC


text:
Remove GitHub Action set-output Commands Before May 2023

GitHub's set-output command is deprecated and so we must stop using it before May 2023. Even now its use generates warnings within workflows that are undesirable, especially for our demonstrations. https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Instead of writing set-output commands to STDOUT, our CLI should instead open and append to the environment file provided by GitHub. The filename is the value of the environment variable GITHUB_ENV.
I'd also like to automatically detect when our CLI is invoked within a GitHub Action.  The GITHUB_ACTIONS environment variable can be used for this; its value is always true within a GitHub Action runner environment.
This will require coordination with the preview-action repository to use the new environment variables specified by this new feature.
Leave the existing --output=github-action behavior unchanged for backwards compatibility but add comments to remove this after May 2023.

Implemented here https://github.com/UffizziCloud/preview-action/pull/35

I do not think this was implemented. This ticket was for the CLI itself. It's still outputting as seen here: https://github.com/nocodb/nocodb/actions/runs/3623455656/jobs/6109341931#step:16:21

Test Cases

Instead of writing to GITHUB_ENV, it's probably better to use GITHUB_OUTPUT, which may not have been available last October.

https://github.com/UffizziCloud/uffizzi_cli/issues/214 implemented in the same branch

Open a new PR:

Update a preview:

TESTED - OK

TESTED on prod -

authors: NealArw axisofentropy gadkins moklidia


text:
Support for Expressions

Is there support for VB Expressions?

Yes.

Thanks

authors: HimanshuZinzuwadia lbargaoanu

repo: UiPath-Open/corewf


text:
My findings about performance degradation

Hi, we are working hard to port our existing WF application to .NET 6. And we found some performance degradation and I have some local changes to fix, but of course they are not perfect as I am not an compiler expert..
Basically our test result for one xaml file degrades from 0.5s to 18s on first Invoke(), and 0.7s to 1.5s on later 1000 Invoke() calls.
Issue 1:
For every expression compilation, all those meta data resolver will be run again and again, leading to a lot of file access.
https://github.com/dotnet/roslyn/blob/e6817547af8b16994e31ae959ec28e4cb4922020/src/Scripting/Core/Hosting/Resolvers/RuntimeMetadataReferenceResolver.cs#L200
Issue 2:
And it seems WfEventSource is always enabled, thus even when profiler is not attached, those tracing code are taking much time while executing the workflow, comparing to .NET framework profiling results.
See my local commit for what I have changed. Running all unit tests in VS has passed after this change.
https://github.com/UiPath/CoreWF/compare/main...angelowang:CoreWF:main?expand=1

https://github.com/UiPath/CoreWF/pull/212
Good to see this in the develop branch.

It sounds like we just need to publish a new version. Let me find out what's holding up our pipeline.

authors: angelowang dmetzgar

repo: UiPath/CoreWF


text:
[BUG] Fix the quote-title area

Assign me Under Apertre'24

Go ahead @Geeks-Arpan

@UjjwalSharma01 as this is not fixed yet , I want to work on this

Go ahead @YooAshu

authors: Geeks-Arpan UjjwalSharma01 YooAshu


text:
#46 plugin fix chapter export

@fernsehmuell Probiers mal bitte aus.

Moin Heiko,
auf dem MAC geht das wunderbar.

authors: fernsehmuell heikopanjas

repo: Ultraschall/ultraschall-portable


text:
[Feature Requests]APIs support

can i inpaint picture by api?
input picture get Segment picture

I'm considering handling it. I will announce when it is ready.

thanks alot

I have implemented a library that enables segmentation and mask generation using sketches from other extensions within the web UI.
https://github.com/Uminosachi/sd-webui-inpaint-anything/blob/main/README_DEV.md

Can it be made into a web API

Can it be made into a web API

At this time, there are no plans in place to develop a web API.

repo: Uminosachi/sd-webui-inpaint-anything


text:
Need help!

Hii !
I Hope I can count on your help for a case, I can't get my miner to bypass windows defender, when I download the file directly through my Mega link, once extracted my miner is automatically suppressed and if it's not by chance at the launch a pop up appears telling me it's a virus, I wonder then if there's something I've missed, would you know?

And you have "Add Windows Defender exclusions" and "Run as Administrator" enabled?

Yes !

What kind of detection do you get? And do you get it after you run the binder file (the .exe)?

PhotoshopWin64 is the builder Binder and GenerateKey is the ETH miner

Do you get any detections before it's uploaded to Mega? Can you check what kind of detection it is inside Windows Defender?

the first time the photoshop icon of the miner had disappeared to be replaced by the basic icon of an .exe, after double clicking I got the message that it was a virus and on the second attempt after extracting the file, both .exe files were deleted

I have no detection on my mega link

Edit: thank u for respond me so fast

I mean, if you rebuild the binder build, does that file get any detections on your computer before you upload anything?

In fact I build on my main computer, on this one everything works with windows defender activated, no worries, however when I send the Mega link to my second pc it can not activate the miner

but yes on my main computer the miner works but not on the second I would like to be sure before sharing my link that it works on as many machines as possible

And it detects the "PhotoshopWin64.exe" file before you run the file?

yep

it detects it on my second computer but not on the first which is the pc where I have build

Try sending it with something other than Mega, Mega.nz could be making the file detected. Try using something like anonfiles to send it.

I try it right now

It is in download... Let us agree well because I may have missed a step, in "Add"/"File to Bind"
I have to add my ETH builder file .exe,
the filename I let File.exe
"Drop location" I let Temp as I did for my minor Builder
and I check "Execute File" and "Run as Administrator" and "Add Windows Defender Exclusions".

So it got detected even with anonfiles? Those settings should be fine, which version of the UnamBinder builder are you using? Can you open Windows Defender and see what the file gets detected as.

there was no detection, I am currently downloading it without worries, except for the download time which is several days whereas on mega I had only a few minutes oO

the last one

how do I know under which name the file is detected ?

Ah yeah then Mega probably scans the file, and since some antiviruses probably detects it then they mark the MD5 checksum or just the file itself as malware which then Windows Defender sees. It should be fine if you find and use a site which doesn't scan the file.

after on mega also at the time of the download I had no problems it was just at the time of extracting the file on my pc that the miner was suppressed, I did not finish downloading yet from the Anonymous link because the download time is extremely long

You can try building it on the other computer to see if the built file gets detected.

Just put your files in a passworded archive and upload it anywhere you wish.

You can try building it on the other computer to see if the built file gets detected.

He's instantly detected

The builder was instantly deleted

The final .exe build after you built it or the builder itself?

the .exe fill after the build

Can you open Windows Defender and screenshot the detection you get? If you open Windows Defender and open the thread history it should show all the detections, get the details of the latest one.

Sorry it's in french but here is
it say
threat blocked
quarantined threat

Open them and screenshot the details they show, it will say the threat name and location and such.

Hmm interesting, I haven't gotten any detections before on any of my VMs or main computer. And you got this right after building it? Did it say something like it's running a sandbox on it or something in a notification?

yes just after have build it

I only got a pop up saying that the built file contained a virus when I clicked on it

Would you want to see it in teamviewer bro ?

Can you try checking if this TestBoundFIle.zip bound file I just created gets detected?

Works !

Ok alright interesting. So the binder itself doesn't get detected then.

So what do you think is the reason?

I'm unsure, only reason it should really be able to detect it is if it does a random sandboxing of your file, but it should give a notification from Windows Defender if it does that.

it's strange i rebuilt a miner as well as the binder, my .exe files were not detected this time, only downside it does not mine ><

Ah yeah then it seemed to have been that build that got it detected maybe. Does the miner itself not mine or does it not mine after it's been started by the binder?

I have a 3d render that finishes in 8min on this pc, as soon as it is finished I reboot my machine to see if the minor launches at startup or worse if it is suppressed

it's strange because my GPU VRAM is at 0.6/6Giga but the fans are making a lot of noise since I started the miner

With what are you checking the VRAM?

task manager

but i have disabled Stealh

Can you run MinerCheck3.zip and post what it says here (though you should probably censor your wallet address)?

Miners:
GPUs:
AMD Radeon Graphics Processor (0x1636) AMD Radeon(TM) Graphics
GeForce GTX 1660 Ti NVIDIA GeForce GTX 1660 Ti
Compatible GPU found: True

Not working :/

If the connection settings are wrong in the miner then it will close down after trying for a while.

I just restarted, the file is not deleted, and the miner still does not mine

Right after starting the miner restart MinerCheck until it shows up under the "Miners:" section.

Or send the file here and I'll check.

You have "Stealth" enabled. You can check the VRAM usage with something like MSI Afterburner.

My bad i tought i did not coche it

well yeah he's atm mining

Ah, great.

I was wondering if the .exe file that I create with UnamBinder should also be put with my minor or not (I was talking about putting my minor in an anonymous link.

And edit  a big thank u for u're time that's just insaaaaaaaaaaaaaaannne

Yeah no problem. You're wondering whether you should bind the miner or am I misunderstanding? Then yes since the binder is much better at getting around Windows Defender than just using the miner.

like imagine this is adobePremierePRO crack, my answer is should I insert the UnameBinder fill .exe in the fill crack or not ?

Put just the bound file (file created by binder containing the miner file) and not the original miner in the crack.

Ahh ok great so only one file .exe and it's the UnameBinder .exe file builded ?

Is this the only file that the user should double click? right

Yes the file that is created by the binder is the only file needed, it has all the files you added inside of its memory.

That's great! And one last thing, the miner doesn't start when I restart my computer, I have to launch it manually every time :/

Are you sure you enabled "Install"?

Ah no I did not i tought it was for test my miner, great i will do it !

Well no not even work

And you're sure you enabled "Install" on the build you're running? You can also enable "Bypass Windows Defender" (for the special mechanics) but disable "Run as Administrator" and "Install to System32" since you already use the binder.

I just did with these settings but still not

Here are my files if you want to check it
miner.zip

miner.zip

here are my settings if you want to check

It installs and runs correctly for me.

when you restart ur computer too ?

Yes.

strange.. not for me

is it possible that windows defenders keeps in memory deleted viruses? making it impossible to reinstall them once deleted by windowsdefenders

If a file is detected once by Windows Defender then it will always be detected (since it keeps track of MD5 checksums and code itself) unless you have added Windows Exclusions in which case it will just ignore the files and everything will work.

I added the exclusions, I wanted to delete the minor, so I deleted the exclusions so that windows defender would delete the minor, and now when I download the minor again windows detects it, it happens to me because it keeps it in memory so ?

No, if you re-add the exclusions it won't detect it anymore, though if you mean that the binder file got detected by the local Windows Defender then yes it will keep the MD5 checksum in memory, which can be avoided by building a new binder.

authors: MaelysDudu35 UnamSanctam callMeshelter gamethrower

repo: UnamSanctam/UnamBinder


text:
32bit lfs

This patch can silence the error messages reported in #1017.

@DennisHeimbigner I know you're working on a fix as well so I'll wait for your ok to merge this. @wkliao thank you very much! I just don't want to get wires crossed with both fixes crossing paths, so to speak.

Ok, I reviewed this PR and I think we are in agreement with one exception.
In var.c, line 486, you removed this:
/* No variable size can be > X_INT64_MAX - 3 */
if (0 == NC_check_vlen(varp, X_INT64_MAX-3))
return NC_EVARSIZE;

Can you explain why?

The commit message explains it.

The point is this. It is better for the user if errors are caught as early as possible.
As the code stands, the error will not be reported until nc_enddef is called.
At that point, the user has no context to figure out which variable failed.
If the check is done in def_var, then the user gets much more context about
which variable is in error.

Reviewing now as part of an aggregation to try to get caught up on PRs

authors: DennisHeimbigner WardF wkliao

repo: Unidata/netcdf-c


text:
OU Schedule Links Broken

After the reorganization effort, the agenda links to many notebooks are now broken.

Fixed #177

repo: Unidata/unidata-python-workshop


text:
Comment Updates

comment updates for a number of libs

Update


text:
2D Navmesh

When is 2D navmesh available

Not any time soon.

Not any time soon.

@turadr What about the promised Package?
Any time soon'ish' ??

@xCyborg Please follow issue #172.  You will receive notifications when we'll post news there. It's been progressing well but it will take a bit more time to release it.

authors: awesomehhhhh turadr xCyborg

repo: Unity-Technologies/NavMeshComponents


text:
Fix regression in JointsMatch()

Introduced by https://github.com/Unity-Technologies/usd-unity-sdk/pull/261.

Thank you for reporting, this has been fixed by #335 :)

@vickycl question for you : is the fix going to be part of an upcoming new release of the USD package ? I see that active development has resumed, which is great. So when would be a good time to upgrade ? We are still running with the "3.0.0-exp.2" release, plus the patch in the PR. Thanks

@nicolaspopravka hey! We're currently preparing to do a 3.0.0-exp.3 release that will include all of the latest bug fixes and improvements. We're performing some last quality passes and hope to release ASAP- can't give an exact date in case we find a major issue we need to address, but very soon :)

authors: nicolaspopravka vickycl

repo: Unity-Technologies/usd-unity-sdk


text:
Potential bug - React state update on a component that hasn't mounted yet

Describe the bug
Hello there,
I am using proxy-client-react in a project along with Next.js and while navigating through the pages I am getting an error React state update on a component that hasn't mounted yet, as per below screenshot:

I had a look into my code to see if I am not doing clean up properly in the useEffects that I have but I think that's not the case.
I think I should try to use your latest version anyways.
Is this something that I should expect while using unleash with next.js?
There is no full integration with Next.js at the moment?
Thanks!
Steps to reproduce the bug
No response
Expected behavior
No response
Logs, error output, etc.
No response
Screenshots

Additional context
No response
Unleash version
^1.0.4
Subscription type
Enterprise
Hosting type
Hosted by Unleash
SDK information (language and version)
No response

Hi @nmaties, thank you for reporting this. We don't have full integration with NextJS at this moment, but it is supported with some workarounds.
We have not seen your exact issue, but maybe following issues are helpful to set everything up.
https://github.com/Unleash/proxy-client-react/issues/86
https://github.com/Unleash/proxy-client-react/issues/40

Hi @sjaanus, thank you for your reply, I'll try to upgrade to the latest version + I'll follow the issues that you mentioned.
I assume that we can close this issue at the moment, if after upgrading I'll still encounter the same problem I'll create a new issue.

authors: nmaties sjaanus

repo: Unleash/proxy-client-react


text:
chore: bump inference to 0.6.6

bump unstructured-inference to 0.6.6
specify default model name for element detection to be detectron2_onnx to keep current behavior
NOTE: the updated inference package by default would use yolox as element detection model; this will be evaluated and enabled in a separated PR

In general changes to fixture are due to better grouping of elements and dedupe of elements containing the same/overlap text

repo: Unstructured-IO/unstructured


text:
Module conflict - Better Rolls for 5e

Whenever you roll a dice with Die Hard module + Better rolls for 5e, it only shows the damage, not the attack roll result.
Better Rolls for 5e is a requirement since it automatically rolls attack and damage which makes it 5-10x faster than without it. Sorta a requirement.

Duplicate of #6
Still investigating options to make it work....

@Melkorhero Can you please provide a screenshot or more details about how this isn't showing the attack roll.  In my testing, it is still showing the attack roll.

Are there any errors in the browser console?

Same happens with me using MidiQoL. Unfortunately I don't know in which Midi function this occurs, but I just left the two modules turned on to check if this was really the source of the error.

No error or warning is generated.
Only the fudge message is displayed. But not the default result message.

Hello there Victordiehl,
Well this is how it happens to me with Better rolls for 5e

But when it,s turned off, it works fine.

authors: Melkorhero UranusBytes victordiehl

repo: UranusBytes/foundry-die-hard


text:
Speeding up the matching process

The current matching process runs slowly because Python's for loop is inefficient. Thus, we need to consider how to speed up the matching process to deal with the bigger dataset.
Tools

Using the multithreaded processing package to speed up (e.g. multiprocess)
Partly rewrite the functions to reduce the use of for loops.

As discussed, we'll revisit optimisation after updating to an alternative matching approach in #13 and continue to work with a sample of 15000 of the SPC population for now.

authors: BZ-BowenZhang sgreenbury


text:
chore(master): release 1.0.0

:robot: I have created a release beep boop
1.0.0 (2023-10-11)
✨ Features | 新功能

初始化 (5eeecff)
初始化 (3331d86)
初始化 (566cb71)

👷 Build System | 构建

Update build dist (33ef6bf)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/UzumakiHan/hfex-auto-externals-plugin/releases/tag/v1.0.0 :sunflower:

repo: UzumakiHan/hfex-auto-externals-plugin


text:
Review The Turing Way - Guide for Project Design

When designing a team-based project, it is important to think about all the skills required for the project and the resources needed to access those skills. The project design also includes aspects such as timeline, budget, risks, expectations, resources for project management and preregistration of research protocols. Learn from different case studies for small, mid-size, and large projects spanning both short-term and long-term plan.
Read the Project Design Section: https://the-turing-way.netlify.app/project-design/project-design and close the issue.

Done.

authors: kefortney mghasemizade

repo: VERSO-UVM/ORCA


text:
Add env var to control the target build to use for blast databases.

MBlast is finding b57 databases when the site is on b56

Relates to #82

repo: VEuPathDB/service-multi-blast