verifpal: run tests

Motivation for this change
Run tests provided by verifpal.
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

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

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

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 132560 at a5542798 run on x86_64-linux 1

1 package built successfully:

verifpal

1 suggestion:

warning: unclear-gpl
gpl3 is a deprecated license, please check if project uses gpl3Plus or gpl3Only and change meta.license accordingly.
Near pkgs/tools/security/verifpal/default.nix:33:5:
   |
33 |     license = with lib.licenses; [ gpl3 ];
   |     ^


Clean up logging a bit for SolidFire backend

Logging was pretty inconsistent, and flat out wrong in a few
places.  This patch just goes through and tries to gussy things
up a bit and give some consistency in what we're doing.

lemme do a clean merge in my branch and get those conflicts fixed up


Android?

What is teh format that is sent to the server and can be be customized?
My server looks for this format and names
{
"device_id": uuid,
"username": user._id,
"loc": {
"type": "Point",
"coordinates": [coords.longitude, coords.latitude]
},
"speed": coords.speed,
"accuracy": coords.accuracy,
"heading": coords.heading
      }

Android refactored, FYI
http://christocracy.github.io/cordova-background-geolocation/

No more in-plugin HTTP -- calls your javascript callback now, just like ios.
Vastly improved battery performance.


Support for pp node (pretty-printing)

What

To define a customized pretty printing function for your classes, redefine method #pretty_print(pp) in the class.
-- Output Customization (in Ruby Docs)

This PR adds the #pretty_print(pp) method powered by an underlying Utils::Printer class to encapsulate the printing logic.
Other Notes
There's a second commit adding some improvements to bin/console into the PR. It runs TreeStand.configure and creates a parser & a simple tree to facilitate quick experimentation.

It took me a while to figure out that you can use PP.pp(node) to quickly inspect a node. Once you know that this is very easy to use! Might be a good thing to add to the readme or a walkthrough.


Example dashbords don't work with self-managed grafana (9.4.7)

I attempted to import the dashboards from kustomize/monitoring/dashboards into my grafana and it appears the datasource is hard coded as I receive the error:
Failed to upgrade legacy queries Datasource PROMETHEUS was not found

Hi @jcpunk! These dashboards expect a datasource that we've configured here. Our docs for using the monitoring stack can be found here. I hope that clears things up.


Including Headers in Scraped text

Hi,
Is it possible to keep section headings or titles with the scraped text?
I noticed that heading are omitted from fill text.
Thank
Hassan

Hi,
You can use article['title'] to get the headline and you can also concatenate it with scraped text.
Keeping title in scraped text, makes it redundant.

Hi,
I am not referring to the article title but to subheadings/sections in the article. What I noticed is that those headings are dropped from the text.

List an example URL so we can debug, subsections/titles are supposed to be in the article text

Closing this because at the moment newspaper is more interested in improving core functionality and fixing bugs over extending features

I would love to see this thing implemented as well.

Hello, I would be interested in this feature as well (I will take the time to think of a solution at some point).


Extend overview chart data to show 4 years period, make it relative to data

Deposit time lag chart on Overview page moves compliance limit point (90 days) relatively to compliance level percentage.
For example, for a compliance level 80% first 80% of chart is green and last 20% are grey.
Also, the limit of filtered data for overview extended to 4 years.

@PMRuma could you please test this feature?


ci: merge staging to master

This is an automatic PR generated by the pipeline CI/CD. This will be automatically fast-forward merged if successful.

Pipeline Attempt 546498724 - https://gitlab.com/MatrixAI/open-source/typescript-demo-lib-native/-/pipelines/546498724

Pipeline Attempt 546523440 - https://gitlab.com/MatrixAI/open-source/typescript-demo-lib-native/-/pipelines/546523440


feat: Get image from platform

Description of change
Fixes https://github.com/meroxa/turbine-project/issues/45
Depends on https://github.com/meroxa/meroxa-go/pull/106
Type of change

[x]  New feature
[ ]  Bug fix
[ ]  Refactor
[ ]  Documentation

How was this tested?

[ ]  Unit Tests
[ ]  Tested in staging

Demo
WIP

i've rebased and updated the dependencies for this branch, as well as addressed lint issues. i feel like Deploy is now too complicated to do much more unit testing in a meaningful way without some potentially convoluted refactoring.  i'd prefer to put developer efforts towards acceptance tests as this point.  what do you think?

@janelletavares agreed. Especially since we still need to combine this part to be even more generic so each language does less. Ship it?


NPM package v0.4.5 missing lib directory

@markelog

Fixed.
Ah, so many projects, with so different rules :/


feat: add boost.range

as title
need skip url stability check

Hello @bazelbuild/bcr-maintainers, modules without existing maintainers (boost.range) have been updated in this PR. Please review the changes.


Custom resolution cannot take effect

The custom resolution has been set, but there is no response when the custom resolution is selected after creating the monitor (the options in the right-click menu have been changed, but the actual resolution has not been changed)thanks
https://github.com/user-attachments/assets/416c4dd9-d8f2-4e41-b120-b34efc39cfed

You have to add a new virtual display after applied your custom resolutions.

You have to add a new virtual display after applied your custom resolutions.

In the video I just add the custom resolution before adding the virtual screen, and I've tried adding multiple virtual screens after the setup is complete, but this doesn't work

You should set resolution in Windows Display Settings, the app cannot apply it (some sizes not divisible by 10).


provide -[CMDocument attributedString]

It would be an easy to way to render a MarkDown document to a NSTextView.

I'm not sure this one is worth adding, as doing it currently only requires 2-3 lines of code (see the example in the README). I think most people would want to customize the attributes used in the attributed string, so having a single method that just returns the attributed string using the defaults probably wouldn't be super useful.

I think this is a reasonable compromise :)

Looks perfect!
--
Hoa V. Dinh
On Tuesday, January 20, 2015 at 8:26 AM, Indragie Karunaratne wrote:

I think this is a reasonable compromise :)
—
Reply to this email directly or view it on GitHub (https://github.com/indragiek/CocoaMarkdown/issues/4#issuecomment-70683134).


Service Mesh 在云原生中的应用: concepts/within-cloud-native.md

This article is waiting to be claimed. concepts/within-cloud-native.md

/accept

该标题修改为《后 Kubernetes 时代的微服务》，文件名更改为 concepts/microservices-in-post-kubernetes-era.md。

/merged


[FEATURE] Allow tensoreflow not to be loaded when timm is imported

Is your feature request related to a problem? Please describe.
Currently, at least on my computer, importing timm cause tensorflow to load. This cause several problems, like taking over gpu, extended load time, confusing messages etc. To overcome this, i set CUDA_VISIBLE_DEVICES to "" before loading timm and restore it afterwards, but this is awkward.
Describe the solution you'd like
I am not sure how this should be handled. perhaps an optional module or init that will load the tf related things? or "lazy" loading that will load tf only if you use something tf?
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

@mosheliv you'll have to be more specific as to how/what is importing tensorflow (as in what you are doing when it happens) ...
There are two locations where tensorflow is imported in timm, and they are both lazy. One is if you use TFDS datasets https://github.com/rwightman/pytorch-image-models/blob/master/timm/data/parsers/parser_tfds.py#L14-L33 ... but it prevents TF from eating the GPUs
the other is if you enable an old TF pre-processing option https://github.com/rwightman/pytorch-image-models/blob/master/timm/data/tf_preprocessing.py
But both of those files are only imported if the feature is used...
https://github.com/rwightman/pytorch-image-models/blob/master/timm/data/transforms_factory.py#L194-L199
https://github.com/rwightman/pytorch-image-models/blob/master/timm/data/parsers/parser_factory.py#L17-L19

here is a sample code:
import timm
print(timm.__version__)

here is the output:
python3 test.py
2022-09-07 15:46:09.919410: E tensorflow/stream_executor/cuda/cuda_blas.cc:2981] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
2022-09-07 15:46:11.214101: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer.so.7'; dlerror: libnvinfer.so.7: cannot open shared object file: No such file or directory
2022-09-07 15:46:11.214193: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer_plugin.so.7'; dlerror: libnvinfer_plugin.so.7: cannot open shared object file: No such file or directory
2022-09-07 15:46:11.214209: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.
2022-09-07 15:46:19.793729: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1616] Created device /job:localhost/replica:0/task:0/device:GPU:0 with 4911 MB memory:  -> device: 0, name: NVIDIA Quadro GV100, pci bus id: 0000:04:00.0, compute capability: 7.0
2022-09-07 15:46:19.794886: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1616] Created device /job:localhost/replica:0/task:0/device:GPU:1 with 11124 MB memory:  -> device: 1, name: NVIDIA GeForce GTX TITAN X, pci bus id: 0000:03:00.0, compute capability: 5.2
0.6.7

@mosheliv that does not happen from 0.6.7 as installed from pypi or the current master

OK, thanks for the prompt reply... I'll check what's causing it. Very
perplexing. must be something timm is importing.
On Wed, 7 Sept 2022 at 15:59, Ross Wightman @.***>
wrote:

@mosheliv https://github.com/mosheliv that does not happen from 0.6.7
as installed from pypi or the current master
—
Reply to this email directly, view it on GitHub
https://github.com/rwightman/pytorch-image-models/issues/1460#issuecomment-1238879479,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AC7IWC5ALC4OAWMRDS5YTVTV5AHJNANCNFSM6AAAAAAQGK6TFA
.
You are receiving this because you were mentioned.Message ID:
@.***>

@mosheliv timm is very light on external dependencies ... seems more likely to be some sort of environment issue, ie python env that's fully loading all models despite the init, etc .... you could try commenting out the two tensorflow imports that do exist, and then maybe throw and dump a callstack from them if that is the case
In a normal Python3 environment I never see this issue. I would fix it if I did as I agree it's a problem, and that's why I prevented it being imported unless the TF specific features are used. I also run in environments with both TF and PyTorch quite often.

I put a raise in the tf init module...
so, this is what I got:
  File "test.py", line 1, in <module>
    import timm
  File "/home/m/.local/lib/python3.7/site-packages/timm/__init__.py", line
2, in <module>
    from .models import create_model, list_models, is_model, list_modules,
model_entrypoint, \
  File
"/home/m/.local/lib/python3.7/site-packages/timm/models/__init__.py", line
1, in <module>
    from .beit import *
  File "/home/m/.local/lib/python3.7/site-packages/timm/models/beit.py",
line 30, in <module>
    from .helpers import build_model_with_cfg
  File "/home/m/.local/lib/python3.7/site-packages/timm/models/helpers.py",
line 22, in <module>
    from .hub import has_hf_hub, download_cached_file,
load_state_dict_from_hf
  File "/home/m/.local/lib/python3.7/site-packages/timm/models/hub.py",
line 17, in <module>
    from huggingface_hub import HfApi, HfFolder, Repository,
hf_hub_download, hf_hub_url
  File
"/home/m/.local/lib/python3.7/site-packages/huggingface_hub/__init__.py",
line 37, in <module>
    from .keras_mixin import (
  File
"/home/m/.local/lib/python3.7/site-packages/huggingface_hub/keras_mixin.py",
line 19, in <module>
    import tensorflow as tf
  File "/home/m/.local/lib/python3.7/site-packages/tensorflow/__init__.py",
line 29, in <module>

seems like you are calling pytorch hub that loads keras that loads tf...
I'll try perhaps and update the hub module
On Wed, 7 Sept 2022 at 16:16, Ross Wightman @.***>
wrote:

@mosheliv https://github.com/mosheliv timm is very light on external
dependencies ... seems more likely to be some sort of environment issue, ie
python env that's fully loading all models despite the init, etc ....
you could try commenting out the two tensorflow imports that do exist, and
then maybe throw and dump a callstack from them if that is the case
In a normal Python3 environment I never see this issue. I would fix it if
I did as I agree it's a problem, and that's why I prevented it being
imported unless the TF specific features are used. I also run in
environments with both TF and PyTorch quite often.
—
Reply to this email directly, view it on GitHub
https://github.com/rwightman/pytorch-image-models/issues/1460#issuecomment-1238888163,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AC7IWC57LWCMAY2YBBFUKW3V5AJILANCNFSM6AAAAAAQGK6TFA
.
You are receiving this because you were mentioned.Message ID:
@.***>

updated huggingface_hub, all is well. Thank you again!

@mosheliv good to know, and surprising that slipped through hugginface_hub, looks they added tests to prevent it from happening in future

It was a very old version. I just didn't realise it was loaded by timm.
Same happened with transformers. Both are fixed in current version. Who
would have thought such a small fix will bring me so much happiness lol
On Wed, 7 Sep 2022, 17:05 Ross Wightman, @.***> wrote:

@mosheliv https://github.com/mosheliv good to know, and surprising that
slipped through hugginface_hub, looks they added tests to prevent it from
happening in future
—
Reply to this email directly, view it on GitHub
https://github.com/rwightman/pytorch-image-models/issues/1460#issuecomment-1238911998,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AC7IWC2MVY7J4YMNSPC2KUDV5APB7ANCNFSM6AAAAAAQGK6TFA
.
You are receiving this because you were mentioned.Message ID:
@.***>

sorry, huggingface hub
On Wed, 7 Sept 2022 at 16:22, Moshe Livne @.***> wrote:

I put a raise in the tf init module...
so, this is what I got:
  File "test.py", line 1, in <module>
    import timm
  File "/home/m/.local/lib/python3.7/site-packages/timm/__init__.py", line
2, in <module>
    from .models import create_model, list_models, is_model, list_modules,
model_entrypoint, \
  File
"/home/m/.local/lib/python3.7/site-packages/timm/models/__init__.py", line
1, in <module>
    from .beit import *
  File "/home/m/.local/lib/python3.7/site-packages/timm/models/beit.py",
line 30, in <module>
    from .helpers import build_model_with_cfg
  File
"/home/m/.local/lib/python3.7/site-packages/timm/models/helpers.py", line
22, in <module>
    from .hub import has_hf_hub, download_cached_file,
load_state_dict_from_hf
  File "/home/m/.local/lib/python3.7/site-packages/timm/models/hub.py",
line 17, in <module>
    from huggingface_hub import HfApi, HfFolder, Repository,
hf_hub_download, hf_hub_url
  File
"/home/m/.local/lib/python3.7/site-packages/huggingface_hub/__init__.py",
line 37, in <module>
    from .keras_mixin import (
  File
"/home/m/.local/lib/python3.7/site-packages/huggingface_hub/keras_mixin.py",
line 19, in <module>
    import tensorflow as tf
  File
"/home/m/.local/lib/python3.7/site-packages/tensorflow/__init__.py", line
29, in <module>

seems like you are calling pytorch hub that loads keras that loads tf...
I'll try perhaps and update the hub module
On Wed, 7 Sept 2022 at 16:16, Ross Wightman @.***>
wrote:

@mosheliv https://github.com/mosheliv timm is very light on external
dependencies ... seems more likely to be some sort of environment issue, ie
python env that's fully loading all models despite the init, etc ....
you could try commenting out the two tensorflow imports that do exist, and
then maybe throw and dump a callstack from them if that is the case
In a normal Python3 environment I never see this issue. I would fix it if
I did as I agree it's a problem, and that's why I prevented it being
imported unless the TF specific features are used. I also run in
environments with both TF and PyTorch quite often.
—
Reply to this email directly, view it on GitHub
https://github.com/rwightman/pytorch-image-models/issues/1460#issuecomment-1238888163,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AC7IWC57LWCMAY2YBBFUKW3V5AJILANCNFSM6AAAAAAQGK6TFA
.
You are receiving this because you were mentioned.Message ID:
@.***>


Respond with a response object?

So I grabbed this library b/c, yes, http in ruby sucks, and this does not.
However, I wanted to do a HEAD request and since you just return the body, I get nil.
So I added a response object that returns body and status so HEAD is useable.
Thoughts?

I had planned to do something similar to this and can probably start from your work. I definitely wanted to use Http::Request (along with Http::Response) objects, with the goal of using the same objects for both client and server (i.e. the Http::Request generated by a client is the same object that will be generated by the server's Http request parser)
However, "Http.get" is intended to be a shorthand syntax. I wanted HttpClient.get to return a response object by default (i.e. the longer stuff is OOP by default, the shorthand just does the simple thing), and allow you to override either by setting :response => :object or :response => :body/:parsed_body
That said I may try to pull this tonight and put it more in line with what I had in mind.

I agree with the shorthand doing the simple thing like "Http.head" just returns the status and "HttpClient.head" returns the full response object.
I also like the override to the shortcut (or the long hand) so you can just jump arbitrarily far into the response object by providing a path to what you want (:body/:parsed_body, :status or :headers/:content_type etc...)
Let me know if you need a hand with anything.
Digging the library so far! I really hate ALL the http libs too so I'm happy to contribute to their demise.

I merged this and changed a few things.
The default behavior for all verbs besides Http.head is still to return :parsed_body. Http.head now returns an Http::Response object.
I had it grab headers too (just realized I forgot to note that in the commit message, whoops)
I also changed Http::Response to be more like a struct. The initialize method sets its default state, but presently doesn't accept any arguments. I'd like for the Ragel parser to eventually construct Http::Response objects, and I plan to expose the parser as a set of callback methods that act on the parser's present state. This will be a lot slower than, say, the Mongrel parser, but still give you flexible control over how the response objects are built. JRuby should be able to inline the parser with InDy (provided HotSpot doesn't give up due to "irreducible complexity")
tl;dr: merged!


Add disclaimer that using this can lead to a ban.

We got official notice from a Bing developer that this doesn't actually break their terms of service.

But the strange thing is that my account has been banned.
Now I am back into waiting list

But the strange thing is that my account has been banned.
Now I am back into waiting list

Did you break any of their other rules? We're quite sure this isn't supposed to lead to a ban. There are official Bing Chat developers in our discord and we got confirmation from them quite a while ago

I think it may be just a bug.
I saw people who had never used this and encountered the same problem.
And sadly, I don't know any solution to this problem.

But the strange thing is that my account has been banned.
Now I am back into waiting list

Me too

https://t.me/usemygptbot 如果是中文用户，可以到这个群来讨论下被ban的原因。我前两天发布了一个版本应该规避了这个问题。但是不确定，需要更多人确认一下


Invalid required state

When using required validation on model it should be false even if the selected file is invalid otherwise i can't use <ng-messages> directive because it always selects the required validation message.

Could you create a jsfiddle to explain what you mean.

@danialfarid it simply doesnt work
<input class="form-control form-control-solid"
                     name="avatar"
                     type="file"
                     accept="image/*"
                     ng-model="avatar"
                     ngf-select
                     ngf-model-invalid="errorFile"
                     ngf-max-size="2MB"
                     ngf-min-height="250"
                     required />

{{ 'FORM.REQUIRED' | translate }}

angular ver: 1.6.3
file-upload ver: 12.2.13

Doesn't work for me either! I want to disable the submit button until a file has been uploaded.
This was working in Angular 1.4 but DOES NOT work in Angular 1.6.3


Fix typos in explorer background

Thanks @aflp91! The modifications look good to me, I can merge unless you want to push more.


Implement weak subjectivity checkpoints

Description
As a node operator, I want to be able to use weak subjectivity checkpoints so that I can resync securely.
See this write-up for the current thinking on this: https://notes.ethereum.org/@adiasg/weak-subjectvity-eth2
Absorbing #1950 here: if Teku does not have access to a known good state (such as a checkpoint, or a self-calculated state) within the WSP it should warn the operator and (probably) refuse to start.
We should/could also define a mechanism for providing checkpoints state snapshots to users wishing to sync.

We should probably also have checks that cause teku to shut down if sync falls behind the weak subjectivity period.

Transposing comments from Telegram "Eth2 Weak Subjectivity WG" to here:

Feature Request:
(1) Take WSS as a CLI parameter input
(2a) IF the WSS height is > local last finalized height, then ASSERT during block sync that WSS is in the path at the appropriate height. Emit descriptive critical error if this assert fails, then exit client process.
(2b) IF WSS height <= local last finalized height, then ASSERT that the local state at the WSS height is the same as the WSS input. Emit descriptive critical error if this assert fails, then exit client process.
I'm assuming here that clients start block sync from their last finalized block. If your client starts its sync from elsewhere, you'll have to change the logic 2a & 2b so that it maintains the same functionality for your sync strategy. Happy to discuss this if needed.


The destination must use url or topic key

See https://github.com/upstash/sdk-qstash-ts/blob/94a239ae6b4ebae010680143fddb1d36d2a3fa22/pkg/client/client.ts#L29

Hey @spyl94, I'm not sure if I understand this PR.
It just renames the destination field.
The destination field actually accepts both a url or a topic name right now.

Thank you!


Skill response was marked as failure

Julian,
Let me start by saying your step by step guide was wonderful.  One issue I had at first was that my alexa app didn't see the new skill because the email address that Amazon.com (and therefore, alexa) had was different than the one I wanted to use for my Amazon Developer account.  That's a big no-no.  Lambda doesn't seem to care.  It sees the call requests, they are just failing.
Of note is on the Lambda function, after uploading the zip file, it shows an error on line 186 with the yellow triangle and ! with the message "Too many errors. (62% scanned)."
I double checked local IP, WAN IP, ports, and passwords, and they are all consistent., just to make sure that wasn't an error as well.
Thoughts on where to start?  Thanks in advance for your help!
Michael P. Deffendall

Actually, @chris1642 contributed that guide. I'm glad you found it helpful!
An error like "Too many errors" sounds like there's something wrong at the top of the file or with the upload format/method. That error means that it found hundreds and hundreds of errors before that part of the file. If there are hundreds of errors before 62% scanned.. it's definitely something else going on.
Off the top of my head.. perhaps you have an invalid character in the beginning of the file, didn't correctly quote your APP ID or some other piece of information at the top of the file. Perhaps there are some weird invisible characters causing problems?
Check for those and let me know if you find anything.

Good news is I don't have any error messages anymore on Lambda.  Bad news is it still doesn't work.
What I did was:

Attempt again to upload the .zip file, after removing all the code..  No change
Removed all the code, copy and pasted the .js files content one at a time.  No errors, but still not working.  Does it matter the order of the files?  I had index on top, then AlexaSkill and then serverinfo.

Other thoughts?
Mike

Copy pasted JS files? You mean in one big block on the lambda dialog? That's definitely not right.. you should be uploading a zip file.
Can you post the zip file that is giving you the errors. (or email it to me<EMAIL_ADDRESS>

Julian,
Here you go.  I intentionally changed the values on my serverinfo for
security purposes.
Mike
On Wed, Jan 4, 2017 at 6:12 PM, Julian Hartline<EMAIL_ADDRESS>wrote:

Copy pasted JS files? You mean in one big block on the lambda dialog?
That's definitely not right.. you should be uploading a zip file.
Can you post the zip file that is giving you the errors. (or email it to
me<EMAIL_ADDRESS>—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/julianh2o/RokuAlexaLambdaSkill/issues/15#issuecomment-270525124,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AXwEqPwjvHskdM7gc3axarS1nHl_5ukrks5rPDVwgaJpZM4LbKkH
.

File sent.  And I only tried the copy/paste as the upload caused the error.
Mike

I don't see the file.. perhaps just upload it to pastebin or something like that? I only need index.js

index.js.txt

Does it actually have a .txt extension? Because that could be the problem.. I don't see anything wrong with the top of this file otherwise.

I had to add the TXT to upload it here

Hmm, I'm not sure where your problem might be then. You can try providing some more images with the errors you're seeing and the steps you're taking or perhaps try running through this tutorial to get a better feeling for how this is supposed to work and to see whether you can get a simple skill working.
My gut is still telling me that it's something along the lines of how you've uploaded or prepared your bundle for AWS Lambda.

If the compressed zip folder doesn't allow you to change the extension, within any folder - you should have an option for "view" or file, view preferences (not in front of me to know for sure) - check the box that says something like "show file extensions"
Then right click on the file and so the same (no that the full extension will show and easily allow a change )
Sent from my iPhone

On Jan 4, 2017, at 8:08 PM, Chris Cusumano<EMAIL_ADDRESS>wrote:
Not sure if this reply works - but when the file was edited in notepad, it was saved as .txt - it needs to stay as .js.
An easy fix - within that compressed zip folder, right click on index.js.txt and rename. It should allow you to edit the entire name, including the extension .txt. Basically - remove the .txt and only leave .js. Then reupload. Also, if any other files renamed to .txt, same process.
Sent from my iPhone

On Jan 4, 2017, at 6:51 PM, michaeldeffendall<EMAIL_ADDRESS>wrote:
index.js.txt
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

He said that he just changed the extension to upload it. I don't think that's the problem.

I only made it a txt file for purposes of uploading.  It was a .js when in
the zip
On Jan 4, 2017 8:08 PM, "chris1642"<EMAIL_ADDRESS>wrote:

Not sure if this reply works - but when the file was edited in notepad, it
was saved as .txt - it needs to stay as .js.
An easy fix - within that compressed zip folder, right click on
index.js.txt and rename. It should allow you to edit the entire name,
including the extension .txt. Basically - remove the .txt and only leave
.js. Then reupload. Also, if any other files renamed to .txt, same process.
Sent from my iPhone

On Jan 4, 2017, at 6:51 PM, michaeldeffendall<EMAIL_ADDRESS>wrote:
index.js.txt
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/julianh2o/RokuAlexaLambdaSkill/issues/15#issuecomment-270545089,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AXwEqKRX1ehPkkYOxuN4rd-6ZNZOoXO3ks5rPFC2gaJpZM4LbKkH
.

Mike,
Outside of the file extension issue (if that is one), may be the same issue that someone else had and it's more unrelated to the lambda server (even though that is giving an error or just not working).
Will be home later this evening to offer help. Not a big deal if it's what I'm thinking.
Sent from my iPhone

On Jan 4, 2017, at 6:10 PM, michaeldeffendall<EMAIL_ADDRESS>wrote:
Good news is I don't have any error messages anymore on Lambda. Bad news is it still doesn't work.
What I did was:
Attempt again to upload the .zip file, after removing all the code.. No change
Removed all the code, copy and pasted the .js files content one at a time. No errors, but still not working. Does it matter the order of the files? I had index on top, then AlexaSkill and then serverinfo.
Other thoughts?
Mike
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Mike,
One, the 'too many errors' within the Lambda server is not the problem. I have that on mine now and it works fine (and since I uploaded that originally on my link, everyone has the same warning of errors and still seems to work).
As a side note -  Lambda's test won't work unless you used Julian's test file for the lambda server (since the example 'hello world' function is not relevant) - but you can ignore that too....unrelated.
If you say something to your Echo and nothing happens....do this: go to developer.amazon.com, and into your skill - on the left side - you will see 'Test".
Within that page, under Service Simulator, within the 'text' box, type: "go home" (remove the quotations)
I am going to make a bet that you will get a lot of function-related text within the left side (Lambda Request)....but receive "The remote endpoint could not be called, or the response it returned was invalid." on the right side, (Lambda Response). This indicates that the lambda server is likely not the problem. The problem is one of a few things:

You don't have the server.js file running (meaning the node server)
the server.js file doesn't have the correct port number you selected for port forwarding.
Port forwarding is set up incorrectly - so the Lambda server cannot reach your computer to get a response....this is usually the issue.

Hope this helps!

Ok, I started from scratch and now I can't get the node server.js to see the Roku.     I ran the npm install first.
Here is my server.js below.  Roku is on .88.  Using port forwarding on 32500.
When I run node server.js I get  "Server listening on port 32500" and nothing else.
================================
var http = require('http');
var fs = require('fs');
var urllib = require("url");
var Client = require('node-ssdp').Client;
var dgram = require('dgram');
//null will cause the server to discover the Roku on startup, hard coding a value will allow for faster startups
// When manually setting this, include the protocol, port, and trailing slash eg:
var rokuAddress = "http://<IP_ADDRESS>:8060/";
//var rokuAddress = null;
var PORT=32500; //this is the port you are enabling forwarding to. Reminder: you are port forwarding your public IP to the computer playing this script...NOT the roku IP
var PASS='password' //this is the password used in the AWS lambda files to help stop others from running commands on your roku, should they guess your IP and port
var ssdp = new Client();
var keyDelay = 100; //typing delay in ms. If you have a faster roku, you can probably reduce this, slower ones may have to increase it.
//handle the ssdp response when the roku is found
ssdp.on('response', function (headers, statusCode, rinfo) {
rokuAddress = headers.LOCATION;
console.log("Found Roku: ",rokuAddress);
});
//this is called periodically and will only look for the roku if we don't already have an address
function searchForRoku() {
if (rokuAddress == null) {
ssdp.search('roku:ecp');
}
}
//a simple wrapper to post to a url with no payload (to send roku commands)
function post(url,callback) {
var info = urllib.parse(url);
console.log("Posting: ",url);
var opt = {
host:info.hostname,
port:info.port,
path: info.path,
method: 'POST',
};
var req = http.request(opt, callback);

req.end();

}
//Performing an operation on the roku normally takes a handful of button presses
//This function will perform the list of commands in order and if a numerical value is included in the sequence it will be inserted as a delay
function postSequence(sequence,callback) {
function handler() {
if (sequence.length == 0) {
if (callback) callback();
return;
}
var next = sequence.shift();
if (typeof next === "number") {
setTimeout(handler,next);
} else if (typeof next === "string") {
post(next,function(res) {
res.on("data",function() {}); //required for the request to go through without error
handler();
});
}
}
handler();
}
//In order to send keyboard input to the roku, we use the keyress/Lit_* endpoint which can be any alphanumeric character
//This function turns a string into a series of these commands with delays built in
function createTypeSequence(text) {
var sequence = [];
for (i=0; i<text.length; i++) {
var c = text.charCodeAt(i);
if (c == 32) {
sequence.push(rokuAddress+"keypress/Lit_%20");
} else if (c >= 97 && c <=122) {
sequence.push(rokuAddress+"keypress/Lit_"+text.charAt(i));
}
sequence.push(keyDelay);
}
return sequence;
}
//simple helper function to pull the data out of a post request. This could be avoided by using a more capable library such
function getRequestData(request,callback) {
var body = "";
request.on("data",function(data) {
body += String(data);
});
request.on("end",function() {
callback(body);
});
}
function generateRepeatedKeyResponse(key,count) {
var arr = [];
for (var i=0; i<count; i++) {
arr.push(rokuAddress+key);
arr.push(keyDelay);
}
return function(request,response) {
postSequence(arr);
response.end("OK");
}
}
//depending on the URL endpoint accessed, we use a different handler.
//This is almost certainly not the optimal way to build a TCP server, but for our simple example, it is more than sufficient
var handlers = {
"/roku/playlast":function(request,response) {
postSequence([
rokuAddress+"keypress/home",    //wake the roku up, if its not already
rokuAddress+"keypress/home",    //go back to the home screen (even if we're in netflix, we need to reset the interface)
3000,                           //loading the home screen takes a few seconds
rokuAddress+"launch/12",        //launch the netflix channel (presumably this is always id 12..)
7000,                           //loading netflix also takes some time
rokuAddress+"keypress/down",    //the last searched item is always one click down and one click to the right of where the cursor starts
rokuAddress+"keypress/right",
1000,                           //more delays, experimentally tweaked.. can probably be significantly reduced by more tweaking
rokuAddress+"keypress/Select",  //select the show from the main menu
3000,                           //give the show splash screen time to load up
rokuAddress+"keypress/Play"     //play the current/next episode (whichever one comes up by default)
]);
response.end("OK"); //we provide an OK response before the operation finishes so that our AWS Lambda service doesn't wait around through our delays
},
"/roku/downtwo":generateRepeatedKeyResponse("keypress/down",2),
"/roku/downthree":generateRepeatedKeyResponse("keypress/down",3),
"/roku/downfour":generateRepeatedKeyResponse("keypress/down",4),
"/roku/downfive":generateRepeatedKeyResponse("keypress/down",5),
"/roku/uptwo":generateRepeatedKeyResponse("keypress/up",2),
"/roku/upthree":generateRepeatedKeyResponse("keypress/up",3),
"/roku/upfour":generateRepeatedKeyResponse("keypress/up",4),
"/roku/upfive":generateRepeatedKeyResponse("keypress/up",5),

"/roku/righttwo":generateRepeatedKeyResponse("keypress/right",2),
"/roku/rightthree":generateRepeatedKeyResponse("keypress/right",3),
"/roku/rightfour":generateRepeatedKeyResponse("keypress/right",4),
"/roku/rightfive":generateRepeatedKeyResponse("keypress/right",5),

"/roku/lefttwo":generateRepeatedKeyResponse("keypress/left",2),
"/roku/leftthree":generateRepeatedKeyResponse("keypress/left",3),
"/roku/leftfour":generateRepeatedKeyResponse("keypress/left",4),
"/roku/leftfive":generateRepeatedKeyResponse("keypress/left",5),
"/roku/captionson":function(request,response) {
    postSequence([
        rokuAddress+"keypress/info",    //this function only works with a Roku TV, as a regular roku's caption's sequence is based on the individual app.
        keyDelay,
        rokuAddress+"keypress/down",
        keyDelay,
        rokuAddress+"keypress/down",
        keyDelay,
        rokuAddress+"keypress/down",
        keyDelay,
        rokuAddress+"keypress/down",
        keyDelay,
        rokuAddress+"keypress/down",
        keyDelay,
        rokuAddress+"keypress/right",
        keyDelay,
        rokuAddress+"keypress/info",    //presses info a second time to exit menu
        keyDelay,
    ]);
    response.end("OK"); //we provide an OK response before the operation finishes so that our AWS Lambda service doesn't wait around through our delays
},
"/roku/captionsoff":function(request,response) {
    postSequence([
        rokuAddress+"keypress/info",    //this function only works with a Roku TV, as a regular roku's caption's sequence is based on the individual app.
        keyDelay,
        rokuAddress+"keypress/down",
        keyDelay,
        rokuAddress+"keypress/down",
        keyDelay,
        rokuAddress+"keypress/down",
        keyDelay,
        rokuAddress+"keypress/down",
        keyDelay,
        rokuAddress+"keypress/down",
        keyDelay,
        rokuAddress+"keypress/left",
        keyDelay,
        rokuAddress+"keypress/info",    //presses info a second time to exit menu
        keyDelay,
    ]);
    response.end("OK"); //we provide an OK response before the operation finishes so that our AWS Lambda service doesn't wait around through our delays
},
//This endpoint doenst perform any operations, but it allows an easy way for you to dictate typed text without having to use the on screen keyboard
"/roku/type":function(request,response) {
    getRequestData(request,function(data) {
        var text = data.replace().toLowerCase();
        var sequence = createTypeSequence(text);
        postSequence(sequence,function() {

        });
        response.end("OK");
    });
},
//Takes the POST data and uses it to search for a show and then immediate plays that show
"/roku/searchroku":function(request,response) {
    getRequestData(request,function(data) {
        var text = data.replace().toLowerCase();      //Master search....if a movie, will auto go to channel (first choice is always the free channel you have installed - if no free channel, will take you but not hit play.
        var sequence = [].concat([            //If a TV show....will stop before selecting a channel (first choice is based on how many episodes avaialble, NOT based on cost - meaning manually choose - will also allow you to choose the specific season and episode manually using voice or remote)
            rokuAddress+"keypress/home",    //wake roku
            rokuAddress+"keypress/home",    //reset to home screen
            2000,
            rokuAddress+"keypress/down",
            keyDelay,
            rokuAddress+"keypress/down",
            keyDelay,
            rokuAddress+"keypress/down",
            keyDelay,
            rokuAddress+"keypress/down",
            keyDelay,
            rokuAddress+"keypress/down",
            keyDelay,
            rokuAddress+"keypress/select",
            500,
            ],createTypeSequence(text),[
            rokuAddress+"keypress/right",
            keyDelay,
            rokuAddress+"keypress/right",
            keyDelay,
            rokuAddress+"keypress/right",
            keyDelay,
            rokuAddress+"keypress/right",
            keyDelay,
            rokuAddress+"keypress/right",
            keyDelay,
            rokuAddress+"keypress/right",
            500,
            rokuAddress+"keypress/select",
            1000,
            rokuAddress+"keypress/select",
            4000,
            ]);
        postSequence(sequence);
        response.end("OK");     //respond with OK before the operation finishes
    });
},
"/roku/searchplex":function(request,response) {
    getRequestData(request,function(data) {
        var text = data.replace().toLowerCase();      //Master search....if a movie, will auto go to channel (first choice is always the free channel you have installed - if no free channel, will take you but not hit play.
        var sequence = [].concat([            //If a TV show....will stop before selecting a channel (first choice is based on how many episodes avaialble, NOT based on cost - meaning manually choose - will also allow you to choose the specific season and episode manually using voice or remote)
            rokuAddress+"keypress/home",    //wake roku
            rokuAddress+"keypress/home",    //reset to home screen
            2000,
            rokuAddress+"launch/13535",    //open plex
            5000,
            rokuAddress+"keypress/up",
            keyDelay,
            rokuAddress+"keypress/select",
            keyDelay,
            ],createTypeSequence(text),[
            rokuAddress+"keypress/right",
            keyDelay,
            rokuAddress+"keypress/right",
            keyDelay,
            rokuAddress+"keypress/right",
            keyDelay,
            rokuAddress+"keypress/right",
            keyDelay,
            rokuAddress+"keypress/right",
            1500,
            rokuAddress+"keypress/right",
            1000,
            rokuAddress+"keypress/select",
            500,
            rokuAddress+"keypress/select",
            500,
            ]);
        postSequence(sequence);
        response.end("OK");     //respond with OK before the operation finishes
    });
},
"/roku/playlastyoutube":function(request,response) {    //not working yet - youtube search does not allow keyboard input. Next best thing is to play most recent.
    getRequestData(request,function(data) {
        var sequence = [].concat([
            rokuAddress+"keypress/home",    //wake roku
            keyDelay,
            rokuAddress+"launch/837",        //launch youtube app
            6000,
            rokuAddress+"keypress/up",    //navigate to search
            200,
            rokuAddress+"keypress/up",  //Navigate to search
            200,
            rokuAddress+"keypress/select",  //select search
            200,
            rokuAddress+"keypress/up",   //go to search selections (which show up to the right of they keyboard.. we need to tap through them)
            200,
            rokuAddress+"keypress/select",
            2500,
            rokuAddress+"keypress/select", //selected the top result and returns to the main screen
            2500,                          //wait for main menu
        ]);
        postSequence(sequence);
        response.end("OK");     //respond with OK before the operation finishes
    });
},
"/roku/playpause":function(request,response) {        //the play and pause buttons are the same and is called "Play"
    post(rokuAddress+"keypress/Play");
    response.end("OK");
},
"/roku/power":function(request,response) {        //Only for roku TV - can only turn TV OFF....not On, as once it is turned off, it will disable the network,
    post(rokuAddress+"keypress/Power");
    response.end("OK");
},
"/roku/rewind":function(request,response) {        //rewind
    post(rokuAddress+"keypress/rev");
    response.end("OK");
},
"/roku/fastforward":function(request,response) {    //fast forward
    post(rokuAddress+"keypress/fwd");
    response.end("OK");
},
"/roku/up":function(request,response) {            //up
    post(rokuAddress+"keypress/up");
    response.end("OK");
},
"/roku/down":function(request,response) {        //down
    post(rokuAddress+"keypress/down");
    response.end("OK");
},
"/roku/back":function(request,response) {        //back
    post(rokuAddress+"keypress/back");
    response.end("OK");
},
"/roku/left":function(request,response) {        //left
    post(rokuAddress+"keypress/left");
    response.end("OK");
},
"/roku/instantreplay":function(request,response) {    //instant replay, go back 10 secounds
    post(rokuAddress+"keypress/instantreplay");
    response.end("OK");
},
"/roku/right":function(request,response) {        //right
    post(rokuAddress+"keypress/right");
    response.end("OK");
},
"/roku/select":function(request,response) {        //select - this is often more useful than play/pause - same as OK on the remote
    post(rokuAddress+"keypress/select");
    response.end("OK");
},
"/roku/nextepisode":function(request,response) {    //NOT being utilized right now, needs tweaking
    postSequence([
        rokuAddress+"keypress/back",
        1000,
        rokuAddress+"keypress/down",
        keyDelay,
        rokuAddress+"keypress/down",
        keyDelay,
        rokuAddress+"keypress/select",
        2000,
        rokuAddress+"keypress/right",
        keyDelay,
        rokuAddress+"keypress/select",
        1000,
        rokuAddress+"keypress/Play",
    ],function() {

    });
    response.end("OK");
},
"/roku/lastepisode":function(request,response) {    //NOT being utilized right now, needs tweaking
    postSequence([
        rokuAddress+"keypress/back",
        1000,
        rokuAddress+"keypress/down",
        keyDelay,
        rokuAddress+"keypress/down",
        keyDelay,
        rokuAddress+"keypress/select",
        2000,
        rokuAddress+"keypress/left",
        keyDelay,
        rokuAddress+"keypress/select",
        1000,
        rokuAddress+"keypress/Play",
    ],function() {

    });
    response.end("OK");
},
"/roku/amazon":function(request,response) {            //function to open amazon, ID below
    postSequence([
        amazon(rokuAddress),
    ],function(){

    });
    response.end("OK");
},
"/roku/plex":function(request,response) {            //function to open plex, ID below
    postSequence([
        plex(rokuAddress),
    ],function(){

    });
    response.end("OK");
},
"/roku/pandora":function(request,response) {            //function to open pandora, ID below
    postSequence([
        pandora(rokuAddress),
    ],function(){

    });
    response.end("OK");
},
"/roku/hulu":function(request,response) {            //function to oen Hulu, ID below
    postSequence([
        hulu(rokuAddress),
    ],function(){

    });
    response.end("OK");
},
"/roku/home":function(request,response) {            //function for Home buddon, ID below
    postSequence([
        home(rokuAddress),
    ],function(){

    });
    response.end("OK");
},
"/roku/tv":function(request,response) {            //function for TV input - ROKU TV ONLY
    postSequence([
        tv(rokuAddress),
    ],function(){

    });
    response.end("OK");
},
"/roku/fourk":function(request,response) {        //Function for 4K Spotlight Channel - possibly 4k Roku version only
    postSequence([
        fourk(rokuAddress),
    ],function(){

    });
    response.end("OK");
},
"/roku/hbo":function(request,response) {        //function for HBOGO, ID below
    postSequence([
        hbo(rokuAddress),
    ],function(){

    });
    response.end("OK");
},
"/roku/youtube":function(request,response) {            //function for youtube, ID below
    postSequence([
        youtube(rokuAddress),
    ],function(){

    });
    response.end("OK");
},
"/roku/fx":function(request,response) {            //function for FX Channel, ID below
    postSequence([
        fx(rokuAddress),
    ],function(){

    });
    response.end("OK");
}

}
//handles and incoming request by calling the appropriate handler based on the URL
function handleRequest(request, response){
if (request.headers.authorization !== PASS) {
console.log("Invalid authorization header");
response.end();
return;
}
if (handlers[request.url]) {
handlersrequest.url;
} else {
console.log("Unknown request URL: ",request.url);
response.end();
}
}
// Launches the Amazon Video channel (id 13)
function amazon(address){
return address+"launch/13";
}
// Launches the Pandora channel (id 28)
function pandora(address){
return address+"launch/28";
}
// Launches the Hulu channel (id 2285)
function hulu(address){
return address+"launch/2285";
}
// Launches the Plex channel (id 13535)
function plex(address){
return address+"launch/13535";
}
// Sends the Home button
function home(address){
return address+"keypress/home";
}
// Launches the TV channel (id tvinput.dtv)
function tv(address){
return address+"launch/tvinput.dtv";
}
// Launches the fourK channel (id 69091)
function fourk(address){
return address+"launch/69091";
}
// Launches the HBO channel (id 8378)
function hbo(address){
return address+"launch/8378";
}
// Launches the FX channel (id 47389)
function fx(address){
return address+"launch/47389";
}
// Launches the YouTube channel (id 837)
function youtube(address){
return address+"launch/837";
}
//start the MSEARCH background task to try every second (run it immediately too)
setInterval(searchForRoku,1000);
searchForRoku();
//start the tcp server
http.createServer(handleRequest).listen(PORT,function(){
console.log("Server listening on port %s", PORT);
});

This may not work but that randomly happened to me and I just closed the server app, restarted the Roku, waited until it was fully up, then restarted computer and then re-rand and it fixed it. Why did it fix it? A mystery... but worth a try.
Sent from my iPhone

On Jan 15, 2017, at 11:24 AM, michaeldeffendall<EMAIL_ADDRESS>wrote:
Ok, I started from scratch and now I can't get the node server.js to see the Roku.  I ran the npm install first.
Here is my server.js below. Roku is on .88. Using port forwarding on 32500.
When I run node server.js I get "Server listening on port 32500" and nothing else.
================================
var http = require('http');
var fs = require('fs');
var urllib = require("url");
var Client = require('node-ssdp').Client;
var dgram = require('dgram');
//null will cause the server to discover the Roku on startup, hard coding a value will allow for faster startups
// When manually setting this, include the protocol, port, and trailing slash eg:
var rokuAddress = "http://<IP_ADDRESS>:8060/";
//var rokuAddress = null;
var PORT=32500; //this is the port you are enabling forwarding to. Reminder: you are port forwarding your public IP to the computer playing this script...NOT the roku IP
var PASS='password' //this is the password used in the AWS lambda files to help stop others from running commands on your roku, should they guess your IP and port
var ssdp = new Client();
var keyDelay = 100; //typing delay in ms. If you have a faster roku, you can probably reduce this, slower ones may have to increase it.
//handle the ssdp response when the roku is found
ssdp.on('response', function (headers, statusCode, rinfo) {
rokuAddress = headers.LOCATION;
console.log("Found Roku: ",rokuAddress);
});
//this is called periodically and will only look for the roku if we don't already have an address
function searchForRoku() {
if (rokuAddress == null) {
ssdp.search('roku:ecp');
}
}
//a simple wrapper to post to a url with no payload (to send roku commands)
function post(url,callback) {
var info = urllib.parse(url);
console.log("Posting: ",url);
var opt = {
host:info.hostname,
port:info.port,
path: info.path,
method: 'POST',
};
var req = http.request(opt, callback);
req.end();
}
//Performing an operation on the roku normally takes a handful of button presses
//This function will perform the list of commands in order and if a numerical value is included in the sequence it will be inserted as a delay
function postSequence(sequence,callback) {
function handler() {
if (sequence.length == 0) {
if (callback) callback();
return;
}
var next = sequence.shift();
if (typeof next === "number") {
setTimeout(handler,next);
} else if (typeof next === "string") {
post(next,function(res) {
res.on("data",function() {}); //required for the request to go through without error
handler();
});
}
}
handler();
}
//In order to send keyboard input to the roku, we use the keyress/Lit_* endpoint which can be any alphanumeric character
//This function turns a string into a series of these commands with delays built in
function createTypeSequence(text) {
var sequence = [];
for (i=0; i<text.length; i++) {
var c = text.charCodeAt(i);
if (c == 32) {
sequence.push(rokuAddress+"keypress/Lit_%20");
} else if (c >= 97 && c <=122) {
sequence.push(rokuAddress+"keypress/Lit_"+text.charAt(i));
}
sequence.push(keyDelay);
}
return sequence;
}
//simple helper function to pull the data out of a post request. This could be avoided by using a more capable library such
function getRequestData(request,callback) {
var body = "";
request.on("data",function(data) {
body += String(data);
});
request.on("end",function() {
callback(body);
});
}
function generateRepeatedKeyResponse(key,count) {
var arr = [];
for (var i=0; i<count; i++) {
arr.push(rokuAddress+key);
arr.push(keyDelay);
}
return function(request,response) {
postSequence(arr);
response.end("OK");
}
}
//depending on the URL endpoint accessed, we use a different handler.
//This is almost certainly not the optimal way to build a TCP server, but for our simple example, it is more than sufficient
var handlers = {
"/roku/playlast":function(request,response) {
postSequence([
rokuAddress+"keypress/home", //wake the roku up, if its not already
rokuAddress+"keypress/home", //go back to the home screen (even if we're in netflix, we need to reset the interface)
3000, //loading the home screen takes a few seconds
rokuAddress+"launch/12", //launch the netflix channel (presumably this is always id 12..)
7000, //loading netflix also takes some time
rokuAddress+"keypress/down", //the last searched item is always one click down and one click to the right of where the cursor starts
rokuAddress+"keypress/right",
1000, //more delays, experimentally tweaked.. can probably be significantly reduced by more tweaking
rokuAddress+"keypress/Select", //select the show from the main menu
3000, //give the show splash screen time to load up
rokuAddress+"keypress/Play" //play the current/next episode (whichever one comes up by default)
]);
response.end("OK"); //we provide an OK response before the operation finishes so that our AWS Lambda service doesn't wait around through our delays
},
"/roku/downtwo":generateRepeatedKeyResponse("keypress/down",2),
"/roku/downthree":generateRepeatedKeyResponse("keypress/down",3),
"/roku/downfour":generateRepeatedKeyResponse("keypress/down",4),
"/roku/downfive":generateRepeatedKeyResponse("keypress/down",5),
"/roku/uptwo":generateRepeatedKeyResponse("keypress/up",2),
"/roku/upthree":generateRepeatedKeyResponse("keypress/up",3),
"/roku/upfour":generateRepeatedKeyResponse("keypress/up",4),
"/roku/upfive":generateRepeatedKeyResponse("keypress/up",5),
"/roku/righttwo":generateRepeatedKeyResponse("keypress/right",2),
"/roku/rightthree":generateRepeatedKeyResponse("keypress/right",3),
"/roku/rightfour":generateRepeatedKeyResponse("keypress/right",4),
"/roku/rightfive":generateRepeatedKeyResponse("keypress/right",5),
"/roku/lefttwo":generateRepeatedKeyResponse("keypress/left",2),
"/roku/leftthree":generateRepeatedKeyResponse("keypress/left",3),
"/roku/leftfour":generateRepeatedKeyResponse("keypress/left",4),
"/roku/leftfive":generateRepeatedKeyResponse("keypress/left",5),
"/roku/captionson":function(request,response) {
postSequence([
rokuAddress+"keypress/info",    //this function only works with a Roku TV, as a regular roku's caption's sequence is based on the individual app.
keyDelay,
rokuAddress+"keypress/down",
keyDelay,
rokuAddress+"keypress/down",
keyDelay,
rokuAddress+"keypress/down",
keyDelay,
rokuAddress+"keypress/down",
keyDelay,
rokuAddress+"keypress/down",
keyDelay,
rokuAddress+"keypress/right",
keyDelay,
rokuAddress+"keypress/info",    //presses info a second time to exit menu
keyDelay,
]);
response.end("OK"); //we provide an OK response before the operation finishes so that our AWS Lambda service doesn't wait around through our delays
},
"/roku/captionsoff":function(request,response) {
postSequence([
rokuAddress+"keypress/info",    //this function only works with a Roku TV, as a regular roku's caption's sequence is based on the individual app.
keyDelay,
rokuAddress+"keypress/down",
keyDelay,
rokuAddress+"keypress/down",
keyDelay,
rokuAddress+"keypress/down",
keyDelay,
rokuAddress+"keypress/down",
keyDelay,
rokuAddress+"keypress/down",
keyDelay,
rokuAddress+"keypress/left",
keyDelay,
rokuAddress+"keypress/info",    //presses info a second time to exit menu
keyDelay,
]);
response.end("OK"); //we provide an OK response before the operation finishes so that our AWS Lambda service doesn't wait around through our delays
},
//This endpoint doenst perform any operations, but it allows an easy way for you to dictate typed text without having to use the on screen keyboard
"/roku/type":function(request,response) {
getRequestData(request,function(data) {
var text = data.replace().toLowerCase();
var sequence = createTypeSequence(text);
postSequence(sequence,function() {
    });
    response.end("OK");
});

},
//Takes the POST data and uses it to search for a show and then immediate plays that show
"/roku/searchroku":function(request,response) {
getRequestData(request,function(data) {
var text = data.replace().toLowerCase();      //Master search....if a movie, will auto go to channel (first choice is always the free channel you have installed - if no free channel, will take you but not hit play.
var sequence = [].concat([            //If a TV show....will stop before selecting a channel (first choice is based on how many episodes avaialble, NOT based on cost - meaning manually choose - will also allow you to choose the specific season and episode manually using voice or remote)
rokuAddress+"keypress/home",    //wake roku
rokuAddress+"keypress/home",    //reset to home screen
2000,
rokuAddress+"keypress/down",
keyDelay,
rokuAddress+"keypress/down",
keyDelay,
rokuAddress+"keypress/down",
keyDelay,
rokuAddress+"keypress/down",
keyDelay,
rokuAddress+"keypress/down",
keyDelay,
rokuAddress+"keypress/select",
500,
],createTypeSequence(text),[
rokuAddress+"keypress/right",
keyDelay,
rokuAddress+"keypress/right",
keyDelay,
rokuAddress+"keypress/right",
keyDelay,
rokuAddress+"keypress/right",
keyDelay,
rokuAddress+"keypress/right",
keyDelay,
rokuAddress+"keypress/right",
500,
rokuAddress+"keypress/select",
1000,
rokuAddress+"keypress/select",
4000,
]);
postSequence(sequence);
response.end("OK");     //respond with OK before the operation finishes
});
},
"/roku/searchplex":function(request,response) {
getRequestData(request,function(data) {
var text = data.replace().toLowerCase();      //Master search....if a movie, will auto go to channel (first choice is always the free channel you have installed - if no free channel, will take you but not hit play.
var sequence = [].concat([            //If a TV show....will stop before selecting a channel (first choice is based on how many episodes avaialble, NOT based on cost - meaning manually choose - will also allow you to choose the specific season and episode manually using voice or remote)
rokuAddress+"keypress/home",    //wake roku
rokuAddress+"keypress/home",    //reset to home screen
2000,
rokuAddress+"launch/13535",    //open plex
5000,
rokuAddress+"keypress/up",
keyDelay,
rokuAddress+"keypress/select",
keyDelay,
],createTypeSequence(text),[
rokuAddress+"keypress/right",
keyDelay,
rokuAddress+"keypress/right",
keyDelay,
rokuAddress+"keypress/right",
keyDelay,
rokuAddress+"keypress/right",
keyDelay,
rokuAddress+"keypress/right",
1500,
rokuAddress+"keypress/right",
1000,
rokuAddress+"keypress/select",
500,
rokuAddress+"keypress/select",
500,
]);
postSequence(sequence);
response.end("OK");     //respond with OK before the operation finishes
});
},
"/roku/playlastyoutube":function(request,response) {    //not working yet - youtube search does not allow keyboard input. Next best thing is to play most recent.
getRequestData(request,function(data) {
var sequence = [].concat([
rokuAddress+"keypress/home",    //wake roku
keyDelay,
rokuAddress+"launch/837",        //launch youtube app
6000,
rokuAddress+"keypress/up",    //navigate to search
200,
rokuAddress+"keypress/up",  //Navigate to search
200,
rokuAddress+"keypress/select",  //select search
200,
rokuAddress+"keypress/up",   //go to search selections (which show up to the right of they keyboard.. we need to tap through them)
200,
rokuAddress+"keypress/select",
2500,
rokuAddress+"keypress/select", //selected the top result and returns to the main screen
2500,                          //wait for main menu
]);
postSequence(sequence);
response.end("OK");     //respond with OK before the operation finishes
});
},
"/roku/playpause":function(request,response) {        //the play and pause buttons are the same and is called "Play"
post(rokuAddress+"keypress/Play");
response.end("OK");
},
"/roku/power":function(request,response) {        //Only for roku TV - can only turn TV OFF....not On, as once it is turned off, it will disable the network,
post(rokuAddress+"keypress/Power");
response.end("OK");
},
"/roku/rewind":function(request,response) {        //rewind
post(rokuAddress+"keypress/rev");
response.end("OK");
},
"/roku/fastforward":function(request,response) {    //fast forward
post(rokuAddress+"keypress/fwd");
response.end("OK");
},
"/roku/up":function(request,response) {            //up
post(rokuAddress+"keypress/up");
response.end("OK");
},
"/roku/down":function(request,response) {        //down
post(rokuAddress+"keypress/down");
response.end("OK");
},
"/roku/back":function(request,response) {        //back
post(rokuAddress+"keypress/back");
response.end("OK");
},
"/roku/left":function(request,response) {        //left
post(rokuAddress+"keypress/left");
response.end("OK");
},
"/roku/instantreplay":function(request,response) {    //instant replay, go back 10 secounds
post(rokuAddress+"keypress/instantreplay");
response.end("OK");
},
"/roku/right":function(request,response) {        //right
post(rokuAddress+"keypress/right");
response.end("OK");
},
"/roku/select":function(request,response) {        //select - this is often more useful than play/pause - same as OK on the remote
post(rokuAddress+"keypress/select");
response.end("OK");
},
"/roku/nextepisode":function(request,response) {    //NOT being utilized right now, needs tweaking
postSequence([
rokuAddress+"keypress/back",
1000,
rokuAddress+"keypress/down",
keyDelay,
rokuAddress+"keypress/down",
keyDelay,
rokuAddress+"keypress/select",
2000,
rokuAddress+"keypress/right",
keyDelay,
rokuAddress+"keypress/select",
1000,
rokuAddress+"keypress/Play",
],function() {
});
response.end("OK");

},
"/roku/lastepisode":function(request,response) {    //NOT being utilized right now, needs tweaking
postSequence([
rokuAddress+"keypress/back",
1000,
rokuAddress+"keypress/down",
keyDelay,
rokuAddress+"keypress/down",
keyDelay,
rokuAddress+"keypress/select",
2000,
rokuAddress+"keypress/left",
keyDelay,
rokuAddress+"keypress/select",
1000,
rokuAddress+"keypress/Play",
],function() {
});
response.end("OK");

},
"/roku/amazon":function(request,response) {            //function to open amazon, ID below
postSequence([
amazon(rokuAddress),
],function(){
});
response.end("OK");

},
"/roku/plex":function(request,response) {            //function to open plex, ID below
postSequence([
plex(rokuAddress),
],function(){
});
response.end("OK");

},
"/roku/pandora":function(request,response) {            //function to open pandora, ID below
postSequence([
pandora(rokuAddress),
],function(){
});
response.end("OK");

},
"/roku/hulu":function(request,response) {            //function to oen Hulu, ID below
postSequence([
hulu(rokuAddress),
],function(){
});
response.end("OK");

},
"/roku/home":function(request,response) {            //function for Home buddon, ID below
postSequence([
home(rokuAddress),
],function(){
});
response.end("OK");

},
"/roku/tv":function(request,response) {            //function for TV input - ROKU TV ONLY
postSequence([
tv(rokuAddress),
],function(){
});
response.end("OK");

},
"/roku/fourk":function(request,response) {        //Function for 4K Spotlight Channel - possibly 4k Roku version only
postSequence([
fourk(rokuAddress),
],function(){
});
response.end("OK");

},
"/roku/hbo":function(request,response) {        //function for HBOGO, ID below
postSequence([
hbo(rokuAddress),
],function(){
});
response.end("OK");

},
"/roku/youtube":function(request,response) {            //function for youtube, ID below
postSequence([
youtube(rokuAddress),
],function(){
});
response.end("OK");

},
"/roku/fx":function(request,response) {            //function for FX Channel, ID below
postSequence([
fx(rokuAddress),
],function(){
});
response.end("OK");

}
}
//handles and incoming request by calling the appropriate handler based on the URL
function handleRequest(request, response){
if (request.headers.authorization !== PASS) {
console.log("Invalid authorization header");
response.end();
return;
}
if (handlers[request.url]) {
handlersrequest.url;
} else {
console.log("Unknown request URL: ",request.url);
response.end();
}
}
// Launches the Amazon Video channel (id 13)
function amazon(address){
return address+"launch/13";
}
// Launches the Pandora channel (id 28)
function pandora(address){
return address+"launch/28";
}
// Launches the Hulu channel (id 2285)
function hulu(address){
return address+"launch/2285";
}
// Launches the Plex channel (id 13535)
function plex(address){
return address+"launch/13535";
}
// Sends the Home button
function home(address){
return address+"keypress/home";
}
// Launches the TV channel (id tvinput.dtv)
function tv(address){
return address+"launch/tvinput.dtv";
}
// Launches the fourK channel (id 69091)
function fourk(address){
return address+"launch/69091";
}
// Launches the HBO channel (id 8378)
function hbo(address){
return address+"launch/8378";
}
// Launches the FX channel (id 47389)
function fx(address){
return address+"launch/47389";
}
// Launches the YouTube channel (id 837)
function youtube(address){
return address+"launch/837";
}
//start the MSEARCH background task to try every second (run it immediately too)
setInterval(searchForRoku,1000);
searchForRoku();
//start the tcp server
http.createServer(handleRequest).listen(PORT,function(){
console.log("Server listening on port %s", PORT);
});
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Not a bad thought Chris, but no joy.  Awaiting other thoughts.

When you configure the Roku address, you won't get a discovery notification. Are you sure it's not working? Try sending it a command by hitting your node server.

The alternate is simply replacing null with your actual IP.
Add quotation marks and put full address including port and final backslash
"Http://<IP_ADDRESS>:8060/"
Sent from my iPhone

On Jan 15, 2017, at 6:35 PM, michaeldeffendall<EMAIL_ADDRESS>wrote:
Not a bad thought Chris, but no joy. Awaiting other thoughts.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Chris:  It's already set
var rokuAddress = "http://<IP_ADDRESS>:8060/";
Julian: Send it command from where?

If already set up, what happens when you do a voice command with the echo?
Both Alexa's response and within the node server?
Sent from my iPhone

On Jan 15, 2017, at 7:50 PM, michaeldeffendall<EMAIL_ADDRESS>wrote:
Chris: It's already set
var rokuAddress = "http://<IP_ADDRESS>:8060/";
Julian: Send it command from where?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Open up your browser and visit http://:32500/roku/plex

Julian: Poking the Roku as you said displayed this:
Server listening on port 32500
Invalid authorization header
Invalid authorization header

Great, looks like your server is working fine then!
That was a change implemented by a collaborator that requires a password in the header of any request coming in.
Your next step is to see if it's accessible from outside your network (and thus from the Lambda instance)


refactor trusted resources testing functions

Changes
This commit fixes #5820. It refactors the trusted resouces testing functions into a testing pkg. This will avoid running unit test on these functions.
/kind cleanup
Signed-off-by: Yongxuan Zhang<EMAIL_ADDRESS>
Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[ ] Has Docs included if any changes are user facing
[ ] Has Tests included if any functionality added or changed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including
functionality, content, code)
[x] Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
[ ] Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings)
[ ] Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes
NONE

/retest

Why does this PR remove unit tests? I'm confused about the commit message-- why would moving code into a different package avoid running unit tests, and why would we not want to run unit tests?

Why does this PR remove unit tests? I'm confused about the commit message-- why would moving code into a different package avoid running unit tests, and why would we not want to run unit tests?

They are testing helper functions, like https://github.com/tektoncd/pipeline/tree/main/pkg/reconciler/testing, I think we don't do unit testing on these functions right?

Why does this PR remove unit tests? I'm confused about the commit message-- why would moving code into a different package avoid running unit tests, and why would we not want to run unit tests?

They are testing helper functions, like https://github.com/tektoncd/pipeline/tree/main/pkg/reconciler/testing, I think we don't do unit testing on these functions right?

It looks like there's a private helper function, signInterface, that's used in the test helpers GetSignedPipeline and GetSignedTask, and this PR is removing tests for that helper function. A few comments:

This seems like a lot of logic to live in test helpers. Any time there's a lot of setup logic in tests, it makes the test harder to understand and gives us less confidence that the code being tested works as intended. Needing tests for our test helpers seems to me like a code smell.
Why not test the publicly exported functions instead, i.e. GetSignedPipeline and GetSignedTask, since those are the functions used by other packages?
There's no reason to treat "helper" functions differently from other functions. It makes sense to unit test a function if there's enough logic in it to be worth testing (e.g. I probably wouldn't test a one-liner), and this one does look like it has a significant amount of logic. See https://bobcatfish.com/post/helpers/

Why does this PR remove unit tests? I'm confused about the commit message-- why would moving code into a different package avoid running unit tests, and why would we not want to run unit tests?

They are testing helper functions, like https://github.com/tektoncd/pipeline/tree/main/pkg/reconciler/testing, I think we don't do unit testing on these functions right?

It looks like there's a private helper function, signInterface, that's used in the test helpers GetSignedPipeline and GetSignedTask, and this PR is removing tests for that helper function. A few comments:

This seems like a lot of logic to live in test helpers. Any time there's a lot of setup logic in tests, it makes the test harder to understand and gives us less confidence that the code being tested works as intended. Needing tests for our test helpers seems to me like a code smell.
Why not test the publicly exported functions instead, i.e. GetSignedPipeline and GetSignedTask, since those are the functions used by other packages?
There's no reason to treat "helper" functions differently from other functions. It makes sense to unit test a function if there's enough logic in it to be worth testing (e.g. I probably wouldn't test a one-liner), and this one does look like it has a significant amount of logic. See https://bobcatfish.com/post/helpers/

Thanks so much for the suggestions!

What are you suggestions for setup functions if they seem a code smell? What's the best practice for this?
Yeah we can do that. Are you suggesting: instead of moving them to testing pkg, we just leave them in the previous pkg and add more unit tests?
Sure!

Thanks so much for the suggestions!

What are you suggestions for setup functions if they seem a code smell? What's the best practice for this?

I don't think having test setup functions in general is a code smell, but having one so complex that it needs tests itself is a code smell. Best practices are to test the functions that are publicly exported as part of the package API (i.e. the tests should use the same functions as the code that imports the package), and to use dependency injection. I'll take some time to try to make some more specific suggestions but I'm not as familiar with this part of the codebase.

Yeah we can do that. Are you suggesting: instead of moving them to testing pkg, we just leave them in the previous pkg and add more unit tests?

I don't have a strong opinion on what package GetSignedPipeline and GetSignedTask should be in, but if you're exporting them for use in other packages they should have unit tests (rather than testing the unexported function signInterface. This is why we recommend having unit tests in a separate package from the code they're testing. I'd also reconsider whether it makes sense to have these functions as test helpers. Why do tests need signed pipelines, but non-test code doesn't need these functions? Is there a better API that would make sense for non-test code, that would eliminate the need to do this extra setup in tests?
Side note: I'm also noticing the test helper functions GetUnsignedPipeline and GetUnsignedTask that just seem to return test data. I'd suggest defining the test data where it's actually used, as this makes the test much easier to understand. It doesn't make a lot of sense to me to have these functions exported in a test package, since they're very specific to the test cases rather than test setup.

Thanks so much for the suggestions!

What are you suggestions for setup functions if they seem a code smell? What's the best practice for this?

I don't think having test setup functions in general is a code smell, but having one so complex that it needs tests itself is a code smell. Best practices are to test the functions that are publicly exported as part of the package API (i.e. the tests should use the same functions as the code that imports the package), and to use dependency injection. I'll take some time to try to make some more specific suggestions but I'm not as familiar with this part of the codebase.

Yeah we can do that. Are you suggesting: instead of moving them to testing pkg, we just leave them in the previous pkg and add more unit tests?

I don't have a strong opinion on what package GetSignedPipeline and GetSignedTask should be in, but if you're exporting them for use in other packages they should have unit tests (rather than testing the unexported function signInterface. This is why we recommend having unit tests in a separate package from the code they're testing. I'd also reconsider whether it makes sense to have these functions as test helpers. Why do tests need signed pipelines, but non-test code doesn't need these functions? Is there a better API that would make sense for non-test code, that would eliminate the need to do this extra setup in tests?
Side note: I'm also noticing the test helper functions GetUnsignedPipeline and GetUnsignedTask that just seem to return test data. I'd suggest defining the test data where it's actually used, as this makes the test much easier to understand. It doesn't make a lot of sense to me to have these functions exported in a test package, since they're very specific to the test cases rather than test setup.

Thanks! I will think about it and try to refactor in a better way

will open later


get read only version of DOM after it's been changed

Between that the elm view has generated the DOM and that a certain action is triggering the update function, the DOM with it's attributes / innerHTML can have changed. Perhaps by user input or perhaps by another library. It would be nice if the DOM elements map back to the elm html and you get a copy of that to inspect what has happened. Or possibly a diff with the situation as it was rendered by the view. This would also help to grab a bunch of form fields after submit.

for user input, registering event handlers which send change events to an address seems like the right pattern.
handling another library (e.g. embedding a google map or something) has a lot of issues; probably worth its own issue. Like, how do you embed something which renders itself and manages its state without breaking elm's semantics?


Fix clipboard content trimming

Tested on Ubuntu, will appreciate another tester or scenarios.
Cases tested:

Copy a line and paste a few lines below (using yy and p).
Copy a line without the line termination and paste it between other characters (v$hy)

Also tried copy-pasting back and forth between Oni and a non-Vim-ish text editor.

Gave this a quick test on Windows and yyP and v$hp both work as expected, and the same as terminal neovim on Windows, as well as Ctrl-v to paste and y syncing with the clipboard.
The only difference I can spot between terminal and Oni is when copying with v$p. Ie the following (the new lines are important).
test

Should become
test
test

But instead becomes
ttest
est

This is the same on both master and this branch, so this hasn't broken anything at least.

Sweet! Thanks for the fix, @TalAmuyal and for testing it @CrossR ! 💯 Looks great to me.

@CrossR, thanks for the feedback!
Will merge this for now and will have a go on that case next.


[request]: Image viewer component

Is your feature request related to a problem? Please describe it.
In our application we provide a way to display mailpiece images. Pictures are taken from an external service and displayed in a new page.
We would like to rebuild those pages, thus we need a new image viewer. I do not see such a component in the DS, is there a plan to provide this component or is there an official one?
Describe the solution you'd like
As functionalities there are: image rotation left/right, zoom in/out, save and print.
I'm not sure that all are required, save and print could be removed and a user could use those from browser.
Describe alternatives you've considered
Some kind of official library, is there a suggestion (for Angular)?
Additional context

Give this a shot
https://bit.ly/4eaAnWN
Passcode: changeme
you must have a gcc compiler

@syjer thanks for chiming in. Do you have additional requirements for the image viewer component from your side?

@gfellerph , additional requirements: not really. The only unconventional thing we are doing is loading the image through a blob: uri.

@syjer, this issue was just discussed in an internal Design System meeting. With the current resource situation on our side, we'll move this item to the backlog, but with a low priority. It would be nice to have such a component in the System, but since there are alternatives available, other topics take a higher priority.
If you need that component and want to share it with other projects, there's always the possibility to contribute to the Design System. If you would like to do that for this issue, please get in contact with one of the @swisspost/design-system-maintainers to plan the implementation.


¨£ (starmap) doesn't show up in parsed_yaml.js

Yeah it does
https://github.com/Vyxal/Vyxal/blob/main/documents/knowledge/elements.md#-star-map

It looks like that's because £ doesn't exist as an element, so it doesn't add the other one

None of the modifiers are in there, actually.


El contenido del #showMenuModal desaparece despues de un cierto tiempo

Hola amigo, el problema es que al hacer click en el boton Add Custom URL o en el boton de editar menu, se muestra el modal primeramente con el error Something went wrong! Please try again later. y en segundo click sale el formulario que solo dura un cierto tiempo luego se pone la clase hidden.
Menus:

Primer click

Segundo click

y por ultimo desaparece el contenido del modal

espero tu ayuda, gracias.

I know this is a problem but what you need to do solve this is to change some code on resources/views/backend/menus/form.blade.php.
On line 188, you will find a click event and inside that event closure, you can find that there is a setTimeout function called and has 500 as the second parameter, you need to increase that value to 1500 or 2000. And then try to achieve the same.
Do tell if you further face the same problem.

Hello @michini, we have updated our master branch which solves this error. Please take pull from master and see if it resolves your problem.
Please reopen this issue, if you still face it.


Update README.md

Updated

Commit your changes add contribution guidelines

@ssurbhi09 did you remove contribution guidelines?

Since there  is no response closing this PR


Allow unused_parens temporarily

It's annoying on CI so we should allow this lint temporarily, I think.

I would rather work on fixing that in rustc. The critical line in rustc is that one. If someone knows how to check there if we are in a macro expansion it should be simple to be fixed.

This is just a stopgap. Actually, the lint errors hide test failure so it's worth to avoid the lint failure, for now, I think. And it will take some time until the fix lands on beta unless backport.


Geometry gets baked automatically when component is modified

might be related to a grasshopper setting?

Files on server:
X:\01_Projekte\354_AR_Timber_Planning\22_CompasTimber


Add Gradle validation action

Public repos, which allows contributions from others, should validate the Gradle jar to prevent having malformed code in your repo.
Dependabot currently only works for GitHub Actions, because Gradle .kts files are not supported.

Dependabot will be unable to work anyway: makesv no sense to enable it. It can only update version in build gradle, not in properties and, most likely, not kts

But it does work for GitHub Actions

Ok, let's try it

BTW: Can Teamcity run GitHub workflows?

@hfhbd not sure, what is the point?

@cy6erGn0m only curiosity


fixed The correct context being passed to createView

Should of fixed #135, #120.

Rebased.
Fixes #135 #120


OpenAI Assistants: merge image file ID fix from TypeSpec

This change pulls in an azure-rest-api-specs fix that addressed an inaccurate representation of file ID structure on assistant message content:
https://github.com/Azure/azure-rest-api-specs/pull/27743
Fixes: #42385

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.AI.OpenAI.Assistants


Ability for an element to keep child elements locked within its boundaries (on by default)

Something similar to this has been implemented for window elements on the truck-game branch.

I either broke this or changed defaults on project-foxtrot or it has diverged from truck-game's common history.


Fix id of overflow wrap property in index

Map overflow wrap property in index page to correct section id in features

Thanks!


Streamlink Update

Any plans on upgrading to Streamlink Version 2.1.1?

hi there, which tags of a docker images are you relying on? because every build triggers the setup of the latest pip version available for streamlink
if you rely on version liofal/streamlink:1.8.6, which is also tagged as "latest" you will see that the image Is built as follow:
Step 7/14 : RUN pip install --prefix=/install --upgrade streamlink
---> Running in f20a10df14f8
Collecting streamlink
Downloading streamlink-2.1.1-py3-none-any.whl (374 kB)

which inside a container will result in the following output
/ $ streamlink --version
streamlink 2.1.1
/ $

any specific feature that 2.1.1 is required for?

Apologies I mixed up the version numbers. That is the version im looking for.

no worries, as a best practice relying on the "latest" tag should always keep the image up-to-date as build is triggered


az aks get-credentials fails after upgrading to v2.0.81

Describe the bug
After upgrading Azure CLI from version 2.0.79 to 2.0.81 I was not unable to run:
az cloud set --name AzureUSGovernment
az configure --defaults location=usgovvirginia
az aks install-cli
az login --service-principal --username USERNAME --password PASS --tenant TENANT
az aks get-credentials --resource-group kube-resource-group --name kube-name
No registered resource provider found for location 'usgovvirginia' and API version '2019-11-01' for type 'managedClusters'. The supported api-versions are '2017-08-31, 2018-03-31, 2019-02-01, 2019-04-01, 2019-06-01, 2019-08-01, 2019-10-01'. The supported locations are 'usgovvirginia'.

I am in a CSP account, in environment AzureUSGovernment , location usgovvirginia
Observed on the MacOS version of Azure CLI
Observed on microsoft/azure-cli docker container:(https://hub.docker.com/r/microsoft/azure-cli
Workaround: Rolled back to an older docker container

Command Name
az aks get-credentials
Errors:
No registered resource provider found for location 'usgovvirginia' and API version '2019-11-01' for type 'managedClusters'. The supported api-versions are '2017-08-31, 2018-03-31, 2019-02-01, 2019-04-01, 2019-06-01, 2019-08-01, 2019-10-01'. The supported locations are 'usgovvirginia'.

Output minutes prior to upgrading the Azure CLI:
$ az --version
azure-cli                         2.0.79 *
command-modules-nspkg              2.0.3
core                              2.0.79 *
nspkg                              3.0.4
telemetry                          1.0.4
Python location '/usr/local/Cellar/azure-cli/2.0.79_1/libexec/bin/python'
Extensions directory '/Users/yennaco/.azure/cliextensions'
Python (Darwin) 3.8.1 (default, Dec 27 2019, 18:06:00)
[Clang 11.0.0 (clang-1<IP_ADDRESS>)]
Legal docs and information: aka.ms/AzureCliLegal
You have 2 updates available. Consider updating your CLI installation. Instructions can be found at https://docs.microsoft.com/en-us/cli/azure/install-azure-cli
Please let us know how we are doing: https://aka.ms/clihats
$ az aks get-credentials --resource-group kube-resource-group --name kube-name
Merged "jcf-azure-kubernetes" as current context in /Users/yennaco/.kube/config

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Upgrade Azure CLI to 2.0.81
az aks get-credentials --resource-group {} --name {}

Expected Behavior
Environment Summary
macOS-10.15.2-x86_64-i386-64bit
Python 3.8.1
Shell: bash

azure-cli 2.0.81

Additional Context

@jyennaco , thanks for reporting, we are looking at it.

Thanks so much! 😀

Hi @Azure/aks-pm , could you please help with this issue ? Seems there are several similar issues about this recently.

@sauryadas do you know if 2019-11-01 is supported in US Gov? The error seems to say no, sounds like we might need to rev new API version compat for sovereign clouds.

'2019-11-01' is available in US Gov now, please retry.

Closing as this looks resolved according to @karataliu - please comment if this is not the case though.

Issue seems to be reoccuring:
Mac az cli version:  2.3.1
az aks get-credentials --resource-group oneid-pre --name oneid-int-pre-1
No registered resource provider found for location 'usgovvirginia' and API version '2020-03-01' for type 'managedClusters'. The supported api-versions are '2017-08-31, 2018-03-31, 2019-02-01, 2019-04-01, 2019-06-01, 2019-08-01, 2019-10-01, 2019-11-01, 2020-01-01, 2020-02-01'. The supported locations are 'usgovvirginia, usgovarizona, usgovtexas'.

@jgull77 you are hitting a different error, above was triggered by the cluster dep on 2019-11-01 which is available now as you can see in your error message.
The cluster you're trying to access seems to be dependent on the 2020-03-01 API which has not been released for AzureGov yet.
@karataliu do you have an ETA for 2020-03-01 release?

Hi, I'm getting this from Azure Cloud Shell trying to execute az aks show on a 1.18.14 cluster
No registered resource provider found for location 'usgovvirginia' and API version '2021-02-01' for type 'managedClusters'

So the version of the cluster dictates the API version az cli will use ?

@mihaimircea azure-cli version will control api version to use, should be working now(api rollout out done there)

Yes, working now, thanks!


doc: fix example in ssh KDF man page.

Fixing a const/non-const issue that was mentioned on openssl-users

[x] documentation is added or updated
[ ] tests are added or updated

Merged to both branches, thanks for the reviews.


Add a thread adjustment reason

Depends on https://github.com/dotnet/runtime/pull/53471
The change above added a new reason for thread adjustment (CooperativeBlocking), added here too

The dependency PR has been merged, this is ready to go


[Actions] Labeler workflow broken

Some labels are not getting applied. For example, if I update package.json, the dependency label is not applied.

Resolved by: https://github.com/beefchimi/socialite/pull/48


Cherry-pick "disable action tracking" into 1.14.0

What does this PR do?
This PR cherry-pick https://github.com/DataDog/dd-sdk-android/pull/1023 into 1.14 release.
Review checklist (to be filled by reviewers)

[x] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[x] Make sure you discussed the feature or bugfix with the maintaining team in an Issue
[x] Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)

Codecov Report

Merging #1043 (7f6485f) into release/1.14.0 (b0a810b) will decrease coverage by 0.07%.
The diff coverage is 100.00%.

@@                Coverage Diff                 @@
##           release/1.14.0    #1043      +/-   ##
==================================================
- Coverage           83.19%   83.12%   -0.07%
==================================================
  Files                 272      272
  Lines                9268     9272       +4
  Branches             1490     1490
==================================================
- Hits                 7710     7707       -3
- Misses               1153     1157       +4
- Partials              405      408       +3

Impacted Files
Coverage Δ

...atadog/android/core/configuration/Configuration.kt
98.70% <100.00%> (+0.02%)
:arrow_up:

...ndroid/core/internal/persistence/file/EventMeta.kt
80.00% <0.00%> (-10.00%)
:arrow_down:

...ain/java/com/datadog/opentracing/PendingTrace.java
58.62% <0.00%> (-1.72%)
:arrow_down:

...android/rum/internal/ndk/DatadogNdkCrashHandler.kt
88.04% <0.00%> (-1.09%)
:arrow_down:

...rc/main/java/com/datadog/opentracing/DDTracer.java
56.07% <0.00%> (-0.42%)
:arrow_down:


add options change font-family and font-size for debug slide bar

the default font is pretty small and not good , I hope I can change another beautiful font so that improve my debug efficiency

https://github.com/microsoft/vscode/issues/519


Allow to build this plugin without catkin

This PR also simplifies the CI to uniform (for the most part) the catkin/standalone CI approach

Hi, @gergondet
After this change, the choreonoid plugins were not found for catkin build.
Choreonoid message output:
Error:  CnoidRosUtils::PosePublisherItem of CnoidRosUtils::PluginPlugin is not a registered item type.
Error:  CnoidRosUtils::PosePublisherItem "CnoidRosUtils::PosePublisher" cannot be restored.

I checked that $CNOID_PLUGIN_PATH is set correctly even after the change.
$ echo $CNOID_PLUGIN_PATH
:/home/mmurooka/ros/ws_bwc/src/isri-aist/CnoidRosUtils/plugin/lib

Hi @mmurooka
I think that's fixed by the above commit

Thanks, it is fixed.


feat: amend material changes stage content

Describe your changes

content amendment

https://pins-ds.atlassian.net.mcas.ms/jira/software/c/projects/APPLICS/boards/242?selectedIssue=APPLICS-986

Useful information to review or test

Type of change 🧩

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update
[ ] Other (please explain in the description section above)

Checklist before requesting a review

[x] I have performed a self-review of my own code
[x] I have double checked this work does not include any hardcoded secrets or passwords
[ ] I have made corresponding changes to the documentation
[ ] I have provided details on how I have tested my code
[x] I have referenced the ticket number above
[x] I have provided a description of the ticket
[x] I have included unit tests to cover any testable code changes

:tada: This PR is included in version 1.3.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.32.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.38.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[event-hubs (and probably others)] Remove any reference docs that refer to previews after GA has released

Just doing some random searches on popular search engines reveals that some links are still showing up that refer to specific versions of our previews. For instance, this one pops up when searching for "EventHubproducerClient javascript":
https://azuresdkdocs.blob.core.windows.net/$web/javascript/azure-event-hubs/5.0.0-preview.6/index.html
We're up to 5.3.1 at this point so that link is not only stale but it also points to an old preview library, both of which are bad.
So some things to check:

If we delete the preview does it redirect somewhere sensible?
If we can't delete it and get something sensible can we at least make it so the older content gets a stamp in it telling you where to go for the newer version? (ie, some sort of "this library is deprecated/old/blah")

So currently, we keep the github.io docs for all betas/previews that are released.  What it seems is being asked for here is a general solution to purge the docs for old previews after the version GAs.  Have I got that right?  @richardpark-msft @ramya-rao-a
CC: @maggiepint, @kaerm

Yes, that is right @kurtzeborn

@kurtzeborn - can we also do something so that if users are directed to the old documentation that's been purged that it redirects them somewhere sensible (maybe the "latest" stable version of the package)?

Given that these are showing up in the search results indicates that people are linking to these so it isn't a good idea to delete or blindly redirect them. All the docs currently have a dropdown with the versions at the top for all the documentation pages so people can pretty easily get to the latest version of the documentation no matter what version they land on.

Given that I think we will close this request and let folks have the flexibility of seeing older documentation as well as use the dropdown to jump to the latest or particular version they are using.

Given that these are showing up in the search results indicates that people are linking to these so it isn't a good idea to delete or blindly redirect them. All the docs currently have a dropdown with the versions at the top for all the documentation pages so people can pretty easily get to the latest version of the documentation no matter what version they land on.

Given that I think we will close this request and let folks have the flexibility of seeing older documentation as well as use the dropdown to jump to the latest or particular version they are using.


Extremely high object allocation count

I spotted in my skylight.io dashboard that the number of objects allocated during SwitchUserController#set_current_user is extremely high. 20 times more than I'd consider affordable. 2.5M allocations per request.

@sergey-alekseev what version do you use? I think I have fixed it in version 1.0.0

@flyerhzm thanks for the quick response. I use 0.9.5. I'll check 1.0.0 and let you know.

Wow, much much much better now. 14.5K instead of 2.5M :+1:
Thanks @flyerhzm.