Fetch and cache available sites from the API

Pending merger of https://github.com/inaturalist/iNaturalistReactNative/pull/77, we should retrieve the available sites from https://api.inaturalist.org/v2/sites to show what sites a user can choose to affiliate their account with in the Settings screen. These values should be cached so this will work offline, though the cache should be refreshed when the user views the Settings screen with an Internet connection. Similar to https://github.com/inaturalist/iNaturalistReactNative/issues/83, it's probably ok if that refresh only happens once a week or so.

Not relevant after switching to a web view for settings.


Vertical touching seems to be wrong

It looks like touching.up and touching.down should be swapped, because when object moving down and touching a tile, it shows that touching.up is true, instead of touching.down for that object.

@lewster32 what do you think my friend? 👍


Dart code generation

Introducing Protobuf Dart Gradle plugin.

The new plugin manages code generation config for Dart, as well as generating custom Dart code.
In particular, the plugin generated types.dart files — type registries for generated message types.
types.dart:

describes all the types which are compiled in this module, ignoring imports and dependencies;
maps Dart messages to type URLs;
maps type URLs to BuilderInfos — the Protobuf-specific type descriptors.

For generating types.dart files, the plugin defines a simple library which allows describing Dart language structured in an object-oriented way in Java. This approach may later be used for further Dart codegen (e.g. for validation code).

Also, this PR refactors the TaskName enum. Previously, it contained all the names of Gradle tasks used in the plugin. Now, TaskName is an interface implemented in a number of case-specific enums.

@armiol, PTAL.
@dmitrykuzmin, PTAL.

LGTM

@armiol, PTAL.

@alexander-yevsyukov, PTAL.


Thoughts on pooling/sharing actions?

I am tinkering with using ReGoap in situations where there is a plurality of actions that may satisfy a goal, which is different from the simplistic approach that the included example used(singleton resource managers, etc). The reason being is that I want to try and use the planner to create a good solution using some spatial considerations as well, which is not something the example does. Naturally this can create quite a number of action instances. Have you considered or thought about setting the actions up in a more dynamic or poolable manner, where the actions can be considered more globally available for any number of agents, rather than each agent having copies of them?
To get an idea what I'm shooting for, consider if the GoapTest example that is included allocated an action per instance of a tree resource, bank resource, workstation resource, etc, with conditions based on it's spatial location. The idea here is that provided the GoTo actions estimated their cost based on distance or travel time, the overall plan should represent the most efficient set of actions to perform based on travel time as well as just fixed action costs.
Seems GOAP isn't used that often in this manner, but I wanted to get your thoughts on the feasibility of globalizing a set of the actions rather than having to clone potentially dozens per agent.
Alternately, if you have a reasonable way to configure the conditions through the planner that might avoid the need to have an action per in-world resource and still get reasonable spatial considerations, I'm interested in that too.
Thanks

Could you explain why would you want to share Actions between many agents?
I don't see any advantages except, maybe, performance.
Talking about a way to configure actions to have spatial considerations you can just override GoapAction.GetCost and calculate the GoTo's cost yourself (if possible calculate it in GoapAction.Precalculations!).
Of course to do this you would still need to create an action for every different GoTo type, like done in the example.
What you are asking is how to implement generic actions? (ex. a generic GoTo for every movement without having to implement different classes for every movement like in the FSMExample?)

Thanks for the speedy reply.
If you imagine an RTS game in the realm of the example, you may have dozens of gathering units and hundreds or thousands of resource nodes, many workstations, "banks", etc. Cloning all those actions within each individual agent doesn't seem like an ideal use of memory or cpu. Plus, depending on how you implemented the world action pool, those actions could be attached to the very objects that can satisfy those actions, much like a sims-like smart object, so that its lifetime management is much easier than adding/removing components from each individual agent.
I also have a desire to not have individual goto types(based on destination type at least). That doesn't seem like the way to do it, from my reading of the fear papers and such. I see the goto action as a type of movement, a walking action, a flying action, that change the behavior of the action of moving itself, and that use generic conditions like locality to a destination to drive their selection. I gather that making goto variations based on destination types make the configuration of the conditions a bit easier, but I can't help but feel that it is not the right direction. If you imagine a game with 5 creature locomotion types, and 5 resource types, you start seeing an explosion of move action types if you built your move actions with a particular destination type in mind.
A move action gets you in proximity to some position, I don't see why it should be any concern of the move action itself whether it is moving to a resource or bank or whatever. I would imagine that during the planning phase, the current position and the destination position world state variables would be changing throughout each step of the plan, and the move actions would only need to estimate travel times based on those planner variables. Can you explain why you chose to have destination typed goto actions? Maybe I am missing an important reason here.
Thanks

I got it now, I think as well that the way to go is having a generic goto action like Jeff Orkin's Fear.
I have uploaded a new branch that handles wildcard effects/preconditions and, by simply adding a next GoapAction as parameter in some IReGoapAction's methods, that can be archieved now (and of course the planner is handling this).
Check it out, let me know if these changes fulfil the requirements you asked about GoTo:
https://github.com/luxkun/ReGoap/tree/dynamic-effects-and-preconditions
Note: this is not fine tested and breaks the current API, that's why I have created a secondary branch
This is a generic feature, it can be used for GoTo or for anything else (like "ActivateSmartObject"?), so that should also fulfil the requirement of having generic actions for generic resources and such.
So my idea is that you can create an agent with a single "CollectResource" action that finds the closest/needed resource/smartobject (ideally in "Precalculations"), with a precondition (dynamically changed every call of "Precalculations" or "GetPreconditions")
Important: this feature is available ONLY in Backward search (I think forward search has to go even more now)
Let me know if this is what you required and if it works like you want.

Thanks! I will try tinker with it soon as I can and provide feedback.

I appreciate that wildcard change. That will help keep actions generic.
I'm not quite seeing how this resolves the smart object issue, specifically the "many actions of type" issue that was described earlier. The resources in the game still appear to be effectively narrowed to singular actions by the selection of "nearest tree" in the tree sensor for instance. Not to say that is not a valid way to do things, because that is certainly a way to keep things cheap in a complex environment, by narrowing the context of certain classes of actions separately from the planning phase. It's just that for uses that want the plan to account for travel time properly, they would need to have a way to treat each resource independently.
Here's what I would propose. If you aren't interested in this for the core library, that is fine too, I can fork and do this part on my own, though it would be less ideal in keeping up with any other changes.
I think I would do something like this.

Allow actions to be marked "global". There can be a checkbox on the GoapAction base class, or if warranted, maybe subclass GoapAction as GlobalGoapAction if there is good reason to create a harder dividing line.
If an action is a global action it registers with GoapPlannerManager.instance.RegisterGlobalAction(), and de-registers on destroy
Extend the planner to consider and expand its search on global actions as well as the actions that are on an agent.

Seems simple enough, though there would need to be some minor refactoring to eliminate the agent member variable from the actions. Obviously GoapActions would need to be fully divorced from ownership with a particular agent, and have the agent just passed in to the interface functions instead(to Run, etc). That also means than any state that needs to be tracked by the actions could not be stored as member variables for those global, but that can be worked around pretty easily, via a blackboard on the agent or storing things in its shared memory. I would think that most "world" actions would not tend to be very stateful things(at least with agent specific information)
With these relatively simple changes, not only could you facilitate more complex spatially aware plans, but you could eliminate a ton of component instances that would otherwise have to be managed on each agent.
In the context of the ExampleFSMScene, there could be a global action on each resource for example, which would obviously increase the planning cost, but when the plan considers each one, travel time estimates can assist the plan in selecting the most efficient one.
There are many contexts where this type of goap use would be absolutely required if one wanted to achieve certain behaviors.

Going to the nearest resource to the agents current position is not necessarily the most efficient plan, for a variety of reasons, such as maybe it moves you away from the delivery point, so the combined overall travel time would be worse, etc
If your resource gatherer could hold multiple resource types, the plan would favor getting all he could by visiting the least number of resource nodes, likely passing up nearby resource nodes with only a few for the ones he can load up on more units of the resource in one go.
If your resource gatherer moved at different speeds based on how loaded down he was. Resource selection would be even more important. Minimizing the loaded down time would be, and the plan would solve that by gathering resources nearest to where they need to take them, simply by having the travel time estimates apply a loaded multiplier to the travel time.

Providing support for such global actions is not mandating people use it in this way of course. For many different uses it's a perfectly sane choice to narrow the planner search space like the example does now, but to some types of behavior like the above, it is really the only way to get there.
Thoughts?

Related to this, I think a global goal pool would be very useful as well. In an RTS game, a GoalConstructBuilding might be instantiated as a component of the building, and any agents that can contribute to building can see that single global goal as if it were their own. As a single instance, it becomes much easier and cheaper to dynamically adjust the requirements of the plan as resources are delivered and/or work is done, rather than doing that work for every agent in the scenes copy of that goal.

I think this can be already done with a component (something like GlobalActionPooler), which automatically adds nearby (or all) actions from a pool (GlobalActionPool) to the current agent.
Am I wrong? Of course this would have the "problem" to have multiple actions for every agent.
Another approch is to have an action that automatically gets SmartObjects (an object which has all the informations the action need to operate) in someway (nearby, facing, your logic here) and changes its preconditions and effects based on the smartobject, the goal could also do the same like you proposed.
As for the resources the current example can be made more generic having a single action to gather any resource, this is not very complicated at all, just remove resourceName and dynamically update it with your logic.
But I get why you want to do this, it's simplier and has less overhead since you don't have to instantiate the actions for every agent, but I'm pretty sure this is almost negligible (if this is not the case an example with performance profiling would be nice).
It's the same with goals of course.
I'm open to add this to the library, but working on other things right now, also I'm unsure if I would ever use this or the normal approach, since this does not add anything to the things the agent can do, so if you're interested in implementing this I would appreciate a pull request with your changes, pull requests are always welcome! 👍

I think my chief concern is with the cost ramping up(with each agent) of doing whatever analysis of the environment is required to generate certain actions. That part could still be globalized and submitted to a pool, and then the agents would need to dynamically at runtime sort of mirror that global pool in the form of instantiating child actions based on that pool, and do all the runtime bookkeeping required to keep them in sync.
I'm fine with implementing something myself and doing a PR, I'm just a bit on the fence still about the approach. At first glance it doesn't seem very detrimental to make actions stateless with respect to a particular agent(remove the agent ref, etc), in favor of passing it in to the various functions, but that's the kind of thing that can easily come back to bite you. It may be safer, if more costly, not to break the current action paradigm.
I'm thinking there might be a hybrid approach, where there is a single GatherResource action on the agent, but which gets expanded upon during the search inside a loop based on a globally instantiated resource action pool. That eliminates the per agent book keeping and memory bloat, and keeps the action itself on the agent, so it could still hold state.
Something like
ActionGatherResource - associated with a type ActionResourceInstance
Then at the planner level
if(action has associated instance type), expand search for each instance of that action in the global pool

I've forked the repo to experiment with some of these topics. I got a shared action pool working last night. Haven't pushed yet but I will when I get it a little further.

Related to this, I don't have the code in front of me but do you recall the reasoning for doing the default(Vector3) preconditions and such? I think there was a todo comment about finding a workaround. Is that because there isn't a convention of clearing state for an effect?

Are you talking about the SetDefaultEffects method? here:
https://github.com/luxkun/ReGoap/blob/master/Unity/FSMExample/Actions/GenericGoToAction.cs
It's not strictly needed to have preconditions and effects with a value even when the action hasn't processed them (talking about dynamic actions), but it looks clearer to have them, to me.
One thing that could change is using a Vector3? intead of a plain Vector3, but it has an additional overhead which isn't really needed.

Yea. I understand you have to seed "isAtPosition" with something or the planner won't know that it can use that action to satisfy that condition.
I'm talking about the todo: in
https://github.com/luxkun/ReGoap/blob/98b01c8ac62bfb0207b14a885a03477add7b221a/Unity/FSMExample/Actions/CraftRecipeAction.cs
Was there some issue that required that action to have an "isAtPosition" effect of zero?

Basically with the current approach the planner wouldn't understand that the "isAtPosition" hasn't yet been setted yet, in the real world plan, while trying to check missing preconditions.
What happened with CreaftRecipeAction (without resetting isAtPosition in the effects) is that the planner would put right after the 1st CraftRecipeAction the GoTo action and think that the 2nd CraftRecipeAction (which was after the GoTo, so before in real world) preconditions were fine.
By resetting the isAtPosition I was forcing the planner to add a new GoTo action right after any CraftRecipeAction.
I have changed the core of ReGoapNode, where the new goal is calculated, this is quite big for old codes, also I have dropped the false preconditions support (the planner basically was ignoring false preconditions with the predicate in MissingState, removed this since it's the same but force the library's users to remove any false precondition).
Now the whole action precondition is added to goal and then the goal is cleared with the world's state and the current action effects.
The tests are all fine and so is the fsmexample, let me know if you have any problem with the new changes.
Commit: https://github.com/luxkun/ReGoap/commit/bf7526c69d836caf9c1e06727830bf0325f9190e


OP-based assurance case generation for AI ML Assurance

Create a toolchain to generate GSN fragments and an interactive dashboard for the FAA project
Notes:

No need to be a generic tool. Can be tied to the FAA ontology initially
Try to incorporate the Javafx Eclipse views for the GUI, if possible
Try to see if we can integrate with Vanderbilts vscode based interface

Features of first version:

Tied to FAA ontology
generates a clickable drop down of the content we put in the
generates Graphviz
attached to the GSN navigator
generates SADL GSN

Being developed separately in the AI_ML repository until get approval for public release from the FAA


keep GH Actions deps updated with dependabot

Codecov Report

Merging #643 (f0b2f7d) into main (61022c7) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head f0b2f7d differs from pull request most recent head e0e16d5. Consider uploading reports for the commit e0e16d5 to get more accurate results

@@           Coverage Diff           @@
##             main     #643   +/-   ##
=======================================
  Coverage   96.35%   96.35%
=======================================
  Files          30       30
  Lines         439      439
  Branches       77       77
=======================================
  Hits          423      423
  Misses         16       16

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 749e0bb...e0e16d5. Read the comment docs.


Enable python-qt-bindings-webkit rosdep key for newer Ubuntu distros

The package is still available in newer Ubuntu distros: https://packages.ubuntu.com/search?suite=all&arch=any&searchon=names&keywords=python-qt4
python-qt-bindings=webkit is required to build rqt_web as part of a ROS indigo desktop distribution for Ubuntu Xenial, which actually works almost flawlessly.

Looks good to me.
@meyerj Please be aware that you may have some conflicts / unexpected behaviour given that some rosdep keys pull in Qt5 on Xenial when pulling Qt4 on previous ubuntu distributions (e.g. libvtk-qt and
libqwt6)


Optimize Log Cleanup for RadioVis

This : https://github.com/ebu/radiodns-plugit/blob/develop/RadioDns-PlugIt/radiovis/actions.py#L333
Generates application crashes as the log entries are loaded into Django Objects.
Use pure SQL queries ?

Implemented.


Keep parity with latest stable release of Yarn Spinner instead of latest commit

Be careful with the submodule, maybe needs to be a subtree.

Moving this to v3


3.x upgrade Weld

Upgrade Weld in Helidon 3.x to at least 4.0.3.Final
http://weld.cdi-spec.org/download/

https://github.com/helidon-io/helidon/pull/6137


Minor typo bug in models.lua

On line 28, it should be opt.backend.

hi, can this model run without GPU? run on cpu mode only?
@anantzoid can u help?


Added support for changing preferred resolution in options

I'd rather not make users type in their preference. Can we populate a dropdown with common resolutions instead?

Sure, sounds good. More advanced users could just edit settings.json manually if needed.

Can we go up higher? Notably missing:

1920x1080
1920x1200
4K

How about a windowed option while we're at it, too?

Sure.

I've added the missing resolutions and a fullscreen option, but MonoGame seems to ignore Graphics.IsFullScreen and stays windowed.

Graphics.IsFullScreen seems to work for me.

Yeah, just tried your changes out and it worked fine for me. :smile:

Weird. We should open an issue to address it later, if someone else can confirm it's a Windows thing.

Sounds good, feel free to open one describing your symptoms.


Add NIOFilesystem

Motivation:
I/O is typically blocking, but options for interacting with the
filesystem using async APIs are limited. This change adds a new module
to NIO, NIOFileSystem. At the moment this is exposed as the
_NIOFileSystem product while users get a chance to try it out and
provide feedback.
During this time the API of NIOFileSystem is subject to change.
Breaking changes will come in minor NIO releases and additive changes
may come in patch releases of NIO.
Modifications:

Add NIOFileSystem, NIOFileSystemFoundationCompat,
NIOFileSystemTests, NIOFileSystemIntegrationTests, and
NIOFileSystemFoundationCompatTests.
Update docs
Update CNIOLinux and CNIODarwin shims

Result:
File system can be accessed via async APIs

This change is split into two commits:

Update C shims, docs, etc: https://github.com/apple/swift-nio/pull/2615/commits/6e9ed64f6c2284d2c38f3630fb992909b7e96ccd
Add filesystem: https://github.com/apple/swift-nio/pull/2615/commits/589c5c450359a557757380067647cde1878b854d

Very cool. Haven't had time to dig in looking at the implementation yet, but just wanted to check if the design has a memory ownership model suitable for (and is considering...) true async backends (ie. Io_uring) - would make sense to use that if available (even if not part of the initial implementation, it would be nice to be able to add it in later without too much trouble).

One thing I've noticed is GH actions running on a macOS 13 runner fail to compile because they can't find the FTS symbols

One thing I've noticed is GH actions running on a macOS 13 runner fail to compile because they can't find the FTS symbols

Thanks for highlighting this, will investigate.

Great stuff! I think this PR is already using swift-format right? Should we setup format checking for just the new modules as a way to get us started with adopting swift-format and avoiding format divergence in those new modules?

It was, yes. We can but if we do that it should be in a separate PR.

I did have one crash. deinit was run on a lock that still had a count. I cannot be sure if it was my code or the file system code though. It seemed to be related to a task using a readChunks AsyncSequence being cancelled. I cannot replicate it though

Interesting, could you share what the calling code looking like?

Err that was last year 😬 . It's in one of the Soto multipart S3 upload/download functions. They are pretty complex. I just had a quick look through the code and I found an unstructured Task in one of the download functions (That section was written in the swift 5.5 anything goes days) it isn't exactly in the file saving part but means the code is probably untrustworthy. I'll rewrite it, I was meaning to anyway, and see if I can replicate after that.

Very cool. Haven't had time to dig in looking at the implementation yet, but just wanted to check if the design has a memory ownership model suitable for (and is considering...) true async backends (ie. Io_uring) - would make sense to use that if available (even if not part of the initial implementation, it would be nice to be able to add it in later without too much trouble).

There is API space for different backend implementations but I don't have enough experience with io_uring to know if or how well it'd fit. It'd be great to have support but it isn't a priority for us and is unlikely to be one any time soon.

Very cool. Haven't had time to dig in looking at the implementation yet, but just wanted to check if the design has a memory ownership model suitable for (and is considering...) true async backends (ie. Io_uring) - would make sense to use that if available (even if not part of the initial implementation, it would be nice to be able to add it in later without too much trouble).

There is API space for different backend implementations but I don't have enough experience with io_uring to know if or how well it'd fit. It'd be great to have support but it isn't a priority for us and is unlikely to be one any time soon.

It is a true async syscall interface with basically two ring buffers on in each direction, we can pray that we will get something similar on Darwin in the future too as it's really a great step forward on many fronts - we are working on getting backend support for io_uring for the networking part in https://github.com/apple/swift-nio/pull/2357 and there were some discussions in https://github.com/apple/swift-nio/issues/1890 and https://github.com/apple/swift-nio/issues/1805 with regard to memory ownership in that context.
The major issue in general is typically memory ownership of buffers and the assumption that syscalls are synchronous in nature, rather than allowing for a completion event to finish the syscall - designing api surfaces so that it's possible to write a backend which is async in nature would be nice future proofing - but now, I still haven't had time to go through the API in detail, just wanted to share the links above as they might be relevant.

One thing I've noticed is GH actions running on a macOS 13 runner fail to compile because they can't find the FTS symbols

@adam-fowler FYI this should be fixed in https://github.com/apple/swift-nio/pull/2615/commits/52a0091d9f51467cf174c0d5ed48cca93db9361b

@adam-fowler FYI this should be fixed in https://github.com/apple/swift-nio/pull/2615/commits/52a0091d9f51467cf174c0d5ed48cca93db9361b

I reran the failing job and it worked 👍

Credit also goes to @stefanadranca and @gjcairo who contributed to this work.


[Bug] move package prove stuck on language/documentation/tutorial/step_7

🐛 Bug

Move prover stuck (more than 3 hours) when running move package prove at step 7 of the tutorial
To reproduce
follow guide in language/documentation/tutorial/README.md, run move package prove at step 7
Code snippet to reproduce
move package prove

Stack trace/error message
output of move package prove:
[INFO] preparing module 0xcafe::BasicCoin
[INFO] transforming bytecode
[INFO] generating verification conditions
[INFO] 6 verification conditions
[INFO] running solver
// stuck here

output of cargo run --package move-cli -- package prove -- -v debug
    Finished dev [unoptimized + debuginfo] target(s) in 0.14s
     Running `/home/jiangying/code/move/target/debug/move package prove -- -v debug`
[INFO] preparing module 0xcafe::BasicCoin
[INFO] transforming bytecode
[INFO] generating verification conditions
[INFO] 6 verification conditions
22:11:19 [DEBUG] (1) move_prover: writing boogie to `output.bpl`
[INFO] running solver
22:11:19 [DEBUG] (1) move_prover_boogie_backend::boogie_wrapper: command line: /home/jiangying/.dotnet/tools/boogie -doModSetAnalysis -printVerifiedProceduresCount:0 -printModel:1 -enhancedErrorMessages:1 -monomorphize -proverOpt:O:model_validate=true -proverOpt:PROVER_PATH= -proverOpt:O:smt.QI.EAGER_THRESHOLD=100 -proverOpt:O:smt.QI.LAZY_THRESHOLD=100 -vcsCores:4 output.bpl
22:11:19 [DEBUG] (81) move_prover_boogie_backend::prover_task_runner: running Boogie command with seed 1
// stuck here

Expected Behavior

should print error as doc said
System information
Please complete the following information:

move-cli 0.1.0 (built from latest main branch)
rustc 1.60.0 (7737e0b5c 2022-04-04)
Ubuntu 18.04.5 LTS x86_64

Additional context
tried but not work:
debug / release build mode
df-cli / move-cli
install boogie 2.9.6 (project default) / boogie 2.15.2 (latest)
run scripts/dev_setup.sh -ypt, cargo clean, cargo build

Find out that I had an z3 4.4.1 installed as /usr/bin/z3, export Z3_EXE=~/bin/z3 solved this issue


Invalid 'http://asciidoctor.org' references

In docs, Javadocs, etc. there are several references to http://asciidoctor.org (around 30).
We should:

[ ] Use only https references
[ ] Update when necessary to point to the new docs site (https://docs.asciidoctor.org/)

For both:

[ ] v3.0.0
[ ] v2.5.9

Great, we can't assign multiple milestones to an issue :disappointed: I find GH goes to great lengths to not make life easier for maintainers.

I tend to use tags for this instead.

I tend to use tags for this instead.

It seems indeed the only option.


Persistent dismissal of image upload message

Summary:
The message that informs the user that only one image is necessary for an upload should not be displayed once the user dismisses this. You can check out the message that was added in #789. The message should always appear, but once dismissed by the user, this should be stored in prefs and never shown again.
Expected behavior:
This should always display unless dismissed by the user. Once dismissed by the user, it should never show again.

I am working on it.


Product changelog january new

Description
A new January Release Roundup was published, so adding this to the Docs page.

 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.Thomas Richards seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

LGTM! Please sign the CLA and ship it.


I'm using nuxt 3 to create a web app where users can upload files. Now I store them in a public folder, and I assume they will be available to users in that folder Other files like favicon get serviced but not uploaded files, I get a 404 error, during yarn dev it seems to work fine, but not after building with yarn build. This is a screenshot of the folder that can access the Favicon .ico, but not the newly uploaded screenshots. How can I mitigate this?

Environment
nuxt 3.5.3
Reproduction
I'm using nuxt 3 to create a web app where users can upload files. Now I store them in a public folder, and I assume they will be available to users in that folder
Other files like favicon get serviced but not uploaded files, I get a 404 error, during yarn dev it seems to work fine, but not after building with yarn build. This is a screenshot of the folder that can access the Favicon .ico, but not the newly uploaded screenshots. How can I mitigate this?
Describe the bug
I'm using nuxt 3 to create a web app where users can upload files. Now I store them in a public folder, and I assume they will be available to users in that folder
Other files like favicon get serviced but not uploaded files, I get a 404 error, during yarn dev it seems to work fine, but not after building with yarn build. This is a screenshot of the folder that can access the Favicon .ico, but not the newly uploaded screenshots. How can I mitigate this?
Additional context
No response
Logs
No response

check on this
https://github.com/nuxt/nuxt/issues/15779#issuecomment-1397418353
btw: pls shorten the title, it's too long. 😱

let's track in your other issue https://github.com/nuxt/nuxt/issues/21689.

检查这个#15779（评论）
顺便说一句：请缩短标题，太长了。😱

Thanks, it has been solved according to your suggestion


Add support for processing multiple certificate files

Current support is for a single file only with the assumption that the certificate file may contain multiple certificates within.
Support processing multiple certificates in received order.

If provided, this support will likely make the assumption that all specified certificates are for the same certificate chain and are provided in a specific order:

leaf cert
intermediates
root

The original thinking might conflict with changes being drafted for GH-2, so this will likely be pushed out a bit until those changes settle.


fix build on windows machine

i wanted to be able to help by fixing some old pending outdated PR but your project was not building on windows 10.
added what needed to make yarn build get the things done on windows.

thx!


can not ping some pod ip successlly

can not ping some pod ip successlly
Expected Behavior

ping any pod ip successlly from any host in k8s cluster
Current Behavior

some pod ip in my k8s cluster can not ping successlly
[root@offlinetraining-0001 test]# kubectl get nodes
NAME                             STATUS    ROLES     AGE       VERSION
gpu16c-0001.novalocal            Ready     <none>    1h        v1.9.6
offlinetraining-0001.novalocal   Ready     master    4d        v1.9.6
offlinetraining-0002.novalocal   Ready     master    4d        v1.9.6
offlinetraining-0003.novalocal   Ready     master    4d        v1.9.6
offlinetraining-0006.novalocal   Ready     <none>    4d        v1.9.6
[root@offlinetraining-0001 test]# kubectl get pods -n kube-system -o wide
NAME                                                     READY     STATUS    RESTARTS   AGE       IP                NODE
calico-etcd-5864c5f4b9-wvnb5                             1/1       Running   0          3h        <IP_ADDRESS>    offlinetraining-0001.novalocal
calico-kube-controllers-675684d4bb-pqdqs                 1/1       Running   0          3h        <IP_ADDRESS>    offlinetraining-0001.novalocal
calico-node-bpzz8                                        2/2       Running   0          3h        <IP_ADDRESS>    offlinetraining-0003.novalocal
calico-node-kqrsm                                        2/2       Running   0          3h        <IP_ADDRESS>    offlinetraining-0002.novalocal
calico-node-vs4c7                                        2/2       Running   0          3h        <IP_ADDRESS>    offlinetraining-0001.novalocal
calico-node-x2qlq                                        2/2       Running   1          1h        <IP_ADDRESS>    gpu16c-0001.novalocal
calico-node-x9jz7                                        2/2       Running   0          3h        <IP_ADDRESS>    offlinetraining-0006.novalocal
kube-apiserver-offlinetraining-0001.novalocal            1/1       Running   0          4d        <IP_ADDRESS>    offlinetraining-0001.novalocal
kube-apiserver-offlinetraining-0002.novalocal            1/1       Running   0          4d        <IP_ADDRESS>    offlinetraining-0002.novalocal
kube-apiserver-offlinetraining-0003.novalocal            1/1       Running   0          4d        <IP_ADDRESS>    offlinetraining-0003.novalocal
kube-controller-manager-offlinetraining-0001.novalocal   1/1       Running   0          4d        <IP_ADDRESS>    offlinetraining-0001.novalocal
kube-controller-manager-offlinetraining-0002.novalocal   1/1       Running   0          4d        <IP_ADDRESS>    offlinetraining-0002.novalocal
kube-controller-manager-offlinetraining-0003.novalocal   1/1       Running   0          4d        <IP_ADDRESS>    offlinetraining-0003.novalocal
kube-dns-6f4fd4bdf-pphhc                                 3/3       Running   0          3h        <IP_ADDRESS>   offlinetraining-0003.novalocal
kube-proxy-7sgm7                                         1/1       Running   0          4d        <IP_ADDRESS>    offlinetraining-0002.novalocal
kube-proxy-8bsk2                                         1/1       Running   0          1h        <IP_ADDRESS>    gpu16c-0001.novalocal
kube-proxy-9fm7f                                         1/1       Running   0          4d        <IP_ADDRESS>    offlinetraining-0006.novalocal
kube-proxy-9vfmz                                         1/1       Running   0          4d        <IP_ADDRESS>    offlinetraining-0003.novalocal
kube-proxy-rrqps                                         1/1       Running   0          4d        <IP_ADDRESS>    offlinetraining-0001.novalocal
kube-scheduler-offlinetraining-0001.novalocal            1/1       Running   1          4d        <IP_ADDRESS>    offlinetraining-0001.novalocal
kube-scheduler-offlinetraining-0002.novalocal            1/1       Running   0          4d        <IP_ADDRESS>    offlinetraining-0002.novalocal
kube-scheduler-offlinetraining-0003.novalocal            1/1       Running   0          4d        <IP_ADDRESS>    offlinetraining-0003.novalocal

pod on the node "gpu16c-0001.novalocal" can not ping successslly from any host
pod on other node works fine!
for example
# kubectl get pods -o wide
NAME              READY     STATUS    RESTARTS   AGE       IP                NODE
rc-centos-58jdm   1/1       Running   0          1h        <IP_ADDRESS>    gpu16c-0001.novalocal
rc-centos-6nklz   1/1       Running   0          1h        <IP_ADDRESS>     offlinetraining-0006.novalocal
rc-centos-6vqgd   1/1       Running   0          1h        <IP_ADDRESS>    gpu16c-0001.novalocal
rc-centos-blpxr   1/1       Running   0          1h        <IP_ADDRESS>   offlinetraining-0003.novalocal
rc-centos-gzhxv   1/1       Running   0          1h        <IP_ADDRESS>      offlinetraining-0001.novalocal
rc-centos-kdwk6   1/1       Running   0          1h        <IP_ADDRESS>     offlinetraining-0006.novalocal
rc-centos-r4qd5   1/1       Running   0          1h        <IP_ADDRESS>   offlinetraining-0002.novalocal
rc-centos-zf9w7   1/1       Running   0          1h        <IP_ADDRESS>   offlinetraining-0002.novalocal

[root@offlinetraining-0001 test]# ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=63 time=0.363 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=63 time=0.351 ms
64 bytes from <IP_ADDRESS>: icmp_seq=3 ttl=63 time=0.365 ms
^C
--- <IP_ADDRESS> ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.351/0.359/0.365/0.022 ms

[root@offlinetraining-0001 test]# ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
^C
--- <IP_ADDRESS> ping statistics ---
6 packets transmitted, 0 received, 100% packet loss, time 4999ms

**and ping hostIp of gpu16c-0001.novalocal successffly**
[root@offlinetraining-0001 test]# ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=64 time=1.01 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=64 time=0.689 ms
64 bytes from <IP_ADDRESS>: icmp_seq=3 ttl=64 time=0.307 ms
64 bytes from <IP_ADDRESS>: icmp_seq=4 ttl=64 time=0.312 ms
^C
--- <IP_ADDRESS> ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3000ms
rtt min/avg/max/mdev = 0.307/0.581/1.017/0.295 ms

**and ping podip on its host also successffly**
[root@gpu16c-0001 sysctl.d]# ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=64 time=0.076 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=64 time=0.067 ms
64 bytes from <IP_ADDRESS>: icmp_seq=3 ttl=64 time=0.062 ms
64 bytes from <IP_ADDRESS>: icmp_seq=4 ttl=64 time=0.063 ms
^C
--- <IP_ADDRESS> ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.062/0.067/0.076/0.005 ms

and route info on those node
[root@offlinetraining-0001 test]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
<IP_ADDRESS>         <IP_ADDRESS>  <IP_ADDRESS>         UG    0      0        0 eth0
<IP_ADDRESS> <IP_ADDRESS>    <IP_ADDRESS> UGH   0      0        0 eth0
<IP_ADDRESS>      <IP_ADDRESS>         <IP_ADDRESS>     U     0      0        0 docker0
<IP_ADDRESS>      <IP_ADDRESS>         <IP_ADDRESS>     U     0      0        0 br-191c127672c3
<IP_ADDRESS>    <IP_ADDRESS>         <IP_ADDRESS> U     0      0        0 *
<IP_ADDRESS>    <IP_ADDRESS>         <IP_ADDRESS> UH    0      0        0 cali47777895bc4
<IP_ADDRESS>    <IP_ADDRESS>         <IP_ADDRESS>   U     0      0        0 eth0
<IP_ADDRESS>    <IP_ADDRESS>  <IP_ADDRESS> UG    0      0        0 tunl0
<IP_ADDRESS>  <IP_ADDRESS>  <IP_ADDRESS> UG    0      0        0 tunl0
<IP_ADDRESS>  <IP_ADDRESS>  <IP_ADDRESS> UGH   0      0        0 eth0
<IP_ADDRESS> <IP_ADDRESS>  <IP_ADDRESS> UG    0      0        0 tunl0
<IP_ADDRESS> <IP_ADDRESS>  <IP_ADDRESS> UG    0      0        0 tunl0

[root@offlinetraining-0006 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
<IP_ADDRESS>         <IP_ADDRESS>  <IP_ADDRESS>         UG    0      0        0 eth0
<IP_ADDRESS> <IP_ADDRESS>    <IP_ADDRESS> UGH   0      0        0 eth0
<IP_ADDRESS>      <IP_ADDRESS>         <IP_ADDRESS>     U     0      0        0 docker0
<IP_ADDRESS>    <IP_ADDRESS>  <IP_ADDRESS> UG    0      0        0 tunl0
<IP_ADDRESS>    <IP_ADDRESS>         <IP_ADDRESS>   U     0      0        0 eth0
<IP_ADDRESS>    <IP_ADDRESS>         <IP_ADDRESS> U     0      0        0 *
<IP_ADDRESS>   <IP_ADDRESS>         <IP_ADDRESS> UH    0      0        0 cali4417a17dc97
<IP_ADDRESS>   <IP_ADDRESS>         <IP_ADDRESS> UH    0      0        0 calib302e4018a6
<IP_ADDRESS>  <IP_ADDRESS>  <IP_ADDRESS> UG    0      0        0 tunl0
<IP_ADDRESS>  <IP_ADDRESS>  <IP_ADDRESS> UGH   0      0        0 tunl0
<IP_ADDRESS> <IP_ADDRESS>  <IP_ADDRESS> UG    0      0        0 tunl0
<IP_ADDRESS> <IP_ADDRESS>  <IP_ADDRESS> UG    0      0        0 tunl0

[root@gpu16c-0001 sysctl.d]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
<IP_ADDRESS>         <IP_ADDRESS>  <IP_ADDRESS>         UG    0      0        0 eth0
<IP_ADDRESS> <IP_ADDRESS>    <IP_ADDRESS> UGH   100    0        0 eth0
<IP_ADDRESS>      <IP_ADDRESS>         <IP_ADDRESS>     U     0      0        0 docker0
<IP_ADDRESS>      <IP_ADDRESS>         <IP_ADDRESS>     U     0      0        0 br-53f0d1b11a3e
<IP_ADDRESS>    <IP_ADDRESS>  <IP_ADDRESS> UG    0      0        0 tunl0
<IP_ADDRESS>    <IP_ADDRESS>         <IP_ADDRESS>   U     100    0        0 eth0
<IP_ADDRESS>    <IP_ADDRESS>  <IP_ADDRESS> UG    0      0        0 tunl0
<IP_ADDRESS>  <IP_ADDRESS>         <IP_ADDRESS> U     0      0        0 *
<IP_ADDRESS>  <IP_ADDRESS>         <IP_ADDRESS> UH    0      0        0 calia2463dd2967
<IP_ADDRESS>  <IP_ADDRESS>         <IP_ADDRESS> UH    0      0        0 cali3521ef0073a
<IP_ADDRESS> <IP_ADDRESS>  <IP_ADDRESS> UG    0      0        0 tunl0
<IP_ADDRESS> <IP_ADDRESS>  <IP_ADDRESS> UG    0      0        0 tunl0

Possible Solution

Steps to Reproduce (for bugs)

Context

Your Environment

Calico version
quay.io/coreos/etcd:v3.1.10
quay.io/calico/node:v3.0.4
quay.io/calico/cni:v2.0.3
quay.io/calico/kube-controllers:v2.0.2

Orchestrator version (e.g. kubernetes, mesos, rkt):

Operating System and version:
[root@offlinetraining-0005 ~]# cat /etc/os-release
NAME="EulerOS"
VERSION="2.0 (SP2)"
ID="euleros"
ID_LIKE="rhel fedora centos"
VERSION_ID="2.0"
PRETTY_NAME="EulerOS 2.0 (SP2)"
ANSI_COLOR="0;31"

Link to your project (optional):

@tingweiwu what subnets are you using for your pods and for your hosts? It looks like they might be sharing the same 192 network?

@caseydavenport sorry to  reply you so late.   I have located the cause. it is the network settings on the device. so I will close this issue. thanks

Can you please provide the exact solution?

@tingweiwu Can you share the network settings changes which resolve your issue?

Provide my troubleshooting method here:

use tcpdump to check if network path has issue

find the network device use by pods in target node by ip addr | grep '{pod_ip_prefix, like 192.168}'
start tcpdump on target node by tcpdump -i {pod_network_device_found, like tunl0} icmp
ping from source node

if tcpdump shows only request package, that means the network path is good

check your iptables -L -n to see if there some rules block the traffic
check if your ip route has workable route. My issue is here, the route to target pod ip is unreachable

if tcpdump shows nothing, no reqeust and reply package, then check your network path and firewall.


Support for variable references

Unless a property accepts the type string with no applicable validation constraints, variable references will cause validation errors. This can be seen in the aws-ffmpeg-layer example:

According to the Serverless Variables page, there are at least half a dozen variable formats. The CloudFormation reference is briefly mentioned in this article.
I'm wondering what the best approach would be here, would it be feasible to use a pattern to match {...}/${...} values similar to the Serverless.FilePath sub schema?

@dnicolson we have the Expression in defintion, would that be a better solution?

@KillDozerX2 I am not sure what you mean, where is this Expression?

I've also got this problem. I'm enabled event schedules based on stage.
custom:
  scheduleEnabled:
    prod: true
    dev: false

functions:
  move-to-tm:
    handler: dist/move-to-tm.default
    timeout: 30
    events:
      - schedule:
          rate: rate(7 days)
          enabled: ${self:custom.scheduleEnabled.${opt:stage, self:provider.stage}}

@Sparticuz yeah, we've been facing issues with variable reference.

One solution is to work with @pavelvlasov and his vscode intellisense formatter to load the value using language server and then try to validate it agains the schema.
Watch this issue:- https://github.com/threadheap/serverless-ide-vscode/issues/169

Is there a workaround? I looked at https://github.com/threadheap/serverless-ide-vscode/issues/169 which mentions a fork. But how do we use it?

Install the extension in vscode?

@KillDozerX2 installing the Serverless IDE extension doesn't appear to have any effect. Is there something else that needs to be done?

Hi @KillDozerX2, could you please provide an update on this?

HI @dnicolson Trying to get in touch with author of Serverless IDE still.
My expectation is that the schema will be validated only after the variables reference is completed. I don't have much experience with a VSCode extensions, but would be nice to get some help in this area.
Or better still to create a new extension for Serverless Framework alone. I will reopen this issue to get feedback from people.


Merchant Labels

We should remove merchant and merchant removal labels from Github repo.

Is there a specific reason to remove them? As far as i know it doesn't matter if we don't use them, but we could also user them again in the future. People could still propose additions to the page.

we could also use them again in the future.

Didn't we remove merchant page already? Why could we use them again? @erciccione

Because there is still a 'Merchants & Exchanges' page. This is a non issue regardless and removing labels is not really useful. Closing.


Document custom queries/mutations and resolvers

I can't find documentation corresponding with this merged PR:
https://github.com/aws-amplify/amplify-cli/pull/227
I and others wonder how resolvers for custom queries work, and how to maintain them through schema changes / pushes:

https://aws-amplify.github.io/docs/cli/graphql#api-category-project-structure

@lorensr Please let me know if the link pasted by @wizawuza is something which you were looking for.

Yes, thanks. Both the page and the sections in the page would be more discoverable if the page was included in the ToC on the left sidebar—should I open a separate issue for that?


[$500] Search - The search function is not working correctly with US phone number

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:

Click on the Search icon in the header.
Enter any US phone number, for example, "+15005550009"
Confirm that the number appears in the result list because it is a valid number.
Add "1" to the beginning of that number (after +)
Observe that the search result still displays the number from step #3, even though it NO LONGE matches the NEW number in step #4.

Expected Result:
The search result will only be displayed if it exactly matches the search number.
Actual Result:
The search result continues to be displayed even though it doesn't match the search number.
Workaround:
Unknown
Platforms:

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

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

Version Number: <IP_ADDRESS>
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/93399543/0116e15a-7ad0-48a8-b81d-a2213913b017
https://github.com/Expensify/App/assets/93399543/228829eb-823a-4eb7-ac66-98f0e9acad59
https://github.com/Expensify/App/assets/93399543/5899b7f1-b81d-4350-bf88-4a553da8ce19
https://github.com/Expensify/App/assets/93399543/c11c26df-405e-4d6c-a17d-c26bd8a9fa23
https://github.com/Expensify/App/assets/93399543/e56e4bed-9619-4aef-aa25-e402097c490d
https://github.com/Expensify/App/assets/93399543/f9903d5a-5b1b-4fd6-a3bf-534ee2cce9d3
https://github.com/Expensify/App/assets/93399543/86191a48-f549-46db-afff-3bc88cfd7e3f
https://github.com/Expensify/App/assets/93399543/7197d5ad-20a2-4cbd-8788-d12397079059
Expensify/Expensify Issue URL:
Issue reported by: @tranvantoan-qn
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1695839159212839
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~011d925aad5414539c
Upwork Job ID:<PHONE_NUMBER>715391488
Last Price Increase: 2023-09-29

Proposal
Please re-state the problem that we are trying to solve in this issue.
Phone numbers options are not matching the input in the search
What is the root cause of that problem?
The awesome-phonenumber library falesly mark invalid numbers as valid

What changes do you think we should make in order to solve the problem?
in this case a number can be either a fixed Line number or a mobile phone number, there is no other option, and since the object returned from the parsePhoneNumber function specify whether the current number is a a fixedLine or a MobilePhone or none then we can use this info to decide if a number is valid or not beside the .possible property
so in this case we need to change this:
https://github.com/Expensify/App/blob/66b89dd1a4081017f87a26201a26ff3352eb3d33/src/libs/OptionsListUtils.js#L1000
to:
    const isValid = parsedPhoneNumber.possible && (parsedPhoneNumber.typeIsFixedLine || parsedPhoneNumber.typeIsMobile);
    const searchValue = isValid ? parsedPhoneNumber.number.e164 : searchInputValue.toLowerCase();

and
https://github.com/Expensify/App/blob/66b89dd1a4081017f87a26201a26ff3352eb3d33/src/libs/OptionsListUtils.js#L1181
to
         isValid && Str.isValidPhone(LoginUtils.getPhoneNumberWithoutSpecialChars(parsedPhoneNumber.number.input)))

and lastly:
https://github.com/Expensify/App/blob/66b89dd1a4081017f87a26201a26ff3352eb3d33/src/libs/OptionsListUtils.js#L1485
to
    const parsedPhoneNumber = parsePhoneNumber(LoginUtils.appendCountryCode(searchValue));
    const isValidPhone = parsedPhoneNumber.possible && (parsedPhoneNumber.typeIsFixedLine || parsedPhoneNumber.typeIsMobile);

What alternative solutions did you explore? (Optional)
Reminder: Please use plain English, be brief and avoid jargon. Feel free to use images, charts or pseudo-code if necessary. Do not post large multi-line diffs or write walls of text. Do not create PRs unless you have been hired for this job.

Proposal
from: @cooldev900
Please re-state the problem that we are trying to solve in this issue.
The search function is not working correctly with US phone number when adding "1" to the beginning of that number (after +)
What is the root cause of that problem?
https://github.com/Expensify/App/blob/dfb3f9b0b536d9640f81a85d59e095581dc06dba/src/libs/OptionsListUtils.js#L999
The parsePhoneNumber function in awesome-phonenumber npm returns same result whether it has extra "1" or not in country code part of US phone number.
What changes do you think we should make in order to solve the problem?
We can add extra US phone number validation.
We have to check if we have to compare whether input of parsed phone number is same as it's input  when the search value is possible to be phone number
const searchValue = parsedPhoneNumber.possible ? parsedPhoneNumber.number.e164 === parsedPhoneNumber.number.input.replaceAll(" ", "") ?  parsedPhoneNumber.number.e164 : parsedPhoneNumber.number.input  : searchInputValue.toLowerCase();

What alternative solutions did you explore? (Optional)
N/A

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~01ddb2d86c2fc76364

Proposal
Please re-state the problem that we are trying to solve in this issue.
Search results appear for invalid US phone numbers like "+115005550009" (which are phone numbers with an extra '1' adjacent to the country code '+1' on a correct US phone number).
What is the root cause of that problem?
The awesome-phonenumber library's parsePhoneNumber function ignores the additional '1' after the country code '+1' for US phone numbers before parsing it. For "+115005550009" it will parse it as if "+15005550009" is inserted as its parameter.
What changes do you think we should make in order to solve the problem?

We need to have an additional logic for these exceptional cases.
So we need to change this
https://github.com/Expensify/App/blob/71db96d8a77068220fac73ca0dc984796ff862f9/src/libs/OptionsListUtils.js#L981
to
const isValid = parsedPhoneNumber.possible && LoginUtils.getPhoneNumberWithoutSpecialChars(parsedPhoneNumber.number.input) === parsedPhoneNumber.number.e164;     const searchValue = isValid ? parsedPhoneNumber.number.e164 : searchInputValue.toLowerCase();
And change this
https://github.com/Expensify/App/blob/71db96d8a77068220fac73ca0dc984796ff862f9/src/libs/OptionsListUtils.js#L1162
to
`
(isValid && Str.isValidPhone(LoginUtils.getPhoneNumberWithoutSpecialChars(parsedPhoneNumber.number.input)))) &&
And change this  https://github.com/Expensify/App/blob/71db96d8a77068220fac73ca0dc984796ff862f9/src/libs/OptionsListUtils.js#L1466 to
const isValidPhone =
parsePhoneNumber(LoginUtils.appendCountryCode(searchValue)).possible &&
LoginUtils.getPhoneNumberWithoutSpecialChars(parsedPhoneNumber.number.input) === parsedPhoneNumber.number.e164;
`
What alternative solutions did you explore? (Optional)
Reminder: Please use plain English, be brief and avoid jargon. Feel free to use images, charts or pseudo-code if necessary. Do not post large multi-line diffs or write walls of text. Do not create PRs unless you have been hired for this job.

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~01aabb4fb3019558fb

Waiting on @aimane-chnaif here!

Bump for @aimane-chnaif!

@stephanieelliott - just need a hand babysitting this issue while I'm OOO next week - till the 17 Oct. So far, we're just waiting on @aimane-chnaif to review the posted proposals!

@aimane-chnaif bump on this, we have a few proposals that need to be reviewed here!

Hey @aimane-chnaif just a reminder to review the proposal here

Hey @aimane-chnaif any feedback on the proposal?

@aimane-chnaif
I can fix.

I raised an issue at the library repo https://github.com/grantila/awesome-phonenumber/issues/109 a few days ago but got no response so far. what is the right action to take now ?

Thank you, @stephanieelliott!!

couldn't find any ...

@aimane-chnaif - where are we at with this issue?

bump @aimane-chnaif

Bumped the price to solicit more proposals

Proposal
Please re-state the problem that we are trying to solve in this issue.
When searching for a phone number that starts with +11 followed by 10 numbers, app will believe the number is valid and will ignore the extra 1 after the + sign.
What is the root cause of that problem?
libphonenumber doesn't handle this input correctly and will return back saying then number is valid and set E164 to the incorrect number, without the extra 1. The app will then use this to perform the search, resulting in the wrong behavior described by this issue.
What changes do you think we should make in order to solve the problem?
This all points to a problem with a 3rd party library used by the app and we'd have to work with them to fix it. There don't seem to be any progress on that front for a quite a bit so I propose we do our own patch, but instead of forking the library (which long term will cause issues and will be hard to keep up with updates), we can create a replacement parsePhoneNumber function within our codebase and replace all usage of parsePhoneNumber to use our new function. The new function will wrap the original function and apply ad-hock patches to fix this specific scenario, as follows:
import {ParsedPhoneNumber, parsePhoneNumber as originalParsePhoneNumber, PhoneNumberParseOptions} from 'awesome-phonenumber';
import * as LoginUtils from './LoginUtils';

function formatPhoneNumber(phoneNumber: string, options?: PhoneNumberParseOptions): ParsedPhoneNumber {
    const parsedPhoneNumber = originalParsePhoneNumber(phoneNumber, options);
    const phoneNumberWithoutSpecialChars = LoginUtils.getPhoneNumberWithoutSpecialChars(phoneNumber);

    if (parsedPhoneNumber.possible && phoneNumberWithoutSpecialChars.match(/^\+11[0-9]{10}$/)) {
        parsedPhoneNumber.possible = false;
        if (parsedPhoneNumber.number) {
            parsedPhoneNumber.number.e164 = '';
        }
    }

    return parsedPhoneNumber;
}

export default formatPhoneNumber;

The issue here appears to only apply to input numbers starting with +11 and followed by 10 digits (which we can safely assume is invalid). We can watch for this specific scenario and patch the response object to create the correct behavior. We then search the entire codebase for formatPhoneNumber usage and replace with the new function.

What alternative solutions did you explore? (Optional)
Raise a PR with libphonenumber and wait until they review, merge and deploy it.
Reminder: Please use plain English, be brief and avoid jargon. Feel free to use images, charts or pseudo-code if necessary. Do not post large multi-line diffs or write walls of text. Do not create PRs unless you have been hired for this job.

Proposal
Please re-state the problem that we are trying to solve in this issue.
When performing a search, adding an extra 1 at the beginning of a U.S. phone number results:

The phone number gets recognized as a valid phone number.
The phone number doesn't match the number in the search result options.

What is the root cause of that problem?
Google's libphonenumber, a dependency of awesome-phonenumber, flags U.S. phone numbers with an extra 1 at the beginning as possible.
What changes do you think we should make in order to solve the problem?
Even though libphonenumber flags possible for example +115005550009, the returned value actually contains the valid phone numbers.
{
  number: {
    input: '+115005550009',
    international: '+1<PHONE_NUMBER>',
    national: '(500) 555-0009',
    e164: '+15005550009',
    rfc3966: 'tel:+1-500-555-0009',
    significant: '5005550009'
  },
  regionCode: 'US',
  valid: true,
  possible: true,
  canBeInternationallyDialled: true,
  possibility: 'is-possible',
  type: 'personal-number',
  typeIsMobile: false,
  typeIsFixedLine: false,
  countryCode: 1
}

Based on this premise, the user's input can be validated using one or a combination of numbers from the returned value. This will allow us to handle the issue within the platform until there are further changes to libphonenumber or awesome-phonenumber.
Required Changes
Replace the contents of src/libs/OptionsListUtils.js:1123-1124 with the following lines;
const searchInputWithoutSpecialChars = LoginUtils.getPhoneNumberWithoutSpecialChars(searchInputValue);
const parsedPhoneNumber = parsePhoneNumber(LoginUtils.appendCountryCode(Str.removeSMSDomain(searchInputValue)));
const possiblePhoneNumbers = [
    ...(parsedPhoneNumber.number.e164 ? [parsedPhoneNumber.number.e164] : []),
    ...(parsedPhoneNumber.number.national ? [LoginUtils.getPhoneNumberWithoutSpecialChars(parsedPhoneNumber.number.national)] : []),
    ...(parsedPhoneNumber.number.significant ? [parsedPhoneNumber.number.significant] : [])
];
const searchValue =
    parsedPhoneNumber.possible && possiblePhoneNumbers.includes(searchInputWithoutSpecialChars) ?
        parsedPhoneNumber.number.e164 :
        searchInputValue.toLowerCase();

And modify the test expression in src/libs/OptionsListUtils.js:1316;
(parsedPhoneNumber.possible &&
                possiblePhoneNumbers.includes(searchInputWithoutSpecialChars) &&
                Str.isValidPhone(LoginUtils.getPhoneNumberWithoutSpecialChars(parsedPhoneNumber.number.input)))) &&

This is required so the remote search is triggered.
The user's input will be validated against the phone number's e164, national, and significant formats. Works as intended.
https://github.com/Expensify/App/assets/31987492/1f93c65e-0337-4a2b-b454-9e5a1d3818f7
The "No results found" message is shown instead of the standard "Please enter a valid phone number without brackets or dashes. If you're outside the US please include your country code (e.g. +15005550006)." because the BE still recognizes the input as a valid phone number. The same changes can be made by the internal team so the latter message gets shown.
What alternative solutions did you explore? (Optional)
N/A

opened a discussion in the libphonenumber issues group and their reply is that this number is actually a valid number: https://groups.google.com/g/libphonenumber-discuss/c/NaD8B2LlEJ8/m/K1yOZm8XEQAJ?utm_medium=email&utm_source=footer&pli=1

Meaning we have to do extra validation ourselves as forking the repository just for this purpose doesn't seem like a good decision.

then we can get rid of the e164 number and show the input value after sanitizing it
  const inputPhone= LoginUtils.appendCountryCode(Str.removeSMSDomain(searchInputValue));
  const parsedPhoneNumber = parsePhoneNumber(LoginUtils.appendCountryCode(Str.removeSMSDomain(searchInputValue)));
    const searchValue = parsedPhoneNumber.possible ? inputPhone : searchInputValue.toLowerCase();

parsePhoneNumber is called in several places around the codebase and this behavior is likely affecting other areas of the app. That's the reason behind my proposal, (which btw, I realized I called my method formatPhoneNumber when I meant parsePhoneNumber, just updated it) that way we can apply the same behavior everywhere.
So, what's the expected behavior now that we know a bit more about this issue? Do we want to consider +115005550009 as valid or invalid? If valid, then we can patch parsePhoneNumber and override the number.e164 with out cleaned input (LoginUtils.getPhoneNumberWithoutSpecialChars(phoneNumber)). If invalid, then we set possible to false.

@barros001 - we should consider this as valid, as this is the format we ask users to enter their email address.

Do we want to consider +115005550009 as valid or invalid?

cc @aimane-chnaif

@sophiepintoraetz ok, that makes sense. Now, the next question we need to answer is:
Do we want to normalize +115005550009 to +15005550009 (without the extra 1, which is what libphonenumber does), or do we want to keep the extra 1?
1: If we decide to strip the extra 1, that means there's really nothing to do and the system is working as expected. There's one caveat to this though: we need to make sure we're handling it the same way everywhere (everywhere within the app where we handle phone numbers), including the BE. I'm assuming validations are made on the BE when data is posted, so if for whatever reason a number with the extra 1 makes it way to the backend, it should strip it as well before storing, otherwise we might end up storing data that we won't ever be able to query from the FE.
2: If we opt to keep the extra 1 , we will still need to patch parsePhoneNumber as I suggested, but instead of flagging the number as invalid, we would keep it as valid but we would override number.e164 with the number with the extra 1. There are downsides here as well. For example, when we display this number as a formatted number, we'll display it as<PHONE_NUMBER> (formatPhoneNumber strips country code and the extra 1), which is looks exactly the same as the formatted version of the number without the extra 1. This could potentially lead to confusion under certain circumstances. (I'd update my proposal to reflect this if we decide to go this route).
To me, option 1 sounds like the correct way to handle this. At the end of the day we want to normalize all phone numbers entered by the users. And if a valid US number with an extra 1 is indeed a valid number and the normalized version of it is exactly the same as the number without the extra 1, then so be it. We just ensure that we're applying this everywhere (which I believe we are) and close this issue.
And of course, if the team decides that we actually want to treat this as an invalid number, then my proposal still stands as is.

To me, option 1 sounds like the correct way to handle this. At the end of the day we want to normalize all phone numbers entered by the users. And if a valid US number with an extra 1 is indeed a valid number and the normalized version of it is exactly the same as the number without the extra 1, then so be it. We just ensure that we're applying this everywhere (which I believe we are) and close this issue.

This is an excellent summary, thank you @barros001 - I'm inclined to agree with you here!

Proposal
Updated
Added a new alternative solution to accept the number with the extra 1 as valid and fixing inconsistencies. It addressed the inconsistency found by @aimane-chnaif when mentioning users by phone.

@aimane-chnaif do we have a final decision as to how we want to treat this number? From your comment I'm assuming we do and we'll treat it as a valid number and strip the extra 1 when handling it, just wanted to make sure.
I can try my best to look around for places that could potentially be affected by this, hopefully there's not a lot of places.

I don't think having an extra 1 is a valid number. Sounds more like a typo. I don't think anyone would purposefully enter +11 for US country code.

@madmax330 the only thing that I’m thinking is that it is pretty common to actually prefix toll free numbers with the number 1 in the USA, such as 1<PHONE_NUMBER>. Granted, the app won’t take it as theses number don’t accept SMS but could be an odd UX if you type a 1-800 number and are presented with an error saying the number is invalid. Other than toll free, i agree, I don’t think anyone ever prefix phone numbers with 1, and most don’t even realize (myself included).
Do you think this is a compelling enough reason to keep current behavior and accept these numbers as valid?
If so, then we’ll need to find possible places where we need to account for that (such as mentioning someone) and leave the behavior as is. If you don’t think this is compelling enough, we can just go as I proposed and assume these numbers are invalid. That would be an easy fix.
I’m personally torn on this one. Rejecting the number is the easy way out. Accepting is a better UX but comes at a cost of complexity (unknown at this point, could very well be little honestly). The question is, does the slightly improvement in UX on certain edge cases enough to justify the potential extra complexity?

Do you think this is a compelling enough reason to keep current behavior and accept these numbers as valid?

No I don't think it is b/c why would someone sign up with a toll free number? And even if they did I'm not sure it would make sense to put +1 and then 1 (800) you would just put +1800.
So I think we should just block it and call it a day.

Makes sense, In that case my proposal still stands.

@madmax330 - which version of a proposal are we doing?

I’ll work on the PR and submit it for review soon.

I just raised a PR. I intentionally left it as draft as I wanted to get some feedback. Specifically:

I added a @libs/PhoneNumber file that's basically a wrapper around awesome-phonenumber. It's meant to be replace it throughout the codebase (I added a lint rule to enforce that). Thoughts on that? Or would it be better to only create a parsePhoneNumber replacement and enforce only that specific import?
I'm not 100% positive the way I exported the new lib is the right approach. My intention was to export everything awesome-phonenumber exports while overriding parsePhoneNumber only.
I was able to replace awesome-phonenumber with @libs/PhoneNumber everywhere except on src/libs/OptionsListUtils.js where lint made me import it as a namespace. Not a big deal, just wanted to point that out because its the only thing that's difference from everything else.

We can move this discussion to the PR, just wanted to post it here first so it notifies all the involved parties.

@aimane-chnaif  thanks for the feedback.

You are concerned about missing pieces while constructing own data but I am fine as long as they're not used anywhere in the app.

I'm not sure I follow this part, would you mind elaborating please?

@aimane-chnaif finalized my PR, its ready for review.

hi @barros001 @aimane-chnaif - just a quick note that the payment due date is in the middle of my OOO - I am likely not online to process this but will be back on 3 Jan and will process it then! In the meantime, please make sure you have accepted the offers and @aimane-chnaif, you have completed the BZ checklist before then.

@aimane-chnaif - I will release payment once the checklist has been completed. Closing for now, feel free to ping me once you've done it.


Catching AccessDeniedException for Personalize calls

Description
Catching AccessDeniedException for Personalize calls
Issues Resolved
[List any issues this PR will resolve]
Check List

[*] New functionality includes testing.

[*] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed as per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Saw there's another PR created (#196) with changes made to address @msfroh's comments. Could we close out this one to avoid confusion?

Saw there's another PR created (#196) with changes made to address @msfroh's comments. Could we close out this one to avoid confusion?

To preserve the comment history, I would prefer to close #196 and revise commits here.


Can't use oversea source

Specifying the oversea source causes 'durl' error.

$./bilidan.py -s overseas http://www.bilibili.com/video/av5148011/
INFO: Loading video info...
INFO: Got video cid: 8365326
INFO: Loading video content...
ERROR: 'durl'

Bilibili has blocked many of our APPKEYs.
Try use -s flvcd as a temporary workaround.

If you still have private APPKEYs, we could setup a proxy server for api queries.
I can provide two static IP.

Seems like oversea source no longer exists... at least in  Android client, the request URL is the same , and there is no difference if you turn the option Overseas acceleration on or off. But the URL does still exists.

Please check the latest algorithm at Biligrab.
2016年9月23日星期五，liushuyu<EMAIL_ADDRESS>写道：

Seems like oversea source no longer exists... at least in Android client,
the request URL is the same , and there is no difference if you turn the
option Overseas acceleration on or off. But the URL does still exists.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/m13253/BiliDan/issues/74#issuecomment-249315744, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABfRgn1OXAkrYxgVEbwPSSu4hrWMeZ65ks5qtFA6gaJpZM4JssBP
.


Drop down widgets do not go away on lost focus in IE

This is IE specific.  None of the drop down widgets (imagery selector, mode selector, and help button) go away on their own in IE.  You have to specifically dismiss them.  This is probably related to our mouse handling and pointer events.

Fixed.


fix: some colors not readable in light mode

This PR is a follow-up to the https://github.com/sxyazi/yazi/pull/221

Just if I’m not too late to the party:
Input windows do not completely cover preview images, see screenshot below. Yet, they do cover preview text completely.

Input windows do not completely cover preview images, see screenshot below. Yet, they do cover preview text completely.

Same here when using WezTerm.
When I use Allacritty with ueberzug, the image covers the input window.
Maybe you should open a separate issue for this, as it's not really related to the colors issue.

This is a known issue specific to the Kitty graphics protocol. Other protocols like iTerm2 and Sixel do not have this problem. I haven't found the time to fix it yet, perhaps it requires a more subtle eraser...


CB-27163 remove unused 1080 port and other irrelevant consul and prom…

…etheus entries.

Yes, you can merge your PR now, as we saw the test image was burnt successfully (except the ccmv1 upgrade related test case but we discussed on the daily kanban  meeting that it can be skipped).


Not working after updating the service worker

I already used rendertron v3.1.0 without any problem, after updating our project with some changes in service worker then rendertron not rendering the site correctly, actually it just return my normal SPA page without rendering its contents!
Here is the example page:
https://render-tron.appspot.com/render/https://tabibb.ir/specialties/psychiatrist/rrWMJrEz3QumY22XO5RN

I have this problem on both local installed rendertron instance and provided cloud instance!


Tailscale daemon won't start with package version 1.34.1 on a TS-464

While I just have installed v.1.34.1 on my TS-464 I can't find the Tailscale binaries on the device. Just trying to execute tailscale login results in command not found. There's a directory /share/CE_CACHEDEV1_DATA/.qpkg/Tailscale which pretty much looks like the right place but even after running the shell script Tailscale.sh Tailscale won't start because of Failed to connect to local Tailscale daemon for /localapi/v0/profiles/; not running? Error: dial unix /tmp/tailscale/tailscaled.sock: connect: no such file or directory.

https://github.com/tailscale/tailscale-qpkg/releases/tag/v1.34.1 is the version installed?
https://github.com/tailscale/tailscale-qpkg/releases/tag/qnap-v1.34.1 is marked as pre-release and should not be used. Because the socket path it prints is /tmp/tailscale/tailscaled.sock, I suspect this is the one installed.

I have exactly the same issue on a TS664, I have tried different version and get the same eror on the latest version too Tailscale_1.36.0-1_x86_64
Failed to connect to local Tailscale daemon for /localapi/v0/status; not running? Error: dial unix /tmp/tailscale/tailscaled.sock: connect: no such file or directory


Moves where modules are included in accounts_db.rs

Problem
Importing modules should be at the top of a file, near when importing everything else.
This is a pet peeve of mine, where mod geyser_plugin_utils seems to arbitrarily placed in the middle of accounts_db.rs.
Summary of Changes
Move the line to the top.

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

Project coverage is 81.8%. Comparing base (43e70db) to head (8704efd).
Report is 2 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##           master     #515     +/-   ##
=========================================
- Coverage    81.8%    81.8%   -0.1%
=========================================
  Files         842      842
  Lines      228481   228481
=========================================
- Hits       187085   187030     -55
- Misses      41396    41451     +55


ENH: Raw.plot() "zen mode"

This adds a "zen mode" for raw.plot() (also works with epochs.plot() and ica.plot_sources())

enabled via raw.plot(show_scrollbars=False)
can be toggled by pressing z (for "zen mode") when plot has focus even if it wasn't enabled when plot was initialized
compatible with butterfly mode (if in butterfly mode, vert scrollbar remains hidden when toggling zen mode)
interaction with subplots_adjust is so/so, but acceptable (assumption is that user won't want/need to use both on one plot: zen mode is for interactive browsing, subplots_adjust() compatibility is primarily for making static figures)

cc @cbrnr
Here's a test script. Try pushing z on each test plot, resizing window, pushing z before/after resizing again, etc.:
import os
import mne

sample_data_folder = mne.datasets.sample.data_path()
sample_data_raw_file = os.path.join(sample_data_folder, 'MEG', 'sample',
                                    'sample_audvis_raw.fif')
raw = mne.io.read_raw_fif(sample_data_raw_file)
raw.crop(0, 60).load_data()
events = mne.find_events(raw, stim_channel='STI 014')
fig = raw.plot(events=events, show_scrollbars=False)

# EPOCHS
event_dict = {'auditory/left': 1}
reject_criteria = dict(mag=4000e-15,     # 4000 fT
                       grad=4000e-13,    # 4000 fT/cm
                       eeg=150e-6,       # 150 μV
                       eog=250e-6)       # 250 μV
epochs = mne.Epochs(raw, events, event_id=event_dict, tmin=-0.2, tmax=0.5,
                    reject=reject_criteria, preload=True)
epochs.plot(show_scrollbars=False)

# ICA
ica = mne.preprocessing.ICA(n_components=20, random_state=97, max_iter=800)
ica.fit(raw)
ica.plot_sources(raw, show_scrollbars=False)
ica.plot_sources(epochs, show_scrollbars=False)

(I guess the Azure failure is unrelated?)

rerunning azure now.
+1 for merge when CIs are green.
great work @drammock !

Thanks @drammock!


Visual testing API

This is PR designed to iron out the visual API. Once we agree on it we can work on making it happen.
Here is a real world example of a current usage of Screener for visual testing https://github.com/saucelabs-training/demo-java/blob/master/java8/visual-e2e/visuale2e.junit4.examples/src/test/java/com/saucedemo/VisualCrossPlatformTests.java

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 5

Complexity increasing per file
==============================
- java/src/test/java/com/saucelabs/saucebindings/SauceVisualSession.java  3
- java/src/test/java/com/saucelabs/saucebindings/integration/VisualE2ETest.java  1
- java/src/main/java/com/saucelabs/saucebindings/visual/SauceVisualOptions.java  4

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 8

Complexity increasing per file
==============================
- java/src/main/java/com/saucelabs/saucebindings/visual/SauceVisualOptions.java  4
- java/src/test/java/com/saucelabs/saucebindings/SauceVisualSession.java  3
- java/src/test/java/com/saucelabs/saucebindings/integration/VisualE2ETest.java  1

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 8

Complexity increasing per file
==============================
- java/src/main/java/com/saucelabs/saucebindings/visual/SauceVisualOptions.java  4
- java/src/test/java/com/saucelabs/saucebindings/integration/VisualE2ETest.java  1
- java/src/test/java/com/saucelabs/saucebindings/SauceVisualSession.java  3

See the complete overview on Codacy

Should we have a separate session class for Visual?
We could do something as simple as:
SauceOptions options = new SauceOptions();
options.setVisual();

SauceSession session = new SauceSession(options);

We don't necessarily need a VisualOptions class either:
SauceOptions options = new SauceOptions();
options.setName("visualProjectName");
options.setScreenResolution("1280x1024") // same as viewportSize

We could even use a takeScreenshot() method that would work for normal Sauce sessions
session.takeScreenshot("Snapshot name");

@titusfortner I really like your approach. It's certainly cleaner. I went to separate classes because it seemed like that's the same direction we were going in mobile. So I tried to keep it similar. Regardless, I do want to iron out this use case:
    public void withVisualOptions() {
        SauceOptions options = new SauceOptions();
        //This becomes a mandatory call in order to start calling the methods below,
        //otherwise they become useless/confusing methods?
        options.setVisual();

        // is it clear that setProjectName only applies to Sauce Visual and not to Functional?
        options.setProjectName("Sauce Bindings");

        // how do we know that this is for visual?
        options.setViewportSize("1280x1024");

        var visualSession = new SauceSession(visualOptions);

        //Not sure if you always need to set test name,
        //but if we do then maybe we can just do start(testName);
        visualSession.start();

        visualSession.setTestName("Visual Test");

        //Same thing here, do we want ambiguity between visual and functional so that when we call this method,
        // users might be confused about why the snapshot isn't happening in their functional test
        visualSession.takeSnapshot("Snapshot name 1");

        Boolean isPassed = visualSession.stop();
        assertTrue(isPassed);
    }

This seems like a blend of both and solves the ambiguity:
    public void withVisualOptions() {
        SauceOptions options = new SauceOptions();
        options.setVisual();
        options.visual.setProjectName("Sauce Bindings");
        options.visual.setViewportSize("1280x1024");

Superceded by #256


Can't use framework

I'm working with MacOSx XCode 8.3.2
I noticed when AIToolbox was built, the framworks are in /Users/brianbabiak/Library/Developer/Xcode/DerivedData/AIToolbox-duqowxslltlzkpbbwvhorgzsgvwf/Build/Products/Debug
I add the framework in another project, but import AIToolbox doesn't work. All instructions followed. Any ideas?

Fixed. Sorry to bother you.
I had to download the zip and build from that. I originally built from the Git directly which was causing the problem. The second way, I could put the framework directly in the library folder, not linked. Thanks.


copy-pasting in svg viewer does not include spaces

When I try to copy and then paste text from an example of svg renderer of pdfjs it copys without spaces

The SVG back-end should now have similar copy-paste capabilities as the canvas back-end. In fact, the text in the example Tracemonkey PDF is copy-pasted in the same way for both back-ends. Closing as fixed.


Update to 1.20.1?

Not certain if this is the right spot for it, but any chance we could get an update to 1.20.1?

Hey! Yes this is certainly the right spot to ask this!
I've been wanting to be able to support multiple versions of Minecraft and also release automatically when new versions of Fabric are released, but I haven't had the time to do any significant work on that front. If my memory doesn't betray me I'll try and make a few catch-up releases this evening. Maybe to scriptcoded/scripts- as well :smile: I'll keep this issue open meanwhile.
Thanks for the reminder!

oh wow this was recent

a 1.20.4 update would be awesome as i have some horribly funny ideas of what to do with this

@Wiresgaming 1.20.1 released :tada: https://modrinth.com/mod/scripts-chunk-loaders/version/mc1.20.1-0.2.1
There have been some API changes made in 1.20.2 so I'll have to look in to that another day. 1.20.4 should be coming soon :)

hell yeah

Hey again @Wiresgaming and @youmukonpaku1337!
1.20.4 is now released! 🎉  You can find it here: https://modrinth.com/mod/scripts-chunk-loaders/version/mc1.20.4-0.2.4
I'm closing this issue. If something is not working as expected, you're missing some functionality or just have suggestions, feel free to open a new issue.


Take Into Account Edits To AR Process Refactoring

The following PR

https://github.com/CDCgov/PyRenew/pull/380

overhauled and improved multiple aspects of PyRenew related to random processes, e.g. the simplerandomwalk.py file is gone and has been expanded in randomwalk.py (see here).
At present pyrenew-flu-light still needs to take some of these modifications into account and or reconcile whether the new patterns from this PR are being properly obeyed.

This should have close "a while back".


⚠ Fortnite has degraded performance

In 43dcf46, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1602 ms

Resolved: Fortnite performance has improved in e0b9d6f.


Move NestedLoopJoinProbe's initializeFilter from ctor to initialize.

Avoids memory allocation at ctor. Fixes #7208.

Seeing lint warning:

@mbasmanova Fixed, thanks!


6413/post scheduling basic structure

#6413

basic structure for scheduling
add post scheduling case
we can add more schedulers anytime we want
we can add adapters from config via adapter name

closed because of #6861


overlapblock Creator - Web design #40

https://images01.nicepagecdn.com/page/54/00/html-template-54007.jpg Design a overlapblock like the above image
Create a file "overlapblock_NUM_by_(YourName).html" in the modules/overlapblock folder.
Use simple HTML and CSS and JAVASCRIPT to create the overlapblock animation. You can use the interface development https://kwickerhub.com/ (This project) or you can write the lines of code yourself.
Step by Step Guide.
Fork this project(Use the 'fork' button in the top right corner) and Clone your Fork.
git clone https://github.com/YOUR_USERNAME/frontend
Open your code Editor and Create a file "overlapblock_NUM_YOUR_NAME_.html" in the "modules/overlapblock" folder of this project you just cloned. No need to create head, title and body tags, Just Add a div tag with some embedded style(i.e use the style tag) and the script tag where necessary.
If you want to add an image resource, please add it in the folder ••
"modules/overlapblock/images_and_icons"
We recommend you use an svg for your image/icon.
Push your Code: You need to push your recent changes back to the cloud. Use the command below in the main directory of this Repository
git push origin dev
or use a GUI tool to avoid mistakes or complexity. LOL.
Then make you Pull Request...
Below is a example of the code structure we need:
'''

'''
For more examples:
modules->buttons
modules->cards
for examples of contributions or Pull request accepted in to the project.
And please do not wait for this issue to be assigned to you as we have limited hands but have a lot to do/cover. Please send in your PR.
Good-luck.

Hello, Please assign this issue to me, I a, well experienced in HTML,CSS,JS and can finish the task soon


Can't access it from browser

Finally managed to install crontab-ui correcty.
I'm running it from pm2, and configured a nginx server so I can access it from a browser but I'm getting an empty page => http://admintest.mashup-web.com/crontab
Any idea why ?
Thanks,
julien

What version of nginx are you running and what does your nginx configuration look like?

nginx version: nginx/1.11.9
And I have just added this to a working virtual server config file :
location /crontab {
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://localhost:8000;
}

I'm not sure why it doesn't work for you. I just installed a copy of crontab-ui on my Alpine linux (version 3.5.0) and I ran it behind nginx 1.10.3, with the following configuration:
crontab-ui.conf:
server {
        root /usr/share/nginx;
        listen <IP_ADDRESS>:80;
        server_name k0nsl.org;
        index index.html index.htm index.php;

        #include /etc/nginx/cloudflare-realip.conf;
        #include /etc/nginx/cloudflare-allow.conf;
        #deny all;

location / {
        recursive_error_pages on;

        error_page 500 502 503 504 403 /custom_50x.html;
        location = /custom_50x.html {
                root /usr/share/nginx;
                internal;
        }

        proxy_intercept_errors on;
        proxy_pass http://<IP_ADDRESS>:8000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $http_host;

        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forward-Proto http;
        proxy_set_header X-Nginx-Proxy true;

        proxy_redirect off;

}
}

It might make a difference if you swap out localhost´ with <IP_ADDRESS>`. Try it and report back.

Found the problem, it did not like the '/crontab'.

Aha. I'm glad you managed to solve it, @pesseyjulien.

yep, thanks for your help !