std.algorithm.nextPermutation requires random access

peter.alexander.au reported this on 2014-02-17T12:20:14Z
Transfered from https://issues.dlang.org/show_bug.cgi?id=12188
CC List

andrei
hsteoh

Description
The constraints says it requires bidirectional, but it actually requires random access due to this line:

reverse(takeExactly(retro(range), n));

'reverse' requires a bidirectional range, but 'takeExactly' on a bidirectional range returns a forward range. You need to provide a random access range to 'takeExactly' to get bidirectional, so this becomes a requirement of 'nextPermutation'.

nextPermutation must be modified to support bidirectional ranges. Changing the constraint to random access is not an acceptable fix.

Here's a simple test case where a bidirectional range fails:

---------------------
import std.algorithm, std.array;

struct MyRange
{
    int[] a = [1, 2, 3];
    @property
    {
        auto ref front() { return a.front; }
        auto ref back() { return a.back; }
        auto empty() { return a.empty; }
        auto save() { return MyRange(a); }
    }
    void popFront() { a.popFront(); }
    void popBack() { a.popBack(); }
}

void main()
{
    MyRange r;
    nextPermutation(r);
}
---------------------

hsteoh commented on 2014-02-18T13:14:25Z
Hmm this sucks. It didn't occur to me that takeN on a bidirectional range doesn't return a bidirectional range. :-(  In retrospect, it makes sense (takeN doesn't know the internals of the range, so it has no way to know what .back and .popBack should do when only the first N elements are desired).

hsteoh commented on 2014-09-12T18:21:07Z
Well, I'm out of ideas. Seems the only way around this is to make nextPermutation require a random access range. :-(

andrei commented on 2014-08-11T15:07:30Z
It's easy to implement allBefore to return a new range type distinct (e.g. Voldemort) from R. That range would keep the two ranges as state and would say it's empty when whole.sameHead(right).

peter.alexander.au commented on 2014-08-11T15:12:47Z
(In reply to Andrei Alexandrescu from comment #3)
> It's easy to implement allBefore to return a new range type distinct (e.g.
> Voldemort) from R. That range would keep the two ranges as state and would
> say it's empty when whole.sameHead(right).

If I've understood you correctly, the range you describe can't be bidirectional, which is what we need here.

peter.alexander.au commented on 2014-02-18T12:51:15Z
BTW, you may already know this, but it's impossible to solve this with the current range primitives. See the discussion here:

http://www.digitalmars.com/d/archives/digitalmars/D/Retrieving_the_traversed_range_116085.html#N116085

To summarise the discussion: it is impossible currently, and Andrei recommends two approaches:

1. Just make it random access only for now.

2. Define a new primitive: allBefore, like this:

R allBefore(R)(R all, R tail) if (isRandomAccessRange!R && hasLength!R)
{
     // assume tail starts somewhere inside all and ends where all ends
     enforce(all.length >= tail.length);
     return all[0 .. all.length - tail.length);
}

R allBefore(R)(R all, R tail)
         if (isBidirectionalRange!R &&
             is(typeof(all.allBeforeImpl(tail)) : R))
{
     return all.allBeforeImpl(tail);
}

And require that for nextPermutation


Error during Talsec initialization:

Hi, I got hit with Error during Talsec initialization when I run in IOS, but it doesnt show is what error.
This is the config, is there anything I miss out?
var config = {
            "androidConfig" : {
                "packageName" : "com.eb.sps",
                "certificateHash" : ["2ZYTi+Z2PGVzO1QZcVcMZ1GTmpebaNKFFoE+LVJd0AI="],
                "supportedAlternativeStores": [
                    "com.google.android.packageinstaller",
                    "com.android.packageinstaller"
                ]
            },
            "iosConfig" : {
                "appBundleIds": "com.eb.sps",
                "appTeamId": "BLT26AAEG2"
            },
            "watcherMail"<EMAIL_ADDRESS> };

Is resolved, I miss out the watcherMail when build in prod


Skin bugs

Are they fixed? Like rumble q, god fist lee etc.

Maybe he needs time

Probably same issue like other skins, some skins has special object which information about creation are sends by server, since we use skinchanger server doesn't know about our skin and addional partciles effects will not show up, i will try to fix that but it a lot of work.


Added implementation for Segment Tree

Assigned Issue Number ?
#134
Language Opted ?
C/C++
Number of files added or updated ?
1
Name of these files ?
Data_Structures/Segment Tree/Segment_Tree.c
Checklist

[x] I've read the contribution guidelines.
[x] I've referred the correct issue number.
[x] I've fill up this entire template correctly.

Implementation Segment Tree in language C


Faster memory data copy

On current implementation, memcpy is used when transferring shared memory data retrieved from libsharedmemory lib. But this can be faster by passing size and ptr directly.
Will implement on next version.

fixed on v0.1.1


Windows support

These issues are currently known to hinder Windows support:

Cloud Haskell's SimpleLocalNet's Multicast (Maybe don't use simplelocalnet and roll our own?) Using distributed-process-p2p from v<IP_ADDRESS> onwards, which uses TCP exclusively.
gipeda, specifically the dependency on gitlib
the use of rsync and ssh

gipeda, ssh and rsync are pretty critical to the operation of feed-gipeda, so I probably won't fix this.


Automated Package Upgrade

:tada: This PR is included in version 18.0.4 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


update to support ember-cli 3.3 and remove depr usage of Ember.copy

Hello Carsten,
I have tried to update the addon to the latest ember-cli 3.3. Please have a look when you have time.
Also, I changed startIgnoringRejections to
export function startIgnoringRejections() {
  RSVP.off('error');
}

But didn't find the correct way to restore RSVP.onerrorDefault back. Although it doesn't affect addon's tests. I guess you need to bump version also if you find PR good enough.
Seems that started ~3.X ember folks changed Ember.inspect behaviour and made it more strict. We can gsub quotes from toString method though. What do you think ?

Thank you for this @catz ! I'm doing a stem cell transplant so it might be a bit of time until I can review and merge this but I want to make sure that you know I appreciate you and your contribution 👍🏼


(Fix) automation tests update

Relates to https://github.com/poanetwork/token-wizard-test-automation/pull/15

Added 10 different Sokol account's sets. One of them is randomly selected before start

to minimize errors on the parallel launching of automated scripts.

Pull Request Test Coverage Report for Build 1626

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 14.371%

Totals

Change from base Build 1624:
0.0%

Covered Lines:
351

Relevant Lines:
1930

💛  - Coveralls


Forms with FILE

This works:

<?php
class Teon_Form_YouTube extends Zend_Form {

	public function init() {
		$this->addElement('file', 'file', array(
            'required'		=> true
        ));

This breaks with error 'Warning: Exception caught by form: No file decorator found... unable to render file element'
<?php
class Teon_Form_YouTube extends Twitter_Form {

	public function init() {

		$this->addElement('file', 'file', array(
            'required'		=> true
        ));

PS you rock, I love this little library. Here are some internet heart tokens for you ♥♥♥♥♥♥

This should fix the problem with the file form elements.
Sorry that it took so long to iron this out!


fix(42088): Cannot read property '0' of undefined

Fixes #42088

@DanielRosenwasser this seems like a decent fix. Do you want somebody else to review it too?

@DanielRosenwasser this seems like a decent fix. Do you want somebody else to review it too?

I don't know much about the CFA process, but as long as we have a test to catch the regression, this seems fine.

I don't know much about the CFA process, but as long as we have a test to catch the regression, this seems fine.


Flow queues while turned off

You should really state the fact that Flow still queues the runs while turned off. And once turned back on it will run for all runs in the queue.  Once they were ready to turn it on, it ran for 180+ rows, sending out emails to their customers. I had no idea this was going to happen.

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

ID: b19c08b2-1f6e-0430-6074-18d64d6c8b17
Version Independent ID: fc9595bd-0d84-ecad-17de-dd3818a6cb3b
Content: Turn flows on or off - Power Automate
Content Source: articles/disable-flow.md
Service: power-automate
Sub-service: cloud-flow
GitHub Login: @Puyush6889
Microsoft Alias: kapolepa

@zshane15 Thanks for reporting this issue. We'll confirm the behavior and update the docs as needed.


MacOS Support

I have seen a handful of issues opened here regarding MacOS support, but most are years old and closed. Has there any steps toward supporting MacOS yet? If not, how can we take the first few steps to do so?

Nope there hasn't and it's unknown when there'll be! Also if you want to support MacOS you cannot do it currently because Hazel uses OpenGL 4.5 and MacOS only supports OpenGL up to 4.1, so it's currently impossible for Hazel to support MacOS until Yan switches the renderer to use Vulkan instead.

I just looked in the glad.c file in Hazel, and you're right as it's a version of OpenGL that isn't supported on MacOS. Downgrading the version of OpenGL the engine uses may work but it wouldn't be worth it in the long run. Waiting would probably be the best course of action :(

I'll mess with it and report back.

I'll mess with it and report back.

Have you messed with it ever since?

Have you messed with it ever since?

Only a little bit, some personal things got in the way and I forgot about tinkering it further. Thankfully you reminded me.
From what I remember I mostly had trouble configuring the engine to find Vulkan header files on my machine, and I never got to the point of downgrading GLAD.


The number of negative items on SASRec and DuoRec

Hello, I find that the number of negative items is set to 1 on SASRec. However, DuoRec set the number to all items. Besides, I experiment on SASRec when the number of negative items is all items, and I find that the performance is comparable with DuoRec.  Look forward to your reply.

I also have some questions about the experiment results of SASRec. I just copied sasrec.py from recbole and put sasrec.py into duorec. Then I run SASRec based on this code repo and got around 0.326 for NDCG@5, which is significantly better than the result of SASRec reported in the paper.
10 Mar 11:25    INFO  Loading model structure and parameters from /home/leiwang/project_2021/RecSys/2022/xai_cl/modification/DuoRec/log/SASRec/Amazon_Beauty/bs256-lmd0.1-sem0.1-us_x-Mar-10-2022_11-20-05-lr0.001-l20-tau1-dot-DPh0.5-DPa0.5/model.pth
Evaluate   : 100%|█████████████████████████████| 88/88 [00:00<00:00, 282.81it/s]
10 Mar 11:25    INFO  best valid : {'recall@5': 0.0691, 'recall@10': 0.1027, 'recall@20': 0.1442, 'ndcg@5': 0.0409, 'ndcg@10': 0.0517, 'ndcg@20': 0.0622}
10 Mar 11:25    INFO  test result: {'recall@5': 0.0555, 'recall@10': 0.083, 'recall@20': 0.1191, 'ndcg@5': 0.0326, 'ndcg@10': 0.0415, 'ndcg@20': 0.0506}

1

same here

same here


defind.db cart order product user and associations

Assignee Tasks

[ ] added unit tests (or none needed)
[ ] written relevant docs (or none needed)
[ ] referenced any relevant issues (or none exist)

Guidelines
Please add a description of this Pull Request's motivation, scope, outstanding issues or potential alternatives, reasoning behind the current solution, and any other relevant information for posterity.

Your PR Notes Here

just push the fixed typo for hasMany


fix: adding redirect logic from api pages

Adds a catch all api route for anything under "/api"
https://nextjs.org/docs/pages/building-your-application/routing/api-routes#optional-catch-all-api-routes
TODO: move to 301 in the future. Right now keeping at 307 since I had issues in testing if I messed up since it would have a wrong redirect.

LGTM


github-terms-of-service: Define "Other Users"

The ToS require You to provide them with legal rights in section D.5.  By defining a term, we have lots of space to remove any ambiguity about what that means.  For example, it clearly covers visitors regardless of whether they have a GitHub account.
I've replaced most instances of “users” with the new term, leaving out only those which referred to all users (You and Other Users).  We don't formally define that “Users”, but one new term seemed sufficient for this commit ;).
In lines I touch, I've also title-cased other terms (e.g. “you” → “You”).  If we have a formally-defined term available, I don't see why we would prefer the generic term to the formal term.  I expect the previous lowercase forms were accidental, but if any were intentional let me know and I'll revert those changes.
This pull request is against #1, but I can rebase it against master if that's more convenient.
Spun off from #54 at @mirabilos' request.

Hey, @wking,
We'll take a look at the definition of "Other Users" — thanks for the suggestion.
We left "you" and "we" lower-case on purpose. We worked very hard to create a clear, human-readable, user-friendly agreement using conversational language and sentence structure. Where possible, we tried to avoid legalese like convoluted clauses, archaic jargon, and stuffy specialized language. We believe that over-use of capital letters where they aren't necessary for clarity doesn't make the agreement easier to read or understand.
In this case, "You" and "We" are defined terms, and even if we leave them lower case, the person reading the agreement understands that "You" means the person who's agreeing to the agreement and "We" means GitHub. We're able to have an easy-to-read agreement without worrying about ambiguity.
I'm going to close this for now, but we're having an internal discussion about "Other Users" and how that may affect other parts of the agreement.
Thanks!

I'm going to close this for now, but we're having an internal discussion about "Other Users" and how that may affect other parts of the agreement.

Has anything come out of this discussion yet?  I'm not sure what to do with #54 (e.g. I'd want to remove "Other Users" there if you decide against it here).

Thanks for the reminder — we've decided not to specify "Other Users" as a defined term. It's only used in the license grant, and we don't believe it's unclear enough to need a separate definition.


Issue using multiple players in a list.

I am loading up videos as part of a PageView. I have noticed strange behavior on iOS. When the list initially the first video can be played without issue. Scroll to the next page and try to play the next video and there is a lag in the beginning of the next video. This is reproducable throughout the list. At any point in the list when there is only one active Player instance the video plays without issue. When there is more than one player (say you scroll from one page with a video to the next page which also hosts a video) there will always be some lag in starting the next video.
What is the prescribed way to implement multiple players in a list/page view?

I think I understand what this is.
If you go through our example application (download link in README), you'll find two samples:

https://github.com/media-kit/media-kit/blob/main/media_kit_test/lib/tests/04.tabs_test.dart
https://github.com/media-kit/media-kit/blob/main/media_kit_test/lib/tests/09.seamless.dart

I think you're implementing a situation similar to 1.
You should optimize your code so that it initializes Player etc. efficiently. It is something that we can (probably) optimize in our own implementation e.g. using isolates, but I can't confirm to what extent.

Thanks for the feedback! I will look into it.
Just to clarify the issue a bit, I have PageView items that I am scrolling through. The items can be either a video or a image. I am using a builder so that items are built on demand. The video items do not autoplay (although I will set it that way once I have this issue sorted out).
Scenario 1:
Only one video list item is currently built (this means one player is initialized). You click play and the video plays back with no issue.
Scenario 2:
Two video list items are built (two player instances are initialized). Click play on a video list item and the playback begins immediately, pauses for a half second and then plays the rest of the video without issue.
This is 100% reproducible.

I added some additional logs to my code and found that when I switch pages I attach the next video player and detach (dispose) the previous one. So when I click play on the next video it still has the issue of immediately playing, pausing for a half second then continuing play even when there is no other attached video player.

Update: I changed my underlying player to Flutter's bog standard video_player and it works well now. Bit of a bummer because I like this package and it's API. If you want to investigate further I can provide more details.

From what I can tell... The dispose method is freezing UI for substantial amount of time & thus the delay.

Even that seems alright once I try release mode.

That would be my guess too Alex, it looked like something was happening in dispose


issue credits

issue 10000 credits to @ctessum

 Follow up
On Monday, 26-Feb-24 14:47:28 UTC by Gov4Git dev
Issued 10000 credits to member @ctessum.


Unable to launch Addon on Kodi 19.3 Fresh Install

Hi,
I'm unable to enable Artwork Dump Addon and receive error.
See the log ( DEBUG 2 ):
https://pastebin.pl/view/56c7f02e
My environment:
nVidia Shield 2017 9.0.2 (<IP_ADDRESS>9)
Skin: Estuary MOD V2 Matrix 3.4.0+matrix.11
Kodi: 19.3
db and files are on NAS.
Any advise will be mostly appreciated.

AD is not likely to support addon data on a network share.

0.3.0 adds an option "Track processed items and skip them during later scans". Disabling this should avoid the database file, which may be the only thing preventing Artwork Dump from working with add-on data on a network share.


scripts: fix the usage of apollo_base.sh script

$0 would be 'bash' since this script is commonly used with source or .
And also, it seems like it is not used as apollo_base.sh COMMAND


Please add Set-OutlookSignatures Benefactor Circle to the list of publishers that have updated their add-ins to NAA

Dear Office.js documentation team,
could you please add ExplicIT Consulting's Set-OutlookSignatures Benefactor Circle to the list of publishers that already have updated their Outlook add-in to Nested App Authentication at Is there a list of publishers that have updated their add-ins??
Thanks in advance!

Hi @GruberMarkus. Thanks for your post.
@davidchesnut, could you please assist with this request?

@davidchesnut, @samantharamon: Thank you for adding Set-OutlookSignatures to the list of publishers!
Closing this issue, as the request has been fulfilled.


Table lose full-width if resize window

I tested it on chrome and firefox.
The table head and body only get the width of it's initial value. For example, if i started with the browser windowed (without full width of screen) and then maximize to fill the screen, the table head/body will not expand to fill the table 100% width.
It stays on the initial size, only resize to full width after page reload
img on windowed mode
img on full width

This bug appeared in angular 1.4.x versions.

This is fixed in my PR #17. It also affects angular 1.3.x.


Added CloudEvents content types

#1803

Thanks for the PR!
Could you also make this relevant change in crs-setup.conf.example so that the default is correct? Unfortunately we have this little duplication to make the config easier to work on.
If you can do this I will try to merge it in time for the next release.

Awesome, thank you! Merged!


Integrate with ASP.NET MVC 5

Hi all,
I would like to use it for my project that built in ASP.
But It not work fine.
How can I build it ?
thank

Hello,
Not sure how ASP works, but you have build library indist directory. Just take angular-backtop.min.js and angular-backtop.css and include it into your project.

now it work fine. thank you guy


new repository needs to be created manually

in order to create a new backup, I needed to create the new repository manually inside the container
(something like restic -r .... init).
Isn't this done automatically?
Furthermore the command to create a user is:
server-user create <username> <password>
not:
server-user <username> <password>
I'll push a new readme.md because the current one has formatting issues anyway. Will be done when it's ready.

Repositories should be created automatically - This might have broken with the independent repositories, I'll have to do some tests. Originally (and still works) is REPOSITORY_PATH and REPOSITORY_PASS which acts as a default for all...
Thanks for fixup on README..

Fatal: unable to open config file:  does not exist
Is there a repository at the following location?


Etcd join does not expose MemberList errors when node is joining the cluster

If the member joining the cluster cannot reach an existing cluster member on the etcd client port to list the current cluster members, it will log an error reporting Failed to get member list from etcd cluster. Will assume this member is already added. The underlying error is not reported, so it is not possible to diagnose the problem. The observed behavior suggests that the MemberList is failing both on the remote node (in the infoHandler function), and on the joining node. The underlying error is not logged in either location.

On RKE2, this can be reproduced by joining a new server to the cluster before etcd has started on the first server. Etcd will be unavailable because it hasn't started yet.
On K3s, this can be roughly reproduced by creating a two-server etcd-only cluster, then stopping one of the servers, and trying to join a 3rd. Etcd will be unavailable because the cluster is unhealthy (1 of 2 nodes available).

Validated on  with  /
$ k3s -v
k3s version v1.27.1+k3s-a736b4b1 (a736b4b1)
go version go1.20.3

Environment Details

Infrastructure

[ ] Cloud
[ ] Hosted

Node(s) CPU architecture, OS, and Version:

$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.2 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.2 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

Cluster Configuration:

3 etcd-only server

Testing Steps

Create etcd-only node
Join second etcd-only node
Stop one server
Try to join 3rd etcd-only node

Validation Results:

k3s version used for validation:

## Server 1:

ubuntu@ip-172-31-35-177:~$ curl -sfL https://get.k3s.io | INSTALL_K3S_COMMIT=a736b4b1b932a2f513077959a931f8f2faae6329 sh -s - server --cluster-init --token secret --disable-apiserver --disable-controller-manager --disable-scheduler
[INFO]  Using commit a736b4b1b932a2f513077959a931f8f2faae6329 as release
[INFO]  Downloading hash https://k3s-ci-builds.s3.amazonaws.com/k3s-a736b4b1b932a2f513077959a931f8f2faae6329.sha256sum
[INFO]  Downloading binary https://k3s-ci-builds.s3.amazonaws.com/k3s-a736b4b1b932a2f513077959a931f8f2faae6329
[INFO]  Verifying binary download
[INFO]  Installing k3s to /usr/local/bin/k3s
[INFO]  Skipping installation of SELinux RPM
[INFO]  Creating /usr/local/bin/kubectl symlink to k3s
[INFO]  Creating /usr/local/bin/crictl symlink to k3s
[INFO]  Creating /usr/local/bin/ctr symlink to k3s
[INFO]  Creating killall script /usr/local/bin/k3s-killall.sh
[INFO]  Creating uninstall script /usr/local/bin/k3s-uninstall.sh
[INFO]  env: Creating environment file /etc/systemd/system/k3s.service.env
[INFO]  systemd: Creating service file /etc/systemd/system/k3s.service
[INFO]  systemd: Enabling k3s unit
Created symlink /etc/systemd/system/multi-user.target.wants/k3s.service → /etc/systemd/system/k3s.service.
[INFO]  systemd: Starting k3s
ubuntu@ip-172-31-35-177:~$

## Server 2:

ubuntu@ip-172-31-41-20:~$ curl -sfL https://get.k3s.io | INSTALL_K3S_COMMIT=a736b4b1b932a2f513077959a931f8f2faae6329 sh -s - server --cluster-init --token secret --server https://<IP_ADDRESS>:6443 --disable-apiserver --disable-controller-manager --disable-scheduler
[INFO]  Using commit a736b4b1b932a2f513077959a931f8f2faae6329 as release
[INFO]  Downloading hash https://k3s-ci-builds.s3.amazonaws.com/k3s-a736b4b1b932a2f513077959a931f8f2faae6329.sha256sum
[INFO]  Downloading binary https://k3s-ci-builds.s3.amazonaws.com/k3s-a736b4b1b932a2f513077959a931f8f2faae6329
[INFO]  Verifying binary download
[INFO]  Installing k3s to /usr/local/bin/k3s
[INFO]  Skipping installation of SELinux RPM
[INFO]  Creating /usr/local/bin/kubectl symlink to k3s
[INFO]  Creating /usr/local/bin/crictl symlink to k3s
[INFO]  Creating /usr/local/bin/ctr symlink to k3s
[INFO]  Creating killall script /usr/local/bin/k3s-killall.sh
[INFO]  Creating uninstall script /usr/local/bin/k3s-uninstall.sh
[INFO]  env: Creating environment file /etc/systemd/system/k3s.service.env
[INFO]  systemd: Creating service file /etc/systemd/system/k3s.service
[INFO]  systemd: Enabling k3s unit
Created symlink /etc/systemd/system/multi-user.target.wants/k3s.service → /etc/systemd/system/k3s.service.
[INFO]  systemd: Starting k3s
ubuntu@ip-172-31-41-20:~$
ubuntu@ip-172-31-41-20:~$
ubuntu@ip-172-31-41-20:~$ sudo systemctl stop k3s
ubuntu@ip-172-31-41-20:~$
ubuntu@ip-172-31-41-20:~$

## Server 3:
Trying to join the 3rd etcd-node-server
ubuntu@ip-172-31-41-235:~$ curl -sfL https://get.k3s.io | INSTALL_K3S_COMMIT=a736b4b1b932a2f513077959a931f8f2faae6329 sh -s - server --cluster-init --token secret --server https://<IP_ADDRESS>:6443 --disable-apiserver --disable-controller-manager --disable-scheduler
[INFO]  Using commit a736b4b1b932a2f513077959a931f8f2faae6329 as release
[INFO]  Downloading hash https://k3s-ci-builds.s3.amazonaws.com/k3s-a736b4b1b932a2f513077959a931f8f2faae6329.sha256sum
[INFO]  Downloading binary https://k3s-ci-builds.s3.amazonaws.com/k3s-a736b4b1b932a2f513077959a931f8f2faae6329
[INFO]  Verifying binary download
[INFO]  Installing k3s to /usr/local/bin/k3s
[INFO]  Skipping installation of SELinux RPM
[INFO]  Creating /usr/local/bin/kubectl symlink to k3s
[INFO]  Creating /usr/local/bin/crictl symlink to k3s
[INFO]  Creating /usr/local/bin/ctr symlink to k3s
[INFO]  Creating killall script /usr/local/bin/k3s-killall.sh
[INFO]  Creating uninstall script /usr/local/bin/k3s-uninstall.sh
[INFO]  env: Creating environment file /etc/systemd/system/k3s.service.env
[INFO]  systemd: Creating service file /etc/systemd/system/k3s.service
[INFO]  systemd: Enabling k3s unit
Created symlink /etc/systemd/system/multi-user.target.wants/k3s.service → /etc/systemd/system/k3s.service.
[INFO]  systemd: Starting k3s

Error handling:

.
.
.

ubuntu@ip-172-31-35-177:~$ sudo journalctl -u k3s | grep "unhealthy cluster"
May 04 20:31:29 ip-172-31-35-177 k3s[2984]: {"level":"warn","ts":"2023-05-04T20:31:29.715Z","caller":"etcdserver/server.go:1614","msg":"rejecting member add request; local member has not been connected to all peers, reconfigure breaks active quorum","local-member-id":"551ca5942950f5f5","requested-member-add":"{ID:c2e614806512614c RaftAttributes:{PeerURLs:[https://<IP_ADDRESS>:2380] IsLearner:true} Attributes:{Name: ClientURLs:[]}}","error":"etcdserver: unhealthy cluster"}

Cubuntu@ip-172-31-41-235:~sudo journalctl -u k3s | grep "unhealthy cluster"
May 04 20:31:29 ip-172-31-41-235 k3s[2204]: {"level":"warn","ts":"2023-05-04T20:31:29.715Z","logger":"etcd-client","caller":"v3@v3.5.7-k3s1/retry_interceptor.go:62","msg":"retrying of unary invoker failed","target":"etcd-endpoints://0xc000dbc000/<IP_ADDRESS>:2379","attempt":0,"error":"rpc error: code = Unavailable desc = etcdserver: unhealthy cluster"}

ubuntu@ip-172-31-41-235:~$ journalctl -xeu k3s.service | grep "get member"
May 04 21:03:47 ip-172-31-41-235 k3s[3149]: time="2023-05-04T21:03:47Z" level=error msg="Failed to get member list from etcd cluster. Will assume this member is already added"
May 04 21:04:14 ip-172-31-41-235 k3s[3176]: time="2023-05-04T21:04:14Z" level=error msg="Failed to get member list from etcd cluster. Will assume this member is already added"
May 04 21:04:41 ip-172-31-41-235 k3s[3202]: time="2023-05-04T21:04:41Z" level=error msg="Failed to get member list from etcd cluster. Will assume this member is already added"
May 04 21:05:07 ip-172-31-41-235 k3s[3230]: time="2023-05-04T21:05:07Z" level=error msg="Failed to get member list from etcd cluster. Will assume this member is already added"

Additional context / logs:


AWS bucket archive set up

https://github.com/cdcent/covid-forecast-hub-2024/issues/11

closed via #3


Test compiling pathfinder on different devices

a GitHub action now does this automatically every time a change is pushed to the repo


Page is zoomed when selecting and image is not part of tweet, see video

The page is zoomed in instead of the same size as the original when capturing. It also captures on a separate tab, not in the original tab.
The main issue however is that there is no image whatsoever in the Twitter compose. Here is a screen recording of all three issues:
https://www.dropbox.com/s/hy19h8o4rsbom2u/screen-recording-cropshot.mov?dl=0

What version of chrome are you using?
should work from 80 upwards, also note, the very first time it will not put the document, just go back to your webpage and refresh the tab then try again it will work now, also there is a 2 second delay waiting for twitter to load...
Let me know how it goes.
I have tested on both chrome and brave

@ramonza Also make sure you had given the extension permissions

@ramonza i have updated my code, please pull the latest and update your chrome extension.
Test this and let me know incase it still persists

The page is zoomed in instead of the same size as the original when capturing. It also captures on a separate tab, not in the original tab.
The main issue however is that there is no image whatsoever in the Twitter compose. Here is a screen recording of all three issues:
https://www.dropbox.com/s/hy19h8o4rsbom2u/screen-recording-cropshot.mov?dl=0

The new tab is closed immediately after you finish cropping, as for the zooming i dont think it zooms, it crops.
I have updated the code, please update your local repo and reinstall the extension.
Note after cropping please leave the newly created twitter tab on till the image is pasted there, if you go to another tab then the image will be pasted on the wrong tab.

You know I worked it out. I think the zooming is happening because I am using a high res display (recent Macbooks). Is there anywhere you are using pixel values? These need to be adjusted I think to account for High DPI displays like on all recent Mac laptops.


TimeoutException Google Cloud Logging flush()

Environment details

Cloud Logging flush()
OS type and vers: MacOS
Java version: 1.8
google-cloud-java version(s):

Steps to reproduce

Use Cloud logging with the latest version of Java
Try to send logs to Cloud Logging backend

Code example
// TODO

Stack trace
Any relevant stacktrace here.

External references such as API reference guides used

?

Any additional information below
This is basically the same as https://github.com/googleapis/google-cloud-java/issues/5225 but we cannot reopen that issue hence opening a new one.
CC @DNVindhya pls fill in the details such as code example and stack trace
Also CC @elharo to see if he can help because of protobuf-java issue

Moved this to java-logging (the repository of com.google.cloud:google-cloud-logging) to get better help.

@DNVindhya, I believe the reference you wanted to provide in your description is to the close() method.
Looking into the code it is very similar to the native's JUL handler implementation provided with the logging library. Would it be possible for you to run your application using the native handler and let us know whether you experience the same problem or not?
We also will need to learn more about the way you run the sample because our automated tests of the samples as well as the manual execution that I did do not show any problems.
While I did not have a chance to run it from MacOS environment, I want to believe it should not be the issue.
Can you describe how do your run the sample exactly? For example, do you use some IDE to do it or you run it from a command line?
Thank you

@minherz, we were able to resolve the timeoutException by adding explicit dependencies in our build.gradle file as follows :
dependencies {
    def cloudLoggingVersion = '3.6.1'

    api project(':grpc-api'),
            project(':grpc-alts')

    implementation 'com.google.guava:guava:31.0.1-jre',
            'com.google.errorprone:error_prone_annotations:2.11.0',
            'com.google.auth:google-auth-library-oauth2-http:1.3.0',
            'org.checkerframework:checker-qual:3.20.0',
            'com.google.auto.value:auto-value-annotations:1.9',
            'com.google.http-client:google-http-client:1.41.0',
            'com.google.http-client:google-http-client-gson:1.41.0',
            'com.google.api.grpc:proto-google-common-protos:2.7.1'

    implementation project(':grpc-protobuf'),
            project(':grpc-stub')

    implementation ("com.google.cloud:google-cloud-logging:${cloudLoggingVersion}")
    }

Since google-cloud-logging uses gRPC, when we directly added the dependency in grpc-java, we got numerous version conflicts  and exceptions because of the circular dependency. So as a temporary fix, we have added explicit dependencies of libraries as shown above to resolve conflicts.
We are using google-cloud-logging:3.6.1 in the meanwhile.  We are still interested in a long term solution.

Thanks a lot for providing more context and a solution for your current problem @DNVindhya!
Based on our conversation, the solution to use java-logging library within grpc-api is not ideal due to a circular dependency created as a result (e.g. java-logging depend on gax-grpc).
Even with specific workaround you provided, it might be not the best route to take since it might not work for customers using your library - they might encounter same issues with dependencies or timeouts as it was in your case.
I understand that using java-logging is very convenient since it provides functionality to populate log entry, manages auth and support other useful features, but in your case the suggestions is to use a googleapis/gapic-generator layer to eliminate any potential build/runtime issues users might encounter.
In the future, we might consider to split our java-logging library into 2 independent layers where transport related logic would be completely separate from log entry management - feel free to open a feature request for this.
As of now I am closing this issue - please reach out or comment for any requests or concerns.


Fix to_json_file function in BaseConfig

Type of Change
bug fix
API changed or not
Description
Fix to_json_file function in BaseConfig
How has this PR been tested?
local test
Dependency Change?
no

Will fixed in internal repo first.


Automatically update the project version

Make a script that can automatically update the project version.
This could be updated from an editor script in Unity e.g the ApplicationVersion script
These files needs to be automatically updated

installer.iss
ProjectSettings/ProjectSettings.asset

This will not automatically update the project version but alert the developer that the version is not correctly configured


Question on permissions

The scanner at IoD just reported:
! repo/de.tu_darmstadt.seemoo.nfcgate_12.apk declares sensitive permission(s): android.permission.READ_EXTERNAL_STORAGE*
! repo/de.tu_darmstadt.seemoo.nfcgate_12.apk contains signature block blobs: 0x504b4453 (DEPENDENCY_INFO_BLOCK; GOOGLE)

Concerning storage permissions, I've just added them to the app's green list – please confirm I got that right:
    android.permission.READ_EXTERNAL_STORAGE: imnplicitly granted due to WRITE_EXTERNAL_STORAGE
    android.permission.WRITE_EXTERNAL_STORAGE: needed to export of captured NFC traffic

As for DEPENDENCY_INFO_BLOCK, that can be easily avoided with a tiny adjustment to your build.gradle:
android {
    dependenciesInfo {
        // Disables dependency metadata when building APKs.
        includeInApk = false
        // Disables dependency metadata when building Android App Bundles.
        includeInBundle = false
    }
}

For some background: that BLOB is supposed to be just a binary representation of your app's dependency tree. But as it's encrypted with a public key belonging to Google, only Google can read it – and nobody else can even verify what it really contains. More details can be found e.g. here: Ramping up security: additional APK checks are in place with the IzzyOnDroid repo.
Thanks in advance!

Hi,

Concerning storage permissions, I've just added them to the app's green list – please confirm I got that right:

Yes. NFCGate has not been adapted to storage changes in newer Android versions yet, that's why these permissions are still there. They are used for exporting pcapng files of captured communication in relay and on-device capture mode, and where needed at the time of development of these features.
Regarding DEPENDENCY_INFO_BLOCK, that's new information to me. Thanks for the tip of removing it, I guess this block does not make much sense if we do not upload the APK to GPlay.

has not been adapted to storage changes in newer Android versions yet

Once that's the case, the updater here should warn us their green-listing is obsolete and we can remove them again :wink:

I guess this block does not make much sense if we do not upload the APK to GPlay.

With Play being the only place able to read them: nope, no really use for that. But you know how the folks are there, they always think they're the only ones…

Regarding DEPENDENCY_INFO_BLOCK, this is fixed in the latest release, see #185.

Updated, confirmed, RB¹ shield up – will go out with the next sync, thanks!
¹ see: Reproducible Builds, special client support and more at IzzyOnDroid


redo result items

There are various result items:

ResultItem: configures a result SequenceResultItem
SequenceResultItem: jankily pieced together logic around producing more useful results
SequenceItemResult: Complete information for understanding the sequence that was processed

These are all half baked because they were added before the TTRPGEngine itself. Now that there is the beginning of a framework for doing something with sequence results it's time to rethink these various "results".
Q: How are results currently used?
A: Updating attributes. Publishing a formatted message.
Q: Any other uses not currently implemented?
A: See #106.
It makes sense for the engine to update attributes. That needs to be done in a cleaner way. It makes sense to publish events for both of these cases. Then apps using this library can tie into those events however they need.

Finally finished this refactor.


Wsl

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: user3984:x: rootroot seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Search - Button loads infinitely when approving or paying expense in Search in offline mode

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.60-0
Reproducible in staging?: Y
Reproducible in production?:  N/A - new feature, doesn't exist in prod
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause Internal Team
Action Performed:
Precondition:

User has paid expense in Search before.

Submit an expense.
Go to Search.
Go offline.
Click Pay or Approve button.

Expected Result:
The expense is paid successfully in offline mode, or the button should be disabled if pay does not work in search in offline mode.
Actual Result:
The button loads infinitely when approving or paying expense in Search in offline mode.
Workaround:
Unknown
Platforms:

[ ] Android: Standalone
[ ] Android: HybridApp
[x] Android: mWeb Chrome
[ ] iOS: Standalone
[ ] iOS: HybridApp
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
https://github.com/user-attachments/assets/ba57b36b-8d34-4acc-b470-e07c7a48eb7b

View all open jobs on GitHub

I'm the author of the PR that introduced this functionality. I'll work on a fix

Fixed in staging.

This is done


An error occurred as we tried to bundle your apps to create a preview. Please contact support for assistance.

I type "yarn install" after that i type "yarn build" and get error when i upload to cloudflare
I try two pc and get some error.

i have sane problem

Same here 😞

I have the same problem...any ideas?

The support seems to be overwhelmed. They sent out automatic messages to see, if the current issues are still relevant.
So I am still waiting on them to review the HAR file that asked me to send.

Same issue here.

same issue here


Unable to load the skill when using ovos-workshop launcher

2023-04-20 14:30:40.392 - OVOS - ovos_workshop.skill_launcher:load:463 - INFO - ATTEMPTING TO LOAD PLUGIN SKILL: skill-ovos-volume.openvoiceos
2023-04-20 14:30:40.394 - skill-ovos-volume.openvoiceos - ERROR - Skill initialization failed
Traceback (most recent call last):
  File "/home/ovos/.venv/lib/python3.11/site-packages/ovos_workshop/skills/base.py", line 335, in _startup
    self._init_settings()
  File "/home/ovos/.venv/lib/python3.11/site-packages/ovos_workshop/skills/mycroft_skill.py", line 99, in _init_settings
    if not exists(self._settings_path) and exists(self._old_settings_path):
                  ^^^^^^^^^^^^^^^^^^^
  File "/home/ovos/.venv/lib/python3.11/site-packages/ovos_workshop/skills/mycroft_skill.py", line 193, in _settings_path
    if self.settings_write_path and self.settings_write_path != self.root_dir:
       ^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'VolumeSkill' object has no attribute 'settings_write_path'
2023-04-20 14:30:40.396 - skill-ovos-volume.openvoiceos - WARNING - Skill not fully initialized. Only default values can be set, no settings can be read or changed.to correct this add kwargs __init__(bus=None, skill_id='') to skill class VolumeSkill
2023-04-20 14:30:40.397 - skill-ovos-volume.openvoiceos - ERROR - Traceback:
  File "/home/ovos/.venv/bin/ovos-skill-launcher", line 8, in <module>
    sys.exit(_launch_script())
  File "/home/ovos/.venv/lib/python3.11/site-packages/ovos_workshop/skill_launcher.py", line 523, in _launch_script
    launch_plugin_skill(skill_id)
  File "/home/ovos/.venv/lib/python3.11/site-packages/ovos_workshop/skill_launcher.py", line 486, in launch_plugin_skill
    skill_loader.load(skill_plugin)
  File "/home/ovos/.venv/lib/python3.11/site-packages/ovos_workshop/skill_launcher.py", line 469, in load
    self.loaded = self._create_skill_instance()
  File "/home/ovos/.venv/lib/python3.11/site-packages/ovos_workshop/skill_launcher.py", line 419, in _create_skill_instance
    self.instance = skill_creator(bus=self.bus,
  File "/home/ovos/.venv/lib/python3.11/site-packages/ovos_workshop/skills/mycroft_skill.py", line 73, in __init__
    super().__init__(name=name, bus=bus, *args, **kwargs)
  File "/home/ovos/.venv/lib/python3.11/site-packages/ovos_workshop/skills/base.py", line 223, in __init__
    self._startup(self.bus, self.skill_id)
  File "/home/ovos/.venv/lib/python3.11/site-packages/ovos_workshop/skills/base.py", line 355, in _startup
    self.default_shutdown()
  File "/home/ovos/.venv/lib/python3.11/site-packages/ovos_workshop/skills/base.py", line 1783, in default_shutdown
    if self.settings != self._initial_settings:

No an issue anymore.


Consider how users can flag issues with or request updates to contact info

What
When viewing data contact info (request access, ask a question, data owner) users may need to:

report an issue (e.g. if a link is broken or wrong)
tell us about something that's changed (e.g. a new data owner)

We also want to encourage users to fill any gaps in the info.
Currently, the only way to do this would be through the general contact or feedback channels. We should explore whether something more is needed. e.g. a specific link alongside the contact info.
Why
To make it easier for, and encourage, users to report issues and inform us of new info.

do we know how we want to deal with maintenance of contact information? who would be notified about changes, what is the process to validate the new information, and who (apart from the original registrar) is allowed to change the information?


Add analytics table for binary model performance analysis across multiple scores/targets

Overview
Add model comparison tools to compare model performance across multiple binary model scores/targets.
Closes #62
Description of changes
We create an analytics table using great_tables package to present model performance data across multiple model scores/targets centered around specified values for a performance metric ('Flagged', 'Sensitivity', 'Specificity', 'Threshold').  Users can also choose two values for the specified metric to be considered, which columns should be displayed and if the columns should grouped by scores or targets.

For instance, if Sensitivity of [0.7,0.8] are specified, the performance metrics ('PPV', 'Flagged', 'Specificity', 'Threshold', etc.) across model scores/targets for Sensitivity=0.7 and Sensitivity =0.8 are provided.

Author Checklist

[ ] Linting passes; run early with pre-commit hook.
[ ] Tests added for new code and issue being fixed.
[ ] Added type annotations and full numpy-style docstrings for new methods.
[ ] Draft your news fragment in new changelog/ISSUE.TYPE.rst files; see changelog/README.md.

Mostly a UX thing -

We now have two tables, and the styling (indent, some edges) look a bit different, could you bring the two tables more in alignment with each other?


Missing CodeRegistration for Maze by Liveoverflow

CodeRegistration is 180a10e10 according to il2cppdumper. Would be nice if we can input manually in case if automation fails
Game is called Maze http://maze.liveoverflow.com/
PS F:\Portable Apps\Cpp2IL> ./Cpp2IL-Win  --game-path F:\Games\Maze
===Cpp2IL by Samboy063===
A Tool to Reverse Unity's "il2cpp" Build Process.
Running on Win32NT
Using path: F:\Games\Maze
Auto-detected game name: Maze
Located game EXE: F:\Games\Maze\Maze.exe
Located global-metadata: F:\Games\Maze\Maze_Data\il2cpp_data\Metadata\global-metadata.dat

Attempting to determine Unity version...
This game is built with Unity version 2020.1.0
Reading metadata...

        -Initializing MemoryStream of 11832832 bytes, parsing sections, and initializing with auto+ mode.
Reading PE File Header...OK (0,4604 ms)
        Image Base at 0x180000000
        DLL is 64-bit
Looking for registration functions...
        Identified execute section .text
        Identified execute section il2cpp
        Identified data section .rdata
        Identified data section .data
        Identified data section .pdata
        Identified data section _RDATA
Attempting to locate code and metadata registration functions...
        (64-bit PE)
        Failed to find code and metadata registration functions using primary location method (probably because we're post-2019), checking if we can use the fallback...
        Found il2cpp_init export (resolves to virtual addr 0x18002F820), using fallback method to find Code and Metadata registration...
        Located probable Runtime::Init function at virtual addr 0x18006B4B0
        Located probable ExecuteInitializations function at virt addr 0x18006B551
        Missing or invalid second instruction in ExecuteInitializations, fallback failed!
Initializing with located addresses:
        CodeRegistration : 0x0
        MetadataRegistration : 0x180a10e80
Initialize failed. Aborting.

Manually specifying the options for code & metadata registration is something I can consider, yes, but ideally I'd like to make it Just Work - I didn't have any examples of unity 2020 games, so I can take a look at this one in a bit.

Having done some investigation into that game specifically, it's super obfuscated, and I don't think the CodeRegistration given by il2cppdumper is correct (though it IS close, it's about 16 bytes too far, I believe the correct value to be 180a10e00). I'm not certain how I'd detect this - il2cppdumper is not getting it right, so I can't use its method, and it's too complicated to use the one I'm currently using. Will look into it in more detail.

That said, cpp2il will now allow you to put in addresses for code and metadata registration if it fails to find them - but for this specific game, that still doesn't allow the process to run, with either il2cppdumper's address or the one I just found.

Not that this game is relevant anymore, but I have a better CodeRegistration detection algorithm now, and better support for unity 2020, so closing this.


Plugin is not working

When I try access the url page, happen this

Published version 1.2.0 that fixes the problem

@lauroguedes I can confirm, that version 1.2.0 fixes the problem.

@rbukovansky yet is with the problem, you can look in the project - https://goo.gl/1quUDL
in param 'slug_blog' of the config it is 'blog'. This is have some influence?

@lauroguedes That page needs me to log in. I don't have any credentials to that site. Could you provide some?
But as far as my not-developer eye can see, that config is only usable when using Antimatter theme, but I might be wrong.
@iusvar Will you chime in? Thanks.

@rbukovansky, I was doing that you have preceded me...
@lauroguedes, in the linked project where I can find the button to create the PDF?
The plugin is designed for Antimatter and Learn2: so the slug_blog parameter was added because someone might have a blog in a folder other than 'blog'.

@lauroguedes now I'm watching...

@rbukovansky I released the access, I developed the project on the Helium template for Grantry5

@iusvar I'm trying to develop a skeleton template to write based on this template I made. So I think it's cool if this plugin works on this topic. If you want I can release the code for you to contribute with this project making your plugin work on it.

@lauroguedes I was going to ask you if it was a theme similar to [grav-theme-knowledge-base] (https://github.com/Perlkonig/grav-theme-knowledge-base) of @Perlkonig

@iusvar yes, but I want to do a bigger project with more features and responsive

@lauroguedes okay, in the meantime I can make some attempt with that theme ... I not engage too much because I do not have enough time!

no problem, as soon as I published it, I invite you

@lauroguedes Hi, I am currently performing the latest checks before I create the next release that also contains the code for the original Knowledge Base theme by Perlkonig ...

ok very good. I am working the my project of knowledge base theme too. Comon son I am going to rocket it.


Node.js Port

[x] Display other online users
[x] Add log-out option
[x] Change password method to environment variable instead of file content
[ ] Harden security (POST method using a hash instead of the plaintext password to avoid sniffing attacks)
[ ] Harden security 2 (We are vulnerable to bruteforcing - add some way to stop infinite submits)
[ ] Harden security 3 (We can crash the server if we send enough data through the text fields. Limit the size)
[ ] Improve design (after the MVP checks out)

@UlissesFerreira,

[ ] Improve styles (mainly the list of users)
[ ] Add comments to the code (in English) (don't add too many)
[ ] Put the websocket in a different path in the same port of the server.

What's the state of this @ulissesferreira?


made constants public

Hi @uschmidt83,
I'm setting up a Java workflow which calls StarDist under the hood in ImageJ. In order to prevent me making typos, e.g. here, it would be cool if the constants in the Opt class would be public and thus, accessible.
Thanks for maintaining this awesome ImageJ plugin!
Cheers,
Robert

Sure.


LUA class inheritance example?

Is it possible to derive a new Lua class from registered by Sol2?
Something like
Derived = Class('Derived', BaseClass)
Derived:NewShinyMethod()
    print(self.baseClassVar)
end

I'm new at Lua, so for me it's actually not that clear.

Lua by itself does not have OOP semantics and sol2 is just a binding layer, so it doesn't introduce any additional functionality to Lua (compared to say LuaBind). Personally, I use middleclass to provide class semantics in my scripts, but I'm not sure if and how one could combine that with sol2 generated metatables (wherever they exist) to implement inheritance on a Lua level.

I know about Lua table nature, but Sol2 provides some sort of classes. So I would like to know, is it possible to inherit a new class from them or not.

Currently, I have no plans on adding a way to add new class features and the like at runtime through a Lua script. Derived classes should be register in C++.
I have been thinking about maybe putting this on the feature list. Problem is, I haven't thought about how I would go about doing the work to make it happen. As it stands, I don't think there's an easy way to enable this, but I'd have to check some interactions with how the Lua script parses out the example code and what metamethods get called. There's also problems like how to define properties, variables, etc. on a 'class type', when Lua has no notion of such a thing...

Might be added as a "library" type in Sol2, called sol::lib::lua_classes: it's a frequent request I've also gotten in person about being able to do this without setting up a bunch of metatable junk...
Implementation will take a while.

Part of this has been implemented, in that users can define methods at runtime on a predefined class for Lua as shown in the example now.
As far as "making a class in Lua", I don't have a syntax for that yet. I need to figure out the proper way of doing that, and how I would handle concepts like base classes and the like. At the moment, it seems unlikely that I would make it do base classes and the like. It's going to take quite a bit of bike shedding to get it right, so don't hold your breath waiting for this one...!

@ThePhD you could look at middleclass syntax or LuaBind syntax for inspiration.

middleclass looks amazing: I definitely will put this on the backburner, if other people already have great libraries like that one...!

Yeah, I've been using it for a while now and it's pretty cool. The implementation is also extremely straight forward.

Cool, very useful even at this stage. Much appreciated.

I spent a lot of time thinking about this. The benefit for classes in Sol is primarily so that userdata can be converted between its void* Lua storage and a C++ class while maintaining its layout and other strict invariants. What happens if someone defines a class in Lua at runtime, and then wants to "retrieve" that class later on in C++? Do we tell them to use tables and remove any static safety? Do we try to make it a real class that can have its members laid out in a fashion C++ would expect? How would we go about doing that without having to write what is essentially our own class and method packer? How do we create strong types for things beyond integers, strings, and tables?
There's no good way to do this, and if sol were to provide a "class" abstraction for Lua, it'd essentially be "flavored tables". At that point, there's little benefit to doing it beyond what middleclass already provides, so at this time I'm just going to say use middleclass for what you need in Lua. When dealing with C++, however, feel free to use Sol's abstractions to get the most mileage.


UWUW compatability

This PR add two features:

An additional flag, -U, for mcnp2cad that allows for the creation of CUBIT groups that are compatible with UWUW, i.e. in the form mat:X/rho:Y. The material name (X) is chosen to be the name of the material card from which the material originates (e.g. "m1", "m2").

A python script was added to read MCNP input files and create UWUW material library files, with a naming scheme compatible with the -U flag. A unit test was added for this script. The script was confirmed to work with uwuw_preproc, contigent on the bug fixes here.

Im somewhat against adding a PyNE dependency to mcnp2cad which already has enough. mcnp2cad has one function which is to create CAD from mcnp native files, what you want to test is that the groups are of the right format right? So could you instead not just read the sat file and see if the group parameter has the right name set?
The python file which takes an mcnp input deck and creates a uwuw library, I think should probably live in tools/DAGMC. This would fix the PyNE dependency problem in mcnp2cad.

This would fix the PyNE dependency problem in mcnp2cad.

To be clear MCNP2CAD itself doesn't take on a PyNE dependency in this PR, so I do not think this creates a dependency problem. I agree that MCNP2CAD should remain a free-standing tool.
Though I know of other uses, I think the principle use of MCNP2CAD is to convert MCNP input files into a form usable by DAGMC versions of transport codes. As I see it, everything in DAGMC is moving towards UWUW conventions. UWUW requires coordination between CUBIT group names and material library names, so it makes sense for this coordination to happen within the same project.

Your test does though, which is the only part of this that Im not happy with. Im happy for the uwuw conventions to go in there, I would rather a test that doesnt need PyNE. A script that produces a uwuw library from an MCNP input I do think should live in DAGMC/tools along with uwuw_preproc.

Your test does though, which is the only part of this that Im not happy with.

The test is for the Python script, not the feature added to MCNP2CAD.
If you'd like, I will move the Python script and corresponding test to DAGMC/tools.

@makeclean I went ahead and removed the Python script and opened a PR in DAGMC here.

Smashing, I'll take a look tomorrow :)

Thanks @elliottbiondo


Accept Conanfile and Version by Argument

When you want to build multiple recipes on same CPT container, Bincrafters Package Tools is not able to handle different recipes names at same time, and the recipe version is collected by env var.

Codecov Report

Merging #26 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master      #26   +/-   ##
=======================================
  Coverage   98.42%   98.42%
=======================================
  Files           8        8
  Lines         190      190
=======================================
  Hits          187      187
  Misses          3        3

Impacted Files
Coverage Δ

bincrafters/build_shared.py
97.98% <100%> (ø)
:arrow_up:

bincrafters/__init__.py
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Incorportion of ESM3 models

Since the ESM3 model came out recently (https://github.com/evolutionaryscale/esm) I wanted to ask if it's possible to incorporate the new model onto the variant scoring somehow? Is it even possible, and if so - would it improve on anything in this context or not really?
Now, I realize that the group now operates as an independent company and all that, so it's a different situation than back when they were part of FAIR at Meta, but I wanted to ask out of curiosity nonetheless.

Hi @jacekzkominek,
We haven't really looked at ESM3 yet, but it definitely sounds like a promising thing to try. I expect that, at least in principle, it would be relatively easy to plug ESM3 into our framework. We have the code and benchmarks publicly available, so it should be straightforward to evaluate ESM3 and see how it compares to the ESM1 models if you want to try it.
One complication though is that ESM3 is no longer an open model (except of a smaller variation of the model that they did make open), so it would depend on what parts of the model are accessible through the API.


disable iOS bounce on private notes page

Details

Fixed Issues
$ https://github.com/Expensify/App/issues/35775
PROPOSAL: https://github.com/Expensify/App/issues/35775#issuecomment-1925877214
Tests
Same as QA step

[ ] Verify that no errors appear in the JS console

Offline tests
Same as QA step
QA Steps

Create workspace if not exist
Open #announce room or #admins room
Tap on header to go to report detail page
Tap on Private notes option
Enter note & save it
Scroll the private notes page
Verify that saved note field is sticky & not scrollable

[ ] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else

[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)

[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/97676131/a1ce0035-c20e-4ac7-b0de-d16776bad7b6

Android: mWeb Chrome
https://github.com/Expensify/App/assets/97676131/0ebad608-b600-4ee7-8d97-d81ff214095a

iOS: Native
https://github.com/Expensify/App/assets/97676131/9625f1e5-590f-450b-980c-ffcd462579b5

iOS: mWeb Safari
https://github.com/Expensify/App/assets/97676131/71c4be53-dc9b-4dbc-85eb-ba05864eede9

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/97676131/e9902f03-f5db-4e7c-baab-0c91edb87f30

MacOS: Desktop
https://github.com/Expensify/App/assets/97676131/da672449-68a9-45e9-8d40-8b3db4257539

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/108292595/1bca5178-3986-45f5-a937-6d3c9023d82a

Android: mWeb Chrome
https://github.com/Expensify/App/assets/108292595/0b47cc96-f8b7-41b0-bf43-e2a870c3616c

iOS: Native
https://github.com/Expensify/App/assets/108292595/267d33b2-c52e-4ec2-9769-171d4c41feed

iOS: mWeb Safari
https://github.com/Expensify/App/assets/108292595/b3429a7a-b1e1-4026-b6b4-59b64d58f3e2

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/108292595/9da41ce0-9973-4418-bb1d-44ac40b643c3

MacOS: Desktop
https://github.com/Expensify/App/assets/108292595/279feb09-39b4-439c-aed4-2b399693ea2f

@mkhutornyi since your commit was a week ago, can you please merge main & retest so we make sure we aren't breaking anything with latest changes on main? 🙏

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/Beamanator in version: 1.4.44-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/puneetlath in version: 1.4.44-13 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


[Secure storage] Fix test for timestamps: ensure timestamps are increasing.

Motivation
This small PR updates the timestamp test for secure storage: (i) it avoids using 'assert!(X != Y)', which should be replaced by 'assert_ne!(X, Y)'; and (ii) it ensures that timestamp1 is less than timestamp2 (instead of just checking that the timestamps are not equal).
Have you read the Contributing Guidelines on pull requests?
Yes.
Test Plan
Running the test locally passes.
Related PRs
None.

@bors-libra r+

:pushpin: Commit 440d88e has been approved by davidiw

:hourglass: Testing commit 440d88e5c4f63e1e9ddf639062b32c2d7a82d70c with merge 6aef3bceb4bb095ba7ff9cd21b5d34261eb48097...

:broken_heart: Test failed - checks-actions_land_blocking_test

@bors-libra retry

:hourglass: Testing commit 440d88e5c4f63e1e9ddf639062b32c2d7a82d70c with merge dd848e41feab629f4f6685621be8f02175c45dec...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: davidiw
Pushing dd848e41feab629f4f6685621be8f02175c45dec to master...


Microsoft.Authorization/roleAssignments loop resources compiled regardless of the if condition

Bicep version
Bicep CLI version 0.4.1124 (66c84c8ee5)
Describe the bug
The issue appears during the assignment of the contributor role to the system managed identity created during the policy assignment.
Regardless of the condition "if(region.long == policyLocation )", it seems that the entire for loop is still processed and the "principalId: policyAssignment[i].identity.principalId" is loaded for each iteration. This results in the deployment failing because the policy assignments for all regions cannot be found. There's only one policy assignment that exists at a time, depending on the input of the policyLocation parameter.
If I change the condition to "if(region.long == null )", I can still see the for loop processed for each iteration.
The role assignment does get assigned only when the condition is respected, "if(region.long == policyLocation )", however I would expect not to get in the loop at all if the condition is not met.
To Reproduce
param policyDefinitionId string
param policyLocation string
param regions array = [
  {
    short: 'euw'
    long: 'westeurope'
  }
  {
    short: 'eun'
    long: 'northeurope'
  }
  {
    short: 'usc'
    long: 'centralus'
  }
  {
]

resource policyAssignment 'Microsoft.Authorization/policyAssignments@2020-03-01' = [for region in regions : if(region.long == policyLocation ){
  name: policyAssignmentName
  location: policyLocation
  identity: {
    type: 'SystemAssigned'
  }
  properties: { }
  }]

 resource  roleAssignment 'Microsoft.Authorization/roleAssignments@2020-04-01-preview' = [for (region, i) in regions : if(region.long == policyLocation ){
  name: guid(policyDefinitionId, region.long)
  properties: {
    principalId: policyAssignment[i].identity.principalId
    principalType: 'ServicePrincipal'
    roleDefinitionId: '/providers/microsoft.authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c'
  }
 }]

This is a duplicate of #5288.
You will need to also add a conditional check to the principalId value. Something like:
 resource  roleAssignment 'Microsoft.Authorization/roleAssignments@2020-04-01-preview' = [for (region, i) in regions : if(region.long == policyLocation ){
  name: guid(policyDefinitionId, region.long)
  properties: {
    principalId: region.long == policyLocation ? policyAssignment[i].identity.principalId : null
    principalType: 'ServicePrincipal'
    roleDefinitionId: '/providers/microsoft.authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c'
  }
 }]


Issue: #3 submission

Issue: #3
Printed on the terminal as required. Screenshot link:-
https://drive.google.com/drive/u/0/folders/15Oo5lpXhSr8s99sK9LHA3oodPFWWdVQA

Hey @ArghyaShubhshiv
Your PR has been merged 🥳🥳 and you have earned 10 points.
Thanks for contributing in OpenCode'24 ✨✨


fixed typo in td code, added common NS/EW header fields

changed what appeared to be a typo to read the TD field in las headers
added NS/EW header fields as i am seeing these in the wild in a bunch of files I have. I am not sure if these are standard though? I guess including them does not hurt.

Awesome stuff, thanks Steve!


Properly wait for the GPU Operator namespace (and fix typos)

/test gpu-operator-e2e

/test gpu-operator-e2e

the OperatorGroup could not be created because it referenced the gpu-operator-resources NS before it was created.
Updated the PR to delete it as IFAIU we don't need it

/test gpu-operator-e2e

/test gpu-operator-e2e

Looks good other than 2 small comments

/test gpu-operator-e2e

thanks for the review @omertuc , the comments should be addressed with the last push

/lgtm

/approve

@omertuc a not disappeared along with the renaming :#
-  when: not clusterpolicy_has_validator.stdout
+  when: gpu_operator_atleast_v170.stdout

https://github.com/openshift-psap/ci-artifacts/compare/1f91b2bd40c5853aaaf9fb123873c538e212e854..f8b75d1a54569ea893c4c0c068a27faea68c0a7d#diff-8c5208b06cf8a70fcd9eb347226694bbf922e654feb74f05b3eea680152639bbL48
\test gpu-operator-e2e

/test gpu-operator-e2e

/lgtm


Add user_file function to functions.py

I added a function to functions.py that I'm hoping will be valuable to others using this library.  Most of the code for it was lifted from:
https://github.com/devstructure/python-cloudformation/blob/master/cloudformation/__init__.py#L66-L89
which I have used previously.  Basically, this allows you to read in a file which you would like to include in a CloudFormation config and have it automatically placed in the CF template using the correct "Fn::Join" process.  For example, let's say you have a simple user_data script like:
#!/bin/bash
INSTANCEID=`wget -q -O - http://<IP_ADDRESS>/latest/meta-data/instance-id`

function error_exit {
  cfn-signal -e 1 '____'
  exit 1
}

/opt/aws/bin/cfn-init --region ____ -s ____ -r SeqProd || error_exit 'Failed to bootstrap'

You can then do something like the following in a template.py file:
user_data_script = user_file(
    "userdata.sh",
    [
        ref("TheInstanceWaitHandle"),
        ref("AWS::Region"),
        ref("AWS::StackName")
    ]
)

You can then just add this to an EC2 instance's properties using:
"UserData": base64(user_data_script)

What you get in the output is:
"UserData": {
  "Fn::Base64": {
    "Fn::Join": [
      "\n",
      [
        "#!/bin/bash",
        "INSTANCEID=`wget -q -O - http://<IP_ADDRESS>/latest/meta-data/instance-id`",
        "",
        "function error_exit {",
        {
          "Fn::Join": [
            "",
            [
              "  cfn-signal -e 1 '",
              {
                "Ref": "TheInstanceWaitHandle"
              },
              "'"
            ]
          ]
        },
        "  exit 1",
        "}",
        "",
        {
          "Fn::Join": [
            "",
            [
              "/opt/aws/bin/cfn-init --region ",
              {
                "Ref": "AWS::Region"
              },
              " -s ",
              {
                "Ref": "AWS::StackName"
              },
              " -r SeqProd || error_exit 'Failed to bootstrap'"
            ]
          ]
        }
      ]
    ]
  }
},

This will then take care of reading in the file, replacing the "____" with the referenced Ref values, and adding it to the template correctly.  You can even pass normal files that do not require reference value substitution as an easy way to just include files.

Yay I totally missed the notification for this! Sorry about that.
Test coverage is needed, as well as linting.
Using template replacements  with **kwargs also (I think?) solves the issue of having the same number of args as interpolation markers with the added benefit of not having to write your own parser.

Sorry it has taken a while to get back to this...
So, I got linting working (flake8) and will look into writing some tests.  For the template replacements, however, I ran into a snag.  The template piece of string looks great, however the way this has to work for CF is to split the variables out into their own join per line.  For example, let's say I have the following in a script file:
function error_exit {
  /usr/bin/cfn-signal -e 1 '____'
  exit 1
}

which I want to replace with a "Ref": "TheInstanceWaitHandle".  For this to work in JSON for CF, it would need to look like:
"function error_exit {",
{
  "Fn::Join": [
    "",
    [
      "  /usr/bin/cfn-signal -e 1 '",
      {
        "Ref": "TheInstanceWaitHandle"
      },
      "'"
    ]
  ]
},
"  exit 1",
"}",

so, simply solving the variable replacement issue would only put a string in place of the variable, where what I really need to do is split out the ____ (or some other matching pattern) so that it can be made into a multi-part line.  I have updated the code to do this using surrounding %% delimiters in this new commit, so we don't need positional parameters anymore at least.
So now, a scriptlet like this:
#!/bin/bash
function error_exit {
  /usr/bin/cfn-signal -e 1 '%%$INSTANCEWAITHANDLE%%'
  exit 1
}

with data like this:
user_data_script = user_file("userdata.sh",{"$INSTANCEWAITHANDLE": ref("TheInstanceWaitHandle"),})
cft = CloudFormationTemplate(description="This template is designed to create VMs in EC2")
properties = {
    "UserData": base64(user_data_script),
}

will render this:
"UserData": {
  "Fn::Base64": {
    "Fn::Join": [
      "\n",
      [
        "#!/bin/bash",
        "function error_exit {",
        {
          "Fn::Join": [
            "",
            [
              "  /usr/bin/cfn-signal -e 1 '",
              {
                "Ref": "TheInstanceWaitHandle"
              },
              "'"
            ]
          ]
        },
        "  exit 1",
        "}"
      ]
    ]
  }
},


handle generic queries

MediaType.GENERIC would never match as we filter results by media_type

Once the tests pass


Support defaulting to namespace placement for namespace-scoped federation

In cluster-scoped federation, the namespace sync controller uses namespace placement to determine whether a namespace should appear in member clusters. If a namespace does not appear in member clusters, any resources it contains are also prevented from appearing.
Since namespace-scoped federation does not run the namespace sync controller, namespace placement would have no effect.  This PR changes that by ensuring that, for namespaced federation, placement for a given resource is the determined from the resource and namespace placement.
Fixes #298

@font Regarding having multi-line function calls, this is gofmt-compliant.  I discovered it accidentally due to having gofmt enabled on-save.

@font Regarding having multi-line function calls, this is gofmt-compliant. I discovered it accidentally due to having gofmt enabled on-save.

Yes, I figured it was. I think it's because there is a trailing , on the last variable.


amending 1 documentation comment

I was hoping that accept_options could work with a Virtus.value_object, but it seems to be accepted only by Virtus::Attribute isn't it?
I tried to mixed them together and had an error like
ArgumentError: wrong number of arguments (2 for 0..1)
from ~/.rvm/gems/ruby-2.1.2@hsa/gems/virtus-1.0.3/lib/virtus/instance_methods.rb:16:in `initialize'

Not related with this PR
The following example doesn't work:
class NoisyString < Virtus::Attribute
  def coerce(value)
    coercer[value.class].to_string.upcase
  end
end

@nunommc If you're still interested in getting accept_options to work with a Virtus.value_object, could you file a separate issue, with an example of what you're expecting?


Dangling thread delays process shutdown

After the evaluation of all the tasks is complete, the process hangs for some minutes before closing (because of an old version of okhttp client?)

Turns out the problem was outside the realm of Flo.


Update the way to disable spring cloud bindings

Summary

The environment variable "BPL_SPRING_CLOUD_BINDINGS_ENABLED" is deprecated and should be removed in reference document. See https://github.com/paketo-buildpacks/spring-boot.
The environment variable "BPL_SPRING_CLOUD_BINDINGS_DISABLED" is an alternative at runtime while the environment variable "BP_SPRING_CLOUD_BINDINGS_DISABLED" is another alternative at build time.
Checklist

[ x ] I have viewed, signed, and submitted the Contributor License Agreement.
[ x ] I have linked issue(s) that this PR should close using keywords or the Github UI (See docs)
[ x ] I have added an integration test, if necessary.
[ x ] I have reviewed the styleguide for guidance on my code quality.
[ x ] I'm happy with the commit history on this PR (I have rebased/squashed as needed).
).

Looks great, thanks @luozhenyu


feature: support .jsx & .tsx

Adds support for react's file types. Addresses #2

Thank you for the contribution! I will deploy a new version ASAP.


No such file or directory: 'models/jvrc_mj_description/xml/scene.xml'

When I train this repository, the follwing error occurred.
python3 run_experiment.py train --logdir log --num_procs 4 --env jvrc_walk
Wrapping in SymmetricEnv.
Modifying XML model...
Traceback (most recent call last):
  File "run_experiment.py", line 121, in <module>
    run_experiment(args)
  File "run_experiment.py", line 36, in run_experiment
    mirrored_obs=env_fn().robot.mirrored_obs,
  File "/home/dl/Humanoid/LearningHumanoidWalking/envs/jvrc/jvrc_walk.py", line 22, in __init__
    builder(path_to_xml_out)
  File "/home/dl/Humanoid/LearningHumanoidWalking/envs/jvrc/gen_xml.py", line 12, in builder
    mjcf_model = mjcf.from_path(JVRC_DESCRIPTION_PATH)
  File "/home/dl/Humanoid/Humanoid/lib/python3.8/site-packages/dm_control/mjcf/parser.py", line 102, in from_path
    contents = resources.GetResource(path)
  File "/home/dl/Humanoid/Humanoid/lib/python3.8/site-packages/dm_control/utils/io.py", line 22, in GetResource
    with open(name, mode=mode) as f:
FileNotFoundError: [Errno 2] No such file or directory: 'models/jvrc_mj_description/xml/scene.xml'

Please let me know how to fix it.

Hi, it seems you don't have the submodule in your path. Did you clone with the --recurse-submodules ?

Thanks, it is going well.
BTW, please tell me the following message item meanings.

Return (batch)
Mean Eplen
Clip Fraction

Are the following losses are the less the better?

Actor loss, Critic loss, Mirror loss

Are the following values are the greater the better?

Mean KL Div, Mean Entropy

Best regards,

It's difficult to explain the meaning of each term, I recommend you to check out Stable-Baselines for a better documentation. In general, losses should go down. Mean entropy should remain constant. In my case, I don't monitor each item carefully. Most importantly, the return and the ep_len should go up!


Recursive depth limit not implemented when generating constructor parameters

No checks are in place for skipping the generation of reference types for a constructor. This will lead to a StackOverflowException if a reference type's constructor has itself as one of the parameters, even if that parameter is optional:
public class Node
{
    public string Data { get; set; }
    public Node Parent { get; set; }

    public Node(string data, Node parent = null)
    {
        Data = data;
        Parent = parent;
    }

    public static void Test()
    {
        var foo = AutoFaker.Generate<Node>(); // This will result in a StackOverflowException
    }
}

@SpaceMonkeyy86 Recursive constructors are working and follow depth limits in soenneker.utils.autobogus


Adding  the SpeechOcean host

SpeechOcean agreed to provide a host for GigaSpeech and we need to update the scripts to support that. A few changes that we have to make:

In env_vars.sh, change GIGASPEECH_RELEASE_URL  to a associative array, with keys such as tsinghua, speechocean, etc
Update download_gigaspeech.sh to support all activate URLs. Since we have more than 1 activate host, we will have to select which on to use. A less ideal way is to select the supported URLs randomly, so that we can distribute the users to different hosts; A better solution is to test the speed before we download the data, and select the faster/less busy host. Once we decide on the host, we can start the actual download process
Add script utils/internal/download_gigaspeech_from_speechocean.sh to download GigaSpeech from SpeechOcean

Please also test if you can resume a broken download properly using these scripts (across different hosts)

Closed via https://github.com/SpeechColab/GigaSpeech/pull/71


Query param with an empty value

Thanks for the awesome library!
Sometimes I need to add a query, but I don’t know if exists value.
For example
const epicUrlBuilder = (foo, bar) => URI().addQuery('foo', foo).addQuery('bar', bar)
epicUrlBuilder(42).query() === "foo=42&bar" // not cool
epicUrlBuilder(42).query() === "foo=42" // it’s cool

Yes, of course, I could implement a custom function with this logic.
I think it would be cool if this feature was included in the library.
Maybe update readable or create a new method?
What are you thinking about it?

Hey there,
sorry for the late reply.
The docs show the following example:
uri.addSearch("no-value");

which is technically the same as
uri.addSearch("no-value", undefined);

and therefore the defined behavior of that function.
addSearch() accepts an object, which in your case could be used to rewrite epicUrlBuilder() so that it only adds values that are not undefined.