feat: RND-109: Add EntityExtraction skill in Adala

Make response_model parameter top-level for skill definition, to simplify development avoiding redundant params: intructions, output_template, field_schema.
Add EntityExtraction skill to extract the list of entities with specified labels
The skill supports 2 different modes:
with labels
EntityExtraction(input_template='….', labels=['Orgnanization', ‘Product’])
given the text document and instruction provided with input_template, returns the payload like:
[[{'quote_string': 'Apple Inc.',
'label': 'Organization'},
{'quote_string': 'American multinational technology company',
'label': 'Product'}], ... ]

without labels:
EntityExtraction(input_template='…')
the payload based on the input_template instruction is the following:
[[{'quote_string': 'Apple Inc.'},
{'quote_string': 'American multinational technology company'},
{'quote_string': 'consumer electronics'},
{'quote_string': 'computer software'}, ...]

Commit https://github.com/HumanSignal/infra/commit/0016cc058e1e886c3c2368863974e58f88095126 is created.

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

Project coverage is 61.32%. Comparing base (41f0270) to head (f415b1f).
Report is 3 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #168      +/-   ##
==========================================
+ Coverage   61.17%   61.32%   +0.14%
==========================================
  Files          43       44       +1
  Lines        1870     1885      +15
==========================================
+ Hits         1144     1156      +12
- Misses        726      729       +3

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

Commit https://github.com/HumanSignal/infra/commit/aafcf96b4eac4c225d09a37bf6730439a20c09a8 is created.

Commit https://github.com/HumanSignal/infra/commit/3853d73976f5ec4913b705e52a94f185a33c2b81 is created.

Commit https://github.com/HumanSignal/infra/commit/8f1d8d13f9f3b58bd605c158d45e73c35e9b80ca is created.

Commit https://github.com/HumanSignal/infra/commit/63c08c43245aca754a9a256f54ba5d17acf37a24 is created.

Commit https://github.com/HumanSignal/infra/commit/729411ff7880e1cf6c1b4e514253f86d3206a95b is created.

Commit https://github.com/HumanSignal/infra/commit/bdd664b01b7284ec4ff192c3a6fd3bd836e61793 is created.

Commit https://github.com/HumanSignal/infra/commit/db283962d0e0bdf3fe35b0bed36554ef88d8eb0f is created.

Commit https://github.com/HumanSignal/infra/commit/3757ebd90f4307a29c1cf9f1e31353c53a615f80 is created.

Commit https://github.com/HumanSignal/infra/commit/e4952ea86715f632570afcc747c56566b8c21f27 is created.

Commit https://github.com/HumanSignal/infra/commit/a6ef2c808c64ed7a96077f518573b4a6848d767b is created.

Commit https://github.com/HumanSignal/infra/commit/2b488468dc3bc9b22d7135897d2b9317749f918e is created.


Do not allow selection of oos variants

Test Plan (Steps to test):

Go to An Exceptional T-Shirt
Note that you cannot add any out of stock variants — Black / XS is not allowed.
Try to somehow get the OOS variant in your cart...
Find the other OOS variant and report back

Looking good. I think the current behavior is good. But there's a small experience question that came up - Right now, if I have a size selected, and try to select a color where that size+color variant isn't in stock, it prevents me from changing the color. My initial instinct was that I should be able to make the change to the color, and see that the selected size is out of stock. Would that be weird?


NoSuchFileException if fcrepo 4 export didn't create directories alongside ACL files

I ran a successful export of a fcrepo 4.7.5 using the import/export tool version 0.3.0, but when trying to migrate the export to fcrepo 5 I run into a NoSuchFileException:

java.lang.RuntimeException: java.nio.file.NoSuchFileException: archivo_fcrepo4.7.5_export/fedora/rest/af/21/ab/71/af21ab71-c690-4c3b-a608-a76dd1529044
at org.fcrepo.upgrade.utils.F47ToF5UpgradeManager.convertAcl(F47ToF5UpgradeManager.java:372)
at org.fcrepo.upgrade.utils.F47ToF5UpgradeManager.lambda$upgradeRdfAndCreateHeaders$5(F47ToF5UpgradeManager.java:262)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
at org.fcrepo.upgrade.utils.F47ToF5UpgradeManager.upgradeRdfAndCreateHeaders(F47ToF5UpgradeManager.java:200)
at org.fcrepo.upgrade.utils.F47ToF5UpgradeManager.processFile(F47ToF5UpgradeManager.java:149)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
at org.fcrepo.upgrade.utils.F47ToF5UpgradeManager.processDirectory(F47ToF5UpgradeManager.java:114)
at org.fcrepo.upgrade.utils.F47ToF5UpgradeManager.start(F47ToF5UpgradeManager.java:108)
at org.fcrepo.upgrade.utils.UpgradeUtilDriver.run(UpgradeUtilDriver.java:75)
at org.fcrepo.upgrade.utils.UpgradeUtilDriver.main(UpgradeUtilDriver.java:60)
Caused by: java.nio.file.NoSuchFileException: archivo_fcrepo4.7.5_export/fedora/rest/af/21/ab/71/af21ab71-c690-4c3b-a608-a76dd1529044
at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
at java.base/sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(UnixFileAttributeViews.java:55)
at java.base/sun.nio.fs.UnixFileSystemProvider.readAttributes(UnixFileSystemProvider.java:171)
at java.base/sun.nio.fs.LinuxFileSystemProvider.readAttributes(LinuxFileSystemProvider.java:99)
at java.base/java.nio.file.Files.readAttributes(Files.java:1853)
at java.base/java.nio.file.FileTreeWalker.getAttributes(FileTreeWalker.java:220)
at java.base/java.nio.file.FileTreeWalker.visit(FileTreeWalker.java:277)
at java.base/java.nio.file.FileTreeWalker.walk(FileTreeWalker.java:323)
at java.base/java.nio.file.FileTreeIterator.(FileTreeIterator.java:71)
at java.base/java.nio.file.Files.walk(Files.java:3898)
at java.base/java.nio.file.Files.walk(Files.java:3953)
at org.fcrepo.upgrade.utils.F47ToF5UpgradeManager.convertAcl(F47ToF5UpgradeManager.java:347)
... 19 more

From what I can tell the ACL that is trying to be converted is empty.  It does not contain any child nodes.  Other ACLs that were processed before this error did contain children.  Because they had children they had directories created for them alongside the turtle file.  The ones that didn't have children did not have directories created which I believe led to the above error.  I wrote a quick script to create these empty directories for all ACLs that were missing them and the migration ran successfully.  My guess is that there needs to be a check added before attempting the File.walk to skip if the directory doesn't exist.
https://github.com/fcrepo-exts/fcrepo-upgrade-utils/blob/b2c43e1f6b822a5d594501b958917725c77baaf9/src/main/java/org/fcrepo/upgrade/utils/F47ToF5UpgradeManager.java#L347

Looks like there is a fix for this recently implemented in a fork: https://github.com/TAMULib/fcrepo-upgrade-utils/pull/1

Sorry @cjcolvar totally missed this. My memory of 4.7 is slowing weakening. Do you know if these ACLs are empty? Or perhaps had data and then it was removed?

@whikloj The original data in Fedora 4.7 is for a Samvera (ActiveFedora-based) application.  It created nodes in Fedora for ACLs but I think did so in a different way then the upgrade tool expects.  It is possible that some of these ACLs didn't have any RDF statements of interest to the upgrade tool.
I changed my approach to working around this issue and instead of generating the empty directories I ended up preserving the old triples and letting them get processed as any normal triple would.  This worked better for me because ActiveFedora hasn't been setup to handle the new ACLs created by the upgrade tool.  This was also the approach I took for another issue I had with the upgrade tool where we needed to turn off special handling of certain predicates.  So I think ultimately that is what would be best: add flags/options to skip special handling of specific predicates.
Here's the diff of changes I made that allowed a successful (and quick) upgrade.

Would you be able to package up an object or two of your 4.7 Avalon. Without any sensitive data of course, but then I could build an actual test to see what you are starting with and understand what you are ending up with too.
Also, are you just migrating from 4.7 to 5.x right now or are you trying to move on from there to 6.x?

Sure, I'll try to pack something up.  The goal was moving to 6.x.


Failed tests in astress.t with expat 2.0.0 perl 5.8.8 on AIX 5.3 [rt.cpan.org #20102]

Migrated from rt.cpan.org#20102 (status was 'new')
Requestors:

<EMAIL_ADDRESS>
From  on 2006-06-26 04:15:36
:
Trying to build XML::Parser on AIX <IP_ADDRESS> with expat 2.0.0 and perl 5.
8.8 and getting a warning and on error during make test.  Make runs
okay, and there is a PerlMonks thread describing this and some debugging
at: http://perlmonks.org/?node_id=557342

Basically, make goes okay but during make test I get:
t/astress.........FAILED tests 19-20, 24
        Failed 3/27 tests, 88.89% okay
and:
t/encoding........"my" variable $p masks earlier declaration in same
scope at t/encoding.t line 94.

When I run astress.t manually with some prints inserted to see the
actual values what I get is:
test 19 -> $p->current_line = 0 (NOT 17)
test 20 -> $p->current_column = 0 (NOT 20)
test 24 -> the values are definitely not equal (see below)
$cmpstr:
    <blah> 2nd line in bar </blah>
    3rd line in bar <!-- Isn't this a doozy -->
===================^
  </bar>

$pos:
    <blah> 2nd line in bar </blah>
    3rd line in bar <!-- Isn't this a doozy -->
^

Any help in resolving this would be much appreciated!

This was addressed. I don't have the commit.


Filter function doesn't work as key in useSWRMutation

Discussed in https://github.com/vercel/swr/discussions/2456

Originally posted by utg1-tdawg February 25, 2023
I am trying to revalidate multiple keys upon trigger by passing a filter function as key to useSWRMutation as suggested in the docs. But I am getting an error.
Here is my code:
import useSWR from "swr";
import useSWRMutation from "swr/mutation";

export default function Jokes() {
  const firstJokeQuery = useSWR("first-joke", getJoke);
  const secondJokeQuery = useSWR("second-joke", getJoke);

  const mutation = useSWRMutation(
    (key) => ["first-joke", "second-joke"].includes(key),
    () => null
  );

  return (

First joke

{firstJokeQuery.data?.joke}

Second joke

{secondJokeQuery.data?.joke}

      <button onClick={() => mutation.trigger()}>Get new jokes</button>

  );
}

async function getJoke() {
  return fetch("https://v2.jokeapi.dev/joke/Any?type=single").then((res) =>
    res.json()
  );
}

And here is the error message that I am getting:
Unhandled Runtime Error
Error: Can’t trigger the mutation: missing key.

What is the correct way to revalidate multiple keys? I have also tried passing an array ["first-joke", "second-joke"] as key to useSWRMutation but it doesn't work too.

@utg1-tdawg
I've answered it at https://github.com/vercel/swr/discussions/2456#discussioncomment-5112438, so I'll close this.


Hello, the LLFF dataset is not running

Hello, the LLFF dataset is not running

I think you can adapt the code based on the LLFF dataset.


Prop warning for header login link

Browser
No response
Description
Next.js is throwing a warning. Also, the icon is positioned low for some reason.

Steps to reproduce
See above.

Adding to private beta so we fix the icon alignment.

icon alignment will be fixed with #231, got still to work on a fix for app warning


localhost/rsvp part two

Part two:

[ ] Email message abled to be edited in the admin
[ ] URL for unsubscribing
[ ] formatting HTML of email message
[ ] GDPR compliance
[ ] RSVP link in email

I think this task is too big for one issue, but it also seems like we have some of these? I think we should talk these things out more because this ticket may be outdated. @RachellCalhoun

I edited the issue here to be more focused but wanted to record the original ask:

[ ] Email message abled to be edited in the admin
- [ ] URL for unsubscribing
- [ ] formatting HTML of email message
- [ ] GDPR compliance
- [ ] RSVP link in email


fix pygeoapi OGC API tests

This PR updates the OGC API pygeoapi-based tests for OACov and OARec to working demo servers.

FYI CI test failure is intermittent.
Aside: we have a number of warnings of type:
 tests/test_wmts.py:94
  /home/runner/work/OWSLib/OWSLib/tests/test_wmts.py:94: PytestUnknownMarkWarning: Unknown pytest.mark.online - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.online

Examples: https://github.com/geopython/OWSLib/runs/6087949336?check_suite_focus=true#step:6:352
@cehbrecht any thoughts here on these warnings?

@cehbrecht any thoughts here on these warnings?

We can use pytest markers to filter tests. online means that the test needs external resources.
https://docs.pytest.org/en/latest/how-to/mark.html
Somehow the config for the pytest markers is missing. We could add a pytest.ini as described in the pytest docs.

@cehbrecht any thoughts here on these warnings?

We can use pytest markers to filter tests. online means that the test needs external resources. https://docs.pytest.org/en/latest/how-to/mark.html
Somehow the config for the pytest markers is missing. We could add a pytest.ini as described in the pytest docs.

Thanks @cehbrecht; I've added this to the PR in tox.ini, which removes the warnings.

Coverage increased (+0.2%) to 59.451% when pulling 1ac6baeffff8dc92cfffa424ad3beb6fe19123c0 on tomkralidis:fix-pygeoapi-tests into aaafa768cd660a7350a6c0b72974afa71a228678 on geopython:master.


Added section about verifying nvm install

This fixes #1073

@Theodeus thanks! if you could rebase this down to one commit that'd be awesome - if not, nbd

@Theodeus ah, this now includes a merge commit :-( any chance you could rebase locally?

Haha, yeah, sorry, @ljharb. Had it rebased locally and messed up as I pushed. I'm working on it. ;)

Tada!!


Updated ReadMe with addition of small demo app

I created a small demo chat application. I added the info to the readme as well as some url's to the chat mvc base app and my full project where that app is reworked to an angular app.
Thought I'd share.

Thanks @DeBiese it will be nice to have a good demo. In the long run I'd like to have a few demos that we have in a list on the README with links to github wiki pages that talk about the specific demo.


set color to form-control-plaintext

set color to .form-control-plaintext
add $input-plaintext-color default to $body-color
fixes readability on dark themes like e.g. 'darkly'

https://bootswatch.com/darkly/index.html#forms
https://bootswatch.com/slate/index.html#forms
https://bootswatch.com/superhero/index.html#forms
https://bootswatch.com/solar/index.html#forms

/cc @thomaspark

Hi @m5o good catch! bare with me with this use case:
If you want to keep the background of the inputs white with dark font color, but use the form on a dark background, this solution will force to have dark plaintext making it invisible.

valid point. I'm ok with $plaintext-color this can be $input-color or $body-color by default. 👍
Should I change it? Or wait for a comment from @mdo

yes, $body-color makes more sense than $input-color. Thanks!

🛎 @andresgalante Ping


dotnet publish /p:EnvironmentName=xyz is permanent in web.config

After doing
dotnet publish /p:EnvironmentName=<somename>
The ASPNETCORE_ENVIRONMENT variable gets defined in the generated web.config as expected.
However, subsequently running dotnet publish without specifying an EnvironmentName does not produce a web.config without an ASPNETCORE_ENVIRONMENT defined -- it still has the environment defined earlier.
There doesn't seem to be any way to "unset" the cached environment name.

@vijayrkn - is this in your team?

Yes this should go to websdk.
The reason the value is not getting reset is because dotnet publish does not recreate the folder or the files. The value in the file is from the previous run. You can pass empty to set it to nothing.
https://github.com/aspnet/websdk/blob/46e9d345661397b7931e88798a12532ca38cc7fa/src/Publish/Tasks/WebConfigTransform.cs#L208
dotnet publish /p:EnvironmentName=''


Add @vzn/reactivity

Hi there! I really like the idea for benchmarking the libraries!
I submitting a benchmark for https://github.com/vznjs/reactivity which is also a fine-grained reactivity lib inspired highly by Solid.
A few notices:

dist and benchmark should be build on GH Action to unify the infrastructure the benchmark is running on. So I make them gitignored
I think there might be something wrong with the implementation of the runner. Solid's createSignal and VZN createValue has the same implementation however their results diverge drastically. After around ~20 rounds I was able to get the same results but most of the time they vary. Wondering what could be a cause of that 🤔

Thanks for the contribution

dist and benchmark should be build on GH Action to unify the infrastructure the benchmark is running on. So I make them gitignored

I missed the dist,  however I intended benchmark to be committed. I was thinking of maybe generating a combined output based on the json files.

I think there might be something wrong with the implementation of the runner. Solid's createSignal and VZN createValue has the same implementation however their results diverge drastically. After around ~20 rounds I was able to get the same results but most of the time they vary. Wondering what could be a cause of that 🤔

It was actually interesting, specially in JS Framework Benchmarks where Compostate and Solid are actually pretty close in terms of performance. I made sure the bundle includes the browser build, there were no mistakes here. It's probably just Node acting weird.

The thing is, the benchmark will differ depending on what machine it is running, node version, dependencies, etc. which will lead to inconclusive results. Setting up a GH action that outputs the log could be a fair solution to that issue.
I noticed that it has to do something with bundling. When I comment out some of the benchmarks I get different results than where all are enabled

I'm merging this now. I'll just apply the changes later on when I've decided the best course of action.


Activation of conda env on appveyor breaks on newer images

I put us [back on GCE] (https://github.com/quantopian/zipline/commit/b510703169b4cb37c037f83f99adc5438befc771) until we can work around (or they've fixed) the [conda issue] (https://github.com/conda/conda/issues/1923).  The newer image must have a longer PATH var.

Error looks like:
activate testenv
Deactivating environment "C:\Python27_64"...
Activating environment "C:\Python27_64\envs\testenv"...
The input line is too long.
"PATH_NO_SCRIPTS=C:\Python27_64\envs\testenv;C:\Python27_64\envs\testenv\Scripts;C:\Python27_64\envs\testenv\Library\bin;C:\Python27_64;[...]


Hospital community prescribing data

New hospital data dispensed in the community
https://www.nhsbsa.nhs.uk/prescription-data/prescribing-data/hospital-prescribing-dispensed-community

[ ] Download and compile;
[ ] Write a notebook describing it, trends and variation, high cost drugs;
[ ] Write a blog, offer custom extracts, invite ideas;
[ ] Apply for funding.

Suggestion off the back off nonCCG data

it would be helpful to know whether the team has access to hospital FP10 data, beyond drugs used in addictions. The reason for asking that we’re seeking similar price increases in risperidone, quetiapine and some commonly (and less commonly) prescribed medicines used in MH conditions. Most MHTs make use FP10s in their community teams, as they’re rarely located near to the to their Trust’s hospital pharmacy departments. It would be v helpful to be able to compare our FP10 spend with that of other MHTs (total 50 approx in England) via the OpenPrescribing resource


Book: chapter 3: "Faster OpenSSH in Ansible 1.5+"

Why don't you provide examples of how to use ansible to modify the /etc/sudoer on the fly with all the requirements for pipelining=true
That would be an exercise in itself.

I think the way it currently reads (which follows, mostly, the documentation in the official project—https://docs.ansible.com/ansible/2.4/intro_configuration.html#pipelining) is okay, and since it's not necessary to have it enabled to use Ansible (it's more of a performance nice-to-have), I don't want to devote much more space to automating it.
Would be fine for someone to have some sort of 'ansible_performance_tuning' role on Ansible Galaxy though, for those who want to tweak things that way.
But even there, the way ansible.cfg configuration works, it would be impossible to do anything useful, generically, since there could be any number of config files that need to be changed for different projects, even individual servers.


kube-aws: Scheduled Jobs not running

I created a test cluster with kube-aws v0.8.3 with no changes to the generated templates and tried to follow the Scheduled Job documentation page.
At first, I wasn't able to create the ScheduledJob object via the API server so, as instructed by the documentation, I enabled the batch/v2alpha1 group in the API server via the --runtime-config option:
#cloud-config
coreos:

  # ...
  - path: /etc/kubernetes/manifests/kube-apiserver.yaml
    content: |
      # ...
          command:
          - /hyperkube
          - apiserver
          # ...
          - --runtime-config=extensions/v1beta1/networkpolicies=true,batch/v2alpha1=true
          # ...

This allowed me to create the Scheduled Job:
$ kubectl create -f ~/sample-job.yaml
scheduledjob "hello" created

This is the content of ~/sample-job.yaml (identical to the Kubernetes docs):
apiVersion: batch/v2alpha1
kind: ScheduledJob
metadata:
  name: hello
spec:
  schedule: 0/1 * * * ?
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: hello
            image: busybox
            args:
            - /bin/sh
            - -c
            - date; echo Hello from the Kubernetes cluster
          restartPolicy: OnFailure

The problem is that no jobs get scheduled at all. The expected behavior is the creation of one Job per minute.
I tested the same manifest against minikube v0.12.0, and it works as expected, so I figured it might be an issue with kube-aws.
This issue might be related, so let me just link them both here.

Here's more information:
In minikube, when the job gets scheduled, these events are created as well:
LASTSEEN   FIRSTSEEN   COUNT     NAME                     KIND           SUBOBJECT                TYPE      REASON                    SOURCE                        MESSAGE
26s        26s         1         hello-1475839803-e4a2t   Pod                                     Normal    Scheduled                 {default-scheduler }          Successfully assigned hello-1475839803-e4a2t to minikube
25s        25s         1         hello-1475839803-e4a2t   Pod            spec.containers{hello}   Normal    Pulling                   {kubelet minikube}            pulling image "busybox"
21s        21s         1         hello-1475839803-e4a2t   Pod            spec.containers{hello}   Normal    Pulled                    {kubelet minikube}            Successfully pulled image "busybox"
21s        21s         1         hello-1475839803-e4a2t   Pod            spec.containers{hello}   Normal    Created                   {kubelet minikube}            Created container with docker id 42339f260f27; Security:[seccomp=unconfined]
20s        20s         1         hello-1475839803-e4a2t   Pod            spec.containers{hello}   Normal    Started                   {kubelet minikube}            Started container with docker id 42339f260f27
26s        26s         1         hello-1475839803         Job                                     Normal    SuccessfulCreate          {job-controller }             Created pod: hello-1475839803-e4a2t
26s        26s         1         hello                    ScheduledJob                            Normal    SuccessfulCreate          {scheduled-job-controller }   Created job hello-1475839803
16s        16s         1         hello                    ScheduledJob                            Normal    SawCompletedJob           {scheduled-job-controller }   Saw completed job: hello-1475839803

In kube-aws, no events related to the Scheduled Job are created at any moment, so my guess we are not running some sort of Scheduled Job Controller of some sort, so scheduling takes place.

You need a working Kubernetes cluster at version >= 1.4, with batch/v2alpha1 API turned on by passing --runtime-config=batch/v2alpha1 while bringing up the API server
I suspect that flag is missing.  But on a larger note, there's now a kube-aws repo, if you check this issue there's a message from colhom explaining it: https://github.com/coreos/coreos-kubernetes/issues/744.  Though, I think this issue does apply to this repo as well.
cc  @aaronlevy

@cgag Yes, that flag is missing from the "stock" kube-aws configuration, but even after adding it (I cannot even create scheduled jobs via the api server without it), scheduled jobs don't ever get scheduled.
PS: I issued this before the announcement, I'm already watching the new repo! 😄

Sorry, I totally skimmed the first post thinking it just detailed scheduled job, and then saw your comment about running a scheduled jobs controller, I see now that's the first thing you said :\

@danielfm Just managed to get it working. After added the flag I only restarted kubelet.serviceand it didn't work. Then restarted more services in this order: flanneld.service, docker.serviceand kubelet.service. Now it works.
NAME      SCHEDULE      SUSPEND   ACTIVE    LAST-SCHEDULE
hello     0/1 * * * ?   False     0         Fri, 04 Nov 2016 01:53:00 +0100

@camilb Restarting docker did the trick. Thanks!

Restarting flanneld and docker worked for me as well...
Can someone explain what prevents scheduled jobs from being ran on flanneld and docker?

Not sure about the issue, but I had to restart the kube-controller-manager to have my jobs scheduled. This can be a side effect of restart docker.


Loader always downloads Elm compiler

Every time I build an Elm project with elm-webpack-loader it tries to download the Elm compiler from https://github.com/elm/compiler/releases/download/0.19.0/binary-for-windows-64-bit.gz . Every build I have to wait 2-3 minutes for this. I can see in Task Manager that network is being used by the process. If I try to build without an internet connection I get this error:
Error: Compiler process exited with error Compilation failed
-- ERROR -----------------------------------------------------------------------

I ran into trouble while fetching https://github.com/elm/compiler/releases/download/0.19.0/binary-for-windows-64-bit.gz

Error: getaddrinfo ENOTFOUND github.com

NOTE: You can avoid npm entirely by downloading directly from:
https://github.com/elm/compiler/releases/download/0.19.0/binary-for-windows-64-bit.gz
All this package does is download that file and put it somewhere.

--------------------------------------------------------------------------------

"C:\Program Files (x86)\Elm\0.19\bin" is in my Path environment variable.
I am using Yarn with Webpack. package.json has these dependencies (among others):
"elm": "^0.19.0-no-deps",
"elm-webpack-loader": "^6.0.0",
"webpack": "^4.40.2",

This appears to be caused by this: https://github.com/elm/compiler/issues/1957
It is not a problem with elm-webpack-loader.


Added more tests for mutex;

Q
A

Is bugfix?
no

New feature?
no

Breaks BC?
no

Tests pass?
yes

Fixed issues
none

Thank you!


New Type of Soft Ban?

This happens maybe once or twice a day and lasts for about an hour. I feel like its some sort of new ip ban because the map stops loading on my computer and phone. Even if the map on my phone was loaded previously I can't catch pokemon or spin pokestops. Although if I use cell service it works... I have checked whether it was my wifi but that is a negative, my wifi has a download speed of about 300 mbs per second and was working through out this. It happens to my friend (Who I helped download the bot as well) and seems to be random. Whenever it happens the bot gets stuck on the "Walking message"
Mac El Cap

This is related to your other issue #257
There's no need to open many thread for the same thing.


"Platform 'Maintainerr' not matched by plugin platform requirements" notice in Plex logs, deletion not happening

Hello,
I set up maintainerr via unraid docker, sitting alongside my Plex, Radarr, and Sonarr containers. All run on the same subnet, and are able to talk to each other successfully. When clicking the "Handle Collections" button in Maintainerr, the following notice is posted in the Plex logs:
Nov 06, 2023 18:54:47.603 [22671960820536] Debug — Request: [<IP_ADDRESS>:51892 (Subnet)] GET / (11 live) #10d017 GZIP Signed-in Token ($ADMINUSERNAME) (<IP_ADDRESS>) Nov 06, 2023 18:54:47.604 [22671960820536] Debug — [Req#10d017] (Capabilities) Platform 'Maintainerr' not matched by plugin platform requirements
And the movies/tv shows are not deleted. Maintainerr is successfully connected to & authenticated against my Plex server.
Plex Server Version: <IP_ADDRESS>21
Maintainerr Version: Latest Available
Any help would be appreciated, thanks! I can provide more logs if needed.

Hey, thanks for reporting this!
I can't seem to reproduce this myself.
Is this the only thing you notice on Maintainerr's side? Are you seeing the media cards on the Overview screen and is Maintainerr able to create collections after running rules? If yes, the API connection is working.
Collection handling will only delete media when it has lived in the collection for longer than the specified amount of time in the rule settings, so perhaps it's normal that nothing is removed yet?
Maintainerr doesn't delete from Plex directly. By default, it tells Radarr / Sonarr to remove media. Only when these are not configured will Maintainerr tell Plex to remove media.
If these messages persist, you could try to re-authenticate Maintainerr. From what I find online, this message occurs when a client isn't authenticated.

Thanks for the reply!
Yes, Maintainerr is able to pull images and make the collections after setting the rules, so the API connection is working. I have a rule set to delete media 180 days after hitting the Plex server, and I have plenty of media older than 180 days.
Question - it seems like it is literally waiting 180 days before deleting the media in the collection. My understanding of the “Handle Collections” button was that clicking that will delete any media in the collection immediately instead of waiting. Is that incorrectly?
I will try to reauthenticate and report back.

No problem! I don't think there's anything wrong with the Plex API connection if it's able to create collections and add media to them (and if you're able to see the collection in Plex).
The 'handle collection' button does exactly the same as the batch process that runs every 12 hours. It will check if there's media in your collection that has been there for longer than the amount of days specified in the rule's 'Media deleted after days' parameter. If yes, it'll remove or unmonitor the media (depending on your other rule config).
How does your rule look? Do you see the expected media being added to the collection?

Your rule looks good, but by setting 180 as the 'media deleted after days' param, Maintainerr will add media to the collection and wait for 180 days to do the delete actions. If you want it to happen sooner, you'll have to change that parameter, the minimum being 1 (i'm actually not sure what would happen if you specify 0)

Closed because of inactivity


Proposal

I would like to discuss harassment this repository projects to other members of our community. The source is HUGE COCK ENERY, PROJECTED TO US. The biggest to be exact

I want to thank you for this carefully written response. Usually people don't take community members issues very seriosly.


[ChannelsPreview] Option to preview threads

Thanks for your awesome plugin, would be really good to also be able to preview threads.

Not sure if I should make another issue for that, but voice chats (with that relatively new chat in voice channels feature) don't seem to be supported either 😅

Added support for both in 701d707970998e4900b28ea374fd13e9e3f04b10


[EVENT] Openscapes, large single day event, March 14th

The link towards the Freshdesk ticket this event was reported
https://2i2c.freshdesk.com/a/tickets/1344
The GitHub handle or name of the community representative
Brianna Lind<EMAIL_ADDRESS>The date when the event will start
March 14, 2024
The date when the event will end
March 14, 2024
What hours of the day will participants be active? (e.g., 5am - 5pm US/Pacific)
12:00pm PST (https://arewemeetingyet.com/Los Angeles/2024-03-14/12:00)
Are we three weeks before the start date of the event?

[X] Yes (it was when the ticket was opened, but not at the time I've transferred it to an issue)
[ ] No

Number of attendees
230, expecting 16GB usage each, maybe more
Make sure to add the event into the calendar

[ ] Done

Does the hub already exist?

[X] Yes
[ ] No

The URL of the hub that will be used for the event
https://openscapes.2i2c.cloud
Will this hub be decommissioned after the event is over?

[ ] Yes
[X] No

Was all the info filled in above?

[ ] Yes
[ ] No

Quotas from the cloud provider are high-enough to handle expected usage?

[ ] Yes
[ ] No

From the freshdesk ticket:

Date: March 14, 2024
Time: 12:00 pm PST
Language: Python
No. participants: 230
Expected usage: 16 GB (per/participant)..... possibly slightly larger

Do you think there is anything specific that needs to be done in order to facilitate this? We'd also like to request that during the workshop, we can have files in the shared folder be read only on the hub.

Assignee can see if this guide is helpful: https://infrastructure.2i2c.org/howto/prepare-for-events/event-prep/#pre-warm-the-hub-to-reduce-wait-times

I'm not completing this or assigning myself, but note:

Their resource allocation choices have requests == limits, making them not share ram - safe but expensive.
The resource allocation choices provides the following choices, none of them map directly to "16 GB" or "slightly more".                mem_14_8:
                  display_name: 14.8 GB RAM, upto 3.7 CPUs
                  kubespawner_override:
                    mem_guarantee:<PHONE_NUMBER>6
                    mem_limit:<PHONE_NUMBER>6
                    cpu_guarantee: 1.875
                    cpu_limit: 3.75
                    node_selector:
                      node.kubernetes.io/instance-type: r5.xlarge
                mem_29_7:
                  display_name: 29.7 GB RAM, upto 3.7 CPUs
                  kubespawner_override:
                    mem_guarantee:<PHONE_NUMBER>2
                    mem_limit:<PHONE_NUMBER>2
                    cpu_guarantee: 3.75
                    cpu_limit: 3.75
                    node_selector:
                      node.kubernetes.io/instance-type: r5.xlarge

The r5.xlarge is a 4 CPU / 32 GB node, so if they show up with 230 users, it will be ~115 or ~230 nodes starting based on what is picked. This would be a terrible user experience, and could make us run into trouble with quotas etc as well!

I think its super relevant they are put on larger nodes to house a few tens of users at least. I think using ~64 CPU / 512GB nodes makes sense (r5.16xlarge), they would house ~32 users requesting ~16 GB then.

According to Openscapes' eksctl config, they already have an r5.16xlarge nodepool available, so I think this is just about exposing it via the profile list
https://github.com/2i2c-org/infrastructure/blob/c47a4363a40bce7703ab58bbbf75d5ec513d9950/eksctl/openscapes.jsonnet#L35
Doing a search for r5.16xlarge in the common config file does not yield any results.
My plan for this event is therefore:

Add a profile list option exposing the r5.16xlarge node type with appropriate resource requests
Scale up the nodepool in the European morning on the day of the event (to at least one)
Scale down the nodepool the day after the event
Optionally, remove the profile list option. I will check with the hub champion.

Passing r5.16xlarge to the resource allocation script, and asking it to generate 10 examples, produces the following profile list options that jumps from 15GB to 30GB. So close!
mem_15_3:
  display_name: 15.3 GB RAM, upto 63.6 CPUs
  kubespawner_override:
    mem_guarantee:<PHONE_NUMBER>6
    mem_limit:<PHONE_NUMBER>6
    cpu_guarantee: 1.9875
    cpu_limit: 63.6
    node_selector:
      node.kubernetes.io/instance-type: r5.16xlarge
mem_30_6:
  display_name: 30.6 GB RAM, upto 63.6 CPUs
  kubespawner_override:
    mem_guarantee:<PHONE_NUMBER>2
    mem_limit:<PHONE_NUMBER>2
    cpu_guarantee: 3.975
    cpu_limit: 63.6
    node_selector:
      node.kubernetes.io/instance-type: r5.16xlarge

I think I need to adjust the strategy the script is using, but I don't know how to learn which options there are and what they do. There is not much info in either the help string or documentation
$ deployer generate resource-allocation choices --help

 Usage: deployer generate resource-allocation choices [OPTIONS] INSTANCE_TYPE

 Generate a custom number of resource allocation choices for a certain instance type, depending on a certain chosen strategy.

╭─ Arguments ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ *    instance_type      TEXT  Instance type to generate Resource Allocation options for [default: None] [required]                                                               │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --num-allocations        INTEGER                         Number of choices to generate [default: 5]                                                                              │
│ --strategy               [proportional-memory-strategy]  Strategy to use for generating resource allocation choices choices                                                      │
│                                                          [default: ResourceAllocationStrategies.PROPORTIONAL_MEMORY_STRATEGY]                                                    │
│ --help                                                   Show this message and exit.                                                                                │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

Me and @jmunroe are participating in an openscapes organizing event today (https://github.com/NASA-Openscapes/2i2cAccessPolicies/issues/7), I'll bring this up and try to set up a process for handling this.

We had a lot of good conversations at the meeting, and I'll be opening further issues with information. But as far as this is workshop / issue is concerned, after conversations, they're going to instruct users to use the existing 14.8GB RAM profile. Their 16GB was just an estimate, and we've identified 'how do you figure out how much resources you need?' as something that needs more guidance.
As far as action items for this particular workshop for you to take @sgibson91:

[ ] Change the 'node_selector' in https://github.com/2i2c-org/infrastructure/blob/c47a4363a40bce7703ab58bbbf75d5ec513d9950/config/clusters/openscapes/common.values.yaml#L99 for all profiles to point to the r5.16xlarge. This won't be an exact fit, but it's good enough. This should be deployed the day before the workshop.
[ ] Check AWS quota to make sure there is enough in the correct region. Back of the envelope calculations based on Erik's comment in https://github.com/2i2c-org/infrastructure/issues/3743#issuecomment-1968942740 tells me that if ~32 users fit on one node, then we will need about 8 r5.16xlarge nodes. They have 16 CPUs each, so that's about 512 CPUs total. You can go to https://us-west-2.console.aws.amazon.com/servicequotas/home/services/ec2/quotas and look for Running On-Demand Standard (A, C, D, H, I, M, R, T, Z) instances - the value of this quota is the number of CPUs available. With some margin (say a 20% extra), if there's not enough quota, request more.

I don't think you need to pre-warm the cluster by increasing node pool sizes or similar. There's also the question of having someone (given TZ, that's me haha) monitor during the event that I'll figure out some answer to.
There's additional action items for me here to change documentation and improve some of the process, but I believe this should unblock you.

I have opened the PR addressing the first point here: https://github.com/2i2c-org/infrastructure/pull/3792
Do you think merging in the AM European time on the day of the workshop is fine? Or shall I do it last thing tomorrow so folk have a day to test?

The Running On-Demand Standard (A, C, D, H, I, M, R, T, Z) instances quota is currently 1360, which is plenty more than 512 CPUs + 20%, so there's no action to take on the quota.

I put up a PR to revert the one that moved all profiles to the r5.16xlarge machines https://github.com/2i2c-org/infrastructure/pull/3804

Another event done!


Build rootfs without docker

To build the equivalent to the rootfs today
sudo -E go run . rootfs docker.io/synadia/nex-rootfs:alpine --files ./nex-agent_0.3.0-rc1_linux_amd64=/usr/local/bin/agent

The umoci project has an unpack method that was being used successfully in the OCI spike branch. Just sharing it here for posterity, the way you have implemented it here looks good.


MXDGA-3724: Added the MVP for the fast grid scan motion

See https://jira.diamond.ac.uk/browse/MXDGA-3724
To review:

Confirm that the Fast Grid Scan device is doing everything required for https://jira.diamond.ac.uk/browse/MXGDA-3733
Confirm unit tests run
Note that the system tests will not work against s03 currently as the fast grid scan IOC is not running on it

Made a couple of comments, but these are just opinions on scanning the code.
Do we use black for formatting?
I don't know what the "house style" is for blue sky so I don't know if set_params(1, 2, 3, 4, 5) is good practice or no...

I've been using black, have a mild preference for it as it avoids arguments over specific formatting settings. Not sure if ophyd/bluesky use it. Looks like they use flake8 (https://github.com/bluesky/ophyd/blob/master/.flake8) but they're not necessarily mutually exclusive. Now that this repo is starting to grow I'll add a ticket in for some CI, including format checking against a similar flake8 profile to them.

Made a couple of comments, but these are just opinions on scanning the code.
Do we use black for formatting?
I don't know what the "house style" is for blue sky so I don't know if set_params(1, 2, 3, 4, 5) is good practice or no...

I've been using black, have a mild preference for it as it avoids arguments over specific formatting settings. Not sure if ophyd/bluesky use it. Looks like they use flake8 (https://github.com/bluesky/ophyd/blob/master/.flake8) but they're not necessarily mutually exclusive. Now that this repo is starting to grow I'll add a ticket in for some CI, including format checking against a similar flake8 profile to them.

We already have black and flake8 set up as pre-commit hooks in most of our analysis code, so we can probably just copypasta the configuration over. Prefer pre-commit to working it out in a CI system as keeps the history cleaner... and makes for easier to read diffs.

@graeme-winter and @DominicOram

Prefer pre-commit to working it out in a CI system as keeps the history cleaner... and makes for easier to read diffs.

I prefer both because unknown agents can get around pre-commit, but pre-commit covers the 90% case so probably okay. However I suggest making a CI job for the tests regardless.

I'm going to put a plug in for how we do things in Controls, feel free to adopt whatever is useful:

Pipenv for version management
Pre-commit with black, flake8, isort and mypy for static analysis
Pytest for code and coverage
Sphinx for tutorials, how-to guides, explanations and reference documentation
GitHub Actions for code and docs CI and deployment to PyPI and GitHub Pages
VSCode settings using black, flake8, isort and mypy on save

None of this depends on internal DLS infrastructure so will still work if you unset the PYPI mirror.
We've captured this setup in a skeleton module that you can either copy/paste from or git pull changes from:
https://github.com/dls-controls/dls-python3-skeleton
Here's an example of a module that uses it:
https://github.com/dls-controls/sphinx_rtd_theme_github_versions

Done the rework from both @callumforrester and @graeme-winter. CI issues will be addressed in https://jira.diamond.ac.uk/browse/MXGDA-3761

After discussing with @graeme-winter today I think this is just waiting on review from @bentom08, if you have any thoughts?


chore: release 1.2.0

:robot: I have created a release *beep* *boop*
1.2.0 (2019-06-24)
Features

introduces CreateImportJob, ListImportJob, GetImportJob  (#180) (9fb4efb)

This PR was generated with Release Please.

Release is at https://github.com/googleapis/nodejs-kms/releases/tag/v1.2.0

The release build has started, the log can be viewed here. :sunflower:

:egg: You hatched a release! The release build finished successfully! :purple_heart:


Touch up images man

Signed-off-by: TomSweeneyRedHat<EMAIL_ADDRESS>Add a couple of examples to the man page to show how the imageName can be supplied.

@rh-atomic-bot r+


Add css to card

Add hover effect to card that are benificial to reader with out go into the detail .
https://github.com/HimanshuNarware/CareerZunction_Intern/assets/154527778/93faf28e-9f4b-4a88-824e-dd1d43341ee0

@HimanshuNarware Please take a look at it; it looks awesome.

@pandeyji711 doesn't match with the theme of the website.

@HimanshuNarware can you suggest some!!

@HimanshuNarware can you suggest some!!

just use colors that match with the theme of the website.

@HimanshuNarware please review

@HimanshuNarware I think its looks good  and matched with theam

@HimanshuNarware please review this

I pushed the updated code to this branch , please review and merge

@pandeyji711  your pr is messing with others code that why  I am closing this PR


add patch for CVE-2023-29409 in Golang 1.18

Issue #, if available:
Description of changes:
Backport patch to address CVE-2023-29409 to EKS Golang v1.18.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm

/approve


feat: Add provider_refresh_token query fragment

What kind of change does this PR introduce?

Retrieves the ProviderRefreshToken from the provider's OAuth response
Pass the ProviderRefreshToken as provider_refresh_token in the query fragments when redirecting to SITE_URL

What is the current behavior?
Currently the provider's refresh token is completely ignored and never passed to the client.
What is the new behavior?
The provider's refresh token is now passed, when it exists, to the client as provider_refresh_token along the provider_token.
Additional context
This feature should be backwards compatible, for a more coherent approach it could be possible to rename the current provider_token to provider_access_token but it would probably break current integrations.
Some of the OAuth providers have an expiry date on the access token they provide (e.g: Twitch). By passing the provider refresh token it allows developers to renew the provider token and build more easily and seamlessly on top of the provider's API.
This is a feature that has been requested last year already : https://github.com/supabase/gotrue-js/issues/131
Some of the providers don't pass a refresh_token because their access_token doesn't expire (example: Github Apps have a refresh token but Github OAuth apps don't). In this case I have added an if condition to not pass the refresh_token.

Thanks @hf, I looked into the tests but I can't seem to find anything related to the oAuth1Callback and oAuthCallback functions even when I looked into providers specific tests, I guess it's related to the fact that it would require opening up the browser to authenticate and have an account for each service?
It would also be needed to make a case for each provider because each different provider has its own policy regarding the refresh token (sometimes even different across implementation e.g: Github apps vs Github OAuth)
I'm sorry but I don't think I'm knowledgeable enough about Go and about the codebase to go through implementing the test for this from scratch.

Hey @mdolr, thanks for the PR. Just listing a few caveats here for future reference:

We only return the provider_refresh_token for oauth2 providers. If the oauth2 provider does not return a provider_refresh_token, then we will omit that value from the query fragment.
The developer using gotrue will have to manage the provider_access_token and provider_refresh_token on their own. At this point, gotrue does not provide any endpoints to help refresh the provider_access_token, though that can be a feature we'll consider adding in the future.


Use code-coverage.cmake from cmake-scripts

Currently, the template just applies -fprofile-arcs -ftest-coverage to the Greeter target from test. As far as I could tell, it doesn't really generate the code coverage data locally, and I think it'd be useful to be able to do that.
The code-coverage.cmake script exposes targets that we can run if we want to generate the data locally too. It also does checks that the current ModernCppStarter solution doesn't.

I've been trying for an hour to get it to work and it seems target_code_coverage() just doesn't find Greeter...
Maybe you will have more luck?

Okay, I don't know how I didn't see this before. It's so simple. To instrument a library target and an executable one, just call target_code_coverage() on both. The library one won't get its custom ccov-* targets, but the executable will. The report that cmake --build build/test --target ccov now generates includes the greeter.cpp file.
Although it also imports fmt now along with doctest. I'll try to figure out which directory to exclude so that it doesn't show up anymore.

This doesn't seem to work anymore:
cmake -Htest -Bbuild/test -DENABLE_TEST_COVERAGE=1
-- CPM: Adding package<EMAIL_ADDRESS>(v2.4.9)
-- CPM: Adding package<EMAIL_ADDRESS>(v1.7.3)
-- CPM: Adding package CDT@ (/Users/adam/projects/cdt/test/..)
-- CPM: CDT: Adding package<EMAIL_ADDRESS>(v1.8.0)
-- CPM: CDT: Adding package<EMAIL_ADDRESS>(9.1.0)
-- Module support is disabled.
-- Version: 9.1.0
-- Build type:
-- CXX_STANDARD: 11
-- Required features: cxx_variadic_templates
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/adam/projects/cdt/build/test
cmake --build build/test
[ 37%] Built target fmt
[ 62%] Built target CDT
[100%] Built target CDTTests
./build/test/CDTTests
[doctest] doctest version is "2.4.9"
[doctest] run with "--help" for options
===============================================================================
[doctest] test cases: 2 | 2 passed | 0 failed | 0 skipped
[doctest] assertions: 5 | 5 passed | 0 failed |
[doctest] Status: SUCCESS!

gcovr
zsh: correct 'gcovr' to 'gcov' [nyae]? n
------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: .
------------------------------------------------------------------------------
File                                       Lines    Exec  Cover   Missing
------------------------------------------------------------------------------
build/test/_deps/doctest-src/doctest/doctest.h
                                            1995     679    34%   829,831,835,862,1024-1025,1029,1032,1036-1039,1045-1046,1078-1079,1123,1127,1152-1153,1256-1257,1300,1316,1318,1794,1801,1830,3238,3240,3283,3289-3291,3294-3296,3298-3302,3306-3307,3310-3311,3503,3506-3507,3510-3513,3516,3518-3521,3532,3563-3565,3593-3594,3602,3610-3615,3617,3619-3620,3622,3624,3626-3629,3631,3633-3634,3636-3638,3640-3642,3644,3646,3648,3650-3651,3653,3657,3669,3677-3678,3681-3684,3691,3695-3698,3701-3706,3709-3711,3714-3720,3723-3728,3741,3743-3744,3746-3748,3750,3754-3755,3758-3759,3762-3765,3779,3786-3789,3791,3793,3795,3797,3799,3801,3803-3808,3810-3811,3813,3819-3826,3832,3834-3840,3844,3849-3852,3855-3860,3863,3866-3868,3872-3875,3888,3890,3892,3894-3896,3898-3908,3915-3919,3926-3928,3936-3946,3948-3949,3955-3956,3963-3966,4034-4036,4038-4042,4044,4048-4050,4075-4077,4079-4087,4092,4108-4109,4113-4114,4116-4118,4121-4122,4125-4129,4131,4134-4137,4139,4143-4148,4150,4153-4157,4159,4161-4164,4166-4167,4169-4175,4177-4180,4189-4191,4193,4195-4198,4200,4204,4208-4209,4214,4217,4225,4273,4282,4284,4293-4299,4316,4319,4323-4327,4331-4335,4350,4352,4355-4359,4414-4416,4419,4421-4425,4429-4437,4466-4467,4473-4476,4478-4479,4482,4518-4521,4526-4527,4530-4532,4534-4535,4545,4547,4551-4553,4555,4746-4752,4755-4757,4823-4825,4829-4830,4832,4834-4836,4839,4841,4843,4864,4866,4873-4875,4880,4882,4884,4886,4888,4892,4899,4901,4905,4910,4913-4915,4917,4920,4922,4928-4930,4933-4937,4940-4942,4945,4947-4950,4953,4955,4958-4960,4963-4964,4967-4969,5012-5014,5040-5043,5062-5063,5078-5080,5082-5083,5085-5086,5088,5091-5093,5095-5096,5098-5099,5101,5104-5109,5114-5117,5119,5123-5127,5131-5132,5134-5135,5138-5139,5141-5142,5149-5151,5155-5157,5166-5169,5172,5174-5176,5181-5186,5191,5193-5195,5197,5199-5200,5204-5205,5207-5208,5213-5215,5218-5220,5236-5238,5241-5243,5246,5251-5253,5256-5263,5266-5269,5272-5277,5280,5282-5284,5287-5290,5293-5296,5299-5301,5304-5311,5313,5333-5336,5340-5341,5344-5347,5364,5366-5368,5370-5378,5383,5385-5390,5394,5397-5399,5402-5407,5409-5414,5421-5438,5440-5448,5450,5453-5454,5457,5463-5465,5468-5477,5480-5482,5484-5486,5488-5494,5496,5499-5501,5504,5506-5516,5518,5521-5522,5524-5526,5529-5534,5537,5539-5541,5543,5545-5549,5551,5553-5554,5556-5561,5563,5565,5568-5569,5571-5574,5576,5578,5580,5583-5587,5594-5595,5597-5598,5600-5611,5613-5614,5616,5618-5620,5623-5624,5626-5629,5632-5640,5642,5658,5660,5664-5665,5671,5675,5677-5678,5683-5684,5686-5687,5694-5695,5702-5703,5706-5709,5712-5716,5719-5721,5724-5726,5730-5731,5738,5740-5742,5744,5750-5751,5754-5755,5758,5760,5765-5772,5774-5775,5777-5782,5784,5786-5790,5793-5796,5799,5801-5802,5805-5807,5810-5813,5815-5816,5819-5822,5825-5827,5830-5831,5834,5836-5838,5840,5842-5844,5846-5848,5851,5853,5855-5858,5860-5864,5875-5876,5879-5882,5915,5917-5919,5922-5924,5927,5929-5930,5933-5936,5938-5942,5946,5950,5952-5954,5957-5959,5961-5969,5971-5973,5976-5980,5984,5986,6003-6005,6007-6016,6018-6020,6022-6036,6038-6112,6116-6117,6120-6127,6129-6131,6140,6142,6144,6162-6163,6165-6166,6168,6170-6175,6186,6226-6227,6232,6238,6241-6242,6245-6246,6249,6251,6253,6255-6256,6258-6259,6262,6267-6270,6272,6274-6275,6277-6278,6280-6286,6289,6292-6295,6298-6300,6307,6309,6311-6312,6314,6316,6319-6321,6323,6325,6327-6332,6335,6388-6389,6395-6399,6401,6435-6439,6441-6442,6444-6453,6455,6457-6462,6466-6467,6469-6470,6488,6491-6494,6496,6498-6499,6502-6505,6507-6509,6513,6526,6530-6533,6632-6633,6637-6638,6642-6643,6652-6653,6657-6658,6663,6666-6668,6672-6673,6677-6678,6682-6685,6689,6691,6693,6695,6707,6709-6711,6736,6739-6741,6753,6765,6783,6792,6794,6807-6811,6814-6816,6818,6820-6821,6823,6843,6846,6848,6850,6852,6854,6856,6864,6867-6869,6874,6884-6887,6889,6935-6937,6939,6945-6947,6951,6964,6983-6985,6988-6990,6998
build/test/_deps/fmt-src/include/fmt/core.h
                                              52      52   100%
include/cdt/greeter.h                          0       0    --%
source/greeter.cpp                             8       8   100%
test/source/greeter.cpp                       10      10   100%
test/source/main.cpp                           0       0    --%
------------------------------------------------------------------------------
TOTAL                                       2065     749    36%
------------------------------------------------------------------------------

@acgetchell try a gcovr config file too like this: https://github.com/ClausKlein/ModernCmakeStarter/blob/develop/gcovr.cfg

That fixes it, thanks!


[Bug]: The extension doesn't work

extension version
1.0.1
Operating system
MacOS
Current behavior / Step to reproduce
The extension does not work when I click the menu: "SSH: Generate SSH key"
Expected behavior
Bug fix
Logs
Execute the command: Generate SSH Keys
SSH config file exists in /Users/username/.ssh/config
Setup stopped: Cannot read properties of undefined (reading 'toUpperCase')
Command execution: finally

I fixed my problem by removing the first comment line of the config file.

Thanks for reporting this issue.
Based on your fix I guess than the extension doesn't support the comment in the .ssh/config file.
I will have a look to provide a fix.

Hey! Thank you for your reply and will look forward to the fix. Below is the information about the comment line:

The default location of a user-specific config file is in ~/.ssh/config, whereas the system-wide configuration file for all users is in /etc/ssh/ssh_config. Both file locations should stay unchanged.
...
The file contains keyword-argument pairs, one per line. Lines starting with '#' and empty lines are interpreted as comments.

Source: https://linux.die.net/man/5/sshd_config


Removal of an application prevents future imports

When an application is removed from the catalog, future imports (using the JSON import functionality) of an application with the same base name and version are prevented.
It should be possible to reimport an already deleted application.

@korvoj ok, currently we're only able to set application version status to DELETED (it's not entirely removed) and the application itself can't be currently removed. It's just not displayed when it has no "NOT DELETED" versions.
I suppose to support this case a new dedicated "delete" functionality should be implemented to remove respective entries from the database.
We should be able to remove given application version if the are not application instances based on this version and be able to remove the entire application if it doesn't have any versions.

@llopat, just throwing out ideas here, would it be possible to bypass the uniqueness check in the database by appending "DELETED_$TIMESTAMP" to the column that has the unique constraint (e.g., chart name, app name...)?

@korvoj yeap, I think so, I wasn't sure if this is the case. This should be applied on the "app version" level only or on the "entire app" level as well?

@llopat I would say on the app level, so that the import JSON functionality feature can be used multiple times "from scratch". Please correct me if I am wrong, but I think that feature imports a whole app, not a single version.

@korvoj you can do the imports from json file of the whole app or just a new version of an existing app.
So this is available on both levels.

So this is available on both levels.

This should be applied on the "app version" level only or on the "entire app" level as well?

In that case I would say to have it applied on both levels, "app version" and "entire app".


[1.1.1] - Bump size for FQN

Describe your changes:
Since we landed the FQN hash PR #11960, we can now support longer FQNs in the API.
Background
The process here between API <> Storage is as follows:

New Entity is created via the API
We set the FQN of the Entity based on its hierarchy (e.g., service.db.schema.table, or parent1.parent2.container).
When going to store the Entity:

The FQN gets split, e.g., service.db.schema.table -> service, db, schema, table.
Each unit is hashed
The result is joined together and stored in its hashed form in the db, e.g., hash1.hash2.hash3.hash4.

When reading, we pick up the full FQN hash from the db, restore to its original name by pieces and join in the final FQN string.

Changes
Where we have variable / long sizes in FQNs is:

Tables (due to the Datalake connector, as the name is the path). Therefore this involves the FQNs of

Columns, built as tableFQN.ColumnName
Test Suites, built as tableFQN.TestSuite

Containers, since it gets built by concatenating parent.children together.

Container
For containers, we are setting the FQN size to 1024. This is why:

We are using MD5 as the hashing algorithm. Each MD5 transformation of a string gives us a 32 characters string.
MySQL max index size is 256 characters
This means we can store up to 256 / 32=8 levels of hashes in the db
EntityName is sized as 128 by default
The final FQN max size that the API can return is then 8 * 128 = 1024

We will then just support up to 8 parent <> children levels.
Table
We can follow a similar logic for table names. However, here it also makes sense to bump the EntityName since it will give us more room to ingest Datalake paths:

Setting EntityName to 516
Bumping FQN to 896 (bumped table name + schema + db + service)

Column FQN will be 1024 -> table FQN + column name (128)
Test Suite
Test Suites FQN will be 1024 -> Table FQN + .testSuite and to keep round numbers

Type of change:

[ ] Bug fix
[x] Improvement
[ ] New feature
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation

Checklist:

[x] I have read the CONTRIBUTING document.
[ ] My PR title is Fixes <issue-number>: <short explanation>
[ ] I have commented on my code, particularly in hard-to-understand areas.
[ ] For JSON Schema changes: I updated the migration scripts or explained why it is not needed.

@pmbrull, can you also change the Column Name length from 128 to 256 and address #7680 also in this patch?

@pmbrull, can you also change the Column Name length from 128 to 256 and address #7680 also in this patch?

done, thanks


Tests still run if the compile fails

If there is a compile error, the tests still run and produce their pretty output. If you're not paying attention you might think your changes are OK.
➜  make
gom install
downloading github.com/codegangsta/negroni
downloading github.com/dghubble/warp
downloading gopkg.in/unrolled/render.v1
downloading github.com/alext/tablecloth
downloading github.com/onsi/ginkgo
downloading github.com/onsi/gomega
rm -rf _vendor/src/github.com/alphagov
mkdir -p _vendor/src/github.com/alphagov
ln -s /var/govuk/publishing-api _vendor/src/github.com/alphagov/publishing-api
gom test -v ./...
# _/var/govuk/publishing-api_test
./integration_test.go:29: undefined: testPublishingAPI
FAIL	_/var/govuk/publishing-api [build failed]
=== RUN TestURLArbiter
Running Suite: URL arbiter client
=================================
Random Seed:<PHONE_NUMBER>
Will run 4 of 4 specs

••••
Ran 4 of 4 Specs in 0.012 seconds
SUCCESS! -- 4 Passed | 0 Failed | 0 Pending | 0 Skipped --- PASS: TestURLArbiter (0.01 seconds)
PASS
ok  	_/var/govuk/publishing-api/contentstore	0.094s
?   	_/var/govuk/publishing-api/request_logger	[no test files]
=== RUN TestURLArbiter
Running Suite: URL arbiter client
=================================
Random Seed:<PHONE_NUMBER>
Will run 3 of 3 specs

•••
Ran 3 of 3 Specs in 0.003 seconds
SUCCESS! -- 3 Passed | 0 Failed | 0 Pending | 0 Skipped --- PASS: TestURLArbiter (0.00 seconds)
PASS
ok  	_/var/govuk/publishing-api/urlarbiter	0.039s
gom:  exit status 2
make: *** [test] Error 1

Closing this as the application is now in Ruby.


Suggestion: processAjaxSuggestion

there is no clean way to switch to sending the data via "post"
this is a rework of the processAjaxSuggestion function to be easyer to read.
and allow the method to be set.
notes:
complete() does not pass any args in this version.
error() passes the statuscode and error text.
success() passes the reply.
		processAjaxSuggestion : function(value, keycode)
        {
            var _self = this;
            var target_url = this.getActionURL(this.settings.suggestionsAction.url);
            var send_data = {current: this.tagNames.join(", "), existing: this.settings.suggestions, term: value };
            var link_method = "post";
            var max_timeout = 3000;
            _self.ajaxActive = true;
            $.ajax({
                url: target_url,
                data: send_data,
                method: link_method,
                timeout: max_timeout,
            }).done(function( reply ) {
                try
                {
                    jsondata = JSON.parse(reply);
                    if(jsondata.hasOwnProperty('suggestions'))
                    {
    					_self.settings.suggestions = $.merge(_self.settings.suggestions, jsondata.suggestions);
    					_self.settings.suggestions = _self.unique(_self.settings.suggestions);
    					_self.updateSuggestionList();
    					_self.setSuggestionsEvents();
    					_self.suggestWhiteList(value, keycode);
    				}
    				if(_self.settings.suggestionsAction.success !== undefined && typeof _self.settings.suggestionsAction.success == "function") {
    					_self.settings.suggestionsAction.success(reply);
    				}
                }
                catch(e)
                {
                    if(_self.settings.suggestionsAction.error !== undefined && typeof _self.settings.suggestionsAction.error == "function") {
                        _self.settings.suggestionsAction.error("200","catch error"+e);
                    }
                }
            }).fail(function(xhr, status, error) {
                if(_self.settings.suggestionsAction.error !== undefined && typeof _self.settings.suggestionsAction.error == "function") {
                    _self.settings.suggestionsAction.error(status,error);
                }
            }).always(function() {
                if(_self.settings.suggestionsAction.complete !== undefined && typeof _self.settings.suggestionsAction.complete == "function") {
					_self.settings.suggestionsAction.complete();
				}
				_self.ajaxActive = false;
            });
        },

Update: tested and fixed

Thanks, I will try to make changes as mentioned, test and update you here.

Made changes but to my existing code, hope it works as expected.


Cannot connect to a CloudAMQP server

I am trying to connect to a (free) CloudAMQP instance, and I am getting the following error: "Socket closed abruptly during opening handshake"
I am using the following URI<EMAIL_ADDRESS>Does rabbot support VHosts? CloudAMQP?
I tried pointing the demo/pubsub to that server, and it failed to connect as well. However, the sample at https://www.rabbitmq.com/tutorials/tutorial-one-javascript.html, which uses amqp.node, works perfectly...

And by the way, I also tested my code using the following URI: amqp://guest:guest@localhost/ and it worked just fine.

@dfischer - are you passing the uri as the uri parameter or are you using separate config options? My guess is that either I have something incorrect in the way I'm parsing uri or you may be passing the vhost argument incorrectly.

@arobson - I am passing the uri as the uri parameter, and now that you suggested it, I tried passing separate parameters and it worked. In fact, you are right, the problem is in the way you parse the vhost part of the uri. When passing the vhost as a parameter, it is kept as is in the vhost field, without the encoded leading slash. But when passing it inside the uri, it ends up in the vhost field with the encoded leading slash.
So I'm assuming it a very simple fix. Do you think you could release it soon?
Thanks,
David

Ok, actually I guess the bug is that you are now expecting the vhost without the leading slash in the vhost parameter, and you are adding it automatically.
Anyway, it's very simple (2 minutes really) to create a free account and queue on CloudAMQP if you want to test it.

@dfischer0 I haven't tested this against CloudAMQP, but I went back to the RabbitMQ docs and I see what I did wrong - I was using a standard url lib to parse and used the path as vhost. At one point it was convention/common practice to start vhosts with a leading / and I can't figure out why on earth they'd force you to escape each path delimiter for your vhost in a format that already supports it natively ...
Anyway. The defect is fixed now and published to NPM as 1.0.1.

Wow, that was fast! Thanks!
I confirm it now works with CloudAMQP.


Made legacy bitstream URLs redirect with 301 status code

References

Fixes #2963

Description
This fixes an issue where legacy bitstream URLs are redirected with status code 302 instead of 301 (permanent URL redirect).
Instructions for Reviewers
List of changes in this PR:

Refactored the existing legacy url resolver into a redirect guard and updated the status code of the request before redirecting to the

Guidance for how to test & review this PR:

Run your frontend in production mode with sandbox.dspace.org as backend
Run curl --head http://localhost:4000/bitstream/handle/123456789/258/Money%20and%20Emerging%20Adults.pdf and verify that the status code is now 301
Run curl --head http://localhost:4000/bitstream/handle/123456789/258/Money%20and%20Emerging and verify that the status code for an invalid url is still 404

Checklist

[x] My PR is small in size (e.g. less than 1,000 lines of code, not including comments & specs/tests), or I have provided reasons as to why that's not possible.
[x] My PR passes ESLint validation using yarn lint
[x] My PR doesn't introduce circular dependencies (verified via yarn check-circ-deps)
[x] My PR includes TypeDoc comments for all new (or modified) public methods and classes. It also includes TypeDoc for large or complex private methods.
[x] My PR passes all specs/tests and includes new/updated specs or tests based on the Code Testing Guide.
[x] If my PR includes new libraries/dependencies (in package.json), I've made sure their licenses align with the DSpace BSD License based on the Licensing of Contributions documentation.
[x] If my PR includes new features or configurations, I've provided basic technical documentation in the PR itself.
[x] If my PR fixes an issue ticket, I've linked them together.

@tdonohue: Thnx for the feedback! The first issue you mentioned with the legacy bitstream URL directly pointing to the backend has been solved. This was because there was actually no real redirect because the redirect was handled by Angular, so curl wasn't able to see this internal redirect. For the second issue, I was not able to reproduce it with my local setup even without these new changes so could you check if you can still reproduce this?

@tdonohue: I retested it and asked someone else to also retest it and I think that it might just be because the URL you used wasn't valid. Could you maybe try and check if you can reproduce it by running this branch in prod mode with sandbox.dspace.org as backend. I created this item with the two different versions of the accented c character:

ć (which is the combination of 2 characters: the regular c (U+0063), followed by the combining acute accent ◌́ (U+0301)) → %63%CC%81
ć (this is one character, the letter c with an acute accent (U+0107)) → %C4%87

I added their links in the metadata under dc.identifier.uri. (I used this tool to see the difference in UTF encodings). If you still experience this issue could you maybe create an item on sandbox so that we are sure we use the same DB & same URLs

@alexandrevryghem :  I tried your example item on the Sandbox site, and I can verify that Item works for me.  I run this PR locally on localhost:4000 pointed at the Sandbox backend, and I see the 301 redirect followed by the 302 redirect, even for the files which have special characters.  I tried this in several browsers and they all work!
However, strangely, this code doesn't work locally.  I tried copying your example item to my own backend running in Docker on http://localhost:8080.  I copied it by exporting it using the export script on Sandbox, and then imported using the import script locally.  The result is that I have the same Item with the same http://localhost:4000/handle/10673/1122 handle.  In this scenario, when I use the same URLs (e.g. http://localhost:4000/bitstream/handle/10673/1122/1test_ć.pdf), I get 404 errors when the URL has a special character.
It's baffling to me that I can run the same UI code via http://localhost:4000/ and it works when pointed at https://sandbox.dspace.org/server/ but doesn't work when pointed at http://localhost:8080/server/.   I have no idea why this is happening.  But, at this point, I'm assuming it must be something in my local Docker setup, since it seems to only be reproducible on my machine.
In any case, since you've proven this works with the Sandbox as a backend, I'll merge this as-is and mark #2727 as "fixed" by this.
I appreciate you investigating this further and showing that it works on the Sandbox!  I have no idea why the same item won't work locally, but it definitely seems like your fixes are working.


Custom fonts

Egui currently ships with built-in fonts and (as far as I could see) there's no way for the library user to switch those out.
Font customisation is done via ctx.set_fonts which accepts a FontDefinitions. But that requires a FontFamily which is an enum containing the hardcoded fonts and a no way to change them.
Would bringing your own font be within Egui's scope? The built-in fonts are great for e.g. debugging, level editor etc. UIs, but for a user-facing one (e.g. in-game menu, windows) the fonts often need to match the look & feel of the game.
If this is welcome, I'll be happy to work on it (albeit slowly) and follow any design considerations you might have.
My initial thought is adding a third variant FontFamily::Custom(u32) and provide a way to register a new font e.g.: impl Context { pub add_custom_font(font: &[u8]) -> u8; }
Where the function and the enum variant would both use a font ID (or maybe a hashed name) to support multiple fonts at the same time.
For reference, this is a commit I'm maintaining in my Egui fork to be able to use a (single) custom font:
https://github.com/tomassedovic/emigui/commit/47c7942725267856d2ad32fe29ce1274d617bff2
And it's used like this in my game:
let font_definitions = {
    use egui::paint::fonts::{FontFamily, TextStyle};
    let family = FontFamily::Mononoki;

    let mut def = egui::paint::FontDefinitions::default();
    def.fonts.insert(TextStyle::Body, (family, font_size_px));
    def.fonts.insert(TextStyle::Button, (family, font_size_px));
    def.fonts.insert(TextStyle::Heading, (family, font_size_px));
    def.fonts
        .insert(TextStyle::Monospace, (family, font_size_px));
    def
};
ctx.set_fonts(font_definitions);

Hello!
There are (at least) two separate issues here:
A) Being able to override the default fonts used by Egui
B) Being able to add additional user fonts
Egui should definetly support both! I think A) is probably the first priority. In this case, maybe what you really wanted to do is to change TextStyle::Monospace to use Mononoki, so A) would have indeed solved it.
There is some design work to be done here before we start coding.
Let's start with thinking about A). We could start by having FontDefinitions contain a map from FontFamily to the TTF font data (e.g. as a ttf: HashMap<FontFamily, Vec<u8>> member). FontDefinitions::default() could use the default fonts, but you could then override it as such:
let mut fonts = egui::paint::FontDefinitions::default();
fonts.ttfs[FontFamily::Monospace] = include_bytes!("mononoki.ttf").to_vec();
ctx.set_fonts(fonts);

What do you think, is something like that a good start?

Greetings!
What you proposed looks perfect! It would cover my needs completely.
I agree there's multiple things "custom font support" could mean and focussing on being able to swap the default fonts for user-specified ones is a great start.

Let me know if you start working on this, otherwise I'll get to it... some time? :)

It would probably be some time here too. I'll post here if/when I pick it up! Thanks for the great suggestion!

This is awesome, thank you so much!

This doesn't work...
77 |         fonts.ttfs[FontFamily::Monospace] = include_bytes!("../assets/fonts/NotoEmoji-Regular.ttf").to_vec();
   |               ^^^^ unknown field
   |
   = note: available fields are: `font_data`, `families````

@Eskerepvp it's because you are reading a two year old issue instead of the latest documentation.


Implement retries into WS and HTTP RPC

Right now, when we connect to WS(s) or HTTP(s) RPC, it only tries once. We should allow for retries before throwing completely.
Additionally, being able to retry the connection if we lose it would be helpful as well.

This happens in the web-wallet when there is connectivity break and afaik, it cannot recover without reloading the app. This "reload" will be a bit harder with an extension.
Reconnecting on network failure is important, so the next call may succeed.
However, we must also consider subscriptions and how to handle that when it break?
Do we re-subscribe? What about items lost in the meantime? There needs to be some higher-level logic at work.
eg. I use liveTx to search and subscribe for all tx that match my account. I lose connectivity and reconnect 2 minutes later, missing a tx event. If I auto-resubscribe I will never get that one (but will get future ones). To handle it properly, we must notifiy so the higher level code (eg liveTx can do a search since last receive and then subscribe again).
Properly handling subscriptions can be done later. This should allow:

minimally a reconnect, so a query will work later
optionally reconnect the subscriptions as well (even if there is a gap they will miss)

@webmaster128 What's the scope of this issue? tendermint-rpc only or others as well?

What's the scope of this issue?

Preferribly lower level to cover tendermint-rpc as well as ethereum. I guess an auto-queueing and auto-reconnecting socket wrapper in @iov/sockets makes sense.

Yes, it would be good to auto-reconnect for long-term stability.
The one issue is that this information of a reconnect must be passed to the higher-level handler.
If a tendermint connection opens a number of subscriptions for account updates, then the lower-level websocket reconnects, we will also want to re-create those subscriptions.
This part cannot be done in @iov/sockets, but if it had a callback after connection break and successful re-establishment, that part could be done in a higher level. I think we would need similar app-specific logic in iov-bns as well as iov-ethereum

Good point @ethanfrey
To break this down into smaller steps, I suggest

Implement a queueing wrapper around StreamingSocket with a non-blocking send function
Implement reconnects that send messages from the queue via the new connection as soon as established
Expose connected state (connecting, connected, disconnected) as a ValueAndUpdates field (Because we can. It is a fair API, but not strictly required for the product)
Make it possible for higher level applications to react to reconnects via a simple reconnected callback
Automatically re-subscribe in tendermint-rpc
Automatically re-subscribe in ethereum

^ Added this as a checklist to the issue description.

I agree with the above list. I think it still has some utility even in smaller chunks, maybe a series of PRs.


Enlarge the in-game save to file camera shots

ManuxKerb -
Another thing i noticed. The picures are the same size as the ingame window so i cant use them as a wallpaper. Could you implement that the whole screen size is the camera shot size of the image ? The ingame window can stay the same but the picture should be bigger.
micha030201-
That would be an awesome feature! There already is a screenshot supersize option in game, which allows to take cool screenshots even at minimum picture settings. That would be amazing to add this feature to telescopes as well, cause currently all my pictures look like a bunch of squares strapped together (my videocard cannot in AA ).

implemented. conducting testing.

Ready for Release.


Refs 322: Change CJI env to stage_proxy

stage_post_deploy isn't modifying the HTTP defaults, so its pointing to production

https://issues.redhat.com/browse/HMSCONTENT-322

⚠ This task currently requires qe-approval, but this PR does not fully resolve the task.  Please contact QE to determine appropriate testing required.


get_queryset not working with admin

Hi,
I've defined custom get_queryset method for my resource class. I'v set the resource class for my admin class, but when I export data via Django admin the results are not filtered as I want.
It seems like my get_queryset method is not evaluated (checked that with print).
Everything works fine when I go to Django shell and export the resource manually.

I just submitted another issue #797 that might be related to this! I included all the details on my issue.

Hi @mcjlnrtwcz,
The admin export action will use the queryset from the admin, respecting applied filters and searches.
If you want to change the root queryset, the one that is used as a starting point for applying the filters, you have to override get_queryset on the ModelAdmin, and that would also affect your admin changelist, which I think is good.
If you need a queryset that has nothing to do with the changelist, you can create a ExportMixin subclass and override get_export_queryset as @fmirdita suggested in the issue he submitted.
Hope this helps!

Hi @manelclos ,
Thanks, that cleared things up.
Based on the docs I tried overriding get_queryset() on my ModelResource subclass, but it didn't do anything.
Is there any use to overriding that value? Or did I misinterpret the docs?

I had the same confusion on this issue. Reading the docs made me believe that overriding the get_queryset method on my ModelResource would override the queryset for ExportMixin.
Currently get_queryset on the ModelResource class only gets called if the queryset passed to export is None. For that reason ExportMixin will never call get_queryset on the ModelResource class. Is there a reason that get_queryset on the ModelResource shouldn't be able to update a queryset from ExportMixin, for instance?
I'd be happy to submit a PR that would call get_queryset from the ModelResource if maintainers would welcome it? I would suggest adding self.queryset as a class property like how queryset and get_queryset work in Django's ListView.

I also got the impression reading the docs that I could just override get_queryset to change the query. Then I found this useful issue :-) The easiest fix may be to just make the docs more clear.

Thanks, you are right. Updating docs so that default queryset is used if no specific queryset is given would be more clear. Would anyone like to make a PR for this?

Hello there! 👋🏻
If anyone is still facing issues with this and finds the documentation confusing, the recommended approach to modify the queryset is by utilizing the filter_export method. Overriding this method within the ModelResource grants control over the exported data.


Add kubewarden spec to extension compatibility tests

Summary
Fixes #

Occurred changes and/or fixed issues

Technical notes summary

Areas or cases that should be tested

Areas which could experience regressions

Screenshot/Video

Checklist

[ ] The PR is linked to an issue and the linked issue has a Milestone, or no issue is needed
[ ] The PR has a Milestone
[ ] The PR template has been filled out
[ ] The PR has been self reviewed
[ ] The PR has a reviewer assigned
[ ] The PR has automated tests or clear instructions for manual tests and the linked issue has appropriate QA labels, or tests are not needed
[ ] The PR has reviewed with UX and tested in light and dark mode, or there are no UX changes

Closed in favor of https://github.com/rancher/dashboard/pull/11668 as it needed to be redone after merging of https://github.com/rancher/dashboard/pull/11508


Make a way of loading a lua class?

These 80 lines of code https://github.com/hughperkins/pytorch/blob/master/src/PyTorchAug.py#L186-L252 are more or less sufficient to making a lua class look like a python class.  Maybe can do the same thing in javascript???  Everyone is always asking for python, but nodejs is popular too.  A high-performance javascript gpu library sounds like not a bad way forward :-)

Seems javascript doesnt have 'magic methods', like python does.  However, there are direct proxies apparently, that can be enabled in nodejs with --harmony-proxies, maybe.

oh, i did not think of doing this. since this whole framework was a one-time hack i did, i didn't think too much into it.


Support user-supplied data-t for standard column filters

When writing automated tests for a web page containing a fixtable that has filters, it's currently difficult to distinguish one filter text box from another. It would be nice if we could supply a data-t in the column data and fixtable-ember would associate that with the filter.

I've got a PR I'll put up to for this...


cannot build v4.3.1

I can build v4.3.0 but v4.3.1 fails with
lib/zbc_block.c:29:28: fatal error: linux/blkzoned.h: No such file or directory
The build machine is on kernel 4.4.0-42-generic and I've got the kernel headers installed.

Andy,
The missing file is part of the 4.10 kernel block development tree and so not yet released.
I just pushed v4.3.2 which fixes this problem.
Best regards.


Getting duplicate tax heading of the tax in the invoice on the Admin panel.

Terms

[X] Before you openning this issue, i have checked if the issue has already been reported.

Bagisto Version(s) affected
v2.0.0-BETA-1
Issue Description
On the admin panel, while creating the invoice of the order and viewing the invoice it is showing an extra tax option in the amount section.
Preconditions

Admin should be logged in.
Admin should have at least one pending/shipped order.

Steps to reproduce

Go to 'Admin panel'
Click on 'view order' inside Sales/orders
Create an invoice for this order
Scroll down to 'amount section'
See an error

Expected Result
It should not be shown as extra text.
Actual Result
it is showing a duplicate name. Here
Screenshots
No response
Additional context
No response

Fixed

Now, this issue is fixed. so I am closing this issue.
And I have attached a screenshot Here, for future reference.


Music search query history

My long overdue PR for this that I've been working on off and on 😅! This adds the saving a simple history of the queries that the user has previously searched. In order to have a query be saved the user must either 1) click Play from Search, 2) click View Full Results or the ellipsis entry, 3) click on a previous search history query, 4) click on a search result item, 5) click on the OK button to bring up the full page search results . The search history query saves the last 8 searches, the most recent of the search queries being displayed at the bottom of the list.
Additionally with this feature the search logic has been refactored/updated to help prevent race conditions when displaying search results in the suggestion list and help smoothen out the experience.
I wasn't able to get any videos / pictures of this one but didn't want to hold this up any longer, sorry about that.

Please merge the latest main branch, which should include a fix for running the CI tests in a Pull Request context!

Please merge the latest main branch, which should include a fix for running the CI tests in a Pull Request context!

Merged the latest!

Codecov Report

Merging #567 (b7ffca0) into main (a6f8606) will decrease coverage by 7.76%.
The diff coverage is 81.42%.

@@             Coverage Diff              @@
##               main     #567      +/-   ##
============================================
- Coverage     49.37%   41.60%   -7.77%
+ Complexity     1791     1421     -370
============================================
  Files           249      242       -7
  Lines         11752    11358     -394
  Branches       2321     2267      -54
============================================
- Hits           5802     4726    -1076
- Misses         4819     5632     +813
+ Partials       1131     1000     -131

Impacted Files
Coverage Δ

...a/me/hufman/androidautoidrive/carapp/InputState.kt
63.88% <ø> (ø)

...idautoidrive/carapp/music/views/SearchInputView.kt
73.11% <80.32%> (+5.37%)
:arrow_up:

...in/java/me/hufman/androidautoidrive/AppSettings.kt
76.54% <88.88%> (-6.09%)
:arrow_down:

...droidautoidrive/phoneui/viewmodels/MapPageModel.kt
0.00% <0.00%> (-100.00%)
:arrow_down:

...idautoidrive/phoneui/fragments/MapsPageFragment.kt
0.00% <0.00%> (-100.00%)
:arrow_down:

...dautoidrive/phoneui/fragments/MusicPageFragment.kt
0.00% <0.00%> (-100.00%)
:arrow_down:

...dautoidrive/phoneui/viewmodels/SupportPageModel.kt
0.00% <0.00%> (-100.00%)
:arrow_down:

...autoidrive/phoneui/fragments/CarSummaryFragment.kt
0.00% <0.00%> (-100.00%)
:arrow_down:

...utoidrive/phoneui/fragments/SupportPageFragment.kt
0.00% <0.00%> (-100.00%)
:arrow_down:

...toidrive/phoneui/fragments/CalendarPageFragment.kt
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 87 more

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 a6f8606...b7ffca0. Read the comment docs.


Add gateway and verifier for Taiko L2

It will be great if we can work together to add a gateway and verifier for Taiko's L2 mainnet.

FYI, We have been working with the Taiko team to come up with PoC https://github.com/makoto/taikotest (just enough to prove that we can do storage verification. I mentioned this to Unarguable team who is the new maintainer of the repo. @nxt3d @clowestab @adraffy

Awesome!  I'll take a look and add a TaikoGateway implementation to https://github.com/unruggable-labs/evmgateway-v2/tree/main/v2

Thanks @makoto. Typo - Unruggable ;)
Happy to work with you @dong77 to make this happen. @adraffy is going to take a look at the work thus far and we will work on a verifier. I'll connect with you directly (via Makoto).


Add new school email

Add Khujand Polytechnic Institute of Tajik Technical University

@dotdesign23 Please provide us with:

the school official website URL
the school street address, including city and country
an URL of a page on the official website where the school offers an IT-related long-term (>1 year) course
a proof, which shows that the school recognizes the domain you are submitting as an official email domain for the students.

You can provide us with any of the following as the proof:

A copy of instruction (a hard-copy or electronic one) given to you by the school that tells you to use an email address in this email domain
An URL of a page at the official school website that says that students use this email domain
A reference to a recognized journal where an article was published by someone from the school, with explicit affiliation to the school, and e-mail address from the email domain
A WHOIS data that link the email domain to the school somehow
A copy of official letter from the school representative saying that the school provides e-mail addresses in this domain to the students
Anything else that can prove this fact in similar way, i.e. can be verified independently.

@Ghanijon Your separate pull request is already merged.

@dotdesign23 You might miss my previous comment. Please react.

http://www.fe-nuol.edu.la/index.php
Lao-Thai Road,  Vientiane, Laos
http://www.fe-nuol.edu.la/index.php/departments/ceit
<EMAIL_ADDRESS>

http://www.fe-nuol.edu.la/index.php/organization


Ignoring implicit elements in the merge may drastically reduce the PCS set size

Currently, implicit elements are being merged along with everything else. From both a performance and reliability standpoint, it may be an idea to ignore implicit elements altogether in the merge. This makes sense from a standalone standpoint, but does not necessarily make sense from an API usage standpoint.
I will try it out and see if it results in any improvements.

This could also lead to drastic performance improvements.


Rebuild for lalsimulation-2.0.0

Checklist

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

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

The build section contained an unexpected subsection name. error_overdepending is not a valid subsection name.
The build section contained an unexpected subsection name. error_overlinking is not a valid subsection name.

This cannot be merged, since gstlal doesn't support python >=3 and conda-forge no longer builds for python<3.


Varying precision

Currently only float32 precision is supported. Ideally float64 would also be supported.
A good solution would:

be invisible to users (I could put 32/64 into the same functions)
handle mixed precision inputs
not duplicate oodles of code if possible
have identical tests between different precisions

Hi richardjgowers
I want to share my approach to fix this issue:

We could define a variable dtype in class CellGrid(object): located in core.pyx file and equate self.dtype = coordinates.dtype in the init(self, box, max_dist, coordinates=None) function itself and wherever necessary just use dtype attribute of cell-grid object i.e (cg.dtype).

Any inputs on this will be appreciated.
Thank you :)

@kash1102 I'm not sure that really fixes anything, it might even be cleaner just to have a property which shortcuts to the array dtype, ie
@property
def dtype(self):
    return self.coordinates.dtype

With Cython the real need is to have the dtype known at compile time so you can write optimised code.
http://cython.readthedocs.io/en/latest/src/userguide/fusedtypes.html
I think what's really needed is that the maths subroutines in the library use fused types (link above).  I think they didn't exist when I first ran into this issue

Hi richardjgowers
Sorry for the late response, I was busy with my academic projects.I have solved the issue by declaring
@property
def datatype(self):
return self.coordinates.dtype
in core.pyx and using method name datatype of CellGrid object wherever necessary
example  dist = np.empty(Nreq, dtype=cg1.datatype)
and In the cgmath.pyx file simply replaced np.float_32 with fused type floating which would take care of both np.float_32 and np.float_64 values. I have tested manually by giving both np.float_32 and np.float_64 as input and also tested on test files in test directory it works perfectly fine.
Any inputs on this will be appreciated.
Thanks :)

Fixed in #8