UnboundLocalError: local variable 'h' referenced before assignment

Just found your extension and wanted to try it out. Sadly, even with the recommended setting, I can't get this to work, because I get this error on text2img:
Error running postprocess: D:\AIUI\stable-diffusion-webui\extensions\sd-face-editor\scripts\face_editor_extension.py
Traceback (most recent call last):
  File "D:\AIUI\stable-diffusion-webui\modules\scripts.py", line 478, in postprocess
    script.postprocess(p, processed, *script_args)
  File "D:\AIUI\stable-diffusion-webui\extensions\sd-face-editor\scripts\face_editor_extension.py", line 98, in postprocess
    script.proc_images(mask_model, detection_model, o, res,
  File "D:\AIUI\stable-diffusion-webui\extensions\sd-face-editor\scripts\face_editor.py", line 321, in proc_images
    proc = self.__proc_image(p, mask_model, detection_model,
  File "D:\AIUI\stable-diffusion-webui\extensions\sd-face-editor\scripts\face_editor.py", line 479, in __proc_image
    proc = process_images(p)
  File "D:\AIUI\stable-diffusion-webui\modules\processing.py", line 611, in process_images
    res = process_images_inner(p)
  File "D:\AIUI\stable-diffusion-webui\modules\processing.py", line 729, in process_images_inner
    samples_ddim = p.sample(conditioning=p.c, unconditional_conditioning=p.uc, seeds=p.seeds, subseeds=p.subseeds, subseed_strength=p.subseed_strength, prompts=p.prompts)
  File "D:\AIUI\stable-diffusion-webui\modules\processing.py", line 1262, in sample
    samples = self.sampler.sample_img2img(self, self.init_latent, x, conditioning, unconditional_conditioning, image_conditioning=self.image_conditioning)
  File "D:\AIUI\stable-diffusion-webui\modules\sd_samplers_kdiffusion.py", line 356, in sample_img2img
    samples = self.launch_sampling(t_enc + 1, lambda: self.func(self.model_wrap_cfg, xi, extra_args=extra_args, disable=False, callback=self.callback_state, **extra_params_kwargs))
  File "D:\AIUI\stable-diffusion-webui\modules\sd_samplers_kdiffusion.py", line 257, in launch_sampling
    return func()
  File "D:\AIUI\stable-diffusion-webui\modules\sd_samplers_kdiffusion.py", line 356, in <lambda>
    samples = self.launch_sampling(t_enc + 1, lambda: self.func(self.model_wrap_cfg, xi, extra_args=extra_args, disable=False, callback=self.callback_state, **extra_params_kwargs))
  File "D:\AIUI\stable-diffusion-webui\venv\lib\site-packages\torch\utils\_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "D:\AIUI\stable-diffusion-webui\repositories\k-diffusion\k_diffusion\sampling.py", line 650, in sample_dpmpp_2m_sde
    h_last = h
UnboundLocalError: local variable 'h' referenced before assignment

I use Web UI 1.3.0

@ElPrudi
Thanks for using this script.
According to the error message you gave me, it looked like the problem occurs when "DPM++ 2M SDE" is selected as the sampling method.
As a workaround, I found that the error can be avoided by either of the following methods.

Use another sampling method
Set "Denoising strength for the entire image" to a value greater than 0

Please give it a try.

Both workarounds work. I changed 2M SDE to 2M and it worked. I also tried 2M SDE with the full image denoising strength and it worked. For some reason the first method outputs two images. One before processing and one after.

@ElPrudi
I noticed that if "Denoising strength for the entire image" is zero, there is no need to process the image. So, I rewrote the code to skip processing in that case. As a result, the error does not occur even when "DPM++ 2M SDE" is selected.

For some reason the first method outputs two images. One before processing and one after.

If you see two images on the disk, it may be that the "Save original image" option is turned on.


[Fabric] Log in - Missing focus in Password field when log in with account

Action Performed:

Scan the code and install the build
In Log in put your email address
Tap Continue

Expected Result:
Focus should be displayed in Password field when log in with account
Actual Result:
Missing focus in Password field when log in with account
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] IOS / Native

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: No
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/211161925-bfbec717-7cb0-4ba5-8744-115ed6e66fde.MP4
Issue reported by: Applause - Internal Team

Coming from here. Context here!

This is part of the on-going Fabric migration.

This is not daily, part of a longer-term project.

https://github.com/WoLewicki/App/commit/60e47c488ce709954e6ca91425db705f7caba8ad Should fix this issue.

Closing similar to the other issue, though we can also re-assess later in the implementation process.

Password is focused when building the app from the current (https://github.com/WoLewicki/App/commit/e12c1cfd8a9a9eef4bab9471c1c2a0547a4504f5) andrew-fabric branch:
https://github.com/Expensify/App/assets/21055725/cbd91518-bf46-4704-90d7-dcf7ed5ce227


Ping Google when pages are published

Reviewer checklist

[ ] Read the contributing guide
[ ] PR should be motivated, i.e. what does it fix, why, and if relevant, how
[ ] Ensure relevant issues are linked (description should include text like "Fixes #")
[ ] Ensure any appropriate documentation has been added or amended

Coverage: 93.284%. Remained the same when pulling ca7f63974b5ff6d6aa5a1867578a802e33ba3cc4 on google_ping into 2deb437cc3d73ab26a0242b9aa755e165e5fc8af on main.


Linksys Velop Integration Stop working after the 2022.4.2b2 update

Hi
after Upgrading to the Linksys Velop 2022.4.2b2 the integration stoped working for my two separate Velops, and receive the following error:

Logger: custom_components.linksys_velop
Source: custom_components/linksys_velop/__init__.py:199
Integration: Linksys Velop (documentation, issues)
First occurred: 02:39:25 (2 occurrences)
Last logged: 02:39:25

Unexpected error fetching linksys_velop (#############) data: 'NoneType' object has no attribute 'lower'
Unexpected error fetching linksys_velop (#############) data: 'NoneType' object has no attribute 'lower'
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 190, in _async_refresh
    self.data = await self._async_update_data()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 150, in _async_update_data
    return await self.update_method()
  File "/config/custom_components/linksys_velop/__init__.py", line 193, in _async_get_mesh_data
    previous_nodes: Set[str] = {
  File "/config/custom_components/linksys_velop/__init__.py", line 199, in <setcomp>
    dr_device.name.lower() != "mesh",
AttributeError: 'NoneType' object has no attribute 'lower'

Any advice?

I know why it's happening, but it shouldn't be happening. I'll see if I can be more targeted in that code and resolve this.

I've just pushed b3.  Could you give that a go please? #182 should have resolved the issue.
Let me know how you get on.

Everything looks good and normal after the b3 update👌🏼
Thank you

Brilliant. I'll close this off then.


Make help string links consistent.

Commit 80fa400 corrected some "help links" but not others (if I run open2opaque rewrite -h I still see godoc based links).
This PR rectifies all other printed help links.
There is one other reference to a godoc based link within ignore.go:47 which I have not touched.
// LoadList loads an ignore list from files matching the provided glob pattern
// (see http://godoc/3/file/base/go/file#Match for the syntax definition).
func LoadList(pattern string) (*List, error) {
	matches, err := glob(pattern)
	if err != nil {
		return nil, err
// etc

Thanks!

Thanks, but we are not set up to accept PRs in this repository right now.
I’ll fix this internally and push it out.


Syslog message with severity "warning" are considered as bad chunk by fluentd and discarded

syslog_protocol gem is a dependency of fluentd-plugin-remote_syslog which is used to output logs to remote syslog.
The logs which are created with severity "warning" are discarded by fluentd as bad chunk with the below message:

2020-02-05 15:18:38 +0530 [warn]: #0 got unrecoverable error in primary and no secondary error_class=ArgumentError error="'warning' is not a designated severity"
2020-02-05 15:18:38 +0530 [warn]: #0 suppressed same stacktrace
2020-02-05 15:18:38 +0530 [warn]: #0 bad chunk is moved to /tmp/fluent/backup/worker0/object_3fe96317eb5c/59dd0f8011f1edd9afad11041ad628f3.log

"warning" is a valid severity for syslog https://en.wikipedia.org/wiki/Syslog#Severity_level
The source code of syslog_protocol still uses "warn" which is deprecated.
Can you please suggest us the way forward to this?
Thanks

Hi! I had a similar problem recently. Turns out the valid values for severity are the following:
SEVERITIES = {    'emerg' => 0,    'alert' => 1,    'crit' => 2,    'err' => 3,    'warn' => 4,    'notice' => 5,    'info' => 6,    'debug' => 7      }
Hope this helps

I can reproduce this problem.
  <source>
    @type sample
    tag "test"
    sample {"message":"Hello world."}
    rate 1
  </source>
  <match test.**>
    @type remote_syslog
    host "localhost"
    port 22222
    severity "warning"
    <buffer>
      flush_mode immediate
    </buffer>
  </match>
  <source>
    @type syslog
    tag "receive"
    port 22222
    bind "localhost"
  </source>
  <match receive.**>
    @type stdout
  </match>

The source code of syslog_protocol still uses "warn" which is deprecated.

As @chaitrahegde115 says, the syslog_protocol code is deprecated:

https://github.com/eric/syslog_protocol/blob/v0.9.2/lib/syslog_protocol/common.rb#L58-L67

There is already a PR to fix this: https://github.com/eric/syslog_protocol/pull/9
However, the library seems to be not maintained for a while.

This problem is fixed. Thanks for reporting!


[Bug]: Inconsistent Sorting Algorithms

✅ Fixes: #164
This pull request adds unit tests for various sorting algorithms and implements the sorting functions in the pysnippets/Sorting module. The most important changes include adding test cases for each sorting algorithm, implementing the sorting functions, and removing an unused import.
Unit Tests Added:

Tests/Sorting/test_bubble_sort.py: Added unit tests for the bubble_sort function.
Tests/Sorting/test_insertion_sort.py: Added unit tests for the insertion_sort function.
Tests/Sorting/test_merge_sort.py: Added unit tests for the merge_sort function.
Tests/Sorting/test_quick_sort.py: Added unit tests for the quick_sort function.

Sorting Functions Implemented:

pysnippets/Sorting/bubble_sort.py: Implemented the bubble_sort function.
pysnippets/Sorting/insertion_sort.py: Implemented the insertion_sort function.
pysnippets/Sorting/merge_sort.py: Implemented the merge_sort function.
pysnippets/Sorting/quick_sort.py: Implemented the quick_sort function.

Code Cleanup:

pysnippets/Sorting/__init__.py: Removed unused import of sort_dict_list.

Consolidation:

pysnippets/Sorting/sort_dict_list.py: Consolidated all sorting function implementations into this file.

@UTSAVS26 review this PR and add labels to it.

Here are the check results:

forgot the checks to share


[SPARK-28277][SQL][PYTHON][TESTS][FOLLOW-UP] Re-enable commented out test

What changes were proposed in this pull request?
Fix for SPARK-28441 (PythonUDF used in correlated scalar subquery causes UnsupportedOperationException) is in. Re-enable the commented out test for udf(max(udf(column)))
How was this patch tested?
use existing test udf-except.sql

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/13368/
Test PASSed.

Test build #108267 has started for PR 25278 at commit d4562e9.

Test build #108267 has finished for PR 25278 at commit d4562e9.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/108267/
Test FAILed.

retest this please

Test build #108276 has started for PR 25278 at commit d4562e9.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/13376/
Test PASSed.

Merged build finished. Test PASSed.

Test build #108276 has finished for PR 25278 at commit d4562e9.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/108276/
Test PASSed.

I understand the intention, @huaxingao . But, SPARK-28441 should enable this test in the PR together. I changed this to as a follow-up of SPARK-28441.

Oh, I missed @HyukjinKwon 's comment.
Okay, I change the PR title back.

Thanks! @dongjoon-hyun @viirya

Ah, for trackabiliy, maybe 28441 was a better choice but should be fine either way.

Either is fine to me.


fix smtp auth extension not supported by server

A connection is required before login and sendemail.

Hi,
This looks incredibly similar to this PoC.
My PoC is, while extremely basic, for a specific lab environment. I have put in the readme that I am not including TLS auth. Please feel free to use and develop from your fork.


Missing npm run build-assets script

   I follow the steps on the link https://docs.saleor.io/docs/getting-started/installation-macos/ to install saleor.' npm run build-assets command' is giving 'missing script build-assets' error. I cloned the master branch and on package.json file, I do not see the that script either. Please see below.
"scripts": {
"build-schema": "python manage.py get_graphql_schema > saleor/graphql/schema.graphql",
"heroku-postbuild": "npm run build-emails",
"build-emails": "mjml --config.beautify false -l skip \"templates/templated_email/source/*.mjml\" -o templates/templated_email/compiled"
}

Thanks in advance

If you're using master, refer to the pre-release version in the docs: https://docs.getsaleor.com/docs/next/getting-started/installation-macos/
By default, the docs refer to the latest release which is 2.9.0 where build-assets command was available.


[Question]: Docker-Installation hangs, Don't know how to fix it 😒

What is your question?
I am trying to install LibreChat on my Ubuntu server using Docker, and everything proceeded smoothly until a specific step. I followed the Docker execution steps as described in the documentation. However, it seems to hang indefinitely at one point. and I'm unsure of how to proceed or where to look for solutions.
More Details
I am using the instructions from https://docs.librechat.ai/install/installation/docker_compose_install.html but I run into problems when executing ...
# Start LibreChat
docker compose up

This is the moment, when docker stops to continue:

Any help or advice would be greatly appreciated!
What is the main subject of your question?
No response
Screenshots
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Have you tried accessing it at http://localhost:3080/ ?

Usually when this pops up it means it is started and you can close the terminal window
(unless I missed an error in your screenshot?)


[Move devex] Move source code linters to explain language subset

FastX needs a number of custom bytecode verifier passes (see #18, #19, #16, #15) to keep users in the no-shared-memory subset of Move. This is sufficient for on-chain safety, but for an end-user trying to write code in the Move source language, finding out that you've strayed from the subset via a bytecode verifier error at module publish time is not a great experience.
We should address this is by adding custom linters that enforce the subset rules at the source level. See this for some examples in the existing compiler. The code for this linters should live in the fastNFT repo. We will probably need to extend the upstream compiler to make it easy to plug in custom linters.

Here are some ideas on how to get this to work, after having some conversations on the topic with @tnowacki.
The main goal is to (mostly) provide support for writing linters to blockchain (and Move infrastructure) developers, rather than to the end users (programmers targeting a given blockchain and its Move flavor). This is mostly pragmatic, as the latter would be preferred, but considering resources and time required to create a linting framework supporting some kind of declarative linter specification is a bit beyond our reach right now (and probably unnecessary).
The idea the is to provide a rather simple set of primitives over the existing compiler that would support writing linting checks. We could provide a fairly "light" linting CLI that would offer the following:

expose one of the existing compiler ASTs for traversal - a given lint check would have to "manually" traverse the AST (we could provide some abstraction there, such as visitor of some kind) and check for a given property (this would be roughly equivalent to writing linters for Go using go/parser and go/ast packages as described here)
create a "driver" that would abstract a linter as struct that embeds a function pointer implementing a given AST traversal (plus some metadata if necessary), takes as an input a vector of such structs, and runs these in parallel (this would be roughly equivalent to writing linters for Go using go/analysis package as described here)
integrate diagnostics implementation from the Move repo to simplify generation of linter messages during traversal (these should also be generated at different levels, starting with, say, deny and warn).

Most of this code would live in the Move repo, including linters for core Move. A linter "client" (e.g. Sui) would use the driver implementation, optionally some/all core Move linters, and build a custom CLI tool with additional "abstracted" linters that would specify customized checks for a given client.

I think most of the linting can be done over the typed AST, but I just remembered that there is this ObjectID escape analysis that is super general. It will need the abstract interpreter. Luckily exposing just that pass should be really really easy, as the abstract interpreter is already setup with a very general trait system

integrate diagnostics implementation from the Move repo to simplify generation of linter messages during traversal (these should also be generated at different levels, starting with, say, deny and warn).

This one will be the most annoying for the compiler in its current architecture. There is this trait though for the diagnostic codes I set up, maybe we could make one just for sui things

I think most of the linting can be done over the typed AST, but I just remembered that there is this ObjectID escape analysis that is super general. It will need the abstract interpreter. Luckily exposing just that pass should be really really easy, as the abstract interpreter is already setup with a very general trait system

We should talk about this in more detail as I am not sure if ObjectID escape analysis comes before or after the typed AST is produced, nor why we necessarily have to care about it...

I think we should consider using move-model for linters. It already exists, has hooks for reporting source diagnostics, and has an IR that has been used to write several linter-like tools (e.g., the escape analysis for the robust safety paper, some lints on prover specs) and is pretty nice to work with. Importantly, it supports interprocedural analysis, which I think will be important for a number of linters, but will be tougher to do inside the compiler because it heavily leverages modularity (as it should).

The move model might be okay for some passes but really lacks for anything detailed.
The biggest thing here is it does not have any source level expressions for function definitions, just compiled bytecode.
This is going to lead to less than idea error messages in most places.

Importantly, it supports interprocedural analysis, which I think will be important for a number of linters

Interprocedural analysis something we have actively avoided for the source language. These sorts of passes are slow and brittle, and tend to lead to rather confusing error messages. They are really good for static analysis type checks, since if it is confusing or inaccurate, they can be ignored (which might certainly be true for certain "linter" style pases).
But if you want to use this for anything that is more a "type system" style pass, you really want the compiler and all of its tooling.

@awelc, sorry I missed your comments

We should talk about this in more detail as I am not sure if ObjectID escape analysis comes before or after the typed AST is produced, nor why we necessarily have to care about it...

The current rules in the Sui verifier I believe are control flow sensitive. So you will need to use the CFGIR AST, and the abstract interpreter.
Alternatively, we can come up with a rule that is stricter than the verifier and use that.

I thought it would be pretty non-controversial in that we could re-use the diagnostics facility to easily generate error messages. Something like instantiating the Diagnostics struct with the location, error message etc. and re-using the existing facility to format and display it. If it's problematic, we could adopt a different (simpler?) way of reporting linting errors.

Now that I think about it, it might not be that bad? We just have the Sui linter have a diagnostic code that implements DiagnosticCode
The only blocker right now is the Category for the diagnostic is an enum. We will need to make it just some other trait+associated type or something so the Sui checks can have one

The biggest thing here is it does not have any source level expressions for function definitions, just compiled bytecode.
This is going to lead to less than idea error messages in most places.

I believe Move models produced from source have very detailed source context information. I have used this feature in diagnostics, anyway. I'm sure there are cases where it falls short of what you can do in the compiler, but my expectation is that the error messages we can produce will still be very high quality.

Interprocedural analysis something we have actively avoided for the source language. These sorts of passes are slow and brittle, and tend to lead to rather confusing error messages. They are really good for static analysis type checks, since if it is confusing or inaccurate, they can be ignored (which might certainly be true for certain "linter" style pases).

Definitely agree with avoiding this in the core analyses performed by the compiler. But for linters (as we're discussing in this task), I think we want to give the linter writer as much power/flexibility as we can. As you say, linters can be ignored, so there's no problem if someone writes a slow or flaky one.

This isn't for "general" linters though. This is things like "do my key structs have ID fields?" and "Do my entry points have the correct signature?" These can't be ignored because the Sui bytecode verifier will yell at you.
I would consider them more "Move type system extensions" rather than the sort of checks you would find in a tool like clippy

I believe Move models produced from source have very detailed source context information

And I would hope so as they are strictly a subset of the information in the AST ;)

I guess my question is: what would go wrong if we implemented our Sui linters as move-model-powered linters? I ask this because I would rather have one mechanism for extending the Move type system/analyzing Move code that we put a lot of work into instead of spreading our effort across two ways of doing this (at least at this point).

This isn't for "general" linters though. This is things like "do my key structs have ID fields?" and "Do my entry points have the correct signature?" These can't be ignored because the Sui bytecode verifier will yell at you.

I think we need both. The idea was to have a separate linting tool that could have different "severity" levels.
The "Move type system extensions" linting should probably be directly integrated with the system so that these checks cannot be bypassed.

I am certainly not opposed to having both. I think this is just a sequencing/prioritization question.

I am certainly not opposed to having both. I think this is just a sequencing/prioritization question.

Agreed. They could also reuse at least part of the common infrastructure, so it would be nice (though not strictly necessary) to agree on the infrastructure that could work for both linter types.

I guess my question is: what would go wrong if we implemented our Sui linters as move-model-powered linters? I ask this because I would rather have one mechanism for extending the Move type system/analyzing Move code that we put a lot of work into instead of spreading our effort across two ways of doing this (at least at this point).

I would rather never extend the move-model unless you want to work over the bytecode or want to do an inter-procedural analysis, so if you want one mechanism, use the ASTs.
(I hope this will also be easier for @awelc, as he will need the ASTs for any vs code work)

I think we need both. The idea was to have a separate linting tool that could have different "severity" levels. The "Move type system extensions" linting should probably be directly integrated with the system so that these checks cannot be bypassed.

Already doable in the source languages diagnostics, you can even have non-skippable errors that don't stop compilation

I would rather never extend the move-model

This does not answer my question of what would go wrong--I would like to understand why you are so opposed to extending it :).

(to be clear by extending I mean building a thing on top of it)
I oppose it because I just could not imagine a linter framework that does not want the source expressions. Thats almost literally all of the linter cases (at least for clippy), "You had XYZ expression. ABC expression is cleaner". The move-model does not contain information about source language expressions outside of whats in the source map (mapping from bytecode instruction to source file location)
Similarly for that reason, it is literally impossible to use the move-model for IDE features like hover types or type-based autocomplete (which will be a thing when we eventually have receiver style syntax)

For the Sui type system cases:

"key" rules
Global storage banning
entry points
ID immutable
ID leak

The only one I think would produce equally readable errors are the "key" rules and maybe global storage banning.
For entry points, the type checker and the typed AST has a lot of built up infra for good errors when comparing types or for checking ability constraints (as you might imagine lol).
For the ID checks, you will be able to do these checks at the bytecode level, but you will lose a lot of structured information from the source language.
I couldn't even imagine how it would look for something control flow sensitive like the ID leak. It is hard enough getting good error messages for the abs int based checks (just because of all the control flow paths).
One really small example for the ID immutable one is the difference between: x.f.g.id = new_id or let ref = &mut x.f.g.id.
(0) You will want to case these separately for error message verbiage
(1) The former syntax doesn't even really exist at the bytecode level, and its going to generate a ton of temporary variables in order to compile that. I don't know how/if that will affect the mapping. If I had to guess it shouldn't be too bad, but it might make it just oddly partial
(2) For good error messages you don't just want to say "dont do this right here", especially in a language in with type inference. You want to say "don't do this", "this is why I think this field has this type", and "this is where this field was declared with this restriction"

As a further side note, Brian and I talked about trying to fix the move-model a bit before he left. Obviously we never started on it in much detail, but part of the problem is that the move-model is a lot of code for not doing much

Gather meta data needed for specs
Intern a bunch of data

So much of the complexity in the move-model was maybe needed when it was written, but is outdated now.
The compiler already now interns all of the strings. Most of the metadata it tries to gather is also gathered by the compiler (the move-model just splits off shortly after parsing the AST). and other bits of the meta data could rely on the source map a bit more heavily.
In short, something like the move-model probably should exist, but hopefully something that doesn't have its own custom interning or location data that is at best out of step with, or at worst duplicates, the tooling in the package system, compiler, IR, unit tester, etc.

Got it + makes sense. The goal of this task is to do better than raising an opaque verifier error for the Sui-specific passes, and it sounds like we won't be able to do much better unless we work inside the compiler.
I would still be hesitant to go too far down the path of providing a generic linter framework inside the compiler when it will be limited w.r.t the kinds of analyses it can do compared to move-model (even though move-model will inevitably fall short in the error message department for some cases). But it doesn't sound like that is the plan (we're focusing on trying to make the Sui verifiers understandable at the source level in the best way possible!), so I think we're aligned.

Adding to this, we should also consider linting against useless transfer wrappers. But this might be a bit tricky to do


Re-render, R3.5, update recipe, update version to 2.0.7-1, update maintainers

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.
I do have some suggestions for making it better though...
For recipe:

Using toolchain directly in this manner is deprecated.  Consider using the compilers outlined here.


🎉 Milestone 1. Rails API to generate a random greeting

🎉 Milestone 1. Rails API to generate a random greeting
For this milestone, the following features have been implemented:
API Endpoints
api/v1/hello => GET => Returns a random greeting stored in the database
api/v1/greetings => GET => Returns the greetings stored in the database
Seed data
Five greetings stored to be randomly displayed:
Aló Aló!
Ahoy Ahoy
Hello World!
Konnichiwa
Hola mundo
Deployment
Heroku
React Frontend PR
Github

@AnselemOdims Thank you for letting me know. I tried earlier today to deploy the app using Netlify, but it didn't allow PostgreSQL. I forgot to remove that deployment.
Best regards and happy coding!

@CollinsTatang Tank you for your kind review. I'll merge my feature right away.
Best regards and happy coding! 💻 😀


revise ghostlogs to ghost with rebrand

What changed? Why?
Rebrand GhostLogs to Ghost
Notes to reviewers
Focus on the indexers (subgraphs) instead of gasless logs
How has it been tested?
Simple changes

🟡 Heimdall Review Status

Requirement
Status
More Info

Reviews

🟡
0/2

Denominator calculation

Show calculation

1 if user is bot
0

1 if user is external
0

From .codeflow.yml

1

Additional review requirements

Show calculation

Max
0

0

From CODEOWNERS

0

Global minimum
0

Max

1

1

1 if commit is unverified
1

Sum
2

@wbnns done ✅ :)

@chrischang Could you please rebase and sign your commits?

@wbnns rebased on pushed!


A possible overflow in cmsBuildTabulatedToneCurveFloat

Hi,
we found a possible overflow in cmsBuildTabulatedToneCurveFloat when fuzzing.
As described in doc, for using the API cmsBuildTabulatedToneCurveFloat,  the parameter nEntries should be the number of sample points. However, if the passed nEntries is zero, an unintended overflow will happen in cmsBuildTabulatedToneCurveFloat, caused by  the following code:
   Seg[2].Params[3] = values[nEntries-1];

Maybe it is good to ensure nEntries is greater than zero in cmsBuildTabulatedToneCurveFloat or tell people in doc that nEntries should be greater than zero.
Thanks for your time.

Fixed, thank you for reporting!

Fixed in 37eddd2d8787dbc5d707044cab0762bfc879fb3e


updation in README.md file needed

Hello @Prem-Kumar-Dev
the current readme file does not contain:

table of contents
featured in section
contributors section
back to top button

Kindly assign me the issue with hacktoberfest accepted labels so my work counts under hacktoberfest

@soham0028 sure


[🐛] Challenge Blockchain Hype - Wrong RSA-Module in pyc

:bug: Bug report
Description

The file announcement_encrypted.md, which is part of the challenge  "Blockchain Hype" is not decryptable as the file /ftp/encrypt.pyc contains the wrong value for N. This is likely due to a mismatch between the sourcefile test/files/encrypt.py and the compiled file ftp/encrypt.pyc
Is this a regression?

No, the file hasn't been modified since being added as part of bffa158b5c961d6e19b127150e91ec64924db73c
:microscope: Minimal Reproduction

Download the file encrypt.pyc using null-byte-injection. Run it through a python decompiler. Uncompyle6 returned:
# uncompyle6 version 3.7.0
# Python bytecode 2.7 (62211)
# Decompiled from: Python 2.7.17 (default, Apr 15 2020, 17:20:14)
# [GCC 7.5.0]
# Embedded file name: encrypt.py
# Compiled at: 2020-05-20 18:58:36
confidential_document = open('announcement.md', 'r')
N =<PHONE_NUMBER>1558932215768154398027510542999295460598793991863043974317503405132258743580804101986195705838099875086956063357178601077684772324064096356684008573295186622116931603804539480260180369510754948354952843990891989516977978839158915835381010468654190434058825525303974958222956513586121683284362090515808508044283236502801777575604829177236616682941566165356433922623572630453807517714014758581695760621278985339321003215237271785789328502527807304614754314937458797885837846005142762002103727753034387997014140695908371141458803486809615038309524628617159265412467046813293232560959236865127539835290549091L
e = 65537
encrypted_document = open('announcement_encrypted.md', 'w')
for char in confidential_document.read():
    encrypted_document.write(str(pow(ord(char), e, N)) + '\n')

encrypted_document.close()
# okay decompiling encrypt.py

It is not possible to decrypt the content of announcement_encrypted.md using this value N. Encryption works fine using the value for N from test/files/encrypt.py. The decrypt.py and decrypt._bruteforce.py contain the correct N as well. If I compile encrypt.py diff shows that the newly generated encrypt.pyc differs from ftp/encrypted.pyc. If I decompile the newly compiled encrypt.pyc again using uncompyle6 I get the correct value for N.

:fire: Exception or Error

N/A
:deciduous_tree: Your Environment

Docker Image: bkimminich/juice-shop:latest

Additional Information

@jainendra, could you please take a look at this and verify the issue? Thanks!

@timmar2000 Did you verify that the announcement_encrypted.md was indeed encrypted with the N from the test files and not with the one from the decompiled ftp/encrypt.pyc? It might well be that @jainendra used a different N on purpose in the test files, so that it doesn't immediately spoiler the N needed for the challenge.

@bkimminich I've encrypted the announcement.md using test/files/encrypt.py
cd test/files
python encrypt.py
diff -s announcement_encrypted.md ../../ftp/announcement_encrypted.md

This shows me that the files are identical. So the original annoncement_encrypted.md must have been encrypted using N from the test-file.
If I try to encrypt the file using encrypt.pyc diff shows that the files are different.
cd ftp
mv announcement_encrypted.md announcement_encrypted.md.bak
cp ../test/files/announcement.md .
python encrypt.pyc
diff -q announcement_encrypted.md announcement_encrypted.md.bak

The files in /test are for testing, and the Python decryption is not tested automatically anyway, those files were just for manual testing afaik. The only way to verify if the used N is wrong in the file in /ftp is to try and brute force it with either N, I guess.

Ah,okay. Could you maybe send a PR with just the corrected .pyc file? That should fix the whole issue.
Am 21. Mai 2020 12:06:17 MESZ schrieb timmar2000<EMAIL_ADDRESS>
@bkimminich I've encrypted the announcement.md using
test/files/encrypt.py
cd test/files
python encrypt.py
diff -s announcement_encrypted.md ../../ftp/announcement_encrypted.md

This shows me that the files are identical. So the original
annoncement_encrypted.md must have been encrypted using N from the
test-file.
If I try to encrypt the file using encrypt.pyc diff shows that the
files are different.
cd ftp
mv announcement_encrypted.md announcement_encrypted.md.bak
cp ../test/files/announcement.md .
python encrypt.pyc
diff -q announcement_encrypted.md announcement_encrypted.md.bak

--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/bkimminich/juice-shop/issues/1392#issuecomment-632000845

@bkimminich Yes, this is indeed the wrong encrypted file, not sure how this went through. Thanks @timmar2000 for pointing out and fixing it. 👍


Fifty Quick Ideas to Improve Your User Stories (13%)

Page 16-17

To make things crystal clear, if a team passively receives documents
in a hand-over, regardless of what they are called and whether they
are on paper, in a wiki or in a ticketing system, that's not really
working with user stories. Organisations with such a process won't
get the full benefits of iterative delivery.

Try telling stories instead of writing down details.  Engage business stakeholders
and delivery team members in a discussion look at a story from
different perspectives and explore options. That's the way to unlock
the real benefits of working with user stories.

Page 25:

The Connextra card template ('As a... I want ... So that') is a great
structure for a discussion token. [...] But that's not the only way to start a good
conversation. As long as the story card stimulates a good discussion,
it serves its purpose. Write down who wants something and why
they want it in any way you see fit, and do something more
productive with the rest of your time than filling in a template just
because you have to. For example, make sure that the person in
question is actually a stakeholder, and that they actually want what
the card says.

Page 28:

Focus on the problem statement, the user side of things, instead
of on the software implementation. The way to avoid trouble is to
describe
a behaviour change as the summary. For example 'Get =
profit overview faster', or 'Manage deliveries more accurately'.

Page 29-31:

The value of software is a vague and esoteric
concept in the domain of business users, but task size is under the
control of a delivery team, so many teams end up choosing size
over value. This results in technical stories, that is, stories that don't
really produce any outcome, and a disconnect between what the
team is pushing out and what the business sponsors really care
about.

Many delivery teams also implicitly assume that something has
value just because business users are asking for it, so they don't
question it. Robert Brinkerhoff, in Systems Thinking in Human
Resource Development, argues that valuable initiatives produce an
observable change in someone's way of working. [...]
In essence, translating Brinkerhoff's idea
to software means that it's not enough to describe just someone's
behaviour, but we should aim to describe a change in that behaviour
instead.

Page 100:

Identifying steps that do not imply solutions will allow you to come up with good ideas later.

Create story maps on a large whiteboard to a wall using physical cards to sticky notes, so that you can move them easily. Putting maps into a software tool too early kills conversations.


Seeing weird character in interact mode

I am trying to automate ssh terminal operations. Currently facing couple of issues

Weird character appear in console filled with ���������. I am not able to figure out what is actually present in current screen since the complete screen is filled with these characters . Is there a away to avoid these characters getting displayed
neither expect method nor the realine()/readlines() read the complete console. I tried setting the window size (400,400) it did not make any difference. Also tried increasing the maxread property, did not help either
Please provide some suggestions to resolve these. Thanks in Advance!!

Hi,
These characters comes from wexpect's virtual terminal emulator. I don't recommend to use interact() mode in released codes. I use it only for debug.
Please try to use another screenbufferfillchar, regarding the comment in 1539.

Closing because it is not followed up. Feel free to reopen.


The camera device has encountered a fatal error with camera 0.10.0+1 on Pixel 5 emulator running Android API 33

I've been pulling me hair out over this for several days, and I'm at a total loss. I am trying to use the camera plugin. My camera preview works fine (using my webcam), but the CameraController.takePicture() method results in:
I/Camera  ( 3133): The camera device has encountered a fatal error
Full log:
I/Camera  ( 3133): runPrecaptureSequence
I/Camera  ( 3133): refreshPreviewCaptureSession
E/BufferQueueProducer( 3133): [SurfaceTexture-0-3133-1](id:c3d00000005,api:4,p:482,c:3133) dequeueBuffer: attempting to exceed the max dequeued buffer count (4)
D/CameraCaptureCallback( 3133): CameraCaptureCallback | state: STATE_WAITING_PRECAPTURE_START | afState: 0 | aeState: 2
D/CameraCaptureCallback( 3133): CameraCaptureCallback | state: STATE_WAITING_PRECAPTURE_DONE | afState: 0 | aeState: 2
I/Camera  ( 3133): captureStillPicture
D/Camera  ( 3133): Updating builder with feature: ExposureLockFeature
D/Camera  ( 3133): Updating builder with feature: ExposurePointFeature
D/Camera  ( 3133): Updating builder with feature: ZoomLevelFeature
D/Camera  ( 3133): Updating builder with feature: AutoFocusFeature
D/Camera  ( 3133): Updating builder with feature: NoiseReductionFeature
I/Camera  ( 3133): updateNoiseReduction | currentSetting: fast
D/Camera  ( 3133): Updating builder with feature: FocusPointFeature
D/Camera  ( 3133): Updating builder with feature: ResolutionFeature
D/Camera  ( 3133): Updating builder with feature: SensorOrientationFeature
D/Camera  ( 3133): Updating builder with feature: FlashFeature
D/Camera  ( 3133): Updating builder with feature: ExposureOffsetFeature
D/Camera  ( 3133): Updating builder with feature: FpsRangeFeature
I/Camera  ( 3133): sending capture request
D/CameraCaptureCallback( 3133): CameraCaptureCallback | state: STATE_CAPTURING | afState: 0 | aeState: 2
D/CameraCaptureCallback( 3133): CameraCaptureCallback | state: STATE_CAPTURING | afState: 0 | aeState: 5
D/CameraCaptureCallback( 3133): CameraCaptureCallback | state: STATE_CAPTURING | afState: 0 | aeState: 5
D/CameraCaptureCallback( 3133): CameraCaptureCallback | state: STATE_CAPTURING | afState: 0 | aeState: 5
I/Camera  ( 3133): unlockAutoFocus
I/Camera  ( 3133): refreshPreviewCaptureSession
I/Camera  ( 3133): open | onError
I/Camera  ( 3133): The camera device has encountered a fatal error
I/Camera  ( 3133): close

I've added dozens of logs to java.io.plugins.camera, but I am unable to gather any more detail.
Here is my camera page:
class ScanLabelPage extends StatefulWidget {
  const ScanLabelPage({Key? key, required this.cameras}) : super(key: key);

  final List<CameraDescription> cameras;

  @override
  State<StatefulWidget> createState() => _ScanLabelPageState();
}

class _ScanLabelPageState extends State<ScanLabelPage> {
  CameraController? _controller;
  late Future<void> _initializeControllerFuture;

  @override
  void initState() {
    super.initState();

    _controller =
        CameraController(widget.cameras.first, ResolutionPreset.medium);
    _initializeControllerFuture = _controller!.initialize().then((_) {
      if (!mounted){
        return;
      }
      setState((){});
    });
  }

  @override
  void dispose() {
    _controller?.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(title: const Text('Scan')),
        body: Center(
            child: Column(
                mainAxisAlignment: MainAxisAlignment.center,
                children: <Widget>[
                  Expanded(
                    child: LayoutBuilder(
                      builder: (BuildContext context, BoxConstraints constraints) {
                        return SizedBox(
                          height: constraints.maxHeight*(1/2),
                          child: FutureBuilder<void>(
                            future: _initializeControllerFuture,
                            builder: (context, snapshot) {
                              if (snapshot.connectionState == ConnectionState.done) {
                                // If the Future is complete, display the preview.
                                return CameraPreview(_controller!);
                              } else {
                                // Otherwise, display a loading indicator.
                                return const Center(
                                    child: CircularProgressIndicator());
                              }
                            },
                          ),
                        );
                      },
                    ),
                  ),

              FloatingActionButton(
                onPressed: () async {

                    await _initializeControllerFuture;
                    _controller!.setFlashMode(FlashMode.off);

                    XFile? imageFile;

                    takePicture().then((XFile? file) {
                      if (mounted) {
                        setState(() {
                          imageFile = file;
                          _controller?.dispose();
                          _controller = null;
                        });
                        if (file != null) {
                          print(file.path);
                        }
                      }
                    });
                },
                child: const Icon(Icons.camera_alt),
              )
            ])));
  }

  Future<XFile?> takePicture() async {
    final CameraController? cameraController = _controller;
    if (cameraController == null || !cameraController.value.isInitialized) {
      Print('Error: select a camera first.');
      return null;
    }

    if (cameraController.value.isTakingPicture) {
      // A capture is already pending, do nothing.
      return null;
    }

    try {
      final XFile file = await cameraController.takePicture();
      return file;
    } on CameraException catch (e) {
      return null;
    }
  }

}

Even if I use the basic camera example from https://docs.flutter.dev/cookbook/plugins/picture-using-camera I get the same problem.
My flutter doctor -v:
[√] Flutter (Channel stable, 3.0.4, on Microsoft Windows [Version 10.0.19044.1889], locale en-US)
    • Flutter version 3.0.4 at C:\src\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 85684f9300 (8 weeks ago), 2022-06-30 13:22:47 -0700
    • Engine revision 6ba2af10bb
    • Dart version 2.17.5
    • DevTools version 2.12.2

[√] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at C:\Users\alldo\AppData\Local\Android\sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.12+7-b1504.28-7817840)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop for Windows (Visual Studio Community 2022 17.2.5)
    • Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Community
    • Visual Studio Community 2022 version 17.2.32616.157
    • Windows 10 SDK version 10.0.19041.0

[√] Android Studio (version 2021.2)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+7-b1504.28-7817840)

[√] VS Code (version 1.66.2)
    • VS Code at C:\Users\alldo\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension can be installed from:
       https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[√] Connected device (4 available)
    • sdk gphone64 x86 64 (mobile) • emulator-5554 • android-x64    • Android 13 (API 33) (emulator)
    • Windows (desktop)            • windows       • windows-x64    • Microsoft Windows [Version 10.0.19044.1889]
    • Chrome (web)                 • chrome        • web-javascript • Google Chrome 104.0.5112.81
    • Edge (web)                   • edge          • web-javascript • Microsoft Edge 104.0.1293.47

[√] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Hello @jahumphr. Can you provide the following information please:

a complete and minimal, reproducible example.
The output of running flutter doctor -v?

Thank you.


Cargo run polymode

Attempt at addressing #295, take 2, this time targeting master.  Sorry about the clumsiness; I'm not an engineer, and not very used to collaborating on github.
(Rest of the message is same as before.)
The dependency on polymode is entirely optional; the user needs polymode only if they enable rustic-cargo-run-use-comint. One minor issue is its reliance on an undocumented variable in polymode, but hopefully that's OK as: a) polymode is rather careful to implement this functionality, so I don't think it'll go away in the future; b) the whole thing can be disabled if anything goes wrong.
Technical details:
rustic-cargo-run-mode is renamed to rustic-cargo-plain-run-mode. rustic-cargo-comint-run-mode is added anew. rustic-cargo-run-mode now refers to a wrapper mode that switches between the two depending on the setting.

I get Debugger entered--Lisp error: (void-variable poly-rustic-cargo-compilation-hostmode).

I get Debugger entered--Lisp error: (void-variable poly-rustic-cargo-compilation-hostmode).

That's strange.  When/where does this happen?

I couldn't get this to work, but I can look at it later(it's not that bad even if I'm not the only one, as long as it's optional). Can you add some documentation to the readme so users know about this feature ?

I couldn't get this to work, but I can look at it later(it's not that bad even if I'm not the only one, as long as it's optional).

OK.  I might also be able to look into it if you can tell me steps to reproduce.

Can you add some documentation to the readme so users know about this feature ?

Done.

Thanks!


Add assessment details into the assess recommendation page

Description of change
Add assessment details into the assess recommendation page
Story Link
https://trello.com/c/QzFgDThM/1199-include-permitted-developments-rights-into-to-assess-recommendation-page

I saw this PR a while ago but didn't know if you'd finished.


v0.9.1 *net.UDPConn delivery error

Enviroment:

Linux
amd64
hysteria v0.9.1

I did sysctl -w net.core.rmem_max=2500000, but it still went wrong:

connection doesn't allow setting of receive buffer size. Not a *net.UDPConn?. See https://github.com/lucas-clemente/quic-go/wiki/UDP-Receive-Buffer-Size for details.

So I tried hysteria v0.9.0 and it's all good. It seems a bug caused by new quic-go.

quic-go wasn't even updated from 0.9.0 to 0.9.1. My guess is you are using faketcp mode, in which it's normal to get this prompt.

Thank you for your reply .
Does the warning affect effecient or anything?

No


Fix to optional body handling in protocol methods

This PR removes the null validation in protocol methods for optional bodies. Note the signature of the protocol method is unchanged to avoid ambiguous calls between protocol and convenience methods.

API change check
API changes are not detected in this pull request.


Enable usage of fpga instance-types (f1 family)

The following snippet explicitly filters out FGPA instance types from the available list of instance-types. I was wondering if we can remove this filter or somehow make it user-configurable.
https://github.com/aws/karpenter/blob/1f92a4fa221eea1e3b39d27fdeb2622b59dd794c/pkg/cloudprovider/instancetypes.go#L243-L246

Merged pending release in v0.24.0


nixos/users: Populate group members option

Motivation for this change
This change makes it so that accessing config.users.groups.*.members isn't
empty by default, but instead contains all the users whose extraGroups
includes that group, allowing fancy things like
{ config, ... }: {
  users.groups.libvirt.members = config.users.groups.wheel.members;
}

to add all users in the wheel group to the libvirt group
@MatthewCroughan wanted to do something like this in a recent Matrix discussion :)
Ping @tomberek @treed
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Relase 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

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 132836 at 34820453 run on x86_64-linux 1

1 package failed to build:

tests.trivial

Note that build failures may predate this PR, and could be nondeterministic or hardware dependent.
Please exercise your independent judgement. Does something look off? Please file an issue or reach out on IRC.

that's pretty cool. where to document this is the question?

that's pretty cool. where to document this is the question?

search.nixos.org will have the option already present, might be worth documenting the use-case, but also maybe not!


fix: transfers docs to image jobs

Pull Request Template
📲 What
transfers docs to image jobs
🤔 Why
Docs aren't available on the image builds otherwise and they crash
🛠 How
👀 Evidence

🕵 How to test

/azp run

/azp run

/azp run

/azp run

/azp run


scan mime-types error

The following package managers are activated:
	Bower, Bundler, Cargo, Conan, DotNet, GoDep, GoMod, Gradle, Maven, NPM, NuGet, PhpComposer, PIP, Pipenv, Pub, SBT, Stack, Yarn
Analyzing project path:
	/home/user1/mime-types
14:08:41.040 [analyzer-1] ERROR java.lang.Object - Resolving dependencies for 'package.json' failed with: IllegalArgumentException: No lockfile found in '.'. This potentially results in unstable versions of dependencies. To allow this, enable support for dynamic versions.
Found 1 project(s) in total.
Writing analyzer result to '/home/user1/test/analyzer-result.yml'.

What should I do？
java -version
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (build 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08)
OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)
 node -v
v13.11.0
nodejs -v
v12.16.1
npm -v
6.13.4

  result:
    projects:
    - id: "NPM::package.json:"
      definition_file_path: "package.json"
      declared_licenses: []
      declared_licenses_processed: {}
      vcs:
        type: ""
        url: ""
        revision: ""
        path: ""
      vcs_processed:
        type: "Git"
        url: "https://github.com/jshttp/mime-types.git"
        revision: "076f7902e3a730970ea96cd0b9c09bb6110f1127"
        path: ""
      homepage_url: ""
      scopes: []
    packages: []
    issues:
      'NPM::package.json:':
      - timestamp: "2020-03-26T06:08:41.045Z"
        source: "NPM"
        message: "Resolving dependencies for 'package.json' failed with: IllegalArgumentException:\
          \ No lockfile found in '.'. This potentially results in unstable versions\
          \ of dependencies. To allow this, enable support for dynamic versions."
        severity: "ERROR"
    has_issues: true
scanner: null
evaluator: null

Please see the Getting Started guide, in particular the part that starts with "This happens because mime-types does not have package-lock.json file".

thank you


Extend VM watch functest to verify printableStatus transitions

Signed-off-by: Zvi Cahana<EMAIL_ADDRESS>What this PR does / why we need it:
This PR complements #5528 by adding a functional test to verify the correct display of VM status via the CLI, across different VM lifecycle stages.
 Do you think there's anything else needed for this to be merged?

/retest

/retest


Add precompiled robot-js binaries for new node version modules

Can we add more precompiled binaries to http://node.getrobot.net/ for newer versions of node.
It v7 , they increased the NODE_VERSION_MODULES:
v7: 51 https://github.com/nodejs/node/commit/b5bdff876ba62ed58664eb011a863d0960f4089b
This bit us pretty bad because we never noticed that it failed to download the binary after upgrading node. Any chance we can add that in?

Hey there, since it's becoming a huge problem now, I'm going to start work on this right away. The main issue is that I'll need to make some changes to the code in order to get it to compile but it shouldn't take long. My apologies for the delay and for breaking your project.

I'm gonna close this issue as it is duplicated by #5.


Try to reload a notebook editor when its viewtype is installed or enabled

Related to https://github.com/microsoft/vscode/issues/179224
Enabling a notebook extension should ideally reload the editor with that view type without having to jump to another editor and back:

In this scenario:

Open NotebookEditorInput, it doesn't resolve and throw an error with actions
Actions are rendered now in a Placeholder editor
Serializer enabled, editor/view type provider registered

I'm not sure where is the best place to register the view type listener. IMHO we should register this in notebook land, but we would then need to tell the editor service to replace the Placeholder Editor with a new editor. @bpasero any suggestion?

@rebornix this flow seems to actually work fine when I use the button in the placeholder editor:

Given that, I am fine closing this as out of scope for now given it will not be the primary interaction from the user most likely.
I notice however, that when the extension is not installed, you briefly switch to the extension editor and then back to the notebook, I wonder if that flow can be made smoother.

Hm, actually it may be nice to show the extension to the user so that the user gets to see what is being installed. Maybe we just leave it like this!

@bpasero yeah that's the default experience of Install Recommended Extension. It gives users more awareness what's being installed.
Let's close this for now and see if we want to improve this later.


What are the capabilities of this script?

At the top of the README, you seem to suggest that this script is a joke, as you talk about how you'd need 10^78 guesses to guess the solution.
However, the ./get_mkey_ckey script/program appears to work well and as-expected.
Can you offer more insight into what this can do?

It is a proof of concept, but yes also it is a joke, you will need all the left time of our universe until there atoms in the universe, you need to find a AES key of 256 bits, such key may be able to decrypt all the Ckeys in the wallet (That only if the wallet is not fake or forged) But in my experience most of the public wallets on internet are fake.

So if I run this script (the ./get_mkey_ckey one) on an entire hard drive image, can I expect meaningful results from it? How does the extraction/search process work? It seems to be giving tons of false-positives at the moment


Repo cleanup

Clean up old files (init without py extensions)
remove old mat files
remove squarepoission in mgm2d
add the interpOp to it's function in the mgm2d class

Cleaned repo files
[t:10]


Adding Vue as a peer-dependency

Vue is required in the parent application and we want to ensure we are at the version specified in febs.
If the client app does not pull in vue as a dependency, they'll see this on the install:
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.

and will, of course, get a can't find module error when building.

This is technically a breaking change

This is technically a breaking change

Could you expand on that?  My line of thinking is that, either way, they are not breaking. They do get a warning however. Here are the 2 cases:
(1) They don't have Vue listed in their package.json. This warns them that they don't have a required peer Dependency. Build would have been broken both before and after this update.
(2) They do have Vue listed in their package.json. Peer dependency satisfied, builds.
Maybe I'm missing something?

@jnields Or were you suggesting that this was a minor bump as opposed to a patch bump?


Add AWS documentation quicklink

Create quicklink for searching AWS documentation

Done! I didn't even know that was possible. Thanks!


Add pinot Prefix to Server Thread Pool Config

In this PR the configs looked like so:
controller.http.server.thread.pool.corePoolSize: 10
controller.http.server.thread.pool.maxPoolSize: 10
broker.http.server.thread.pool.corePoolSize: 10
...

This PR changes them to:
pinot.controller.http.server.thread.pool.corePoolSize: 10
pinot.controller.http.server.thread.pool.maxPoolSize: 10
pinot.broker.http.server.thread.pool.corePoolSize: 10
...

At present soem configs have the pinot. prefix and some don't. Going forward we can try to ensure all configs have a pinot prefix to keep things consistent.
Test-Plan: Tested on local for controller and broker by starting them with custom configs that set the pool size to 7, and then taking a thread-dump.
Example:
$ export JAVA_OPTS="-Xms4G -Xmx4G -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -Xloggc:gc-pinot-broker.log"
./bin/pinot-admin.sh StartBroker \
    -zkAddress localhost:2191 -brokerConf conf/pinot-broker.conf
...
$ jstack 22682 | grep grizzly-http | wc -l
       7

cc: @Jackie-Jiang

Codecov Report

Merging #10059 (6293a27) into master (9c840fd) will decrease coverage by 56.73%.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             master   #10059       +/-   ##
=============================================
- Coverage     70.32%   13.59%   -56.74%
+ Complexity      200      176       -24
=============================================
  Files          1995     1940       -55
  Lines        107605   105138     -2467
  Branches      16357    16063      -294
=============================================
- Hits          75677    14290    -61387
- Misses        26628    89723    +63095
+ Partials       5300     1125     -4175

Flag
Coverage Δ

integration2
?

unittests1
?

unittests2
13.59% <0.00%> (+<0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

 Learn more


Added alternative auth methods

Signed-off-by: Brad Wadsworth<EMAIL_ADDRESS>Description of your changes
This change will allow InjectedIdentity via GKE workload identity to be used in order to authenticate to a GKE cluster. Moreover, in addition to service account keys being used as secrets, temporary access tokens may also be used. The access tokens may be created from a CronJob that regenerates the token every hour.
Fixes #36
I have:

[X] Read and followed Crossplane's [contribution process].
[X] Run make reviewable test to ensure this PR is ready for review.

How has this code been tested
Tested in a GKE cluster in order to verify workload identity.

@bradkwadsworth-mw thanks a lot for your contributions 🙌
Looks like this is equivalent to https://github.com/crossplane-contrib/provider-helm/pull/136. Could you update this PR with the latest state after reviews there?

Closing in favor of #180


value = {{ myvariable }} does not return the entire value if inside a text input type

This will only return "Chief" if the variable is "Chief Operating Officer"
from bottle import route, run, template

@route('/')
def index():
    JobTitle = 'Chief Operating Officer'
    return template("<input type='text' value= {{ Title }} >     ", Title = JobTitle)

run(host='localhost', port=8080)

You forgot the quotes around the attribute value.

😅😅
Thanks


Use local users for At Mention Autocomplete

Summary
Use local users for At Mention autocomplete.
There are an important drawback to this: It seems we may not have the full membership of a channel, so it is hard to determine which users are in the channel or not. Same for the team. So we are showing all users across the server.
The current behaviour is:

Try searching in the server
If it doesn't return any error, use the server values.
If it returns an error, use local values

The main use of this is to be able to look and use at mentions while offline.
Ticket Link
Part of https://mattermost.atlassian.net/browse/MM-44107
NONE

@larkox maybe we should consider showing local results only and have the remote action store to the database? thoughts about going in that direction ?

That may give us several problems.

When we ask the server, we are only asking for the users that fit the criteria. Adding them to the database and filtering again seems a loss on resources.
The server gives us the users separated between "in channel" and "out of the channel". We may not have that information. We could create the memberships from the results of the search, but seems weird. Also, in the offline case may not be properly sync (i.e. I open channel A, where I haven't made any search, and I find out that users that are in the channel show as "not in the channel")
Not 100% sure of how broadcasted are changes in the users to keep the local information up to date.
If because of all the previous reasons, we are going to hit the server either way, why rely on the database?

I am now loading all the users the first time we find and error, and storing them for subsequent calls.
The main issue here is that we are not aware of changes in the users during the lifetime of the component, but:

This are loaded only when we are offline, so no changes should occur.
Even if changes occur (the connection comes back, and then shuts down again) the component is "short lived" (will get dismounted when we switch channels), so getting to those issues will be rare.


Need word wrap in markdown mode

Beaker is awesome. I'm a die hard fan.
One minor problem I'm having is the lack of word wrap when in markdown edit mode. This prevents me from writing long sentences or paragraphs without adding a newline each time the cursor hits the end of the edit box, which is mighty annoying.

thanks!  glad you are into it.
i can see your point, thanks for the suggestion.  we'll have to try it and see, but i think you are right it will be an improvement.

I agree, it is not crucial, but indeed annoying.

Thanks. Can I try making the change and submitting a pull request?

On Jan 25, 2016, at 10:24 AM, Scott Draves<EMAIL_ADDRESS>wrote:
thanks! glad you are into it.
i can see your point, thanks for the suggestion. we'll have to try it and see, but i think you are right it will be an improvement.
—
Reply to this email directly or view it on GitHub https://github.com/twosigma/beaker-notebook/issues/3423#issuecomment-174541858.

sure, it's just a flag in codemirror.  we would need a CLA to accept a PR (see the readme, it's a standard form).


Error using the Proxy

Hi there,
I've been trying poodle-exploit.py using cygwin, Raspbian and Kali. Everytime I try connect from a browser (I tried Firefox, Chrome (Win/Android), IE 6/8) I just got the error message below.
I used the latest versions/updates (except for IE 6/8 ;-)) and used a manual proxy config.
Anything else I can try?
pi@raspberrypi:~/poodle-PoC $ python3 poodle-exploit.py <IP_ADDRESS> 8443 testssl.sh.says.I.am.vulnerable 443
Proxy is launched on '<IP_ADDRESS>' port 8443
Passive mode enabled by default

Type help to show all command line, passive mode is by default enabled

> ----------------------------------------
Exception happened during processing of request from ('<IP_ADDRESS>', 51339)
Traceback (most recent call last):
  File "poodle-exploit.py", line 214, in handle
    traffic.protocol_current = traffic.protocol_all[version][0]
KeyError: 20302

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.5/socketserver.py", line 313, in _handle_request_noblock
    self.process_request(request, client_address)
  File "/usr/lib/python3.5/socketserver.py", line 341, in process_request
    self.finish_request(request, client_address)
  File "/usr/lib/python3.5/socketserver.py", line 354, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/lib/python3.5/socketserver.py", line 681, in __init__
    self.handle()
  File "poodle-exploit.py", line 218, in handle
    traffic.protocol_current = traffic.protocol_all[length][0]
KeyError: 20037```

Thanks and Cheers!

hello,
can you share a pcap capture of the exchange between the client and the server ?
The error is normal since version 20302 doesn't not exist. It should be 302 -> TLSv2.0

Hi there,
@I-am-not-a-number I'm having the same exact issue as you. Did you ever figure out what was wrong?
Looks like a great exploit @mpgn, I just want to get it working!
Thanks,

Sorry @dillonfranke I never got it working ...
Cheers!

@I-am-not-a-number thanks for the reply! I actually got that part of the exploit working. I was directly sending requests from Firefox to the exploit proxy (via proxy settings in Firefox preferences). I printed out the "ssl_header" and noticed that it was populated with the "CONNECT" and "GET" requests. Adding the --simpleProxy flag fixed this for me!

@dillonfranke I still encounter the problem after adding the simpleProxy options. My full command is
python3 poodle-exploit.py [MY_CLIENT_IP] 8080 [WEB_SERVER_IP] 443 --simpleProxy 8080
Is there anything wrong at here? Can you please tell me


Incremental Static Regeneration (ISR) not working with rest parameters

Describe the bug
A sveltekit project with ISR (vercel adapter) and the following structure:
routes/
├─ foo/
│  ├─ [...path]/
│  │  ├─ +page.svelte
│  ├─ +layout.server.ts (adding ISR)

will cause /foo to error when visiting directly or refreshing.
Other paths (like /foo/bar) will work.
It's possible to make it work by adding an extra page:
routes/
├─ foo/
│  ├─ [...path]/
│  │  ├─ +page.svelte
│  ├─ +layout.server.ts
│  ├─ +page.svelte --- HERE

Related with #10155 (possibly duplicated and, if so, I apologize)
I first encountered the issue when working on a project that has optional parameters with matchers and rest parameters ([[region=region]]/[[lang=lang]]/[...path]).
I kept removing parts and the issue seems to happen even with just the rest parameters.
Reproduction
Complete example with "workaround"
https://github.com/pdrbrnd/sveltekit-isr
https://sveltekit-isr-mu.vercel.app/
Minimal example
https://github.com/pdrbrnd/sveltekit-isr/tree/minimal
https://sveltekit-isr-git-minimal-pedrobrandao.vercel.app/
Logs
No response
System Info
System:
    OS: macOS 14.0
    CPU: (8) arm64 Apple M2
    Memory: 129.11 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.5.1 - ~/.nvm/versions/node/v20.5.1/bin/node
    Yarn: 1.22.19 - /opt/homebrew/bin/yarn
    npm: 9.8.0 - ~/.nvm/versions/node/v20.5.1/bin/npm
    Watchman: 2<IP_ADDRESS> - /opt/homebrew/bin/watchman
  Browsers:
    Brave Browser: <IP_ADDRESS>
    Chrome: 117.0.5938.132
    Safari: 17.0
  npmPackages:
    @sveltejs/adapter-auto: ^2.0.0 => 2.1.0
    @sveltejs/adapter-vercel: ^3.0.3 => 3.0.3
    @sveltejs/kit: ^1.20.4 => 1.25.1
    svelte: ^4.0.5 => 4.2.1
    vite: ^4.4.2 => 4.4.11

Severity
serious, but I can work around it
Additional Information
No response

Question, now if i invalidate this layout endpoint, will it invalidate all the endpoints in its children, or do i have to manually invalidate the specific child i have to?


'Dry::Container::Error - Nothing registered with the key ~';  type?: CustomClass

I've been struggling to add custom class for validation.
class CreditCardUpdateForm
  include DryValidationForm

  Schema = Dry::Validation.Form do
    required(:account).value(type?: Account )
    required(:token).filled(:str?)
  end
end

This errors out 'Dry::Container::Error - Nothing registered with the key "account":'
Any ideas?
P.S This issue is related to https://github.com/dry-rb/dry-validation/issues/223

Try ::Account DSL context is an instance of BasicObject so constants must be provided with absolute paths

@solnic
Thanks for the answer.
Even I tried below;
class CreditCardUpdateForm
  include DryValidationForm

  Schema = Dry::Validation.Form do
    required(:account).value(type?: ::Account )
    required(:token).filled(:str?)
  end
end

I still get the same error...

What's DryValidationForm?

I use this library to check the parameters for service layer in rails.
#lib/dry_validation_form.rb
module DryValidationForm
  attr_reader :result

  class ValidationError < StandardError; end

  def initialize(params)
    @result = validate(before_validate(params))
  end

  def valid?
    result.success?
  end

  def validate!
    raise ValidationError, error_message if result.failure?
  end

  def attributes
    result.output
  end

  def errors
    result.messages(full: true).values.flatten
  end

  def error_message
    errors.join('. ')
  end

  private

  def before_validate(params)
    params.to_unsafe_hash # to_h if rals version is below 4.1
  end

  def validate(params)
    schema.call(params)
  end

  def schema
    self.class::Schema
  end
end

Can you paste the backtrace?

The turncated one is the following:
Dry::Container::Error - Nothing registered with the key "account":
  dry-container (0.6.0) lib/dry/container/resolver.rb:22:in `block in call'
  dry-container (0.6.0) lib/dry/container/resolver.rb:21:in `call'
  dry-container (0.6.0) lib/dry/container/mixin.rb:112:in `resolve'
  dry-container (0.6.0) lib/dry/container/mixin.rb:125:in `[]'
  dry-types (0.9.3) lib/dry/types.rb:82:in `block in []'
  concurrent-ruby (1.0.2) lib/concurrent/map.rb:133:in `block in fetch_or_store'
  concurrent-ruby (1.0.2) lib/concurrent/map.rb:122:in `fetch'
  concurrent-ruby (1.0.2) lib/concurrent/map.rb:132:in `fetch_or_store'
  dry-types (0.9.3) lib/dry/types.rb:73:in `[]'
  dry-types (0.9.3) lib/dry/types/compiler.rb:30:in `visit_type'
  dry-types (0.9.3) lib/dry/types/compiler.rb:15:in `visit'
  dry-types (0.9.3) lib/dry/types/compiler.rb:75:in `visit_key'
  dry-types (0.9.3) lib/dry/types/compiler.rb:15:in `visit'
  dry-types (0.9.3) lib/dry/types/compiler.rb:80:in `block in merge_with'
  dry-types (0.9.3) lib/dry/types/compiler.rb:80:in `merge_with'
  dry-types (0.9.3) lib/dry/types/compiler.rb:58:in `visit_form_hash'
  dry-types (0.9.3) lib/dry/types/compiler.rb:28:in `visit_type'
  dry-types (0.9.3) lib/dry/types/compiler.rb:15:in `visit'
  dry-types (0.9.3) lib/dry/types/compiler.rb:11:in `call'
  dry-validation (0.10.4) lib/dry/validation/input_processor_compiler.rb:16:in `call'
  dry-validation (0.10.4) lib/dry/validation/schema/deprecated.rb:14:in `input_processor'
  dry-validation (0.10.4) lib/dry/validation/schema/class_interface.rb:163:in `default_options'
  dry-validation (0.10.4) lib/dry/validation/schema/class_interface.rb:34:in `new'
  dry-validation (0.10.4) lib/dry/validation.rb:26:in `Schema'
  dry-validation (0.10.4) lib/dry/validation.rb:32:in `Form'
  app/forms/plan_create_form.rb:4:in `<class:PlanCreateForm>'
  app/forms/plan_create_form.rb:1:in `<top (required)>'
  activesupport (<IP_ADDRESS>) lib/active_support/dependencies.rb:457:in `block in load_file'
  activesupport (<IP_ADDRESS>) lib/active_support/dependencies.rb:647:in `new_constants_in'
  activesupport (<IP_ADDRESS>) lib/active_support/dependencies.rb:456:in `load_file'
  activesupport (<IP_ADDRESS>) lib/active_support/dependencies.rb:354:in `require_or_load'
  activesupport (<IP_ADDRESS>) lib/active_support/dependencies.rb:494:in `load_missing_constant'
  activesupport (<IP_ADDRESS>) lib/active_support/dependencies.rb:184:in `const_missing'
  activesupport (<IP_ADDRESS>) lib/active_support/dependencies.rb:526:in `load_missing_constant'
  activesupport (<IP_ADDRESS>) lib/active_support/dependencies.rb:184:in `const_missing'
  activesupport (<IP_ADDRESS>) lib/active_support/dependencies.rb:526:in `load_missing_constant'
  activesupport (<IP_ADDRESS>) lib/active_support/dependencies.rb:184:in `const_missing'
  activesupport (<IP_ADDRESS>) lib/active_support/dependencies.rb:526:in `load_missing_constant'
  activesupport (<IP_ADDRESS>) lib/active_support/dependencies.rb:184:in `const_missing'
  app/controllers/api/v1/plans_controller.rb:7:in `create'
  actionpack (<IP_ADDRESS>) lib/action_controller/metal/implicit_render.rb:4:in `send_action'
  actionpack (<IP_ADDRESS>) lib/abstract_controller/base.rb:198:in `process_action'
  actionpack (<IP_ADDRESS>) lib/action_controller/metal/rendering.rb:10:in `process_action'
  actionpack (<IP_ADDRESS>) lib/abstract_controller/callbacks.rb:20:in `block in process_action'
  activesupport (<IP_ADDRESS>) lib/active_support/callbacks.rb:117:in `call'
  activesupport (<IP_ADDRESS>) lib/active_support/callbacks.rb:555:in `block (2 levels) in compile'
  activesupport (<IP_ADDRESS>) lib/active_support/callbacks.rb:505:in `call'
  activesupport (<IP_ADDRESS>) lib/active_support/callbacks.rb:92:in `__run_callbacks__'
  activesupport (<IP_ADDRESS>) lib/active_support/callbacks.rb:778:in `_run_process_action_callbacks'
  activesupport (<IP_ADDRESS>) lib/active_support/callbacks.rb:81:in `run_callbacks'
  actionpack (<IP_ADDRESS>) lib/abstract_controller/callbacks.rb:19:in `process_action'
  actionpack (<IP_ADDRESS>) lib/action_controller/metal/rescue.rb:29:in `process_action'
  actionpack (<IP_ADDRESS>) lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'
  activesupport (<IP_ADDRESS>) lib/active_support/notifications.rb:164:in `block in instrument'
  activesupport (<IP_ADDRESS>) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
  activesupport (<IP_ADDRESS>) lib/active_support/notifications.rb:164:in `instrument'
  actionpack (<IP_ADDRESS>) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
  actionpack (<IP_ADDRESS>) lib/action_controller/metal/params_wrapper.rb:250:in `process_action'
  activerecord (<IP_ADDRESS>) lib/active_record/railties/controller_runtime.rb:18:in `process_action'
  actionpack (<IP_ADDRESS>) lib/abstract_controller/base.rb:137:in `process'
  actionview (<IP_ADDRESS>) lib/action_view/rendering.rb:30:in `process'
  actionpack (<IP_ADDRESS>) lib/action_controller/metal.rb:196:in `dispatch'
  actionpack (<IP_ADDRESS>) lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
  actionpack (<IP_ADDRESS>) lib/action_controller/metal.rb:237:in `block in action'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/routing/route_set.rb:74:in `dispatch'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/routing/route_set.rb:43:in `serve'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/journey/router.rb:43:in `block in serve'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/journey/router.rb:30:in `serve'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/routing/route_set.rb:815:in `call'
  rack (1.6.4) lib/rack/etag.rb:24:in `call'
  rack (1.6.4) lib/rack/conditionalget.rb:38:in `call'
  rack (1.6.4) lib/rack/head.rb:13:in `call'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/params_parser.rb:27:in `call'
  app/middlewares/catch_json_parse_errors.rb:7:in `call'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/flash.rb:260:in `call'
  rack (1.6.4) lib/rack/session/abstract/id.rb:225:in `context'
  rack (1.6.4) lib/rack/session/abstract/id.rb:220:in `call'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/cookies.rb:560:in `call'
  activerecord (<IP_ADDRESS>) lib/active_record/query_cache.rb:36:in `call'
  activerecord (<IP_ADDRESS>) lib/active_record/connection_adapters/abstract/connection_pool.rb:653:in `call'
  activerecord (<IP_ADDRESS>) lib/active_record/migration.rb:377:in `call'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
  activesupport (<IP_ADDRESS>) lib/active_support/callbacks.rb:88:in `__run_callbacks__'
  activesupport (<IP_ADDRESS>) lib/active_support/callbacks.rb:778:in `_run_call_callbacks'
  activesupport (<IP_ADDRESS>) lib/active_support/callbacks.rb:81:in `run_callbacks'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/reloader.rb:73:in `call'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/remote_ip.rb:78:in `call'
  better_errors (2.1.1) lib/better_errors/middleware.rb:84:in `protected_app_call'
  better_errors (2.1.1) lib/better_errors/middleware.rb:79:in `better_errors_call'
  better_errors (2.1.1) lib/better_errors/middleware.rb:57:in `call'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
  web-console (2.3.0) lib/web_console/middleware.rb:28:in `block in call'
  web-console (2.3.0) lib/web_console/middleware.rb:18:in `call'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
  railties (<IP_ADDRESS>) lib/rails/rack/logger.rb:38:in `call_app'
  railties (<IP_ADDRESS>) lib/rails/rack/logger.rb:20:in `block in call'
  activesupport (<IP_ADDRESS>) lib/active_support/tagged_logging.rb:68:in `block in tagged'
  activesupport (<IP_ADDRESS>) lib/active_support/tagged_logging.rb:26:in `tagged'
  activesupport (<IP_ADDRESS>) lib/active_support/tagged_logging.rb:68:in `tagged'
  railties (<IP_ADDRESS>) lib/rails/rack/logger.rb:20:in `call'
  request_store (1.3.1) lib/request_store/middleware.rb:9:in `call'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/request_id.rb:21:in `call'
  rack (1.6.4) lib/rack/methodoverride.rb:22:in `call'
  rack (1.6.4) lib/rack/runtime.rb:18:in `call'
  activesupport (<IP_ADDRESS>) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call'
  rack (1.6.4) lib/rack/lock.rb:17:in `call'
  actionpack (<IP_ADDRESS>) lib/action_dispatch/middleware/static.rb:116:in `call'
  rack (1.6.4) lib/rack/sendfile.rb:113:in `call'
  railties (<IP_ADDRESS>) lib/rails/engine.rb:518:in `call'
  railties (<IP_ADDRESS>) lib/rails/application.rb:165:in `call'
  rack (1.6.4) lib/rack/lock.rb:17:in `call'
  rack (1.6.4) lib/rack/content_length.rb:15:in `call'
  rack (1.6.4) lib/rack/handler/webrick.rb:88:in `service'
  /Users/toshikiinami/.rbenv/versions/2.3.1/lib/ruby/2.3.0/webrick/httpserver.rb:140:in `service'
  /Users/toshikiinami/.rbenv/versions/2.3.1/lib/ruby/2.3.0/webrick/httpserver.rb:96:in `run'
  /Users/toshikiinami/.rbenv/versions/2.3.1/lib/ruby/2.3.0/webrick/server.rb:296:in `block in start_thread'

OK looks like #223 is still a problem

Closing this as a duplicate of #223


Add "By new users" and "Not by new users" options for Identify

We discussed the issue of wearing out our identifier community with gluts of poor or captive/cultivated observations from things like school projects in our last retreat and decided that a way to filter out new users from Identify would be an easy way to remove a lot of those from the Identify stream for those who don't want to see them. Conversely, some of us (including me, when I'm in the mood) want to reach out to new users and make sure their observations get an ID or comment. So I propose we add "By new users" and "Not by new users" options to the "Show" section of the Identify Filters.
As to what "new users" means, that's debatable, but I'm thinking of defining a new user as one with a "created_at" date of less than one week from the current date.

bouteloua made a point that some students are asked to make their accounts early in the term but don't use the app until later, so would a defintion of "created_by less than 7 days ago or less than 10 RG observations" work?

I am not a new user and I've made way more than 10 RG observations. You might still want to weed out my identifications and observations even though I'm not a student and I try very hard not to pass captive/cultivated observations as wild.  I am not a professional in any field, but if you weed out 95% of who you want to weed out, you probably are doing pretty well.

@irag, I think the intent is to provide a way to partially filter out content that is not of interest to most identifiers, and new users are often the people contributing such content. I don't think the intent is to completely filter out uninteresting content, since a) any user can record captive / cultivated obs or take blurry photos regardless of how new they are, and b) "interesting" is very subjective.
I personally don't love this idea for the filtration use case, because I want identifiers looking at those obs and marking them as captive or providing coarse identifications. If we really think students are such a big problem, I think teacher-controlled student accounts and a way to filter them out would be a better solution. I'm ok with it for the welcoming-new-users use case.
Technically, currently we have almost no information about the user in the observations index, so implementing your definition of new (user.created_at > 7 days ago OR user.rg_obs_count > 7) would require re-indexing all observations. I can't really think of a way to do this without re-indexing all observations. So my questions are

Are you sure you want to define newness in this way? Because changing our mind about this will be somewhat costly.  Other possibilities:
Filter by level of activity instead of newness, e.g. ( obs count + comment count + ID count ) < 20
Restore email verification of accounts with a 1 month grace period and provide a filter to show or hide obs by these unverified users
@pleary, can you think of any way of doing this that doesn't require re-indexing all obs?

one characteristic of most of the problematic accounts are that the users
leave after the assignment is over - those who do remain usually liked iNat
to start with and didn't contribute poor quality data. So a filter for
'fled' users might be an interesting approach here for two reasons - one is
filtering out content. The other is that for an active user, if I post a
maverick ID i like to explain why. if the user has been gone for 6+ months,
i'd rather see at a glance and not spend as much time offering 'help' that
won't get used.
Sorry to jump in here, just thought it might be another idea. Thanks for
looking at this.
C
On Fri, Dec 7, 2018 at 12:49 PM Ken-ichi<EMAIL_ADDRESS>wrote:

@irag https://github.com/irag, I think the intent is to provide a way
to partially filter out content that is not of interest to most
identifiers, and new users are often the people contributing such content.
I don't think the intent is to completely filter out uninteresting content,
since a) any user can record captive / cultivated obs or take blurry photos
regardless of how new they are, and b) "interesting" is very subjective.
I personally don't love this idea for the filtration use case, because I
want identifiers looking at those obs and marking them as captive or
providing coarse identifications. If we really think students are such a
big problem, I think teacher-controlled student accounts and a way to
filter them out would be a better solution. I'm ok with it for the
welcoming-new-users use case.
Technically, currently we have almost no information about the user in the
observations index, so implementing your definition of new (user.created_at

7 days ago OR user.rg_obs_count > 7) would require re-indexing all
observations. I can't really think of a way to do this without re-indexing
all observations. So my questions are

Are you sure you want to define newness in this way? Because
changing our mind about this will be somewhat costly. Other possibilities:
Filter by level of activity instead of newness, e.g. ( obs count +
comment count + ID count ) < 20
Restore email verification of accounts with a 1 month grace period
and provide a filter to show or hide obs by these unverified users
@pleary https://github.com/pleary, can you think of any way of
doing this that doesn't require re-indexing all obs?

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/inaturalist/inaturalist/issues/2071#issuecomment-445311313,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AG1tkx-8diZIrRN626gw0fp_4QGhpwshks5u2qoegaJpZM4ZBWYE
.

--
Charlie Hohn
Montpelier, Vermont

"Filter by level of activity" could work if the number is quite high. The most annoying times are when teachers require an obscene number of observations as part of their assignments or require research grade, so the students are very active making their own observations and IDing their classmates'. This project: https://www.inaturalist.org/projects/wku-geog-227-fall-2017 comes to mind, where 200 observations were required per person and 10k of the 14k observations are casual grade. Is time since account creation (e.g. today-user.created_at=<7 days) + level of activity possible without re-indexing? Or is even "newness" not possible without re-indexing?
"I think teacher-controlled student accounts and a way to filter them out would be a better solution."
I definitely agree. There are some cases where kids create an account on their own (w/ no clear connection to any class/homework) and wreak minor havoc with low quality obs, but it's a tiny minority of the annoyingness when compared to the massive groups of kids doing it as part of a class. And most new adult accounts are probably people genuinely interested in learning about their local flora and fauna.

I agree that this is not ideal because we do want these observations to be marked C/C and given an ID, which I think has a good possiblity of still happening even with a filter like this. Personally, sometimes I'm in the mood to help with those observations and sometimes I'm not. The idea here is to allow one to choose. I'm somewhat optimistic that the observations will get sorted, but perhaps that's too naive of me.
I also agree student accounts would be ideal, but wasn't sure how long it might take to implement and was thinking of an easier solution that could be used as a stopgap to cut down on identifers seeing gluts of these observations when they don't want to.
"Are you sure you want to define newness in this way?" No, I was just throwing out a parameter I thought might work, not knowing exactly what is easily available in the Identify page. I like the filter level by activity idea, if it doesn't involve re-indexing.

To be clear, I think any implementation of this feature will require several days of re-indexing, unless Patrick has some magic up his sleeve. I'm not asking non-developers to come up with something that does or doesn't involve re-indexing, I'm just trying to make sure you've considered the technically feasible options before deciding on exactly what you want to filter on.

@irag, I think the intent is to provide a way to partially filter out content that is not of interest to most identifiers, and new users are often the people contributing such content. I don't think the intent is to completely filter out uninteresting content, since a) any user can record captive / cultivated obs or take blurry photos regardless of how new they are, and b) "interesting" is very subjective.
I personally don't love this idea for the filtration use case, because I want identifiers looking at those obs and marking them as captive or providing coarse identifications. If we really think students are such a big problem, I think teacher-controlled student accounts and a way to filter them out would be a better solution. I'm ok with it for the welcoming-new-users use case.
Technically, currently we have almost no information about the user in the observations index, so implementing your definition of new (user.created_at > 7 days ago OR user.rg_obs_count > 7) would require re-indexing all observations. I can't really think of a way to do this without re-indexing all observations. So my questions are
1. Are you sure you want to define newness in this way? Because changing our mind about this will be somewhat costly.  Other possibilities:

   1. Filter by level of activity instead of newness, e.g. ( obs count + comment count + ID count ) < 20
   2. Restore email verification of accounts with a 1 month grace period and provide a filter to show or hide obs by these unverified users

2. @pleary, can you think of any way of doing this that doesn't require re-indexing all obs?

I was only commenting from the perspective of a non-professional user.  As I'm also not a student nor a teacher, my comments are somewhat irrelevant and safely ignored.

This may be totally pie in the sky given that I am not familiar with your code or database structure. But can you  update whichever API the identify pulls from (persumably Observations) and change it to also pull the account created date for the observer into the data grabbed relating to the observer in the json, and then do a datediff ?

After the Penang incident, I'm not sure activity would be the best measure here. I'll bring up the topic in Discourse and see what people think.

Looking good.