Recovery codes does not show if user uses the url(https://staging.new.expensify.com/settings/security/two-factor-auth/codes)

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

Action Performed:

go to Recovery codes page by clicking URL (https://staging.new.expensify.com/settings/security/two-factor-auth/codes)

Expected Result:
should show recovery codes
Actual Result:
does not show  recovery codes
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

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

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

Version Number: 1.3.18-1
Reproducible in staging?: y
Reproducible in production?: y
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://github.com/Expensify/App/assets/43996225/59ef49a1-307d-4784-ac32-c346877a5de4
Expensify/Expensify Issue URL:
Issue reported by: @gadhiyamanan
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1684848223312759
View all open jobs on GitHub

This will be covered in my proposal#1561940882  . both are related issue.

Thanks, @kushu7. I'm closing in favor of https://github.com/Expensify/App/issues/19496

@tjferriss i think the proposal is not accepted yet and the changes in proposal was made after this issue is reported to solve this issue. It is eligible for reporting bonus.

@gadhiyamanan because https://github.com/Expensify/App/issues/19496 was reported first we won't be giving a reporting bonus on this issue.


[Languages] Random Joke Generator in Javascript: A Complete Guide

Proposed title of the article
Random Joke Generator in Javascript: A Complete Guide
Proposed article introduction
In programming, there are regular cases where you need to recover an arbitrary number. For instance, you might be making a speculating game and need your program to create an arbitrary number each time the client runs your program. Or on the other hand, you might need to run a capacity an irregular number of times.
That is the place where the JavaScript Math.random() work comes in. Math.random() is an implicit strategy that can be utilized to create irregular numbers in JavaScript. The capacity returns a worth between 0 (comprehensive) and 1 (elite), yet we can utilize another capacity called Math.floor() to transform our number into an entirely arbitrary number.
In this instructional exercise, we will investigate the nuts and bolts of JavaScript irregular number age, and talk about how you can utilize the Math.random() work in your code.
Key takeaways

JavaScript Math Refresher
JavaScript Math.random()
JavaScript Random Number Between Two Values
Random Joke Generator

Article quality
By reading this article, learners will have a good understanding of randomness in javascript. In addition to that, they will be in a position to implement random password generators in their application let's say when registering new members or subscribers in their system.
References
N/A

Good afternoon and thank you for submitting your topic suggestion.
Your topic form has been entered into our queue and should be reviewed (for approval) as soon as a content moderator is finished reviewing the ones in the queue before it.

Sounds like a helpful topic - let's please be sure it adds value beyond what is in any official docs and/or what is covered in other blog sites. (the articles should go beyond a basic explanation - and it is always best to reference any EngEd article and build upon it). @EssyG10
Please be attentive to grammar/readability and make sure that you put your article through a thorough editing review prior to submitting it for final approval. (There are some great free tools that we reference in EngEd resources.)
ANY ARTICLE SUBMITTED WITH GLARING ERRORS WILL BE IMMEDIATELY CLOSED.
Please be sure to double-check that it does not overlap with any existing EngEd articles, articles on other blog sites, or any incoming EngEd topic suggestions (if you haven't already) to avoid any potential article closure, please reference any relevant EngEd articles in yours. - Approved


Merge osmomath into osmoutils

Closes: #XXX
What is the purpose of the change
Extension of https://github.com/osmosis-labs/osmosis/pull/7363, where the goal is to remove / organize the dependency structure we have. First PR's goal was to remove circular dependencies between go.mods in our repo, and this PR serves the purpose of merging osmomath into osmoutils. Having to manange to different packages(osmo utils / osmo math) increases dependency that we need to manage / update, not to mention the tangled dependcy cycle structure we have.
Dependency structure would be as the following after this PR

Testing and Verifying
This change is a trivial rework / code cleanup without any test coverage + existing test passes.
Documentation and Release Note

[ ] Does this pull request introduce a new feature or user-facing behavior changes?
[ ] Changelog entry added to Unreleased section of CHANGELOG.md?

Where is the change documented?

[ ] Specification (x/{module}/README.md)
[ ] Osmosis documentation site
[ ] Code comments?
[ ] N/A

Looks good. Fun diff file to read to 😅
Is there a reason to keep the sqs circular dependency? can we do this with interfaces? CC @p0mvn

Looks good. Fun diff file to read to 😅

Thanks so much for reviewing this big chunk 🙇


Usage: train.py [options]  train.py: error: no such option: --num_stages

Can u explain why about this error, tq

+1 on seeing this error


Added placeholder to declaration file

The placeholder attribute works if added but compilation fails since it's missing from declaration file.

thanks @cameronlowry! This PR actually seems a duplicate of https://github.com/buildo/rc-datepicker/pull/158, do you agree?

Yes this is the same! Apologies for duplicate.
I managed to augment the typing for now...
import 'rc-datepicker';

declare module 'rc-datepicker' {
  export interface DatePickerInputProps {
    placeholder?: string;
  }
}


No longer running on GPU after update

I recently updated llama-cpp-python to make use of the new gguf format. Since then, i cant seem to get GPU to work. It keeps saying "BLAS=0" when starting the model, eventhough it was working before. Anything i need to change? I am very confused.

i am getting same isssue

i am getting same isssue

Hey @talhalatifkhan I run the following command and now it works. try the same if you are using a Nvidia GPU with cuda:
CMAKE_ARGS="-DLLAMA_CUBLAS=on" pip install llama-cpp-python --force-reinstall --upgrade --no-cache-dir


Add support for feat_dynamic_real in DeepAREstimator

Issue #, if available: #94
Description of changes: This PR enables the DeepAREstimator to consume the "feat_dynamic_real" field when provided. This is done involves two changes, essentially:

A "feat_dynamic_real" field is added if missing, with value None.
The VstackFeatures (and, for consistency, ConcatFeatures) transformation ignores None-valued fields.

Bonus: fixed some docstrings.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Job PR-125/1 is complete.
Docs are uploaded to http://gluon-ts-staging.s3-accelerate.dualstack.amazonaws.com/PR-125/1/index.html

I'm wondering what would be the best way to test the estimators with different input combinations (i.e. feat_dynamic_real given or not). Maybe we can write a fancy test class for that at some point.

I'm on it ;-)

Codecov Report

Merging #125 into master will increase coverage by 2.36%.
The diff coverage is 50%.

Docs are uploaded to http://gluon-ts-staging.s3-accelerate.dualstack.amazonaws.com/PR-125/2/index.html

Job PR-125/3 is complete.
Docs are uploaded to http://gluon-ts-staging.s3-accelerate.dualstack.amazonaws.com/PR-125/3/index.html

Job PR-125/4 is complete.
Docs are uploaded to http://gluon-ts-staging.s3-accelerate.dualstack.amazonaws.com/PR-125/4/index.html

Job PR-125/5 is complete.
Docs are uploaded to http://gluon-ts-staging.s3-accelerate.dualstack.amazonaws.com/PR-125/5/index.html


About read transferred pb model wrong？

hi，I keep ckpt model and parameters to one pb file, then read the pb model file in a another code,but
the wrong info below:
ValueError: Input 0 of node hourglass/pre/BatchNorm/cond_1/AssignMovingAvg
was passed float from hourglass/pre/BatchNorm/cond_1/AssignMovingAvg/Switch:1
incompatible with expected float_ref.
any ways?
Thank you so much!

check this issue, it helped me with a similar problem #29

@l35633 could you share the code you used to try to save the model and then read the model?
Did funfuzzes suggestion help you?
I got the same error. Google tells that it's a common problem. See these links:

https://github.com/onnx/tensorflow-onnx/issues/77
https://github.com/tensorflow/tensorflow/issues/3628
https://stackoverflow.com/questions/51858203/cant-import-frozen-graph-with-batchnorm-layer


annotation: add missing overload for setPointMarkerColor(vec3)

It's listed in the docs, but was missing from the overload set.

Thanks!


Update Getting Started section - Images

What this PR does / why we need it:
This PR updates the Getting Started section:

changed colors in some images to SAP approved ones
updated images for clarity
added content to some topics
updated order of topics for better flow

Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Release note:

NONE

🎉 Thanks a lot for addressing the feedback! The colors are much more consistent now, and I'm really pleased with the improvement. Great work! 👍


[Accordion] Content Hidden When Not Initalized

How can we reproduce this bug?

If an accordion has the correct markup but doesn't include 'data-accordion', it won't be initialized and .accordion-content won't be displayed

What did you expect to happen?

.accordion-content visibility should be controlled by the plugin - not CSS

Test case
http://codepen.io/avr/pen/WrbOgV

.accordion-content visibility is controlled by the plugin—it uses jQuery's .slideUp() and .slideDown() methods to manage visibility. This differs from the majority of other plugins in the framework, which prefer a class-based approach to managing UI state.
The fact that the accordion doesn't work without data-accordion isn't a bug—it's a JavaScript plugin, so we don't tend to consider use-cases that involve not using the JavaScript bits.


paket pack fails when there is no build configuration named "Release"

csproj (irrelevant lines removed):
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
    <OutputPath>..\..\build\bin\dialer\</OutputPath>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="System" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="Program.cs" />
  </ItemGroup>
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

As you can see we only have the "Release|x86" config. Paket 1.32 packed this just fine with type project in paket.template, but 2.28 yields:
.paket/paket.exe pack output build/deploy
Paket version <IP_ADDRESS>
Paket failed with:
	Unable to find Release output path node in file above.csproj

I don't know how the "find output path" logic changed in particular, but maybe use "Release.*" as a fallback when looking for the OutputPath.

I created a failing test in 106215a
@amazingant do you have an idea how we can handle this?

@forki I know this isn't the desired answer, but this behavior looks correct to me. The shortened project file from @agross says on line 6 to target AnyCPU if a platform isn't specified, and there isn't a Release build configuration for AnyCPU. IMO, fixing this accurately would mean adding a platform parameter to paket's pack command, or perhaps just some kind of projectflag parameter that could be given multiple times? e.g., paket pack output build/deploy projectflag Platform=x86.
To quickly patch over this and get the issue resolved, ProjectFile.GetOutputDirectory could just call GetPropertyWithDefaults multiple times with different platform options and use the first one with a result.

@amazingant One could argue the project file is incorrect. What should be fixed, in your opinion?
I'm not saying paket shouldn't change its "finding" logic, rather that VS created the csproj and it seems legit to VS, but not paket.

(just to clarify why the older version worked. At that time we didn't analyzed at all, so by pure luck it worked)

@agross Knowing that you can do this in VS' configuration manager, your project file looks perfectly legitimate to me:

(I think VS keeps this information in the solution file?) Unfortunately, paket doesn't know about this "Debug means x86 for project Y and AnyCPU for project Z" info.
Perhaps the best way to handle this would be to add an optional parameter to the pack command, and if it isn't provided, try all of the known platform targets and see if any result in an output path. It would allow being explicit about what you want, but it would also resolve your issue without you having to change anything.
Your thoughts, @forki? There's a nice list of platforms from the C# compiler documentation here that paket could check against.

mhm. at the moment we don't report any path, right? Maybe we should default to whatever we find with release then!?

@amazingant

I think VS keeps this information in the solution file?

Yes, this is the case here.

and if it isn't provided, try all of the known platform targets and see if any result in an output path

That would be fine with me. In this case, perhaps log some warnings about that and tell the user what platforms have been tried and which has been selected.

@amazingant
Thank you very much, our build turned green again :-)
I think the output can be improved when you have multiple paket.template files. What do you think?
No platform specified; found output path node for the x86 platform after failing to find one for the following: AnyCPU32BitPreferred, AnyCPU
No platform specified; found output path node for the AnyCPU platform after failing to find one for the following:
No platform specified; found output path node for the AnyCPU platform after failing to find one for the following:
No platform specified; found output path node for the x86 platform after failing to find one for the following: AnyCPU32BitPreferred, AnyCPU
No platform specified; found output path node for the AnyCPU platform after failing to find one for the following:
No platform specified; found output path node for the AnyCPU platform after failing to find one for the following:
Packed: Foo\paket.template
Packed: Bar\paket.template
Packed: Baz\paket.template

@agross Just took a look at the build output for one of my projects and saw the same. Initially confused me seeing after failing to find one for the following: with nothing "following". I'll take a look at this when I get a chance, and see if I can clean it up.

:+1: That would be great!


placing calls

Is there a way to place a call ?
Thanks

There are a number of ways, depending on your needs:

client.Channel().Create() : this will create a channel but not actually dial it, meaning that you can manipulate it and customize it before Asterisk actually creates it
client.Channel().Originate(): this is the normal means of creating and dialing a new channel
you can also use Create and Originate from an existing channel handle, which will make sure that the new channel is:

on the same Asterisk node as the reference channel
is codec-compatible with the reference channel

Thanks alot for a quick response, is there somewhere i can read about the particulars of using client.Channel().Create()

Basically, call client.Channel().Create().  You will be given a ChannelHandle.  Feel free to manipulate it as you wish before dialing.  Generally, this means setting up event watchers, adding SIP headers, or adding channel variables.  When you are ready call the Dial() function on the ChannelHandle to cause Asterisk to actually perform the connection.

Perfect, thanks alot!


Outer player order isn't consistent with gamecore inner player order in 5_vs_5?

Hi, We found a little strange thing in google research football as follows,
We controlled 4 agents except for the goalkeeper in a 5_vs_5 scenario, we found the field left_agent_controlled_player the environment returned in observation's value is [2, 3, 1, 4], which means the action_list we passed into env.step(action_list) has a weird controller mapping, in details:

action[0] controls player 2 in gamecore
action[1] controls player 3 in gamecore
action[2] controls player 1 in gamecore
action[3] controls player 4 in gamecore

That's confused, why not a one-to-one match? But the observation player order is consistent with gamecore player order, this would cause:

player1_obs -> trainning_network -> action[0] -> control player 2
player2_obs -> trainning_network -> action[1] -> control player 3
player3_obs -> trainning_network -> action[2] -> control player 1
player4_obs -> trainning_network -> action[3] -> control player 4

In other words, if we want the actions that network outputed corresponding to each correct player, we need to reorder the action list according to the field left_agent_controller_player. If not, this would lead a lower efficiency to trainning and weird.
Finally, I found this reason in the following snipet in https://github.com/google-research/football/blob/v1.0/third_party/gfootball_engine/src/onthepitch/AIsupport/AIfunctions.cpp#L794:

When we controlled all agents except for goalkeeper, the controller mapping was fixed at begining. And the controller maping order is depending on internal player initial position closer to ball position. Besides, when we controlled 10 agents, the controller mapping is [6, 5, 7, 8, 10, 9, 2, 3, 1, 4], which means player 6 is closest to ball at begining.
How could fix the bug in gamecore? Maybe modify the initial position is a choice, but I'm not find the initial position snipet.

You can modify scenario file (example) to get an identity mapping. Note this only works when controlling all of the controllable players, otherwise mapping can change over time.

Thanks for your reply!
I have tried to modify each player's starting position in the scenario file (5_vs_5.py) to get an identity mapping. No matter what  the starting position values are, the control mapping returned is always [2, 3, 1, 4], not the expected identity mapping [1, 2, 3, 4].
I have investigated this problem for a long time, Finally I found the controll mapping would be fixed at starting if controlling all of the controllable players, and the mapping is up to formation position in the football engine. The real starting position is fixed in the engine as follows, the magic is here :

The above snipets explained perfectly why the controll mapping is [2, 3, 1, 4] when controls all controllable players in 5_vs_5, and [6, 5, 7, 8, 10, 9, 2, 3, 1, 4] when controls 10 players in 11_vs_11.
One solution is that gfootball.env exposes left_agent_controlled_player and right_agent_controlled_player fields at gfootball/env/constans.py, and let users to reorder the actions passed to env.step() according to controll mapping when controll all controllable players, but this solution is unfriend for new researchers.  Maybe there are other solutions solving this problem, which is transparent to researchers if they controll all players when studying multi-agents reinforcement learning.
Looking forward to your reply, thanks a lot.

Thanks for investigating this. You can make the order stable by adding the
code below just before this line
https://github.com/google-research/football/blob/2bb4bd9f11686ca85926a3623a8f584eb3f70ff7/third_party/gfootball_engine/src/onthepitch/team.cpp#L172
:
// Sort players by the ID to provide identity mapping of controller-player
// when controlling all players on the team.
std::sort(result.begin(), result.end(), [](Player* a, Player* b) {
return a->GetStableID() < b->GetStableID();
});
Please note that [1, 2, 3, 4] order is not an identity either, as
observations / actions are indexed from 0 (while 0 player is the goal
keeper in the observations).
On Thu, Mar 11, 2021 at 9:19 AM cloudyang @.***> wrote:

You can modify scenario file (example
https://github.com/google-research/football/blob/master/gfootball/scenarios/5_vs_5.py)
to get an identity mapping. Note this only works when controlling all of
the controllable players, otherwise mapping can change over time.
Thanks for your reply!
I have tried to modify each player's starting position in the scenario
file (5_vs_5.py) to get an identity mapping. No matter what the starting
position values are, the control mapping returned is always [2, 3, 1, 4],
not the expected identity mapping [1, 2, 3, 4].
I have investigated this problem for a long time, Finally I found the
controll mapping would be fixed at starting if controlling all of the
controllable players, and the mapping is up to formation position in the
football engine. The real starting position is fixed in the engine as
follows, the magic is here
https://github.com/google-research/football/blob/master/third_party/gfootball_engine/src/data/teamdata.cpp#L78
:
[image: image]
https://user-images.githubusercontent.com/10045627/110754337-ade8b300-8282-11eb-9f48-e123ade665dd.png
The above snipets explained perfectly why the controll mapping is [2, 3,
1, 4] when controls all controllable players in 5_vs_5, and [6, 5, 7, 8,
10, 9, 2, 3, 1, 4] when controls 10 players in 11_vs_11.
One solution is that gfootball.env exposes left_agent_controlled_player
and right_agent_controlled_player fields at gfootball/env/constans.py,
and let users to reorder the actions passed to env.step() according to
controll mapping when controll all controllable players, but this solution
is unfriend for new researchers. Maybe there are other solutions solving
this problem, which is transparent to researchers if they controll all
players when studying multi-agents reinforcement learning.
Looking forward to your reply, thanks a lot.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/google-research/football/issues/264#issuecomment-796556328,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMK2SVTROCC7NZECAX6QO3TTDB4HJANCNFSM4YOQW6LA
.

Thank you very much, the solution you proposed is a very nice choice. That's great !
At before, we didn't notice the mismatch controller mapping when we research multi-agent learning using 5_vs_5 and controll all players except the goalkeeper. Indeed, the network learned the non-identity controlled mapping in final, but it's very unefficiency. After we adjust the actions order, the 5v5 learning efficiency achieve ~3x speedup.
I want to know if your scheme would be updated and synchronized to the master branch，because we want to avoid other potential problems in the future,  so we need to keep our football engine the same as official git repository.

Yes, I will push this change with the next release.
On Thu, Mar 11, 2021 at 1:23 PM cloudyang @.***> wrote:

Thank you very much, the solution you proposed is a very nice choice.
That's great !
At before, we didn't notice the mismatch controller mapping when we
research multi-agent learning using 5_vs_5 and controll all players except
the goalkeeper. Indeed, the network learned the non-identity controlled
mapping in final, but it's very unefficiency. After we adjust the actions
order, the 5v5 learning efficiency achieve ~3x speedup.
I want to know if your scheme would be updated and synchronized to the
master branch，because we want to avoid other potential problems in the
future, so we need to keep our football engine the same as official git
repository.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/google-research/football/issues/264#issuecomment-796698385,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMK2SVR3RXMN7IUT7AZJF2TTDCY23ANCNFSM4YOQW6LA
.


Why doesn't line352 of attention_decoder.py need to reuse the variable of this function like line347?

if i == 0 and initial_state_attention:  # always true in decode mode
with variable_scope.variable_scope(variable_scope.get_variable_scope(), reuse=True):
...
else:
# should here add "with variable_scope ...., reuse=True): "?
context_vector, attn_dist, coverage, masked_e = attention(state, tf.stack(temporal_e,axis=0), coverage)

I'd suggest to remove i==0 and see what error you'll get.
Hint: The error that you'll see will happen since in the first iteration (i=0) the required trainable variables will be defined, however in following steps, you should only use these trainable variable not defining them again (if you don't have this if, model will try to define these variables again at step i=1 and that's when you receive an error saying the "XXX" variable has been already defined and exist in the graph). That's why you need the reuse=True parameter to simply reuse already defined variable after the first step.

Ok, I understand what you mean. It is because the attention function has already been run on line 321 before the start of the loop, so in order to continue using the variable of the attention function, it is necessary to indicate the reuse in i=0. However, since the variable created in the attention function is encapsulated into the function, it is impossible to make reuse=Ture in the scope（named “Attention”） of the function. So you can only explicitly state that all variables under the scope of the previous level (named “attention_decoder”) are reused.
In other words, when i=0, the variables that indicate the attention function can be reused in the graph. In the following loop, Tensorflow will continue to reuse the variables of the attention function, and there is no need to write reuse=True again（But I think it’s okay to write again）.
Am I correct?

No, don't think of it like encapsulation in python. The tensorflow graph is accessible throughout the whole program and you can make changes in everywhere throughout your program. So, once you define a specific variable in the graph even inside a function, you can still access it from outside that function. Just try to write a simple sample and you'll understand it.

I understand, thank you for your patience. O(∩_∩)O


cleanup interop tests to match dotchain/dataset repo

The changes to merge are minimal and make it actually a little better in some odd cases.
This allows both the JS and Go version to be in sync better by comparinng against the master json tests.
The dotchain/dataset repo has been updated as well.
For all practical purposes, the merge behavior will likely be frozen onces the JS implementation conforms to the same set which is likely very soon.

Codecov Report

Merging #304 into master will increase coverage by <.01%.
The diff coverage is 100%.

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


Request for Assignment: Refactor Discord Bot to Use Express.js

Description
Issue Summary: I encountered an error in my Discord bot: "Used disallowed intents." This error is triggered when the bot attempts to use intents that are not enabled in the Discord Developer Portal. As a result, the bot fails to start properly and emits an unhandled error event.
To resolve this issue, I propose to refactor the bot to use Express.js. This will allow the bot to maintain a consistent server connection and help prevent similar issues in the future.
Proposed Changes:
Implement the Discord bot using Express.js to handle server connections.
Ensure that the required intents are correctly configured in the Discord Developer Portal.
I would like to request to be assigned to this task to address the error and improve the bot's functionality.
Thank you for considering my request!

Could you let us know what new intent is causing that?
I forked the bot and its working well with all the commands. If i get to the root of the problem, I'm certain i can fix it!
Screenshots are appreciated.

bot is working perfectly. You can check out its functionalities in the leetcode channel of this discord server

assign me to convert the code to express form, it will be easy to maintain and add new features, I will not take much time

Assigned @ag21o9 .
No need to rush. Take your time. Feel free to reach out on Discord if you need assistance.

Hey I'm interested please assign me, ill share my proposed solution as soon as u ping me !!


note about usage requiring feature flag would be nice.

https://www.youtube.com/watch?v=FJsBGiRTM9A this PR breaks the test so it's not acceptable, I'd be happy to change it to resolve the test.  Nice idea.  Removing the ticks of course fixes the error; is there a way to do a informational tick'd block that isn't tested?  Should the app run when no features are specified?  The readme says they are optional features.
    Finished test [unoptimized + debuginfo] target(s) in 1.40s
   Doc-tests axum-password-worker

running 5 tests
test src\lib.rs - (line 17) ... FAILED
test src\worker.rs - worker::PasswordWorker<H>::new (line 56) ... ok
test src\worker.rs - worker::PasswordWorker<H>::hash (line 98) ... ok
test src\lib.rs - (line 22) ... ok
test src\worker.rs - worker::PasswordWorker<H>::verify (line 130) ... ok

failures:

---- src\lib.rs - (line 17) stdout ----
error: expected one of `!`, `.`, `::`, `;`, `?`, `{`, `}`, or an operator, found `run`
 --> src\lib.rs:18:7
  |
3 | cargo run --example usage --features rust-argon2
  |       ^^^ expected one of 8 possible tokens

error: aborting due to previous error

Couldn't compile the test.

failures:
    src\lib.rs - (line 17)

test result: FAILED. 4 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.71s

You can annotate the triple backticks with text ie.

```text
This is not rust code. This can be text or bash scripts or whatever
```

I am actually working on a new patch rn which will fix this issue. So closing.

Thanks for the contribution.

I released 0.4.0


Global variables do not show up between flowcharts in variable drawer

Describe the bug

Global variables should show up in different flowcharts across the project.  They currently do not.
To Reproduce

1.) Make a global variable in a flowchart.
2.) Make another flowchart
3.) Observe the global variable does not exist.
4.) Also observe that if you create an If or Set block this global variable also does not exist.
Expected behavior

Global variable should be visible everywhere
Screenshots
If applicable, add screenshots to help explain your problem.
Versions & Platform (please complete the following information):

Unity version [e.g. 2019.2.20f1 or 2017.4.25]
Fungus Version[e.g. v.3.12.0] This can be found in your Docs/ChangeLog or via Preferences->Fungus
Editor OS: [e.g. Win 10  or OSX Mavericks]
Build Platform [e.g. WebGL, Windows IL2CPP, iOS, Android]

Additional context
Add any other context about the problem here.

@bentaller-lion  I've never used Global variable in Fungus, as most of mine are just public(yes, it works across flowcharts and scenes as well). If I'm not mistaken you must create a variable the same name with the Global variable on 1st flowchart on your 2nd Flowchart.

@breadnone You are correct. Therefore, The Flowcharts are working as expected, so not a bug.

For the if-then, it only works for locally available variables (what is set in each flowchart). If you create the global variable in the flowchart with the same name as in the other one, it will show up in if-then.

Well, if that works that's cool, but it's certainly not expected behavior.
Expected behavior is that a global defined in one chart just shows up
everywhere, and I couldn't find any documentation anywhere describing the
way it actually works.
The reason this is so important is you may have a team of people building a
game and it's really hard to coordinate what variable names are global and
what variable names are local to prevent collisions.  You can of course use
a naming convention like global_ but this seems more like a bandaid
workaround than a fix.
Anyway thanks for letting me know :)
On Tue, Oct 20, 2020, 11:05 PM Dana Haywood<EMAIL_ADDRESS>wrote:

For the if-then, it only works for locally available variables (what is
set in each flowchart). If you create the global variable in the flowchart
with the same name as in the other one, it will show up in if-then.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/snozbot/fungus/issues/905#issuecomment-713139099, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AQGSEPNMHNBRWCB5M3B2UB3SLX3RPANCNFSM4SPMNOQQ
.

@bentaller-lion  The reason I called it expected behavior because it is explained here:
https://github.com/snozbot/fungus/wiki
This wiki has a lot of useful info on how the different functions of Fungus work because it is not always apparent. :)

More specifically,
https://github.com/snozbot/fungus/wiki/variables
It is under Variable scope where it describes how Private, Public and Global variables work in Fungus.

At this point, I recommend one of two things.
A. Close it because it is not a bug. The expected behavior per how documentation described how globals work in Fungus still working.
B. Recategorize it as a feature request and change the information to how you would like Globals to work. Currently, the flowcharts will copy information from variables that have the same name and set to global between flowcharts. If you have an idea that will allow the Flowchart to be able to do so, that would be helpful.


Chore: change default animation bottom sheet duration.

https://user-images.githubusercontent.com/72078435/160998342-89759583-e67d-40f0-8f3b-694e46785aaa.mov
https://user-images.githubusercontent.com/72078435/160998360-597937b9-7e80-4883-a7b0-d6c8ba002796.mov

Codecov Report

Merging #45 (267b9e2) into main (0e83744) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main       #45   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            4         4
  Lines          205       206    +1
=========================================
+ Hits           205       206    +1

Impacted Files
Coverage Δ

lib/src/flexible_bottom_sheet_route.dart
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Investigate switching to vite

https://vitejs.dev/guide/why.html
Seems to be faster and uses rollup instead of webpack.

Update on migrating to vite:

starport/vue & starport/vuex already building with vite

starport/client-js is the last missing piece. I'm really thinking of merging this package into starport/vuex and call it a day    😄

starport/client-js does not need vite as it's not a frontend related piece (technically neither is starport/vuex as its used as a library but it originally used webpack as it was vue-related)
You could use a simple rollup or babel config for it. Its only issue at the moment is that it's packaged as a node lib rather than a browser lib

update:

will be closed once next major is published


Question about hyper-parameter search strategy

Hi~
Generally, the neural network models perform differently with a different random seed. Thus even use the same hyper-parameters, models can still result in totally different scores. Does optuna take this into consideration? I mean, will optuna run with the same hyper-parameters several times and calculate the averaged scores? or just once for each hyper-parameter setting? and if the answer is the last one, is there any mechanism that I can force optuna to run with the first strategy?

Thank you for your question. Currently, Optuna does not provide features to evaluate objective functions repeatedly.
For simple cases, I think you can use the following wrapper function:
def objective(trial):
    ...

def objective_ntimes(trial):
    result = [objective(trial) for _ in range(5)]
    return np.nanmean(result)

study = optuna.create_study()
study.optimize(objective_ntimes, n_trials=100)

Note that this may increase computational time or may require special cares to apply pruning.

Thank you~


Cosign Key step for Automatic Setups

Under both the Automatic setup (web) and Automatic setup (cli), no mention is made of the need to go through the process of installing the cosign key app and creating a cosign key.
The only place this is mentioned is under the Manual setup page.
Separating out the cosign key section of the Manual setup into a separate page, and pointing it out on all the setup pages would be helpful to everyone, even someone experienced who might still opt for the automatic setup options.

AFAIK both of the automatic options prompt to generate a cosign key during the wizard, actually the main point of them is the mostly automatic generation of keys.
So I'm not following; why should manual instructions be supplied with the automatic options, when the point of the automatic options is not needing manual instruction?


MoveEditor{Left,Right,Up,Down}InGroup shortcuts don't work for "Settings" and "Keyboard Shortcuts" tabs

Issue Type: Bug
I'm not sure if this is a bug or just bad UX, but currently, if I assign a keyboard shortcut to move the current editor within the current group (e.g. workbench.action.moveEditorToLeftGroup), it only works on text-editing tabs - not on the settings tab or the keyboard shortcuts tab.
Not a major issue,  but it breaks keyboard based workflows since the only way to move the settings or Keyboard Shortcuts tabs is with the mouse.
VS Code version: Code 1.58.2 (c3f126316369cd610563c75b1b1725e0679adfb3, 2021-07-14T22:30:16.440Z)
OS version: Linux x64 5.10.54-1-lts
Restricted Mode: No
Remote OS version: Linux x64 5.8.0-63-generic

System Info

Item
Value

CPUs
AMD Ryzen 7 3700X 8-Core Processor (16 x 4230)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offopengl: enabled_onrasterization: disabled_softwareskia_renderer: enabled_onvideo_decode: disabled_softwarevulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
1, 1, 1

Memory (System)
31.36GB (0.50GB free)

Process Argv
--crash-reporter-id 66ea3ec9-05eb-4edd-8d35-34bbe6c1aba1

Screen Reader
no

VM
0%

DESKTOP_SESSION
plasma-i3

XDG_CURRENT_DESKTOP
KDE

XDG_SESSION_DESKTOP
KDE-i3

XDG_SESSION_TYPE
x11

Item
Value

Remote
SSH: medrel

OS
Linux x64 5.8.0-63-generic

CPUs
Intel(R) Xeon(R) CPU E3-1220 v5 @ 3.00GHz (4 x 839)

Memory (System)
15.56GB (11.29GB free)

VM
0%

Extensions (13)

Extension
Author (truncated)
Version

docs-view
bie
0.0.9

systemd-unit-file
coo
1.0.6

monkey-patch
ioc
0.1.15

remote-containers
ms-
0.187.1

remote-ssh
ms-
0.65.7

remote-ssh-edit
ms-
0.65.7

cython
tcw
0.1.0

vscode-icons
vsc
11.6.0

vim
vsc
1.21.5

xml
Dot
2.5.1

python
ms-
2021.7.1060902895

vscode-pylance
ms-
2021.7.7

jupyter
ms-
2021.8.1054968649

(9 theme extensions excluded)

@lramos15 maybe related to our work in editor land, haven't investigated yet.

Apparently the shortcuts also don't work for native notebook tabs.

I cannot reproduce, for me the editor moves to the left group (both settings and keyboard shortcuts).
Demo:

On my phone now so can't lookup the exact names or post screenshots,  but its the shortcuts for moving tabs within groups, not across groups

Also works for me, I can move settings editor to the right.

Just tried again on a different computer (and OS) and still does not work.
Are you sure we are talking about the same command? See screenshots below.

Note that it also doesn't work when invoking the command from the command palette, so it's not an issue with conflicting keyboard shortcuts,

Screencast for proof :-)

I'm still not seeing this. Here's a screencap to ensure I'm doing the same steps you are. Please also try disabling all extensions

Is it possible that this only reproduces when trying via keybinding?

Is it possible that this only reproduces when trying via keybinding?

I did keybindings as well and it works. @ldorigo also says it happens regardless

Bump

Hi, sorry for the latency.
I'm unsure whether this somehow got fixed in 1.59 or I was doing something wrong, but now I am able to move editors within groups using the command in the command palette.
Regarding doing it via keybindings, I found that I had a "when" condition stating "editorFocus". Removing the condition makes it work. I would like to be able to only have those shortcuts trigger when I am focusing a tab (and not other parts of the UI) - I thought editorFocus was the right condition, but apparently "editors" are exclusively text editors (not settings/keyboard shortcuts or notebooks)? If that's expected behaviour, then feel free to close this (although you might benefit from clearer naming/docs :-))


luci-base: add tblsection sorting by column

adding 'sortable=true' to a tblsection column presents
an up/down arrow to the respective field. clicking the
arrow sorts the rows accordingly. tblsection.htm adds
arrows and onclick functions; cbi.js sorts the rows
and updates the order element; cbi.lua detects a
sortable column and actions the order element.
updated dhcp.lua to sort on columns.
Signed-off-by: Ken Clough<EMAIL_ADDRESS>

Why do you change file access modes?
100644 → 100755
Intentionally?

Thanks for doing this PR. I cannot merge it as is since it has various formal and style issues. I'll do a more thorough review later on.

Why do you change file access modes?
100644 → 100755
Intentionally?

Not intentional, file handling error on my part.

I have updated the request what I think are the formal and perhaps style issues noted by jow. The update now refers only to luci-base.

Jo, Thanks for the feedback. I will address all the points you made and update. Just one question: I updated the title to correct the package name and dropped dhcp.lua since it is not in luci-base. Was that correct and I should make a second PR for dhcp.lua or is it preferable to put both changes in the same PR?
Cheers, Ken

Hi,
thanks fpr looking nto it. I'd prefer separate subsequent PRs which then extend the sorting mechanism to other modules.

Jo, I have (hopefully) addressed all your concerns. I have tested with chrome 72 and IE 11.
Do I need to test other browsers/versions?

I know it is usually the person who asks, but I wanted to know if there is anything more I need to do to have this pull request merged?
Cheers, Ken

Didn‘t yet fine to thoroughly review it, hopefully tonight.

Thanks Jo.

Been two months now. Any chance you could look at this Jo?

This is the related feature request from the issue page.
https://github.com/openwrt/luci/issues/1491

Thanks for all your effort so far @kctani !
Could you please resolve those conflicts so it is mergeable again?
Maybe we will be able to ask @jow- or other maintainers to check and merge it then.

Tomas,
I am guessing that this pull request has been abandoned. The user interface
design has moved on and the update I did is no longer appropriate.
Cheers,
Ken
On Wed, Aug 19, 2020 at 5:53 PM Tomas Klouda<EMAIL_ADDRESS>wrote:

Thanks for all your effort so far @kctani https://github.com/kctani !
Could you please resolve those conflicts so it is mergeable again?
Maybe we will be able to ask @jow- https://github.com/jow- or other
maintainers to check and merge it then.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/openwrt/luci/pull/2623#issuecomment-676833832, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AB2XE4PLZKQ24I7A3I7ZGVLSBRXVDANCNFSM4G6VSXEQ
.

So if I understand it well, this would need completely new PR to the new UI code?

Yes, the changes are much simpler but entirely new.
On Thu, Aug 20, 2020 at 1:27 AM Tomas Klouda<EMAIL_ADDRESS>wrote:

So if I understand it well, this would need completely new PR to the new
UI code?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/openwrt/luci/pull/2623#issuecomment-677455948, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AB2XE4LOZ6BIVN42LWRK72LSBTM33ANCNFSM4G6VSXEQ
.

Yes, the changes are much simpler but entirely new.

@kctani If someone would like to attempt to redo the changes, do you happen to have any pointers where to look for? It appears the conflicting files don't even exist anymore...
I can understand though if you're reluctant to put any more time into this.


hexadecimal decode\encode

What feature or new tool do you think should be added to DevToys?
Hello Can you add a text conversion hexadecimal feature?
Why do you think this is needed?
I think it's used a lot
Solution/Idea
No response
Comments
No response

@Vikec I appreciate your idea for the new feature. To get quick feedback, please extend the description with some examples in the Solution/Idea section.


2018 GMC Acadia Denali Support

added 2018 GMC Acadia Denali fingerprint to volt as requested. lat and long in OP work however still a bit buggy

@CryptoKylan , great!
What do you think it's still buggy?

i am having an issue with steering temp unavailable message after different amounts of time. im wondering if it has to do with the volt being electric? maybe something to do with regen breaking throwing errors? im still very new to openpilot so any help would be greatly appreciated
https://community.comma.ai/cabana/?route=7cc2a8365b4dd8a9|2018-08-28--19-07-07&max=6&url=https%3A%2F%2Fchffrprivate.blob.core.windows.net%2Fchffrprivate3%2Fv2%2F7cc2a8365b4dd8a9%2F2d522ddc11f1292d5dd307d63aa0321b_2018-08-28--19-07-07

im just adding some new drives in hopes someone can help figure out why im loosing steering.  OP lasted 20 mins straight without issue on this drive. steering cuts out at about 1700 secs. LKATorqueDeliveredStatus goes to 3 and ASCMLKASteeringCmdActive becomes 0.
the whole 20 mins OP operated as it should. stop and go no problem, adjusting the speed up and down dramatically quite a bit without issue, changed lanes multiple times. taking sharp turns without needing any help from me. only a couple times i had to apply a small amount of force on the wheel to help complete the turn. i engaged and disengaged a few times before the long run also.
just to be clear when this happens OP ACC will stay engaged, i just loose steering. in fact i can remove the no.entry flag from OP so i at least can continue to use ACC as i do alot of long driving and id rather have that than nothing at all in the mean time.
https://community.comma.ai/cabana/?route=7cc2a8365b4dd8a9|2018-09-02--19-43-52&max=30&url=https%3A%2F%2Fchffrprivate.blob.core.windows.net%2Fchffrprivate3%2Fv2%2F7cc2a8365b4dd8a9%2Fb9a4cb5937d394050e60b9f509e33329_2018-09-02--19-43-52
i pulled over and restarted the car and got another long run.  this time LKATorqueDeliveredStatus went to 3 in between me disengaging OP and trying to engage again
888 secs in i disengage and about 930 secs LKATorqueDeliveredStatus goes to 3 again while OP has not been engaged again.
https://community.comma.ai/cabana/?route=7cc2a8365b4dd8a9|2018-09-02--20-45-35&max=40&url=https%3A%2F%2Fchffrprivate.blob.core.windows.net%2Fchffrprivate3%2Fv2%2F7cc2a8365b4dd8a9%2F4bee816971fc4641ba0535e2c1d9b35a_2018-09-02--20-45-35
i dont know what else to try.

this is working now.  what else do you need from me to push this through?
almost 2 hours straight with no disengagements
https://community.comma.ai/cabana/?route=7cc2a8365b4dd8a9|2018-09-16--22-30-45&max=114&url=https%3A%2F%2Fchffrprivate.blob.core.windows.net%2Fchffrprivate3%2Fv2%2F7cc2a8365b4dd8a9%2F901c96f7d6ff89a81285c595a62b59b1_2018-09-16--22-30-45
another almost hour
https://community.comma.ai/cabana/?route=7cc2a8365b4dd8a9|2018-09-16--22-30-45&max=114&url=https%3A%2F%2Fchffrprivate.blob.core.windows.net%2Fchffrprivate3%2Fv2%2F7cc2a8365b4dd8a9%2F901c96f7d6ff89a81285c595a62b59b1_2018-09-16--22-30-45

It should be letting the message through, this code is restricting the panda from sending torque in situations where "violations" occur.

right

It should be letting the message through, this code is restricting the panda from sending torque in situations where "violations" occur.

right.  thats why im wondering why the code first resets and sends zero torque to just stop the msg entirely in the next step
// reset to 0 if either controls is not allowed or there's a violation
if (violation || !current_controls_allowed) {
gm_desired_torque_last = 0;
gm_rt_torque_last = 0;
gm_ts_last = ts;
}
if (violation) {
  return false;

it sort of seems redundant doesn't it?
wouldn't it make more sense to just send zero/reset torque and let the msg through so it doesnt cause an EPS fault when the car sees a missing message on disengagement?


ADD IMMUTABLE TESTS?

Reason for This PR
https://github.com/roadrunner-server/static/pull/126
Description of Changes
Add tests to assure that immutable works same way as mutable.
License Acceptance
By submitting this pull request, I confirm that my contribution is made under
the terms of the MIT license.
PR Checklist
[Author TODO: Meet these criteria.]
[Reviewer TODO: Verify that these criteria are met. Request changes if not]

[ ] All commits in this PR are signed (git commit -s).
[ ] The reason for this PR is clearly provided (issue no. or explanation).
[ ] The description of changes is clear and encompassing.
[ ] Any required documentation changes (code and docs) are included in this PR.
[ ] Any user-facing changes are mentioned in CHANGELOG.md.
[ ] All added/changed functionality is tested.

Summary by CodeRabbit

Tests

Refactored test functions for improved clarity and reusability.
Introduced helper functions for better organization and reduced redundancy in tests.
Updated plugin test configuration to streamline the setup process, allowing easy toggling between immutable and mutable settings.

Hey @Warxcell 👋
Thank you for the PR, I remember about it and your PR, I need some more time to review that due to the lack of time 😢


Unlink relation

Sorry for all the questions.
I'm trying to figure out how to unlink a relation, for example, reverse this
       update, err := db.Client.Room.FindOne(types.Room.ID.Equals(rid)).Update(
		types.Room.Participants.Link(types.User.ID.Equals(uid)),
	).Exec(ctx)

There should be a .Unlink() method, it seems I forgot about that... I'll fix this ASAP.
By the way, for questions, there's now a #prisma-client-go channel in our public slack.

@tarrencev I just added an .Unlink() method – please try it out in @master and let me know if it shouldn't work as expected.


Fix typo in retention design document

What this PR does / why we need it:
Fix typo in retention.md

Figure describes a problem when deleting S3, not S2 therefore, modify S2 -> S3 on line 59.

Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

Additional documentation:

Checklist:

[ ] Added relevant tests or not required
[ ] Didn't break anything

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


API partials

Revised API in several ways.
1. Removed all the "sub-partials" and replaced them with simple inline helpers.
2. Removed show_urls from XML objects; for some reason that was really slowing things down.
3. Ensured that all low-detail responses do not involve any "includes" (except low-detail images include the license name, but that's okay since there are like 3 licenses!).
4. Moved observation_ids from low-detail image response to high-detail image response; now high-detail responses aren't expensive so it's okay to force users to use them to get image-observation link, either from observations side or images side.
5. "Flattened" the high-detail observation response a bit by placing votes at the same level as namings.
6. Fixed several spurious bugs here and there that were encountered during the revision.
7. Changed main results partial to render a collection of partials.
Removing partials sped up a high-detail observations query by factor of 3.5 locally (7.7 seconds to 2.2 seconds).  Changing to render collection of partials gained an additional 10% (just under 2 seconds; not much but really no reason not to do it).
I will probably do a sanity check on low- and high-detail observations queries before and after just to make sure nothing important has changed.  I don't want to break anyone's code that uses our API.

Coverage increased (+0.04%) to 92.223% when pulling a9b93dff3c07a14bef495172b3b5c0d460ec0416 on api-partials into 09c731a438d1e80389aaec0e92d7b241f385caab on master.

I'm ignorant about what's going on with this code.
I left a few comments which probably simply drive home that point. :-)
No reply necessary for any of them.

Thanks, Joe.  I was most interested to hear whether you and Nathan and Nimmo could swallow in-lining the "sub-partials".  For example, the observation partial used to render also sub-partials for owner, images, namings, votes (and their corresponding users and names!), comments, sequences, etc. etc.  There were zillions of partials!!  In-lining them all speeds up the render by a factor of up to 3.5x.  I think we've maxed out on the benefits of in-lining, because changing from rendering each of the 1000 observations individually is scarcely slower than in-lining them in bulk using the "collection" mechanism (only 10%).  That's why I stopped short of in-lining the main object partials.
I think I will split api_helper into two pieces before merging it.  The extra helpers caused api_helper module to be too long.  It may seem to make sense to split it on json / xml lines, but I'd really like to keep each pair of xml/json_ helpers together so that if we change one we don't forget to change the other identically.  I sure wish there were a way to DRY those two versions of each "in-lined partial" (without adding so much more complexity that it defeats the purpose).

Thanks, Joe. I was most interested to hear whether you and Nathan and Nimmo could swallow in-lining the "sub-partials". For example, the observation partial used to render also sub-partials for owner, images, namings, votes (and their corresponding users and names!), comments, sequences, etc. etc. There were zillions of partials!! In-lining them all speeds up the render by a factor of up to 3.5x. I think we've maxed out on the benefits of in-lining, because changing from rendering each of the 1000 observations individually is scarcely slower than in-lining them in bulk using the "collection" mechanism (only 10%). That's why I stopped short of in-lining the main object partials.
I think I will split api_helper into two pieces before merging it. The extra helpers caused api_helper module to be too long. It may seem to make sense to split it on json / xml lines, but I'd really like to keep each pair of xml/json_ helpers together so that if we change one we don't forget to change the other identically. I sure wish there were a way to DRY those two versions of each "in-lined partial" (without adding so much more complexity that it defeats the purpose).

Short story: This looks like a great improvement!  Keep going!
Longer story: Honestly it seems kind of weird to me to use the partial mechanism at all for deep rendering of XML and JSON for an API.  I guess it's a kind of clever reuse of existing infrastructure, but I don't think I've ever seen it done that way before.  I can see it for the top level node so you get the right web stuff going on, but underneath that I'm used to just seeing calls to to_json (or to_xml if we have to support XML).
I agree that there's a lot of common code between the XML and JSON that I think could be DRYed pretty easily.  I'd have to play with it, but I would think if you essentially assembe hashes like you are for the JSON and then pass those to a fairly simple mechanism that can generate correct JSON or XML for a given hash and then invoke that mechanism from the to_xml and to_json methods, I think you might be done.  Does that make any sense?  I'd have to play with a small example to see if it pans out, but it sure seems like there should be a way.
I do notice that you're not always rendering a given object the same way depending on a requested level of detail.  To me that suggests having a PORO that points to the Rails object and knows how to generate the desired hash and encode it correctly using to_json or to_xml.  I suspect this is kind of a major refactor essentially turning what you've done inside out, but I think that's how I would approach it.  That being said, what you have seems better than what we currently have so I'm cool with it.

Thanks for the careful review, Nathan.  Yes, I realize that rails encourages a much more automagical approach.  I forget what happened at the beginning when I first wrote this stuff.  It's probably lost to mists of time at this point.  In principle, I provided a mechanism for specifying an API version number.  Meaning we could rewrite the rendering stuff completely, and leave the old code there for a year or whatever to give users time to port over.  Feel free to make that a pivotal ticket.
I'm concerned I got carried away with changing the output as well.  I still want to compare before and after responses to see how much it actually changed, and maybe back-pedal on some of the changes where possible.  I think it looks like more changes than it actually is.

Okay, I have a summary of the changes I made.  I don't feel comfortable reverting any of them, unfortunately.
api_keys -- field names were wrong (created_at, last_used, num_uses)
herbarium_records -- field names were wrong (initial_determination, accession_number)
images -- moved observation_ids to high-detail response
observations -- full consensus, location and owner details moved to high detail response; votes moved up to top level of the structure for high detail response (used to be buried within namings)
projects -- removed admin and member ids (hard to eager-load, see note below)
species_lists -- removed project_ids; full location details only available in high detail response now
collection_numbers, comments, external_links, herbarium_records -- only includes observation ids now not full details
I examined API use for 2020, and no one has used projects, comments, collection_numbers or herbarium_records.  Scarcely any use of species_lists.  (There was very extensive use of external_links, though.  In fact there was more use of that endpoint than any other!  Weird.)
It's observations and images we have to worry about.  Those responses only changed by moving things around: moving info from low to high detail, or moving the location of votes.  So I'm comfortable with the changes.
re: Including list of ids of has_and_belongs_to_many relationships: It is impossible to eager-load just the ids of HABTM relationships.  This affects the ability to list the users in the project admin and member user groups; the projects and species lists that observations belong to; projects that species lists and images belong to.  Presently we have to eager load the entire user, project and species list just to get their ids.  Especially in the case of observations, this is a significant performance issue.
I recommend (and apparently the community broadly agrees) that we consider eventually switching our HABTM relationships to "has_many :through"  relationships.  This would allow us to directly eager-load just the ids of these relationships.  And it would let us supply a direct endpoint for the images_observations table, something which has come up repeatedly in the past, but that I haven't been able to accommodate without serious work.
Use case: Many users have asked to use the API to grab image ids for various sets of observations, but they don't have any need for the extreme level of detail provided by high-detail responses on the observations endpoint.  Indeed they should be able to get by with no-detail responses!  Query a list of observation ids, then query the images_observations table for a list of corresponding image ids, done.  But the current implementation of the API requires high-detail queries to either observations or images endpoints.  The latter is definitely better, but it's still not optimal.

@pellaea Your call on whether to merge this as is or not.  It still seems risky to me given all the changes and if I were doing, I would take a really hard look at versioning the API and try to go that way.  I recognize that leaving the old stuff there can continue to cause performance issues, but if it's a big concern, then I would look at deprecating the API over time with some sort of notification to the users.
The HABTM vs "has_many :through" argument kind of makes sense to me, but I haven't ever been through such a conversion.  I suspect it is related to some of the Rubocop Rails cops that have bitten me in the past so I don't have a clear vision of what that change would entail, but I'd love to know more.

Our RuboCop config file has a link to to how convert from HABTM to has_many
:through

MO uses HABTM extensively; RuboCop prefers the newer has_many through
Switching would require a migration process, detailed here:

http://chrisrolle.com/en/blog/migration-path-from-habtm-to-has_many-through
It's not worth the effort
Rails/HasAndBelongsToMany:
Enabled: false

On Mon, Sep 7, 2020 at 2:20 PM Nathan Wilson<EMAIL_ADDRESS>wrote:

@pellaea https://github.com/pellaea Your call on whether to merge this
as is or not. It still seems risky to me given all the changes and if I
were doing, I would take a really hard look at versioning the API and try
to go that way. I recognize that leaving the old stuff there can continue
to cause performance issues, but if it's a big concern, then I would look
at deprecating the API over time with some sort of notification to the
users.
The HABTM vs "has_many :through" argument kind of makes sense to me, but I
haven't ever been through such a conversion. I suspect it is related to
some of the Rubocop Rails cops that have bitten me in the past so I don't
have a clear vision of what that change would entail, but I'd love to know
more.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/659#issuecomment-688514016,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAALDFBDDEZD3ZITUY3OOGDSEVFDVANCNFSM4Q37LPIQ
.

Thanks for sharing your thoughts on APIs, Nathan.  That's very helpful, and
I agree completely with what you're saying.  I was thinking last night that
I can write a script to scrape API users from the last couple of years.
That way I can write to everyone to see if my proposed changes will break
anything, and if so, I can work with them on it.  We're small and have very
few API users, let's make that work for us.
I think I will roll out a much smaller PR in the meanwhile that fixes the
most egregious bug (there are some missing includes in the current version
that cause high-detail observations requests to take forever).
On Mon, Sep 7, 2020 at 5:49 PM Joseph D. Cohen<EMAIL_ADDRESS>wrote:

Our RuboCop config file has a link to to how convert from HABTM to has_many
:through

MO uses HABTM extensively; RuboCop prefers the newer has_many through
Switching would require a migration process, detailed here:

http://chrisrolle.com/en/blog/migration-path-from-habtm-to-has_many-through

It's not worth the effort
Rails/HasAndBelongsToMany:
Enabled: false

On Mon, Sep 7, 2020 at 2:20 PM Nathan Wilson<EMAIL_ADDRESS>wrote:

@pellaea https://github.com/pellaea Your call on whether to merge this
as is or not. It still seems risky to me given all the changes and if I
were doing, I would take a really hard look at versioning the API and try
to go that way. I recognize that leaving the old stuff there can continue
to cause performance issues, but if it's a big concern, then I would look
at deprecating the API over time with some sort of notification to the
users.
The HABTM vs "has_many :through" argument kind of makes sense to me, but
I
haven't ever been through such a conversion. I suspect it is related to
some of the Rubocop Rails cops that have bitten me in the past so I don't
have a clear vision of what that change would entail, but I'd love to
know
more.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<
https://github.com/MushroomObserver/mushroom-observer/pull/659#issuecomment-688514016
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AAALDFBDDEZD3ZITUY3OOGDSEVFDVANCNFSM4Q37LPIQ
.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/659#issuecomment-688520103,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAYTNNKHU64X5HZFAIJQAH3SEVIOVANCNFSM4Q37LPIQ
.

Okay, what I've done is clone the API.  There are now two almost completely independent versions, API and API2.
This will be much easier to do again in the future, as there are lots of occurrences of API which refer to the concept of an API rather than the specific class API.  In the future we can just search and replace API2 with API3 and so on.
The one point of overlap is in helpers because rails doesn't allow you to separate out helpers.  However, fortunately, the only helpers used both in the new and old versions are xml_minimal_object and xml_detailed_object, so I just renamed the old ones to xml_minimal_object_old and xml_detailed_object_old.
The existing version (/api) is now completely unchanged (although it does incorporate the recent minimal fixes we pushed out to production the other week).
I will write a script to harvest the ids of API users from the logs so that we can notify them that there is a new version and that they should upgrade some time in the next year.  Fortunately, the changes on the users' end should be very minimal in this case.  And the new API is much faster (up to 3-4x faster!), so there is a good incentive to do so.
Then sometime next year we can simply remove API altogether.
I still apparently need to do some rubocop work, although this is made a bit challenging because rubocop no longer runs locally (complains about an invalid configuration).  I'll start hacking away at that soon as I can convince codeclimate to let me see the damned errors!  (grumble)

The Codeclimate stuff is mostly my fault. (It's almost all due to the RuboCop version upgrade. I probably should have held off on that.)
So I will take care of it tonight or tomorrow.

Actually, it's mostly because I cloned the API.  Now all existing
violations are considered "new".  If you could tell me how to fix the
config file locally, though, that would be a help.  Internet here is very
painfully slow today.
On Thu, Sep 17, 2020 at 4:27 PM Joseph D. Cohen<EMAIL_ADDRESS>wrote:

The Codeclimate stuff is mostly my fault. (It's almost all due to the
RuboCop version upgrade. I probably should have held off on that.)
So I will take care of it tonight or tomorrow.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/659#issuecomment-694481095,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAYTNNKUZRIT5YYNAOHZ7PDSGJWLRANCNFSM4Q37LPIQ
.

I don´t understand why RuboCop is complaining about configuration.
Are you running it on the VM or the host?
On Thu, Sep 17, 2020 at 1:38 PM codeclimate[bot]<EMAIL_ADDRESS>wrote:

Code Climate has analyzed commit 162fc9d
https://github.com/MushroomObserver/mushroom-observer/commit/162fc9d3344478e3983804a8e8e2d8c5f56eae7b
and detected 113 issues on this pull request.
Here's the issue category breakdown:
Category Count
Bug Risk 7
Style 104
Complexity 2
View more on Code Climate
https://codeclimate.com/repos/58cfc16d1035280287001d93/pull/659.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/659#issuecomment-694486903,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAALDFHIPAN5UXEBYGBHNHLSGJXTJANCNFSM4Q37LPIQ
.

On the VM.  I get this error message:
Error: The Style/MethodMissingSuper cop has been removed since it has
been superseded by Lint/MissingSuper. Please use Lint/MissingSuper
instead. (obsolete configuration found in .rubocop_todo.yml, please update
it)
Thanks!
On Thu, Sep 17, 2020 at 4:46 PM Joseph D. Cohen<EMAIL_ADDRESS>wrote:

I don´t understand why RuboCop is complaining about configuration.
Are you running it on the VM or the host?
On Thu, Sep 17, 2020 at 1:38 PM codeclimate[bot]<EMAIL_ADDRESS>
wrote:

Code Climate has analyzed commit 162fc9d
<
https://github.com/MushroomObserver/mushroom-observer/commit/162fc9d3344478e3983804a8e8e2d8c5f56eae7b
and detected 113 issues on this pull request.
Here's the issue category breakdown:
Category Count
Bug Risk 7
Style 104
Complexity 2
View more on Code Climate
https://codeclimate.com/repos/58cfc16d1035280287001d93/pull/659.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<
https://github.com/MushroomObserver/mushroom-observer/pull/659#issuecomment-694486903
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AAALDFHIPAN5UXEBYGBHNHLSGJXTJANCNFSM4Q37LPIQ
.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/659#issuecomment-694491118,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAYTNNNKHFMFXRQAGFZVD73SGJYTXANCNFSM4Q37LPIQ
.

I think the following will work:
in .rubocop_todo.yml,
change Style/MethodMissingSuper to Lint/MissingSuper
On Thu, Sep 17, 2020 at 1:51 PM Jason Hollinger<EMAIL_ADDRESS>wrote:

On the VM. I get this error message:
Error: The Style/MethodMissingSuper cop has been removed since it has
been superseded by Lint/MissingSuper. Please use Lint/MissingSuper
instead. (obsolete configuration found in .rubocop_todo.yml, please update
it)
Thanks!
On Thu, Sep 17, 2020 at 4:46 PM Joseph D. Cohen<EMAIL_ADDRESS>wrote:

I don´t understand why RuboCop is complaining about configuration.
Are you running it on the VM or the host?
On Thu, Sep 17, 2020 at 1:38 PM codeclimate[bot] <
<EMAIL_ADDRESS>
wrote:

Code Climate has analyzed commit 162fc9d
<

https://github.com/MushroomObserver/mushroom-observer/commit/162fc9d3344478e3983804a8e8e2d8c5f56eae7b

and detected 113 issues on this pull request.
Here's the issue category breakdown:
Category Count
Bug Risk 7
Style 104
Complexity 2
View more on Code Climate
https://codeclimate.com/repos/58cfc16d1035280287001d93/pull/659.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<

https://github.com/MushroomObserver/mushroom-observer/pull/659#issuecomment-694486903

,
or unsubscribe
<

https://github.com/notifications/unsubscribe-auth/AAALDFHIPAN5UXEBYGBHNHLSGJXTJANCNFSM4Q37LPIQ

.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<
https://github.com/MushroomObserver/mushroom-observer/pull/659#issuecomment-694491118
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AAYTNNNKHFMFXRQAGFZVD73SGJYTXANCNFSM4Q37LPIQ
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/659#issuecomment-694493373,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAALDFELUSN4IYTKQOALQPLSGJZGTANCNFSM4Q37LPIQ
.

It's in .rubocop_todo.yml.  That worked, thanks!
On Thu, Sep 17, 2020 at 4:56 PM Joseph D. Cohen<EMAIL_ADDRESS>wrote:

I think the following will work:
in .rubocop_todo.yml,
change Style/MethodMissingSuper to Lint/MissingSuper
On Thu, Sep 17, 2020 at 1:51 PM Jason Hollinger<EMAIL_ADDRESS>wrote:

On the VM. I get this error message:
Error: The Style/MethodMissingSuper cop has been removed since it has
been superseded by Lint/MissingSuper. Please use Lint/MissingSuper
instead. (obsolete configuration found in .rubocop_todo.yml, please
update
it)
Thanks!
On Thu, Sep 17, 2020 at 4:46 PM Joseph D. Cohen <
<EMAIL_ADDRESS>wrote:

I don´t understand why RuboCop is complaining about configuration.
Are you running it on the VM or the host?
On Thu, Sep 17, 2020 at 1:38 PM codeclimate[bot] <
<EMAIL_ADDRESS>
wrote:

Code Climate has analyzed commit 162fc9d
<

https://github.com/MushroomObserver/mushroom-observer/commit/162fc9d3344478e3983804a8e8e2d8c5f56eae7b

and detected 113 issues on this pull request.
Here's the issue category breakdown:
Category Count
Bug Risk 7
Style 104
Complexity 2
View more on Code Climate
https://codeclimate.com/repos/58cfc16d1035280287001d93/pull/659.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<

https://github.com/MushroomObserver/mushroom-observer/pull/659#issuecomment-694486903

,
or unsubscribe
<

https://github.com/notifications/unsubscribe-auth/AAALDFHIPAN5UXEBYGBHNHLSGJXTJANCNFSM4Q37LPIQ

.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<

https://github.com/MushroomObserver/mushroom-observer/pull/659#issuecomment-694491118

,
or unsubscribe
<

https://github.com/notifications/unsubscribe-auth/AAYTNNNKHFMFXRQAGFZVD73SGJYTXANCNFSM4Q37LPIQ

.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<
https://github.com/MushroomObserver/mushroom-observer/pull/659#issuecomment-694493373
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AAALDFELUSN4IYTKQOALQPLSGJZGTANCNFSM4Q37LPIQ
.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/659#issuecomment-694495492,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAYTNNMKJFA23DVQONKKEHDSGJZZHANCNFSM4Q37LPIQ
.

The last three issues apparently are pre-existing TODOs, and I have no intention of fixing those now.

Would it be okay if I replaced each of the preexisting TODOS with:

A Pivotal Tracker ticket, plus
A comment in the code referencing the ticket?

Sure, no difference to me.
On Fri, Sep 18, 2020 at 11:31 AM Joseph D. Cohen<EMAIL_ADDRESS>wrote:

Would it be okay if I replaced each of the preexisting TODOS with:

A Pivotal Tracker ticket, plus
A comment in the code referencing the ticket?

—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/659#issuecomment-694935826,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAYTNNNPB3KEILOOQVQULZLSGN4MTANCNFSM4Q37LPIQ
.

thanks. Will do.
On Fri, Sep 18, 2020 at 9:02 AM Jason Hollinger<EMAIL_ADDRESS>wrote:

Sure, no difference to me.
On Fri, Sep 18, 2020 at 11:31 AM Joseph D. Cohen<EMAIL_ADDRESS>
wrote:

Would it be okay if I replaced each of the preexisting TODOS with:

A Pivotal Tracker ticket, plus
A comment in the code referencing the ticket?

—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
<
https://github.com/MushroomObserver/mushroom-observer/pull/659#issuecomment-694935826
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AAYTNNNPB3KEILOOQVQULZLSGN4MTANCNFSM4Q37LPIQ
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/659#issuecomment-694951640,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAALDFGX2C4K6FG7LGDINYDSGOABBANCNFSM4Q37LPIQ
.


0.5.9 -- PubMedArticle.keywords support  (contribution from Sartoriius)

Long overdue support for keywords in PubMedArticle.  Produces list of keywords attached to this article in PubMed.  Example usage:
print(src.pma.keywords)

Closes issue #27
Bumps minor version to 0.5.9
Since this was an old pull request, I also had to do a small handful of ancillary fixes to pull it in.
Thanks Sartoriius!  (sorry it took so long to get this in).  Original pull request here:  https://github.com/metapub/metapub/pull/34

No problem! I was (still am) early in my coding journey and wanted to help out. Glad to hear you're doing better!


Fix namespace collision for string and CollectionUtils method IsNullOrEmpty

Why make this change?

Reference associated issue using # syntax. e.g. Closes #2469

There is a namespace collision for the IsNullOrEmpty method in the MsSqlQueryBuilder class between String and CollectionUtils class.

What is this change?

MsSqlQueryBuilder class had a check in the Build method where it was using IsNullOrEmpty for Strings but it was refrencing CollectionUtils Class instead

How was this tested?

[x] manual tests
[x] current existing tests

Actually, after searching the codebase there was only 1 more instance where string was being null checked wrong, so just added it in here, hope that's OK @abhishekkumams

/azp run

/azp run

/azp run


Can not update Refresh Token.

Hi,
I setup the avs-device-sdk 1.1.0 on my Raspberry Pi 3.
But I can not update Refresh Token.

My /home/pi/sdk-folder/sdk-build/Integration//AlexaClientSDKConfig.json
"authDelegate":{
"clientSecret":"9f5d3e1e069429961eb88f3601b30c06deab3e8d750a711000be3030--------",
"deviceSerialNumber":"12345678",
"refreshToken":"",
"clientId":"amzn1.application-oa2-client.aeaada4d89e043cfa445e2f7--------",
"productId":"my_pi3"
},
=> error message,
The refresh request failed with the response code 400. This might be due to a bad refresh token or  bad client data. We will continue with getting a refresh token, discarding the one in the file.
  * Running on http://<IP_ADDRESS>:3000/ (Press CTRL+C to quit)

My /home/pi/sdk-folder/sdk-build/Integration//AlexaClientSDKConfig.json
"authDelegate":{
"clientSecret":"9f5d3e1e069429961eb88f3601b30c06deab3e8d750a711000be3030--------",
"deviceSerialNumber":"12345678",
"clientId":"amzn1.application-oa2-client.aeaada4d89e043cfa445e2f7--------",
"productId":"my_pi3"
},
=> error message,
* Running on http://<IP_ADDRESS>:3000/ (Press CTRL+C to quit)

My AVS device information:
Product ID: my_pi3
Client ID: amzn1.application-oa2-client.aeaada4d89e043cfa445e2f7--------
Client secret: 9f5d3e1e069429961eb88f3601b30c06deab3e8d750a711000be3030--------
Amazon ID: A1G5MK7OLP7IOT
Allowed origins: http://localhost:3000
Allowed return URLs: http://localhost:3000/authresponse
How to fix the issue?
Thanks!
BR,
Wilson

hi, @cyh52701
This is not an error message, you have to use your browser to http://localhost:3000, then you will be redirected to the login interface of amazon, input your account and password, you will automatically return a refresh token to your json file.

Hi,
I run the http://localhost:3000 on my browser.
I have fixed the Refresh Token issue.
THS!

Thanks @snailwft!

Closing as it appears to be resolved.  If you're still facing the same issue, please re-open!


Make the server robust against bad input

Needed if we want to expose it on a network.

Might be worth investigating if fuzzing might be a valid solution for tests :)

@metalmatze indeed :)
But first I want to have a look at how the imported gopls code does its error handling.

depends on: #22

The gopls parts have the tendency to (purposely) panic on bad input.
It might make sense to just wrap a recover() around each client connection in order to end the connection more or less gracefully in case of any panics.

The current behavior is that the server might panic in case of malformed user input.
This is due to the design of gopls.
If the language server is running inside an IDE with the same permissions of the IDE this shouldn't be overly dramatic.
When the server is providing a connection over websocket these panics are caught, so that only the client providing the malformed input is affected.
This behavior shouldn't be problematic, so I'm closing the issue now.


Adds a reference to the xcode project

Hi,
I have been recently researched the possibility of packing the jxcore-cordova APIs to react-native, just this past days and stumbled upon this. I have to thank you a lot for the work you've done, and wanted to create an issue to add some information about my own findings.
I would like to help as far as I could contribute to your work, using jxcore-chackra to add iOS support, but don't know how much time I can commit.
Thanks a lot and sorry for the little-bit-too-much of a PR to comment this out.

Hi @jsdario. Thanks for submitting the PR, I appreciate the feedback.
Sorry to say, but we probably won't merge it because jxcore uses a quite old forked version of node.js which we don't want to start building on top, and the PR just adds a sentence as if I am saying it.
Hope you understand. 🙇

Of course, it was just a matter of discussing it before you opened issues, and to shed some light on possible contributions. Thanks for replying :)


Since 1df3dd3 tailable cursors get retried in a tight loop causing high load

Since 1df3dd3a0365213d199448e3ff93e3cb4235ea2a if a tailable cursor returns no documents, nextFunction is called again immediately.
This seems to be contrary to a comment in the source, and I don't think it's the right behaviour: the higher level module should decide when to retry.
(I believe this is the root cause of https://github.com/scttnlsn/mubsub/issues/49)

The problem is really that the tailable cursor code was broken. The cursor is actually still alive and this is what is causing the retries (it's been a long running bug in the driver). Now the question is do you set awaitData on the cursor this will cause the cursor to wait for a little before returning, breaking up the tight loop you are seeing.
If they use 3.2.x of mongodb they can also use the maxAwaitTimeMS function on the cursor.
collection.find({})
  .maxAwaitTimeMS(5000)
  .addCursorFlag('awaitData', true)
  .addCursorFlag('tailable', true);

This activates the awaitData flag, sets the cursor as tailable and makes the cursor wait for 5000 ms before returning on an en empty getMore (it will wait for 5000ms for new documents).

If mongodb is < 3.2, is the only option to go back to the 'broken' version then?

@autopulated no adding awaitData will still do the right thing on 3.0 or earlier just that you cannot control the period. There really are no situations where awaitData should not be set.

OK got it, thanks!

let me know if it has the desired effect

Works for me :+1:

@autopulated I think you should expose the maxAwaitTimeMS is possible as it will help you adjust the behavior for 3.2 and higher :)


Client-side HMR console logs not working in 3.0

I'm testing out Razzle v3 in some of my apps, and I have noticed that client-side HMR seems to be behaving differently in the latest 3.0.0. This occurs even using the basic examples and when using create-razzle-app.
Steps to Reproduce:
npx create-razzle-app --example basic razzle-test
cd razzle-test
yarn start

When you navigate to http://localhost:3000, you'll see the app, but if you open up the DevTools console you'll see the following log:
[HMR] Waiting for update signal from WDS...

and you will never see the expected follow up message (something like [WDS] Hot Module Replacement enabled).
This worked fine for me in 2.x so I'm assuming the upgrade to WDS in v3 is causing this issue? I am going to try and dig into it over the next few days but wanted to go ahead and get an issue out here in case anyone else is running into it.
I've tested with both Node 11 (latest) and Node 10 (LTS).
EDIT - It appears the HMR functionality itself is working, so maybe just an issue with how it's being logged to console. Code changes take affect but you won't see anything in the console about the updates being applieed

@fivethreeo

Might be here this happens. https://github.com/jaredpalmer/razzle/blob/master/packages/razzle/config/createConfig.js#L394

This issue is quite old. Is this still a issue? Closing


Refresh documentation

Codecov Report

Merging #182 into master will decrease coverage by 0.00%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #182      +/-   ##
==========================================
- Coverage   93.57%   93.57%   -0.01%
==========================================
  Files          25       25
  Lines        1573     1571       -2
  Branches      290      290
==========================================
- Hits         1472     1470       -2
  Misses         60       60
  Partials       41       41

Flag
Coverage Δ

#unittests
93.57% <ø> (-0.01%)
:arrow_down:

Impacted Files
Coverage Δ

...rd/ml/operator_converters/_tree_implementations.py
98.01% <0.00%> (-0.02%)
:arrow_down:

Continue to review full report at Codecov.

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


Login problem

SumupSDK.presentLogin(from: self, animated: true) { (success, error) in
}
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle </Users/lukapenger/Library/Developer/CoreSimulator/Devices/D097268F-1F18-42E8-BF94-4EB915A382B6/data/Containers/Bundle/Application/96CEE263-956A-4B39-9EA3-F8AC346AAC61/Nettle Pay.app> (loaded)' with name 'SMPSDKWelcomeViewController''

FIXED, bundles was not imported...


feat: Enhancements to GH vale-actions documentation

Enhancements to the instructions for integrating Vale (& vale-at-red-hat style rules) into the workflow of a GitHub docs repo.
Context: I used the updated vale-actioninstructions in #295.

@aireilly - Thank you for reviewing and suggesting enhancements :100:  I committed all except the fork warning comment, which needs confirmation from Fabrice.

@rolfedh - Thank you :100:


The defaults highlight config does not seem to work

The settings for the highlight in the default does not seem to work. I am using the following config:
require("live-command").setup {
  defaults = {
    enable_highlighting = false,
    inline_highlighting = false,
  },
}

Whether i set up enable_highlighting to true or false, I can still see the highlight for the changed text. The inline_highlighting option also does not seem to make any effect whether it is true or false.

Oops, another case of me forgetting to update the documentation... that's what happens when you keep a PR open for so long :sweat_smile:. Anyway, I will adjust the docs and migration guide.
For now, you can just use
require("live-command").setup {
  enable_highlighting = false,
  inline_highlighting = false,
}

I updated the docs, migration guide and improved the detection of using unsupported features (either when the defaults table is used or when commands are customized individually).

Thanks, I will update later


Check list for when opening a bug report issue

First check the following:

Latest version of neuron
Latest version of this plugin
You have a neuron.dhall file in you zettelkasten directory

Helpful information to know when reporting a bug:

Vim or NeoVim
List of steps followed when you saw the bug including the zettel

You should create a issue template for this list instead of just a issue, so that everyone sees it when creating an issue: https://docs.github.com/en/free-pro-team@latest/github/building-a-strong-community/about-issue-and-pull-request-templates.

You should create a issue template for this list instead of just a issue, so that everyone sees it when creating an issue: https://docs.github.com/en/free-pro-team@latest/github/building-a-strong-community/about-issue-and-pull-request-templates.

Great idea @lehmacdj  - @fiatjaf could you please do that or give me permission to do so?

Great idea @lehmacdj  - @fiatjaf could you please do that or give me permission to do so?

First check the following:
* Latest version of neuron

* Latest version of this plugin

* You have a `neuron.dhall` file in you zettelkasten directory

Helpful information to know when reporting a bug:
* Vim or NeoVim

* List of steps followed when you saw the bug including the zettel

There have been some major breaking changes lately in neuron, e.g. tag querying moved to its own plugin, query command and json output completely changed..etc -- so current neuron doesn't work anymore with current neuron.vim. Latest 'release' works, but I think this can be a bit confusing for new users as neuron's install page recommends installing from master.
Probably should also be mentioned in the readme.

First check the following:
* Latest version of neuron

* Latest version of this plugin

* You have a `neuron.dhall` file in you zettelkasten directory

Helpful information to know when reporting a bug:
* Vim or NeoVim

* List of steps followed when you saw the bug including the zettel

There have been some major breaking changes lately in neuron, e.g. tag querying moved to its own plugin, query command and json output completely changed..etc -- so current neuron doesn't work anymore with current neuron.vim. Latest 'release' works, but I think this can be a bit confusing for new users as neuron's install page recommends installing from master.
Probably should also be mentioned in the readme.


linker: make debug monitor isr symbol weak

It seems that currently it's impossible to create a custom implementation for debug monitor exception without updating the vector table (z_arm_debug_monitor maps to fault).
My proposition is to make this symbol weak, so that it can be overriden.
Additionally I added a config for setting the debugmon ISR to low priority (it should be low priority for debugging purposes).
Signed-off-by: Piotr Jasiński<EMAIL_ADDRESS>

CI failing consistently, but doesn't seem related:
INFO    - 438/477 qemu_cortex_m0            zephyr/samples/modules/chre/sample.modules.chre    FAILED Timeout (qemu 59.955s)
INFO    - /__w/zephyr/zephyr/twister-out/qemu_cortex_m0/zephyr/samples/modules/chre/sample.modules.chre/handler.log
ERROR   - *** Booting Zephyr OS build zephyr-v3.2.0-1908-g7088341374f3 ***
Failed to set thread name to "CHRE": -88
Hello CHRE!
[00:00:00.002,023] <inf> chre: CHRE init, version:
[00:00:00.002,500] <inf> chre: EventLoop start
EchoApp::nanoappStart()
Starting EchoApp... SUCCESS
Nanoapp count=1
Finding instance ID... SUCCESS
Nanoapp count=1
Instance ID: 1
Sending event 1...
EchoApp::nanoappHandleEvent(sender_instance_id=0, event_type=1, event_data@(nil))
Event (1) complete!
Ending EchoApp... FAIL
Goodbye!
EchoApp::nanoappEnd()
[00:00:01.020,148] <err> chre: Refusing to unload system nanoapp

@pjasinski990 It would be nice to extend this with an example, and showing how to configure registers to properly enable the debug monitor (clear C_DEBUGEN and set DBGKEY in DHCSR, etc.)

Given that the entire implementation here https://github.com/nrfconnect/sdk-nrf/pull/9505 is basically just Segger code, wouldn't adding this to Zephyr be better from a maintenance point of view? Given that the code isn't coming from Nordic, it will just end up with a situation where someone will reimplement the same again upstream anyway?
@carlescufi Any thoughts?

Given that the entire implementation here nrfconnect/sdk-nrf#9505 is basically just Segger code, wouldn't adding this to Zephyr be better from a maintenance point of view? Given that the code isn't coming from Nordic, it will just end up with a situation where someone will reimplement the same again upstream anyway?
@carlescufi Any thoughts?

Yes, I agree. Then this Segger code would have to go in the segger module repo. @pjasinski990 could you make this change please?

Given that the entire implementation here nrfconnect/sdk-nrf#9505 is basically just Segger code, wouldn't adding this to Zephyr be better from a maintenance point of view? Given that the code isn't coming from Nordic, it will just end up with a situation where someone will reimplement the same again upstream anyway?
@carlescufi Any thoughts?

@microbuilder this is now done, thanks for the suggestion, it really makes sense.

@pjasinski990 Can you clean up the compliance issues? Everything else looks good.

Compliance looks good, thanks for cleaning that up. Not sure why the BLE tests are failing. @carlescufi ???

@microbuilder @stephanosio can you please take another look?

@stephanosio @microbuilder please take another look


Address PR feedback

Thank @honzajavorek, I'm a JS noob and forget the ; all the time, but it works without the semicolon  ¯_(ツ)_/¯.

Yeah, me too actually. I suspect JS to introduce the "missing semicolon" feature in the early days to be forward compatible with coffee script :trollface:


How to output YUV data from any GPUImageFilter using shaders or GPUImageRawDataOutput ?

Hi @BradLarson ,
This problem confused me a long time, when I need some YUV data type to do some works from GPUImage library, I used GPUImageRawDataOutput to pull out rgba data and using some third lib to convert  RGBA to yuv, it has a bottleneck in this method.
So do I have do this  on GPU with shader or other method in GPUImage?
Please give some helps ,thx.

How you approach this will depend entirely on what kind of YUV data you want. There are tons of formats, with multiple configurations.
This becomes particularly tricky with planar data formats, since OpenGL ES 2.0 does not support multiple output render targets. You'd need to do multi-pass output rendering in that case, once for the Y channel and once for the UV channels. Interleaved YUV data might be able to be rendered in a single pass, but that also has its complexities.
There doesn't exist a standard way of doing this with GPUImage, short of writing your own shaders to convert to a particular YUV format.

Hi @erickingxu  I met the same problem with you, confused me for a week, can you solve it, how to solve, please help me, thank you very much

I do in another way:
I user rgba to write file by avasset, then analyse the file format to get the h264.


change html lang-tag string received from preferredLocaleString

Onboarding.tsx -> marked import statement threw type error when running locally, changed to named import
_document.tsx -> locale property was always undefined, probably due to recent or older changes. locale is now taken from preferredLocaleString property
browser locale is read properly now. not tested for mobile yet

LGTM! Let's see if this works on staging.


Style the "hidden from students" and drag and drop arrows when editing a course page

Done in the latest commit.


Discuss and choose the good zoom factor for the client

We need to discuss the zoom factor in the xy charts and time graph charts and make a decision on which factor to choose.
After testing zooming out in the time graph charts, I noticed that at some point the zoom factor would change abruptly and I would get lost. In the time graph charts, we use "const zoomMagnitude = hasZoomedIn ? 0.8 : 1.25 ;" but in the xy charts, we use a 10% change every time we zoom in or out.
Here is the result with the time graph charts

You can notice that at the beginning when I zoom in or out the zoom factor was constant but just when I get to the extreme right and zoom out again the factor changes completely and it zooms out much more than it did at first
Here is the images

ER = extreme right
Here is the result with XY charts

We can notice with the xy charts that the zoom in and zoom out are constant depending on the mouse position

What was the reason for having the zoom factor become larger when the beginning or the end of the trace is in view?

I'd like to hear @ssmagula's thoughts as well!
My quick thoughts (caveat: as a designer not a user) are that predictability and consistent feel should be the priority:

Predictable zooming behaviour within a chart. Ex. One scroll is always 10% change (regardless of whether close to edge)
Consistent zooming feel between chart types. It doesn't actually have to be the same percentage (maybe bigger changes are appropriate for certain chart types) as long as it feels consistent.


Fix YojimboClient state update logic

When running some tests I noticed that the YojimboClient would sometimes sets its state to CLIENT_STATE_CONNECTED before the server would execute the OnServerClientConnected callback. Looking at the current logic the YojimboClient sets the state to CLIENT_STATE_CONNECTED when the netcode state is NETCODE_CLIENT_STATE_SENDING_CONNECTION_RESPONSE rather than when it is NETCODE_CLIENT_STATE_CONNECTED.
This PR fixes that.

Thank you


rtl bug

RTL Tapping Issue:
The previous implementation reversed the behavior of taps for RTL layouts. When tapping on the left, it navigated to the next story, and tapping on the right navigated to the previous story. This behavior was counterintuitive for RTL users.
Fix: The tapping logic has been adjusted to handle RTL and LTR layouts correctly. Now, the package dynamically detects the layout direction and modifies the tap navigation accordingly.

Added detection for the TextDirection of the app.
Adjusted the tap logic for navigating to the previous or next story based on the current layout direction.

Testing & Validation
RTL Tapping Fix:
How to Use
RTL Tapping Fix:
No additional configuration is needed. The package automatically detects the layout direction and applies the correct tapping behavior.

Please resolve conflicts and do rebase. Thanks