Installing OpenFunction and its dependencies with Helm

Motivation
OpenFunction implemented a framework for lifecycle management of the basic business unit "function". In this architecture we use Shipwright (and Tekton for the build pipeline), a component for OCI image building from "function" to "application"; Knative, an engine for synchronous functions; KEDA for event-driven mechanism; Dapr for application distributed responsiveness; and Ingress Nginx for "function" entry.
This shows the cloud-native character of OpenFunction, but also poses a challenge for OpenFunction deployment - we need to provide a convenient and customizable solution for users to deploy OpenFunction and its corresponding dependencies according to requirement scenarios.
We can divide the capabilities of OpenFunction from the user's perspective into:

build - Transform "function" to "application", generate OCI image and export
serving - Deploying "functions" (in the form of OCI images) to cluster to create serverless workloads with event-driven, auto-scaling capabilities

At the same time, OpenFunction decouples components and capabilities based on the two kinds of services mentioned above, which means that users who only need "build" capabilities do not need to deploy components such as KEDA, Knative, Dapr in the cluster; users who only need "serving" capabilities do not need to deploy components such as Shipwright, Tekton in the cluster.
Now, OpenFunction can implement the above requirements via CLI (ofn). In the CLI we do the following:

calculate the inventory of components to be installed based on the parameters passed to ofn by the user
locate the YAML file address of the installed component according to the component inventory
install the component on a different OS by running kubectl apply -f <yaml file> from the shell

This approach meets most of the current needs, but there are still many problems:

we currently use dapr init -k to install Dapr, which means that we cannot standardize the installation of all components
we use a lot of shell commands to perform tasks on different operating systems, so we need to suffer from the increased cost of differentiation
the OpenFunction CLI itself is not cloud-native and we need a more native solution

Goals
Therefore we want to complete the installation of the components via the Helm. We expect to achieve the following after the retrofit:

users can use Helm install to install OpenFunction and its dependencies, and control the deployment of dependencies based on parameters
change the deployment methods in the OpenFunction CLI from execution via shell to calling the Helm API

Actions

Phase 1

[ ] Create charts directory in the main repository to store Helm chart files for each component

[ ] Complete the Dapr chart

[ ] Complete the KEDA chart

[ ] Complete the Shipwright chart

[ ] Complete the Tekton Pipeline chart

[ ] Complete the Knative Serving chart

[ ] Complete the Ingress Nginx chart

[ ] Complete the OpenFunction chart

Phase 2

[ ] Change the way components are installed in the CLI from using shell commands to calling the Helm API

Additional Information

Shipwright, no Helm chart yet
Tekton Pipeline, no Helm chart yet
Knative Serving, no Helm chart yet
KEDA, with Helm chart: https://github.com/kedacore/charts
Dapr, with Helm chart: https://github.com/dapr/helm-charts
Ingress Nginx, with Helm chart: https://github.com/kubernetes/ingress-nginx/tree/main/charts/ingress-nginx

@benjaminhuo @tpiperatgod
When we create an openfunction release through helm, should the namespace of the dependent component be set to release.Namespace or each component uses a separate namespace, such as dapr using dapr-system, and tekton-pipelines using tekton-piplines.
This creates a problem if different components use different namespaces: managing a single release across multiple namespaces. Although setting the namespace manually in helm3 is not a best practice, we can still override the relevant namespace via global variables.
Do you have any suggestions?

Each component should be installed to their own ns

That for the components that already have helm chart we need to pull the component charts to openfunction/charts and then modify them, dapr helm chart has multiple versions, we only modify the latest version to support it?

why we need to modify each component's chart? I think just keep it as it is is ok

https://github.com/helm/helm/issues/5358 This issue is similar with I mentioned above

Is cert-manger still required as a dependency in release 0.6.0? I don't see it in the proposal's dependency list, but I see the relevant configuration in bundle.yaml.

Is cert-manger still required as a dependency in release 0.6.0? I don't see it in the proposal's dependency list, but I see the relevant configuration in bundle.yaml.

Yes, cert-manager is required for v0.6.0 while for later versions it is the component that is not wanted.


Azure profiles

A first attempt by @rob2universe to implement https://github.com/camunda-community-hub/camunda8-greenfield-installation/issues/3
Opening this as a draft for easier reviewing.

I'd suggest to keep calling the folder ingress-nginx... because the NGINX Ingress Controller is not just a plain NGINX

I merged these changes into PR #36. I will regression test to make sure azure works there. Thanks!


Add tls support to frontend connection

This PR adds TLS connection support (optional) to Temporal frontend that has TLS enabled.
closes #7

@denniskniep hello, have you had the chance to look on this PR? This feature is much needed for our hosted temporal deployment.

Thanks for contributing this. I will look in detail at it soon.
Can you add in the meantime related tests?

Add another temporal instance secured by mtls to the tests/docker-compose.yaml
Run a basic test via the mtls connection

Thanks for contributing this. I will look in detail at it soon.
Can you add in the meantime related tests?

Add another temporal instance secured by mtls to the tests/docker-compose.yaml
Run a basic test via the mtls connection  internal/clients/*_test.go

hi @denniskniep Added TLS tests and docker compose setup, test certificates, updated Readme

BTW: Unit Tests are failing, I think we must use docker compose instead of docker-compose. If you like you can fix it, otherwise I can do it mid of the week.

@denniskniep I addressed all your comments and pushed new commit with them.

@mihaelabalas84  thanks for this contribution :rocket:


larger-runners for ubuntu-latest missing GL implementation

Description
We are attempting to move our test suite from ubuntu-latest (stock) to a larger-runner with 16 cores (ubuntu-latest-16-cores). Our test suite runs fine on the former and cannot launch Chrome to run the tests on the latter.
I believe the issue is that no GL implementation is available. I've tried desktop/els/angle/gles GL configurations for chrome and all seem to hit issues with something not being present or working correctly.
chrome crashes on start. Have attempted a fair number of permutations of launcher flags trying to find one that can work on 16-core to no avail.
Out of the gate we receive this error:
 [0211/021348.733791:ERROR:socket_posix.cc(147)] bind() failed: Address already in use (98)
[0211/021348.778229:ERROR:devtools_http_handler.cc(309)] Cannot start http server for devtools.
[0211/021349.195513:WARNING:bluez_dbus_manager.cc(247)] Floss manager not present, cannot set Floss enable/disable.
[0211/021350.475686:WARNING:sandbox_linux.cc(385)] InitializeSandbox() called with multiple threads in process gpu-process.

Some googling suggested that the dev tools error was due to our use of a stable remote-debugging-port, so I removed those two flags from our launcher. That proved to not be enough:
[Chrome] error
     Error: Browser exited unexpectedly
Stderr:
 [0211/022847.893989:WARNING:bluez_dbus_manager.cc(247)] Floss manager not present, cannot set Floss enable/disable.
[0211/022848.471866:WARNING:sandbox_linux.cc(385)] InitializeSandbox() called with multiple threads in process gpu-process.

Note the warnings here are not usually seen in our usage of ubuntu-latest.
Various debugging since led me to notice that there is no valid configuration for --use-gl on this image. The various options that would typically be passed each throws its own error.
Platforms affected

[ ] Azure DevOps
[ ] GitHub Actions - Standard Runners
[X] GitHub Actions - Larger Runners

Runner images affected

[ ] Ubuntu 18.04
[ ] Ubuntu 20.04
[X] Ubuntu 22.04
[ ] macOS 11
[ ] macOS 12
[ ] Windows Server 2019
[ ] Windows Server 2022

Image version and build link
Current runner version: '2.301.1'
Runner name: 'ubuntu-latest-16-cores_8563d6395ff9'
Runner group name: 'Larger Ubuntu Runners'
Machine name: 'runner'
Operating System
  Ubuntu
  [2](https://github.com/soxhub/auditboard-frontend/actions/runs/4149618746/jobs/7178697575#step:1:2)2.04.1
  LTS
Runner Image
  Image: ubuntu-22.04
  Version: 202[3](https://github.com/soxhub/auditboard-frontend/actions/runs/4149618746/jobs/7178697575#step:1:3)0122.1
  Included Software: https://github.com/actions/runner-images/blob/ubuntu22/20230122.1/images/linux/Ubuntu220[4](https://github.com/soxhub/auditboard-frontend/actions/runs/4149618746/jobs/7178697575#step:1:4)-Readme.md
  Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu22%2F20230[12](https://github.com/soxhub/auditboard-frontend/actions/runs/4149618746/jobs/7178697575#step:1:13)2.1

Is it regression?
Image: ubuntu-22.04   Version: 20230206.1 https://github.com/soxhub/auditboard-frontend/actions/runs/4149193103/jobs/7177943990
Expected behavior
ubuntu-latest and ubuntu-latest-16-cores to have the same overall image configuration such that chrome/chromedriver is launchable by testem with the same flags for both.
Actual behavior
chrome crashes on start. Have attempted a fair number of permutations of launcher flags trying to find one that can work on 16-core to no avail.
I believe the issue is that no GL implementation is available. I've tried desktop/els/angle/gles GL configurations for chrome and all seem to hit issues with something not being present or working correctly.
Repro steps
Example failed job (private repo) https://github.com/soxhub/auditboard-frontend/actions/runs/4149618746/jobs/7178697575
Repro: create a job on this image, attempt to launch chrome via testem.
I've tried various combinations of a number of flags:
  '--headless',
  '--incognito',
  // '--no-sandbox',
  '--disable-dev-shm-usage',
  // '--use-gl=angle',
  // '--disable-gpu',
  '--disable-software-rasterizer',
  '--mute-audio',
  // '--remote-debugging-port=9222',
  // '--remote-debugging-address=<IP_ADDRESS>',
  '--window-size=1440,900',

The configuration we usually use on ubuntu-latest is
  '--headless',
  '--incognito',
  '--no-sandbox',
  '--disable-dev-shm-usage',
  '--disable-software-rasterizer',
  '--mute-audio',
  '--remote-debugging-port=9222',
  '--remote-debugging-address=<IP_ADDRESS>',
  '--window-size=1440,900',

Hi @runspired, please provide short repro steps (simple workflow example or public repo) to investigate incident. And answer please couple more questions just to be sure that I did understood you correctly:

What was with same Chrome and ChromeDriver pair for Ubuntu20.04 standard runner runs? You said that "the warnings here are not usually seen in our usage of ubuntu-latest". But does it happened previously or not?
Is only the last specified larger runner affected by this error? Or were tests previously only done on standard runners?

This seems to be an images issue on Larger runners. @samvantran - can you help with triaging this?

I can try to build a reproduction but it moved from being consistent to being intermittent, the frequency is increasing though. Feels very much like the hardware or images aren't in a consistent state.
I'd be happy to help debug but I'm traveling today. @Wagenet could help from our end if needed.

I'm not sure what this was, but it went away after a time... we never did get to the root of it, it just started working.


Relax html2md-rs?

I like your parser, it has very few dependencies and a solid design.
I am currently testing it for tp-note. The use case: in case the clipboard contains HTML, a filter is needed to convert the input into CommonMark compliant Markdown. The input may contain complete HTML documents or just snippets, thus my previous feature request.
Going through your Rustdoc, I discovered panics if .... . Fortunately you offer safe variants of panicking functions. To my knowledge, it is common practice that libraries must never panic. What is your use case?
Feature request:
Besides, my first tests indicate that your (safe) parser might be too strict for my use case. I probably would need a parser, which processes also imperfect/incorrect input. Even in cases where the input is not perfectly valid HTML5.
Once you publish 0.7 I test again how bad the copied HTML in the clipboard can be.

Would you share me an example of an input and output that you would want to see that will not return an error even with malformed HTML snippets?
Also, I have the panic there because I started the library with panics, and I wanted to make sure the project had backwards compatibility. Although, I guess I should make it so that users can opt in to use the panic-able version of the library.

I just marked parse_html as deprecated, and it will be removed in future versions (af0dfe943b60af08e36440bb5f14ef10074954de).

Would you share me an example of inputs and outputs that you would want to see that will not return an error even with malformed HTML snippets?

I am not at the office today.
Tp-Note is processes to 2 kinds of HTML input:

Pipes from curl, example:
curl http://blog.getreu.net/ | tpnote

HTML read from the system clipboard. This is probably the trickier part. I have no idea how well formed this HTML is. I will do some tests.

Below you find 3 examples of input data (originating from the clipboard):
log.txt
log2.txt
log3.txt
In the above examples, the <html> tag is omitted. When the input comes from wget bahn.de, it looks like
<!DOCTYPE html>
<html class="no-js" lang="de">
  <head>
<script> window.bahn = window.bahn || { 'env': 'prd--default', 'cdsOrigin': 'https://www.bahn.de', 'site': 'next-bahn-de', 'lang': 'de', 'cookiePrefix': 'DB4-pb', 'pagetitle': 'DB Fahrplan, Auskunft, Tickets, informieren und buchen - Deutsche Bahn', 'pagename': 'startseite', 'section': 'Content', 'uuid': 'a5a66ce9-1eaa-41d7-87d4-1c9e52ea2bb1', 'hasWebComponent': false, 'abTestingService': { 'eventsActive': true, 'sdkKey': '2VwfARuJAzeMmnZHy6KR3' }, 'idm': { 'url': 'https://accounts.bahn.de', 'realm': '/auth/realms/db', 'active': true } } </script>

<title>DB Fahrplan, Auskunft, Tickets, informieren und buchen - Deutsche Bahn</title>

What do you expect the output from the parse be?

log.txt.md
log2.txt.md
log3.txt.md

How's something like this? (36ec69b)
Whatever unclosed tag will automatically be closed: see tests.

The examples I sent you describe my use case for the next feature of Tp-Note: the user copies parts of the browser page into the clipboard as HTML. Tp-Note reads the clipboard and creates a new Markdown note. This should make the browser plugin "copy as Markdown" obsolete. It tuns out, that the snippets in the clipboard are usually correct and well-formed HTML. So far my tests with Firefox under Linux.

Yes. when your library understands html and meta nodes, I'll test again. So far it looks good to me.


Task not requested properly

Executing task 1: Develop a task list.
INFO:     <IP_ADDRESS>:49426 - "GET /api/agent/undefined/command HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:49428 - "GET /api/agent HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:49430 - "GET /api/agent/Agent-LLM HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:49432 - "GET /api/agent/Agent-LLM/command HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:49434 - "POST /api/agent/Agent-LLM/task HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:49424 - "GET /api/agent/Agent-LLM/task/status HTTP/1.1" 200 OK
Response: {'detail': 'Not Found'}
Task Result:
{'detail': 'Not Found'}
Response: {'detail': 'Not Found'}
New Tasks:
[{'task_name': {'detail': 'Not Found'}}]
Exception in thread Thread-2 (run_task):
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/threading.py", line 1038, in _bootstrap_inner
self.run()
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/threading.py", line 975, in run
self._target(*self._args, **self._kwargs)
File "/Users/timur/Downloads/Agent-LLM-1.1.0/AgentLLM.py", line 242, in run_task
self.prioritization_agent()
File "/Users/timur/Downloads/Agent-LLM-1.1.0/AgentLLM.py", line 196, in prioritization_agent
prompt = prompt.replace("{task_names}", ", ".join(task_names))
^^^^^^^^^^^^^^^^^^^^^
TypeError: sequence item 0: expected str instance, dict found
When try to execute task
Starting task with objective: Research about pizza and save your findings in the text file.
Executing task 1: {'detail': 'Not Found'}
INFO:     <IP_ADDRESS>:49448 - "POST /api/agent/Agent-LLM/task HTTP/1.1" 200 OK
Exception in thread Thread-3 (run_task):
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/threading.py", line 1038, in _bootstrap_inner
self.run()
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/threading.py", line 975, in run
self._target(*self._args, **self._kwargs)
File "/Users/timur/Downloads/Agent-LLM-1.1.0/AgentLLM.py", line 235, in run_task
result = self.execution_agent(task["task_name"], task["task_id"])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/timur/Downloads/Agent-LLM-1.1.0/AgentLLM.py", line 213, in execution_agent
prompt = prompt.replace("{task}", task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: replace() argument 2 must be str, not dict
Objective Work Log
Starting task with objective: Research about pizza and save your findings in the text file.
Executing task 1: Develop a task list.
Task Result:
{'detail': 'Not Found'}
New Tasks:
[{'task_name': {'detail': 'Not Found'}}]
Starting task with objective: Research about pizza and save your findings in the text file.
Executing task 1: {'detail': 'Not Found'}
after applying fix from @gururise this error still occurs
Objective Work Log
Starting task with objective: Research about pizza and save your findings in the text file.
Executing task 1: Develop a task list.
Task Result:
{'detail': 'Not Found'}
New Tasks:
[{'task_name': {'detail': 'Not Found'}}]
Starting task with objective: Research about pizza and save your findings in the text file.
Executing task 1: {'detail': 'Not Found'}
Starting task with objective: Research about pizza and save your findings in the text file.
Executing task 1: Develop a task list.
Task Result:
None
Starting task with objective: Research about pizza and save your findings in the text file.
Executing task 1: Develop a task list.
Task Result:
None
Starting task with objective: Research about pizza and save your findings in the text file.
Executing task 1: Develop a task list.
Environment
Mac os 10.13
Running locally without docker

what model are you running in oobabooga?

Almost certain this is a limitation of the local model not being able to properly handle the prompt.

I believe you got this sorted talking in discord with us.  Let me know if still having the issue.


Is there any way to select all the text matched by a regex search in column selection mode?

VSCode Version:1.0.0
OS Version:Win7x64

Here is what I want in sublime:

Just input the regex text and then press Alt+Enter, It can select all the matched text in multiline mode, then I can edit, copy and paste them at anywhere I want.
How can I reproduce this in vscode or does vscode support for this?

PR #5715 closes this.


Cookbook examples for uuid

Come up with ideas for nice introductory examples of using uuid, if need be showing in combination with other crates, that would be good to show in the Rust Cookbook. Leave your ideas here. PRs with example welcome.

In issue #434 we decided that uuid was a bit esoteric and the use case was already well documented.  What the cookbook wants to solve is universal problems for many developers showing real world examples.


Plugin not reading properly the import/ignore field?

Hello all,
I have started getting a red highlight when importing images using aliases, with the error "import/no-extraneous-dependencies".  My webpack build is ok and it does not complain when running eslint with webpack eslint plugin.
In order to get rid of this error, I added "import/ignore": ["*.png", "*.jpg"]  and that made the error to go away. However, I started getting webpack errors when running my build, specifically:
ERROR in Invalid regular expression: *.png: Nothing to repeat
Occurred while linting blabla\index.js:2

So I changed my import/ignore to  ["/*.png/", "/*.jpg/"] and later to ["\\.png$", "\\.jpg$"] which made the webpack works ok but again VSCode highlights as red the import.
This makes me think VSCode is not reading properly the import/ignore as eslint expects a regular expression but the red goes only away if I use a the glob *png.
I have an issue opened as well in the eslint-plugin-import:
https://github.com/import-js/eslint-plugin-import/issues/2230
I have the following repo where I get the same result:
https://github.com/javierguzman/eslint-error
You may need to do npm install --force for the node_modules.
In order to reproduce the error:

Open Header.tsx and you will see no error highlights
Run "npm run build:production"
You get the invalid regular expression
Change the expression of import/ignore
Run "npm run build:production" and it is ok
However if you go to Header.tsx you will see the import marked as red due to extraneous dependencies

Any help would be really appreciated.
Thank you in advance and regards.

What happens if you execute eslint on the command line and validate the file there  (e.g. ./node_modules/.bin/eslint ....)

The eslint extension honors everything the command line eslint honors. But this that are specific to webpack are not honored.

I have run npx eslint ./src/features/Header/Header.tsx -c ./config/.eslintrc.json and indeed I get the same error. I do not understand why with webpack is ok and with cli is not. I am completely lost.

Two options I know of:

webpack uses a different version of eslint, plugins, ...
there is a eslint config somewhere inside of the webpack files,

I will close the issue since the design of the extension is to respect the same config / setting as eslint in the terminal does.


[7.0] Services and discovery cache files are exclusive to Laravel.

getCachedServicesPath() and getCachedPackagesPath() only being used
in Illuminate\Foundation\ComposerScripts and
Illuminate\Foundation\Console\ClearCompiledCommand.
Signed-off-by: Mior Muhammad Zaki<EMAIL_ADDRESS>

For reference, Laravel\Lumen\Application doesn't use/implements any of these contracts.

This branch has conflicts.

This branch has conflicts.

Fixed merge conflict.


Feature request: Add 'User Contributed Notes' to Crystal docs

As a Crystal newbie I found myself having to figure out how Crystal does certain stuff. That means spending lots of time searching and poring over the docs.
The good thing is that the docs are substantial. The bad thing is that they are a little terse, and worse, there are few or no examples. I get the impression that the docs might make more sense when a newbie has built up a certain critical mass of Crystal knowledge. So it's a kind of chicken and egg situation, and a definite friction to learning Crystal. Therefore, I suggest adding example sections and/or 'User Contributed Notes' features to the Crystal docs inspired by the aging but excellent PHP manual, e.g. [1].
[1] https://www.php.net/manual/en/function.getenv.php

PRs to improve documentation are welcome.  There are definitely areas where this can be improved.  Read thru https://crystal-lang.org/reference/conventions/documenting_code.html if you haven't already.
User Contributed Notes probably isn't going to be possible natively.  The current implementation of docs is just generating some HTML/JSON that can be displayed in a browser; i.e. there wouldn't be a place to persist those notes.

I think StackOverflow already covers this scenario and it's actually better because it responds questions to problems, not general notes about functions. Plus it's easier for us to do nothing, we don't need to moderate comments, etc.

The problem is that PRs are only half of the battle. If a newbie has a question about X then they don't make a PR to ask the question :-) And they are definitely not going to discover the answer elsewhere and then make a PR with their finding :-) I have been asking in the Crystal gitter chat and getting answers from kind folks such as yourself, but although this works nicely for me, it is not very efficient for when the next newbie comes with a similar question.

there wouldn't be a place to persist those notes.

thinking out loud... If...

A unique github issue could somehow be tied / linked to a unique Crystal docs page, the User Contributed Notes could be much lower friction (easier to add a comment on a github issue than to make a PR) and just be github issues.
If the generated HTML for a given Crystal docs page could somehow display a sub web page (the associated github issue holding the User Contributed Notes) then a single Crystal docs page would have something very similar to the PHP User Contributed Notes feature for its docs...

Ruby doesn't have this, but whenever I want to find something about Ruby I find it in StackOverflow in under a minute. In fact, iñI find answers to things in Java, Elixir, Haskell, Elm. None of those have user notes. I don't think they are really needed.

PHP was the first programming language I learned and the comments/notes in their section was never helpful in my experience there, too often it had outdated, confusing or conflicting advice by different users.

I think StackOverflow already covers this scenario

Yep, it might be the next best thing. But IMO the difficultly with SO is often formulating the search keywords to find the answer to your question. Not a problem if you are posting a new question :-) Often you have to search over and over using different combinations of keywords... in addition to poring over the Crystal docs...

PHP was the first programming language I learned and the comments/notes in their section was never helpful in my experience there.

I only learned PHP some years ago and I had the opposite experience from you. Sure there's lots of outdated, confusing or conflicting advice, but as an experienced developer it's easy to sift / scroll through that stuff on a single web page... what's more friction for me is constantly typing in new search terms to try and find the answer I'm looking for...

Maybe it's as simple as each Crystal docs page using its unique title as a github tag like already used [1]. For example, [2] is entitled "module ENV" which could be turned into a github tag e.g. user-contributed-notes-module-env ?
[1] https://github.com/crystal-lang/crystal/issues?q=label%3Aplatform
[2] https://crystal-lang.org/api/0.34.0/ENV.html

The thing is that there's not enough bandwidth in this open source project to do it. It's just too much work for a very small gain.

Where are the notes stored, and how do one adds them?

not enough bandwidth in this open source project to do it

I hear you. And whether there is bandwidth or not then I'm hoping it's good to at least capture the idea in this issue for when bandwidth might be more plentiful :-)
However, I'm also assuming that the docs are generated by some kind of script. And I'm hoping that the project contributor who knows about that stuff will eventually read this issue :-) And I'm also hoping that it'd be only a few lines of code to get the generate page title, munge it into a github tag, and generate the HTML at the bottom of the page which shows all the github issues with that tag... :-) So from this -- maybe blissfully naive POV -- it seems like a potentially low hanging fruit, or?

Before we jump into technical architecture, did we agree yet they would actually be beneficial? In my opinion they could even be harmful, unless we rebuild stackoverflow essentially, that is a full fledged voting and  third party editing system.

Github issues are not documentation, they are proposals and problem descriptions. Their purpose is to get obsolete.

Where are the notes stored, and how do one adds them?

My thinking out loud proposal is to generate a web page footer for pages like [1], which would show the embedded github sub page [2] which shows the tagged notes just for that page.
So notes would be stored as github issues... just some of them are today. But they would be organized better and accessible right from the HTML Crystal docs.
[1] https://crystal-lang.org/api/0.34.0/ENV.html
[2] https://github.com/crystal-lang/crystal/issues?q=label%3Ausercontributednotes%3Amoduleenv

I vote to close.  Given the docs are versioned you would essentially need an issue per version (in order to account for changes in between versions).  If anything, a PR to improve existing documentation would be better than (and more maintainable) than supporting a separate set of user supplied documentation.

The problem is that PRs are only half of the battle. If a newbie has a question about X then they don't make a PR to ask the question :-)

Correct, they would either look on SO, make a thread in the forums, or ask in the Gitter channel.  The answers from these sources could then be used to improve the documentation, gradually improving the documentation over time.

And I'm hoping that the project contributor who knows about that stuff will eventually read this issue :-)

That would be me :)
And as I said, I don't think this is useful so at least I won't implement it.

Well thanks for giving this request consideration. Much appreciated!

@simonhf An action item that could result from this is a PR related to the type you had trouble with by adding more documentation and/or examples.

Yeah, it's frustrating for me because as you know -- as a Crystal newbie -- I have asked many questions via gitter -- after having pored over the Crystal docs to try and minimize the gitter questions - and learned a lot. I think I could create PRs for at least a dozen doc pages, but... those PRs would not be a trivial amount of time for me to prepare, and on top of that, there would likely be a prolonged back and forth with the PR because I'd be trying to update the official docs, etc, and with totally new features like examples. It seems like a larger time investment and making docs is not my best skill :-) However, making notes about docs... that I can do! :-)
The frustration is there because it seems a waste that my questions on gitter will not end up benefiting other Crystal newbies like me over the months and years to come. The proposed solution mentioned above are to ask the newbie questions on the Crystal lang forum [1] with 456 questions currently, or on SO [2] with 554 questions currently. Interestingly I did have a question about "nested hash" tables of which there are 3 in the forum [3] and 1 relevant thread [4]... which I contributed to [5]! Unfortunately in this instance the contribution did not result in any useful feedback for me... whereas the similar question about nested hashes on gitter did! I don't know but I suspect that if I had posted on SO then I would also have no useful responses, or they would happen too slowly?
However, responses are lovely and fast both on gitter and (as I have seen with my own two Crystal github issues) on github :-) I'm hoping that this feedback from a real life Crystal newbie is useful for you guys to improve Crystal education to other newbies. It seems to me like gitter and github issues are much less formal -- like a direct messaging system -- whereas Crystal forums and SO might be more formal, and therefore have less content because there is higher friction to create the content? For example, whereas the Crystal forum and SO have +/- 500 questions each, Crystal github [6] issues are currently 890 open and 4,231 closed... that's 10x bigger! Just saying... :-)
[1] https://forum.crystal-lang.org/c/help-support/11
[2] https://stackoverflow.com/questions/tagged/crystal-lang
[3] https://forum.crystal-lang.org/search?q=nested hash category%3A11
[4] https://forum.crystal-lang.org/t/how-do-i-create-a-nested-hash-type/885
[5] https://forum.crystal-lang.org/t/how-do-i-create-a-nested-hash-type/885/14?u=simonhf
[6] https://github.com/crystal-lang/crystal/issues?q=is%3Aissue+

For example, whereas the Crystal forum and SO have +/- 500 questions each, Crystal github [6] issues are currently 890 open and 4,231 closed... that's 10x bigger! Just saying... :-)

Issues on Github should be reserved for actionable things, not really the place for questions/help/advice.  Possibly could look into using discussions if/when that becomes available.  However I'm not sure it would be any better than the forums.

It seems like a larger time investment and making docs is not my best skill :-) However, making notes about docs... that I can do! :-)

Kinda related to https://forum.crystal-lang.org/t/documentation-writing-organization-effort/2115 a central place to find/suggest improvements might be helpful as a means of at least documenting what could be improved.  I.e. separate the suggestion side from actually implementing those suggestions.

the Crystal forum and SO have +/- 500 questions each, Crystal github [6] issues are currently 890 open and 4,231 closed... that's 10x bigger! Just saying... :-)

That's just because the GIthub issues existed from day one. The forum is relatively new and the StackOverflow community didn't pick up steam until way into the project.

Kinda related to https://forum.crystal-lang.org/t/documentation-writing-organization-effort/2115

Thanks for posting that link which I navigated to and contributed!

Github issues are not documentation, they are proposals and problem descriptions. Their purpose is to get obsolete.

Yep, I agree with you. But... consider source code foo.cr for which people might write issues with questions about. Why shouldn't the same happen for docs for module Foo? A bit like Wikipedia has a discussion wiki page for each of it's 'official pages', which is not intended to be the page itself, but discusses what is on the page, or what could be on the page, or what shouldn't be on the page. So as a concrete example, I couldn't figure out everything I wanted to know about Crystal nested hashes from the official docs page. I tried in the Crystal forums but that also didn't work. If there was something like the Wikipedia discussion page, but for the Crystal hash table docs page, then I would have written there what I learned, and then either it would eventually get 'implemented' in the official docs, or kick around as 'user contributed notes' on the docs.

I tried in the Crystal forums but that also didn't work

What do you mean? Someone replied to you: https://forum.crystal-lang.org/t/how-do-i-create-a-nested-hash-type/885/14
I was going to reply, but I had a hard time understanding the code inside a crystal eval with a bunch of flags. I suggest sending the minimum snippet of code to get your point clear.

What do you mean? Someone replied to you

That's right, but the reply -- although polite and well intended -- did not offer any useful info for me :-(

had a hard time understanding the code inside a crystal eval

Hmmm... but when I asked about nested hashes in the gitter forum... also using the crystal eval syntax, there seemed to be more people wanting to understand the code and willing to help.
And IMO crystal eval has a huge advantage over snippets because it's easier to copy and paste entire simple but working examples. Whereas snippets implicitly assume that the user knows how to create and run all the code necessary around the snippet...
This is my biggest newbie issue with the Crystal docs... they are nicely terse like a snippet, but often -- and without associated complete working examples -- it's difficult for newbies to plumb the terse snippet into working code without building up the necessary critical mass of Crystal know-how. A sort of chicken and egg situation...

I don't think including user notes into the API docs is a good idea. I have the same experience as @jhass with that. You need to dig through a lot of unhelpful advice, duplicates, tangential topics and conflicting suggestions.
The problem that you @simonhf mention exists though. The current API docs are missing lots of information. And asking on chat or elsewhere helps you individually, but it's not sustainable. Stack overflow can be helpful for some cases, but it's not ideal format for general enhancements to usage instructions and it's a separate tool. Integrating it with the API docs doesn't seem technically feasible (nor would it be substantially useful).
But it's definitely a good thing to have the API docs as the main source for information about API features. It should just be more extensive than it currently is. But it's best to manage and moderate that in a single place, i.e. this repository. This also means all documentation is directly attached to the source code. If you distribute the source code, you also ship its documentation.
To improve this situation, we need to find ideas how we can make it easier to contribute to the API docs.
Ideally, if a question is asked on chat and someone answers that, it should be encouraged to directly add that to the API docs. Either the one who asked or who answered. Both should be able to do this. And it should be easy to do.

One idea that popped into my mind would be to add an edit link to the rendered API docs. There's already a link to view the source. But that usually points to a commit tree, so it can't be edited directly in GitHub's webui (that only works on branches). So we could have an edit link that points to the source file in master branch. I don't think there's a way to jump to the respective line in the code editor, though.
An improved iteration of that idea would be to provide a custom webapp for editing API docs. It could interface with GitHub API to retrieve the source and at the end publish a PR. This would allow adding nice editing features, like a preview of the rendered API docs. And instructions and guidelines about writing API docs.

To improve this situation, we need to find ideas how we can make it easier to contribute to the API docs.

Agreed.

Ideally, if a question is asked on chat and someone answers that, it should be encouraged to directly add that to the API docs. Either the one who asked or who answered. Both should be able to do this. And it should be easy to do.

Yep, I would definitely have no problem doing that -- as the asker -- if the process of contributing to the docs is similarly low friction as editing a github issue, or a wiki page. But for example, creating a PR is probably more friction than I'm willing to take on...
Although at the risk of sounding like I'm harping on about the github issue mechanism... it might be more efficient to do it that way if the end result is to eventually have a pristine set of HTML docs with no User Contributed Notes? Let's say 5 contributors make github issue "notes" to the hash table docs pages over a 6 month period... They can be dealt with and consolidated in a single PR batch -- by somebody who knows what they are doing with the docs -- more efficiently than doing 5 PRs as they occur, or? Plus they linger around for 6 months, before disappearing but are still useful for newbies to browse during the 6 months... just like @jhass said, "Their purpose is to get obsolete" :-)

One idea that popped into my mind

If you come up with anything and want a newbie guinea pig to try it out and give feedback, then feel free to hit me up :-)

One thing that popped into my mind is... Pull requests are not always appropriate for user contributed examples, even if just because currently Crystal docs don't have a good way to collapse additional details, not to take up space at the cost of other methods on the same page.
Sometimes in response to questions I can produce awesome examples that are better than the docs themselves, but it never occurred to me to make a PR to add such an example directly to Crystal source, for not being generic enough.
Maybe there's something to this idea after all.

If we wanted something like that, maybe the API docs could have a link to a collection of more detailled examples.

FYI for want of a better place, I dumped my newbie Crystal knowledge here (which hopefully will be found by Google eventually and benefit other Perl developers interested in Crystal and searching for such comparison info):
https://gist.github.com/simonhf/078f0874c622ef9b276fa58554fcd1fc

This could easily be implemented. A little button can be shown on the top right of the container of the doc name the user is reading. "Show User-Contributed Notes" or whatever. Which could show some examples that other users submitted to the system (asterite is asking where this is stored), it would have to be in a DB on some server. We'd also have to create a login system for the docs page, and filter out spam, filter out actual good snippets of examples, etc.  This will create a vacuum where developers have yet another thing to maintain.
I think the better alternative is to do what blacksmoke said and simply create a PR so it can be added to the docs with your succinct and cohesive code example. Also, just engage with the community on gitter, forums, reddit, or wherever you feel most comfortable. Then maybe once after engaging, you can get in touch with someone and work together on a nice PR for the docs


Allow login by email

Added email to model and view. Username and email are validated to not be already in the DB with a logic-or.
Validation message is the same for username and email when not unique for security purposes but it could be separated.
Resolves #1

Thank you for this @arianahl ! I will take a look at this tonight when I get a chance, will let you know what I think!

@arianahl just pulled your branch down and reviewing/solving conflicts. Sorry for delay, classwork has kept me busy. Will comment back soon.

@arianahl I have pushed up your branch in this repo. Because files had moved to src/ I had to put your changes back in. I also made some minor additions, adding the required tag to all fields in registration, adding a first and last name field, and adding an eslint rule to prevent it from failing when you use this in the saving of a user. The only other thing I could think of would be an issue where usernames are case sensitive. I am curious what your opinion and any possible solutions you might have for this. For example, as it is now, someone could have the username name and a new user could register with the username Name. I'm not sure if that is a good thing or bad. Let me know what you think.

Hi @connorphee, in that case, I would use the mongoose-unique-validator plugin to validate uniqueness and doing it with case insensitivity for both username and email. That means all the validation code I wrote could be removed and we ensure validation and unique values in one go. I can add a commit to this branch or I could make a new pull request, whichever is easier for you.

I added the changes for validation at creation time but if you want to allow login to be also case insensitive then a small modification to the findUsername function has to be made.
I'm not sure if case insensitivity should be allowed in the login page... what do you think?

@arianahl Thanks so much! I am not quite sure if we should allow case insensitivity at login. I definitely don't think we should allow the case I mentioned above at registration though. I will leave it up to you to decide for now and we will see how it looks!

@connorphee I added new commits to this branch for the registration case and left the login to be case sensitive. Plz check it out and let me know

I pulled down the new changes, but npm start got stuck on node ./bld/app.js for almost an hour and I'm not sure why.

Mine works fine and I merged everything from master....
It uses a new module. Did you do npm install before?
And maybe the database is in a bad state? I would first drop it and then try it again.

@arianahl I'm not quite sure what the problem is. I have spent the last 90 minutes or so trying to figure out why it hangs up on node ./bld/app.js. I hope to figure it out because I think this branch is ready to be merged but I would like to see it working locally first.

Figured it out, branch looks good. Merging.


Ipad Mini 2 Ios 12.1.1b3 UnCover b40

To Jailbreak:
Ipad MINI 2 A7 IOS 12.1.1b3 I side loaded Uncover b40 I have Airplane mode on and disabled Passcode but the dang Ipad will not JB. It will just reboot back to IOS
This Worked

Open unc0ver and go to the settings page

Turn «Load Tweaks» off and then jailbreak as you usually would

3.  Once Jail Broke and respring, go to Settings in Uncover turn on tweaks
     rejailbreak and cydia is loaded

Thanks, finally I jailbreaked my iPad :D


I'm asking this because I noticed the same commit message has been repeated twice.
Thanks!


Hellow World in Belarusian

#351
7ef5ad998159d13fb1b99587a2f220bda22d1077e79973d8563ab5fb6de00074
This is my 2nd attemp to commit,  the first request (524) is closed.

@askass , your first PR was also okay, but it's okay, since you've closed it, I will merge this one.

@odetolataiwo , 500.


Fixes #311 - Multi-problem models do not work with recent TF

See issue #311
Since TF update: https://github.com/tensorflow/tensorflow/commit/3aaf220fef04c1ab71301c4fc76739c6a4df605e
multi-problem runs fail with crash inside tensor2tensor.input_fn_builder.cond_on_index()
Fixed by removing flattening trick (no longer needed). Added unit test.

Awesome, thank you @mkroutikov! Did you also test locally with the multimodel and multiple problems?

@rsepassi yes, the fix was prompted by crash in my multi-problem training run, and it works. I use aligned model, not multimodel. No, I did not test multimodel specifically.


When using the MSALGuard and RoleGuard on a route, the Role guard will allow access even if the user does not have the correct role

Issue
When using the MSALGuard and RoleGuard on a route, the Role guard will allow access even if the user does not have the correct role!
This is due to the fact that there is no guard sequence in Angular.
This issue is for the sample

    - [ ] 1-1) Sign-in with Azure AD
    - [ ] 1-2) Sign-in with Azure AD B2C
    - [ ] 2-1) Acquire a Token and call Microsoft Graph
    - [ ] 3-1) Protect and call a web API on Azure AD
    - [ ] 3-2) Protect and call a web API on Azure AD B2C
    - [ ]   4) Deploy to Azure Storage and App Service
    - [x] 5-1) Call a web API using App Roles
    - [ ] 5-2) Call a web API using Security Groups
    - [ ] 6-1) Call a multi-tenant web API
    - [ ] 7-1) Call Microsoft Graph using on-behalf-of flow
    - [ ] 7-2) Call a web API using Proof of Possession tokens

This issue is for a

    - [ ] bug report -> please search issues before submitting
    - [x] question
    - [ ] feature request
    - [ ] documentation issue or request

Minimal steps to reproduce
Change the sample so that the root of the app also needs the MSALGuard, this will trigger the login sequence as soon as someone uses the website. In other words no need for the LOGIN button.
Open a new InPrivate windows and navigate straight to an URL that has both guards active.
If there was no previous login, the user is redirected to the Azure AD login flow, BUT the RoleGuard already finished it's check and returned TRUE ( https://github.com/Azure-Samples/ms-identity-javascript-angular-tutorial/blob/main/5-AccessControl/1-call-api-roles/SPA/src/app/role-guard.service.ts#L34 ).
Due to the fact that there were no accounts available yet.
After the login flow of Azure AD the Role guard is no longer checked and the user is presented with the URL he typed in, although he should not be able to see it.
Expected/desired behavior
Role checks can only be done after an account has been acquired AND should be done each time!
Library version
msal-angular: ^2.1.2
angular 13 & 14
Browser and version
Edge
Mention any other details that might be useful
I know this is a limitation of Angular ( there is no guard replay or guard order ), but this Role check example should compensate for this somehow. Because if we want to use role guarding, it should always be checked when we have the user roles available.

@Depechie thank you so much for catching this. Let me try to reproduce it and get back to you.

Comment for getting out off the stale bot

Hey @derisen so I uploaded a basic sample here: https://github.com/SanITy-BV/BirdAtlas-frontend/tree/guard
I also recorded the logging with an animated gif, you can follow along here: https://raw.githubusercontent.com/SanITy-BV/BirdAtlas-frontend/guard/Animation.gif
So when the app is first started, the MSAL guard will kick in and do a redirect to the login flow, this works perfectly. But when that flow is done, you will see the begin screen of the web app.
This is due to the fact that the 2 gaurds are already passed at the same time during initial startup. You will notice in the console logging that the Role guard thinks no account is available ( this is true we are not yet logged in at that time due to the MSAL guard still needs to kick in ) and that no check can be done..
If you then just refresh the page, the same 2 guards are processed and now the Role guard has enough info to actually do the processing and will show that there is an account and the guard check has been done.
I hope this explains my issue.

thanks @Depechie looking at this now -will get back

@Depechie apologies for the late response, we've been unusually busy these days. I can reproduce this with the repo you shared. It seems this is simply not a scenario we've considered i.e. enabling RoleGuard for the main route where the user signs into.
My understanding is that, in the sample from this repo, when a user hits a component route that has MsalGuard and RoleGuard enabled (like http://localhost:4200/dashboard), she will prompted for sign-in via MsalGuard, and then after sign-in will be redirected to the main route first http://localhost:4200/ (which doesn't have RoleGuard), and then will be redirected back to http://localhost:4200/dashboard, which at that point account info will be available to RoleGuard.
I don't have a solution right now but I will put this to backlog and pick it up first when we start updating the samples in this repo. I'm also not entirely sure if this is a legitimate use case, or rather, the best approach to handle this use case. If the user is simply needed to be in a particular role to sign-in to the application, perhaps requiring user assignment would be a better way to handle it?
Nevertheless, if you come up with a solution please feel free to make a PR.

Thanks @derisen for the detailed response! No worries about the actual timing of any samples. At least I'm getting info and am very glad it was not something I did wrong in the setup ( could always have missed something ).
As off the use case, well... we just want to be sure that IF a user get's hold of a url all guards are validated. In our case this also means checking that you are at least in a certain app role. There are several roles and depending on which the main page will look different. Or if you do not have any role assigned you should not be able to see anything.
But I understand this could maybe be solved in another flow/way too.
At least I would like to check the roles 'after' the login and maybe we could redirect to a certain 'not allowed' page?

That's fair enough. What I'm thinking is that it might be better to use a single custom guard that combines MsalGuard and RoleGuard, though I can also see the merit of getting multiple guards to work in tandem. There's an understanding that MsalGuard will not only be able to cover all use cases, so this repo should have at least one example of a custom guard to replace it. Let me look into these.  I'll keep this issue open until then -and thank you for all the feedback!

Combining in a single one would be a perfect solution for use!
Not done that though for MSAL, is there an example for that scenario maybe?

I'm afraid not at the moment. There was also a feature request for extending MsalGuard, but nothing has been delivered on this so far. I suppose you can copy paste the MsalGuard code into a guard and add the role check there, but I'll for sure add an example here eventually.

keep open

@Depechie this should now be fixed, using a custom guard based on MsalGuard. Thanks again for catching this!

Hey @derisen could you elaborate a bit more?
Has something changed since your original response ( https://github.com/Azure-Samples/ms-identity-javascript-angular-tutorial/issues/180#issuecomment-1174196604 ), in other words is there now more guidance on creating those custom guards maybe?
Not keeping track of all the MSAL updates, so could be I'm missing obvious of course :)

@Depechie of course, my bad. Right now the updated sample is using a custom guard based on MsalGuard (pretty much copy/paste), and then extending it in a role guard. Ideally the MsalGuard itself should be extensible, and I'm separately working on a PR to msal-angular for doing just that. That could take a while so for the moment, I think this is the way forward, but I'm open to suggestions.

Thanks! Will take a look as soon as I find some time!

@derisen just wanted to circle back that this works great!
But true, now having that baseGuard directly in our code would be nice to get rid off once the base lib has a guard that is extendable.

Sounds great! Still working on making this extensible by default, hopefully will get this in to msal-angular


Android App Cards List Error

ERROR IN ANDROID APPLICATION
While attempting to view cards within a deck, error appears instead - saying

NoSuchMethodError: The method 'where' was called on null.
Receiver: null
Tried calling: where()

To Reproduce
Go to decks, click on a specific deck and it loads the Cards tab with error.
Expected behavior
Show me the cards in the deck.
Screenshots

Thank you! We will investigate your issue.

Right now everything should work correctly.

Right now everything should work correctly.

Still not working, same issue... please re-open and fix.

We will investigate it further

Updated app is pushed to the Play Market.


Livereload doesn't work

I'm submitting a ...

[ ] bug report
[ ] feature request
[x] support request
[ ] other (Please specify)

Provide information & explanation
Hi!, I run gulp && gulp watch. When I save a changes, the gulp watch works (I can see in the terminal), but the browser doesn't refresh automatically. I have to refresh it manualli twice or three times to see the changes.

I run php artisan serve --host=<IP_ADDRESS> and doesn't work fine too.

Laravel & Angular version: 3.3

Thanks! and sorry for my english!

Hi @enzonotario
This is actually a missing feature in 3.3 because service workers require SSL, I wasn't able to run a local version with https://
I will take a look soon and see if there's an update on it, if yes I'll release 3.3.1

oh so this works on https?
You can bypass the  a newer version available from the Applications tab on chrome dev tools (screencast)

Thanks so much!!! :)

@enzonotario does it work for you on HTTPS? https://localhohst:8000? with the setup you had

chrome's webworker just work on localhost and not any other domains eg project.dev.
just look here the p tag

that is true.. I wonder why I was striving for https support
Thanks for this! Would you be able to send a pull request targeting develop branch?

not, yet. i have a busy  month..

It works for me on localhost without https... and I do the "bypass" in chrome, and sometimes it works fine, and sometimes not...


OAuth Error, cannot download from Fanbox

Prerequisites

[x ] Did you read FAQ section?
[x ] Did you test with the latest releases or commit ?

Description
Failed to login using OAuth While Trying To Download Pixiv Fanbox Supported, Option F1, Using Version 20200524
Steps to Reproduce

Log into Util
Login Successful
F1
Max Page, tried numbers 0,1,2,100 (any of those)

Expected behavior: Login Successfully
Actual behavior:
Trying to log in FANBOX with saved cookie
FANBOX Login successful.
Getting supported artists from https://api.fanbox.cc/plan.listSupporting
Found 2 supported artist(s)
[, <, P, i, x, i, v, M, o, d, e, l, F, a, n, b, o, x, ., F, a, n, b, o, x, A, r, t, i, s, t,  , o, b, j, e, c, t,  , a, t,  , 0, x, 0, B, F, 4, 4, F, 4, 0, >, ,,  , <, P, i, x, i, v, M, o, d, e, l, F, a, n, b, o, x, ., F, a, n, b, o, x, A, r, t, i, s, t,  , o, b, j, e, c, t,  , a, t,  , 0, x, 0, B, F, 4, 4, 7, 9, 0, >, ]
Using OAuth to retrieve member info for: 9472577
103:pixiv ID、またはメールアドレス、パスワードが正しいかチェックしてください。
Failed to login using OAuth
press enter to exit.
Versions
You can get this information from executing PixivUtil2.py --help.
Latest version available in https://github.com/Nandaka/PixivUtil2/releases

I also want to note that the refresh token in the config.ini is EMPTY

can you try latest version in https://github.com/Nandaka/PixivUtil2/releases?

Tried Version: 20200712

Logged in.
F1
Max Page = 3

Input: f1
Max Page = 3
Trying to log in FANBOX with saved cookie
FANBOX Login successful.
Getting supporting artists from https://api.fanbox.cc/plan.listSupporting
Found 2 artist(s) in supporting list
['9472577', '25310139']
Reading C:\Users\Khoa\Desktop\pixivutil20200712\config.ini ...
done.
Getting artist information from https://api.fanbox.cc/creator.get?userId=9472577
Using OAuth to retrieve member info for: 9472577
103:pixiv ID、またはメールアドレス、パスワードが正しいかチェックしてください。
Traceback (most recent call last):
File "PixivUtil2.py", line 1032, in menu_fanbox_download_from_list
File "PixivUtil2.py", line 1057, in processFanboxArtistById
File "PixivBrowserFactory.pyc", line 882, in fanboxGetArtistById
File "PixivBrowserFactory.pyc", line 613, in getMemberInfoWhitecube
File "PixivOAuth.pyc", line 123, in login
PixivException.PixivException: 0 Failed to login using OAuth, hasDumpPage=N, pageData=None
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "PixivUtil2.py", line 1628, in main
File "PixivUtil2.py", line 1364, in main_loop
File "PixivUtil2.py", line 1034, in menu_fanbox_download_from_list
NameError: name 'artist' is not defined
press enter to exit.

I saw that it was one fanbox that displayed wasn't working so I tried F2 as well and manually entered ID, and it also resulted in a OAuth error so i'm not entirely sure what's going on.

またはメールアドレス、パスワードが正しいかチェックしてください。

use email address for the username for oauth login in config.ini

It works fantastic now, thank you so much!


which version is universal-sentence-encoder-multilingual having transformer architecture?

there are some url linkhttps://storage.googleapis.com/tfhub-modules/ about use-multilingual, but nothing about them. I want to to use the transformer architecture no the DAN.
So, who can tell me the describution about the pretrained module?

@Cumberbatch08 You can try using universal-sentence-encoder-multilingual-large which is here It is based on the paper here which uses a transformer architecture. You can refer to the following paper.

@Cumberbatch08 I am closing this issue as it has been answered. Please add additional comments and we can open this issue again.


test: Check whether alertmanager reloads its config

This test first creates a config inside a kubernetes secret, checks if
alertmanager picks the config up correctly. Then it changes the config
and checks again if it is loaded by alertmanager correctly.
This is related to PR #201

@brancz Could you review my newest changes?

I don't think the e2e test job failed because of a test, it seems like it's an issue with the test setup.
So lgtmog

Test this please

Nice! :+1: lgtm

@brancz Wow, that was fast - thanks.


bedtools slop permits '-b', '-l', and '-r' to all be specified, ignoring '-b'

bedtools slop allows -b, -l, and -r to all be specified, resulting in -b being ignored, and the values from -l and -r used instead.
Given that -b is intended to be mutually exclusive with -l and -r, it would be better if these were defined as such and that the use of all three result in an error.

Good call - I will add a check for this.

Thanks!

added in master (3 years later) :(


feat: Improve SEO Metadata for Demo Site

🙋 Feature Request
The current SEO metadata for the Blazor FluentUI demo site is not optimal, as evidenced by the search engine results displaying "An unhandled error has occurred. Reload." This suggests that the metadata is not properly configured, affecting the site's search engine ranking and user experience.
Benefits

Improved Search Engine Ranking: Properly configured metadata can help search engines better understand the content of the site, potentially improving its ranking in search results.
Better User Experience: Accurate metadata provides users with a clear understanding of what the site offers before they click on the link.
Professional Appearance: Well-maintained metadata reflects positively on the project and its maintainers.

🤔 Expected Behavior
A better metadata to improve the feeling that THE library they should use!

😯 Current Behavior

💁 Possible Solution

Change  <title> Tag: Ensure that each page has a unique and descriptive  tag.
Add  Tag: Provide a concise and relevant description for each page.
Check for Errors: Ensure there are no unhandled errors in the HTML that could affect metadata rendering.
Update  index.html:

Add necessary meta tags.
Ensure that error messages do not appear in the metadata.

Example
Here is an example of the updated metadata:
<head>
    <title>Microsoft Fluent UI Blazor components library - Demo site</title>
    <meta name="description" content="Microsoft Fluent UI Blazor components library. For use with ASP.NET Core Blazor applications">
    <meta name="keywords" content="Blazor, FluentUI, demo, components, Microsoft, asp.net core, FAST, fluent">
    <!-- Other relevant meta tags -->
</head>

Hi,
Thanks for your suggestions. This has been a pain point for me for a while already...
With regards to the title, we recently made a change so that every page in the demo gets a correct one assigned following the pattern:  {page} - FluentUI Blazor Components
I'm adding the general description and keywords to the index.html now as well (should be live with next release in a few days).
Not sure how to address the rendering error yet. It has to do with the fact that the search engines can't run the WASM code that the static site returns.

You can add these features SEO oriented :
1. robots.txt File
Use a robots.txt file to control which parts of your site search engines can or cannot index.
User-agent: *
Disallow: /path-you-want-to-block/

2.  XML Sitemap
Create an XML sitemap to help search engines index your site more efficiently.
This sitemap can be generated with the content of the components list (don't forget index)
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
   <url>
      <loc>https://www.yoursite.com/</loc>
      <lastmod>2024-06-17</lastmod>
      <priority>1.00</priority>
   </url>
   <!-- Other URLs -->
</urlset>

3. Blazor SEO NuGet Package
Use dedicated SEO NuGet packages in Blazor, such as Blazor.SEO, which facilitate the addition of meta tags and other SEO optimizations.
@using Blazor.SEO

Use dedicated SEO NuGet packages in Blazor, such as Blazor.SEO, which facilitate the addition of meta tags and other SEO optimizations.

You have a link to this one?

Use dedicated SEO NuGet packages in Blazor, such as Blazor.SEO, which facilitate the addition of meta tags and other SEO optimizations.

You have a link to this one?

Sorry @vnbaaij I confused with another technology for this SEO plugin.

robots.txt / sitemap.xml will be part of the demo we will create for the next major version.


pgtap: 0.97.0 -> 0.98.0, highlight: 3.40 -> 3.41

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
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 (I ran the pgjwt test)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Thanks!
While both of these commits are fine can you split it up into two PRs next time since the packages are not related?


[RDM] Melee combo Fill Option and other features.

Update: All features finalized. Currently testing. Any feedback is appreciated.
Update 2: I believe I've fixed all outstanding issues.
Features

Add overcap protection as its own option DONE
Add melee fill option DONE
Add the option to hold one Acceleration charge for manual use DONE

Preview of features:
Melee fill option and overcap protection

Acceleration hold charge

Adds a fill option for the RDM melee combo similar to DNC dance steps. The melee combo will currently execute on the main rotation when either of the 3 following conditions are true:

User manually initializes the combo using Enchanted Riposte (if fill is selected)
Embolden and Manafication are off cooldown (If option is selected)
Black and White mana reach the overcap protection value.

The overcap protection is currently hard coded but can be made into an option where users can select how much mana to hold before the combo is initialized automatically. This can also be made into a separate feature entirely not dependent on the "fill" option.
FIXED
Current issues/Concerns
There is currently a bug where if you tick the "Use Manafication and Embolden Option" then untick, it will still registered as selected until you reload the plugin. I'm not sure if this is a bug because of the way I wrote the feature or something else.
FIXED
The current implementation for checking whether or not the user has manually executed the combo is kind of hacky and I am hoping to find a better solution. The way it currently work is, I have a global bool that is set to true when the user manually executes Enchanted Riposte. It then will be set to false once a combo finisher is used. It works as intended (so far) but I am sure it could be made better. I was searching to see if there is anything related to RDM that tracks whether or not you are currently performing a melee combo.
FIXED
I am also not currently level 100 so not sure how this feature will work with the balance opener. Since openers are hard coded it shouldn't be an issue but if someone that has a 100 RDM can confirm, it be great.

I also noticed that there is currently a check for how much mana you have before using Manafication. This is probably a leftover from last expansion as Manafication no longer gives you mana and can be used whenever you don't have 3 mana stacks.

I also noticed that there is currently a check for how much mana you have before using Manafication when the double option is not selected. This is probably a leftover from last expansion as Manafication no longer gives you mana and can be used whenever you don't have 3 mana stacks.

RDMMana handles this Dawntrail's change to Manafication.

I improved the way the check for being in a melee combo is handled. Basically just check if the last weapon skill was either Enchanted Riposte or Enchanted Zwercchau. The previous solution, outside looking plain bad, also didn't work when synced below a level were you had a finisher. This fixes that issue.

For the sake of transparency, I mostly inherited this code as I play RDM after SGE. I understand most of it with the exception of the Manafication burst code. I do not to intend to sound harsh or come off elitest so if I do I apologize in advanced. C# oddly as it
I'm trying to understand what the current problem in Wrath you are aiming to address. I see 2 items of importance. The first being over cap protection (valid) and the Manafication and Embolden issue (not sure if that's your current code or wrath). Please ELI5

Might be best though to make "overcap", "burst mode", and "fill" all separate options instead of just rolling them all into one like I currently have it.

Added overcap protection that is independent of the melee "fill" option.
Preview:

Also had the idea of manually keeping a charge of Acceleration for manual use. This can be saved for movement. What do you think about this @Tartarga?

Been testing these changes and so far everything seems to be working.

So zbee helped me decode what the goal was, and I mostly get the goal now, but I'm curious about a different approach.
These 3 are your requirements to start the melee combo, correct?

User manually initializes the combo using Enchanted Riposte (if fill is selected)
Embolden and Manafication are off cooldown (If option is selected)
Black and White mana reach the overcap protection value.

First Req: I believe I have your first requirement easy peasy in PR #179 I'd like you to check.
Second Req: Part of me also thinks, that last bit I changed, can be expanded for quick check for Embolden & Manafication buffs, but then the description needs to be changed to say that Riposte or both buffs.
Third Req: As a separate option, I would think this would be best bled off with Reprise, which would be an option outside of Melee Combo?
With Also with Second Req I think it would be incompatible with Hold for Double, as it does the holding.

So zbee helped me decode what the goal was, and I mostly get the goal now, but I'm curious about a different approach.
These 3 are your requirements to start the melee combo, correct?

User manually initializes the combo using Enchanted Riposte (if fill is selected)
Embolden and Manafication are off cooldown (If option is selected)
Black and White mana reach the overcap protection value.

First Req: I believe I have your first requirement easy peasy in PR #179 I'd like you to check. Second Req: Part of me also thinks, that last bit I changed, can be expanded for quick check for Embolden & Manafication buffs, but then the description needs to be changed to say that Riposte or both buffs. Third Req: As a separate option, I would think this would be best bled off with Reprise, which would be an option outside of Melee Combo?
With Also with Second Req I think it would be incompatible with Hold for Double, as it does the holding.

Your solution is a lot cleaner. There is a lot of re-used code in the way i wrote this and I wasn't sure how to refactored it.
Yeah the description can be updated to specify that if that option is checked, the melee combo will be executed if Mana and Embolden are off cooldown.
For the 3rd part, not sure what you mean by bled off. Do you mean if the fill option is selected, the overcap protection should be ignored? The way it currently works is, it will automatically start the melee combo like it does now but instead of it happening at 50 mana, it will happen at whatever the overcap protection is.

Hope that makes sense.

Sorry. Still juggling adjustments to married life lol. Free time goes straight to playing.
I'm still not quite fond of (in RDM.cs) all the checks outside / above the Actionfound because it'll run those checks for every rdm action ID.
I'd like to hear feedback on putting the Fill code where I suggested (rdm helper) in my test/reference PR as I think it would be a better spot and not need as many checks

Sorry. Still juggling adjustments to married life lol. Free time goes straight to playing.
I'm still not quite fond of (in RDM.cs) all the checks outside / above the Actionfound because it'll run those checks for every rdm action ID.
I'd like to hear feedback on putting the Fill code where I suggested (rdm helper) in my test/reference PR as I think it would be a better spot and not need as many checks

That would be a better spot yeah. Less redundant code.

I've submitted a PR to your branch. I think I was able to simplify the checks. If it works to your liking, let me know!

I've submitted a PR to your branch. I think I was able to simplify the checks. If it works to your liking, let me know!

Oh thank you, i was trying to figure out how to do it and been having some issues.

Closed per most recent comment's most recent edit.


made criteria optional on join nodes

Made the criteria optional as it wasn't being checked whether it was there or not, producing an exception on empty criteria queries.

 Could you open a new PR with just the commits for this issue?


Error with Install iojs

I get errors when I try to do nvm install iojs:
######################################################################## 100.0%
WARNING: checksums are currently disabled for io.js
tar: Unrecognized archive format
tar: Error exit delayed from previous errors.
Binary download failed, trying source.

Can anybody point to a fix for this? I'm new to NVM, but I'd like to try using iojs as suggested at https://github.com/npm/npm/issues/7349#issuecomment-78702619 because I'm having trouble with roots/sage/issues/1375

What OS and shell are you using? Can you gist the output of alias, and  nvm ls-remote iojs?

I'm on OS X 10.7.5
My shell is bash
nvm alias responds with:
default -> 0.12.2 (-> v0.12.2)
node -> stable (-> v0.12.2) (default)
stable -> 0.12 (-> v0.12.2) (default)
iojs -> iojs- (-> system) (default)

and nvm ls-remote iojs responds:
    iojs-v1.0.0
    iojs-v1.0.1
    iojs-v1.0.2
    iojs-v1.0.3
    iojs-v1.0.4
    iojs-v1.1.0
    iojs-v1.2.0
    iojs-v1.3.0
    iojs-v1.4.1
    iojs-v1.4.2
    iojs-v1.4.3
    iojs-v1.5.0
    iojs-v1.5.1
    iojs-v1.6.0
    iojs-v1.6.1
    iojs-v1.6.2
    iojs-v1.6.3
    iojs-v1.6.4
    iojs-v1.7.1
    iojs-v1.8.1

@dylan-k I'd like to see the output of alias, not nvm alias - ie, I want to see your shell aliases :-)

ok. nothing in there that looks relevant to me but...
alias bestrew='cd /Users/dylan/projects/bestrew/'
alias betty='/Users/dylan/betty/main.rb'
alias nocategories='cd ~/Sites/nocategories/'
alias poetry='cd /Users/dylan/Dropbox/writing/poetry/poems/'
alias realpants='cd ~/Sites/realpants/wp-content/themes/fancypants/'
alias roots='cd ~/Sites/nocategories/wp-content/themes/roots/'
alias rvm-restart='rvm_reload_flag=1 source '\''/Users/dylan/.rvm/scripts/rvm'\'''
alias subtracking='cd /Users/dylan/Dropbox/_projects/subtracking/'

Thanks - no, none of that is relevant, it was just worth a shot.
Essentially all the install process is doing is downloading a tar.gz from the iojs.org website, extracting it with tar -xzf, and moving the directory to the right place. I asked about aliases in case tar, or wget/curl, were aliased to something else.
What does type tar, type curl, and type wget print out?

when I do those it prints
tar is /usr/bin/tar
curl is /usr/bin/curl
wget is /usr/local/bin/wget

Could it be related to permissions on the /usr/ directory?

I doubt it :-/ it'd give a different error. This appears to be something with tar, or the downloaded archive.
@dylan-k one last shot in the dark - there may have been a time when v1.8.0 was out and broken. Now that v1.8.1 is out, if you do nvm install iojs does it still break in the same way?

I am getting a slightly different error (but perhaps similar?) while trying to install iojs. Below output:
$ nvm install iojs
######################################################################## 100.0%
WARNING: checksums are currently disabled for io.js

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
Binary download failed, trying source.

$ nvm ls-remote iojs
    iojs-v1.0.0
    iojs-v1.0.1
    iojs-v1.0.2
    iojs-v1.0.3
    iojs-v1.0.4
    iojs-v1.1.0
    iojs-v1.2.0
    iojs-v1.3.0
    iojs-v1.4.1
    iojs-v1.4.2
    iojs-v1.4.3
    iojs-v1.5.0
    iojs-v1.5.1
    iojs-v1.6.0
    iojs-v1.6.1
    iojs-v1.6.2
    iojs-v1.6.3
    iojs-v1.6.4
    iojs-v1.7.1
    iojs-v1.8.1

This is happening on a raspberry pi with:
$ nvm --version
0.24.1

$ nvm_get_os
linux

$ nvm_get_arch
armv6l

@josemontesdeoca In this case, if you check https://iojs.org/dist/latest/ , you'll see that while there's an armv71 version, there's no armv61 version, which means your only option would be to install from source - and iojs "install from source" support hasn't quite landed in nvm yet.
Please do file a new issue, however, for nvm to report a better failure message in that case.

Thanks for the prompt response @ljharb ! I'll open a new issue to improve the error message.

I tried again with iojs-v1.8.1 but got the same error again.

@dylan-k Thanks. I suspect it's an issue downloading the tarball, but I'll have to finish #743 to be sure.

@dylan-k I've just released v0.25.1 - can you try installing io.js again with that?

Happy to reopen if it's still reproducible.


Update references to 'spaceless' to support Twig 3

Change all instances of spaceless to apply spaceless to support the syntax in Twig 3.

Fixed as of commit f2dec7e3fbecc67a0f154c0a5923037067a0fe0a.


Automatically let the view transparent

The plugin works very well, but you have to manually make a CSS code to the html of the ion-content of the page and the ion-app, transparent. as i mentioned in this thread of the forum.
The problem is in the show() method of the plugin, where the method let the webview transparent, but not the html of the ionic. and in particular there are these to classes that let the background color of the app set by #fff, so i resolved this adding a class with set the background color as transparent as important. and add to the classList of the ion-content and ion-app. and in the ion-app on the ionViewWillLeave lifecycle removing the class of the classList. because if continue with this class, all the app will be with a background transparent. and if you do not call the hide() what set the webview to a white color all the app will be transparent with the camera open.
So. this issue is to ask the possibility of the plugin do this automatically.

This is about: https://ionicframework.com/docs/native/qr-scanner/
Discussion and code samples are here: https://forum.ionicframework.com/t/ionic-qr-code-scan-not-opening-camera-for-ios-and-android-devices/101512
Maybe the show method (and similar) could be changed to automatically change the CSS. If this is better done individually by each user, it should be added to the docs and made clear that manual work is required.

@janpio maybe adding the code of the discussion, maybe a litte better of the mine. in this method https://github.com/bitpay/cordova-plugin-qrscanner/blob/0cb180ec9931dfe56348bdb3def0a9eebf4599ee/src/common/src/createQRScannerAdapter.js#L175
Can resolve the problem. What do you think ?

This is the underlying Cordova plugin - you don't want to change that. Everything that refers to Ionic would be to specific.
If at all, you want to have something like this in the Ionic Native plugin<EMAIL_ADDRESS>But as the plugins only wrap the Cordova plugin, I don't actually think that there should be any code changes. I would suggest a documentation change at the Ionic Native plugin that adds a good example on what code to execute to make the background transparent.

yeah, i think that too. A global sass Variable ?

I'm having trouble getting this to display, not because of the background color, but because of the opacity. The opacity is set to 1 and doesn't allow the camera to show, but if I set the opacity to 0 it shows just fine. Anybody else have this issue?

@ryuhhnn what element are you setting the opacity to 0?

Thanks to @ryuhhnn. I've the same issue, and I've spent lot of time trying to fix it with the background color. At the end setting the ion-app element with "opacity:0" fix that and I can show the camera preview properly.

Several issues with transparency are fixed in 2.6.0 🚀
If you're still having trouble, please feel free to open a new issue.


Rebuild

I’m provide only release version of clang in repo. In any case I will not build this package


fix: fix the serializeation_alias

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

Project coverage is 99.80%. Comparing base (8f6b4cb) to head (3950c42).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #140      +/-   ##
==========================================
+ Coverage   96.97%   99.80%   +2.83%
==========================================
  Files          26       20       -6
  Lines        2872     2082     -790
==========================================
- Hits         2785     2078     -707
+ Misses         64        4      -60
+ Partials       23        0      -23

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Bug Report: issue in powershell

(note- i am on windows x86)
so ive gone through the whole installation process and the setup, i got VS2019, i got all the MSVC stuff needed, i installed all the dependencies, and when i go into powershell to do the "lime test windows" command, it lags for about 5 minutes before giving this error:
C:/HaxeToolkit/haxe/lib/polymod/git/polymod/format/XMLMerge.hx:189: characters 10-23 : Warning : This typedef is deprecated in favor of haxe.xml.Access
C:/HaxeToolkit/haxe/lib/polymod/git/polymod/format/XMLMerge.hx:189: characters 30-43 : Warning : This typedef is deprecated in favor of haxe.xml.Access
source/PlayState.hx:329: characters 3-39 : Warning : FlxCamera.defaultCameras is deprecated, use FlxG.cameras.setDefaultDrawTarget instead
Sys_error("export/release/windows/obj/Options.txt: Permission denied")
ive tried deleting the export folder before doing this and that didnt fix anything, im genuinely at a loss for wtf to do.

lol something doesn't have permissions
i think it depends on where you put your KadeEngine source but I can't remember exactly
try checking the closed issues for a similar problem

lol something doesn't have permissions
i think it depends on where you put your KadeEngine source but I can't remember exactly
try checking the closed issues for a similar problem

well all i know is it cant be bc of where i put kadeengine, all the stuff for it is sitting in a folder on my desktop lmao


WIP: Styler support

Reference: https://github.com/eclipse/repairnator/issues/979
Changelog

Introduce GatherCheckstyleInformation pipeline step, and tests
Introduce StylerRepair repair step, and tests
Introduce StylerConfig config manager

TODO

Move test project and docker image to repairnator org
Documentation
end2end test (requires https://github.com/KTH/styler/issues/17)

I currently have a test project that has some violations, and trained the models to generate possible fixes.
The proposed fixes don't fix any violation, nevermind the entire violation set, so https://github.com/KTH/styler/issues/17 is essential in finishing the end2end testing and integration with repairnator.

@fermadeiral we will soon finish the integration of Styler in Repairnator. would you still have some local changes in Styler which are not pushed to master? Thanks!

ping @fermadeiral @andre15silva what's the status here?

@monperrus I've pushed all local changes I had in https://github.com/KTH/styler's master branch.

[ ] Rebase and merge https://github.com/andre15silva/styler/tree/repairnator and https://github.com/KTH/styler/tree/master
[ ] Rebase and adapt the code here
[ ] Close https://github.com/KTH/styler/issues/17 and use the result here

Unfortunately, I don't see myself having the time to finish this very soon tho.
There is still some heavy work to be done in these 3 points, and I also need to revive what I was doing.

@andre15silva, the 3rd point is on me, right?
I'm gonna get back here.

@andre15silva, the 3rd point is on me, right?
I'm gonna get back here.

Yes!
iirc, what was needed was a build which failed due to checkstyle violations + a styler model which is able of fixing all those violations (i.e. fixing the build)

what was needed was a build which failed due to checkstyle violations

Oh, that will be out of my reach. I don't have the information of build breakage due to Checkstyle violations, this is not part of the experiments made for the Styler paper. I thought that you just needed a model that fixes violations in a project.

@andre15silva you're by far the most qualified for this task, so if you can save a few hours to get it done, that would be great.
@fermadeiral even though your knowledge of Repairnator may be rusted, I'm sure you can also do this successfully, and that's very valuable.
on my side, we don't have an amanuens to staff on Repairnator right now, unfortunately.

@andre15silva @fermadeiral it seems we will not finish this one.
are you OK to close?

@andre15silva @fermadeiral it seems we will not finish this one.
are you OK to close?

yes, ok from me


System.Net.Http.HttpRequestException

Steps to reproduce
Ran Werewolf Node inside a windows server 2008 x86 machine.
Expected  behavior
GetMe should work and the rest lines should be executed.
Actual behavior
Unhandled Exception: System.AggregateException: One or more errors occurred. ---
> System.Net.Http.HttpRequestException: An error occurred while sending the requ
est. ---> System.Net.Http.WinHttpException: The parameter is incorrect
   at System.Net.Http.WinHttpHandler.SetSessionHandleTlsOptions(SafeWinHttpHandl
e sessionHandle)
   at System.Net.Http.WinHttpHandler.SetSessionHandleOptions(SafeWinHttpHandle s
essionHandle)
   at System.Net.Http.WinHttpHandler.EnsureSessionHandleExists(WinHttpRequestSta
te state)
   at System.Net.Http.WinHttpHandler.<StartRequest>d__103.MoveNext()
   --- End of inner exception stack trace ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNot
ification(Task task)
   at System.Net.Http.HttpClient.<FinishSendAsync>d__58.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNot
ification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at Telegram.Bot.TelegramBotClient.<SendWebRequestAsync>d__109`1.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceled
Exceptions)
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotifica
tion)
   at System.Threading.Tasks.Task`1.get_Result()
   at Werewolf_Node.Program.Main(String[] args) in G:\Test\Werewolf\Werewolf for
 Telegram\Werewolf Node\Program.cs:line 102

Werewolf Node\Program.cs: 101-2:
Bot = new TelegramBotClient(APIToken);
Me = Bot.GetMeAsync().Result;

Environment data
Mentioned
NuGet Package Version: (e.g. 13.0.1)
13.2.0
.NET Version: (e.g. 4.7, Core RTM, Mono, etc.)
4.6
IDE: (e.g. VS2017, VS Code, etc.)
VS2017
App: (e.g. Desktop, iOS, Android, etc.)
Don't have much ability to debug as I'm running on a windows server 2008 without VS (Supports only VS2010 and before), I just moved compiled code from my PC (both Any CPU and x86 configs) and I get this error.

@HellScre4m I know this is not helpful, but what is Werewolf? What users can do with it?

@pouladpld its a game.

@pouladpld yes @Olfi01 is right. It's a game bot which is popular these days.

@HellScre4m did you possibly not set the bot API token right?

you need to put it in the registry yk

@Olfi01 I know it should be in the registry. Well due to some bug (really strange) OpenSubKey() returns null while keys are present (subkey names can be printed).
So I embedded token in the program code, it's not null nor empty.
APIToken = "354413390:AAECAMwFJVn1D8p3wNAltQyH4xhe6XnRMA0"; this line is just before
Bot = new TelegramBotClient(APIToken);

maybe edit your token out of the comment
please look at the inner exception of the one fired and send ot here

*it

I can put prints in whatever code line (including Telegram.Bot.TelegramBotClient.cs) you ask for test.
And about inner exception I have no ideas, this is the full stack trace I pasted in the first comment.

maybe try
var t = Bot.GetMeAsync();
t.Wait()
Me = t.Result;

that could work, or fire a more detailed error

Unhandled Exception: System.AggregateException: One or more errors occurred. ---
> System.Net.Http.HttpRequestException: An error occurred while sending the requ
est. ---> System.Net.Http.WinHttpException: The parameter is incorrect
   at System.Net.Http.WinHttpHandler.SetSessionHandleTlsOptions(SafeWinHttpHandl
e sessionHandle)
   at System.Net.Http.WinHttpHandler.SetSessionHandleOptions(SafeWinHttpHandle s
essionHandle)
   at System.Net.Http.WinHttpHandler.EnsureSessionHandleExists(WinHttpRequestSta
te state)
   at System.Net.Http.WinHttpHandler.<StartRequest>d__103.MoveNext()
   --- End of inner exception stack trace ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNot
ification(Task task)
   at System.Net.Http.HttpClient.<FinishSendAsync>d__58.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNot
ification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at Telegram.Bot.TelegramBotClient.<SendWebRequestAsync>d__109`1.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceled
Exceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationTo
ken cancellationToken)
   at Werewolf_Node.Program.Main(String[] args) in G:\Test\Werewolf\Werewolf for
 Telegram\Werewolf Node\Program.cs:line 103

Line 103:   var t = Bot.GetMeAsync();

what. the exception should normally be fired at .Wait()

I double checked. The exception occurs at line 103 means GetMeAsync throws it.

hm... have you tried to debug step-by-step and look into Bot right before that line?

Your stacktrace says the parameter is incorrect, but GetMe doesn't send any parameters at all... strange.

I'm not sure if I can put debugging prints in Telegram.Bot itself cause two days ago project switched to use NuGet, but I will give it a try. Thanks

i meant you should only debug your werewolf app step by step and look at the Botobject whether you see anything strange

I understand, but the machine which seems exception (probably bug) occurs at is not capable of running VS. I try installing VS2010 and see what I can do.

if that doesnt help you can also try
try
{
var t = Bot.GetMeAsync();
t.Wait()
Me = t.Result;
}
catch (Exception x)
{
Console.WriteLine(x.Message + "\n" + x.StackTrace);
if (x.InnerException != null) Console.WriteLine(x.InnerException.Message + "\n" + x.InnerException.Stacktrace);
}

I'm sorry but that's what I get:
One or more errors occurred.
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceled
Exceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationTo
ken cancellationToken)
   at Werewolf_Node.Program.Main(String[] args) in G:\Test\Werewolf\Werewolf for
 Telegram\Werewolf Node\Program.cs:line 105
An error occurred while sending the request.
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNot
ification(Task task)
   at System.Net.Http.HttpClient.<FinishSendAsync>d__58.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNot
ification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at Telegram.Bot.TelegramBotClient.<SendWebRequestAsync>d__109`1.MoveNext()
UpdateNodeInfo
UpdateNodeInfo

I also ensured that token is not null. Also because of catching exception Node goes on but does nothing.

I highly suspect this is because of incompatibility between OS and library cause in my own PC this error doesn't occur. (Other errors occur which are not related to Telegram.Bot library)
As you see HttpClient can't handle whatever it is. Don't know how can I help through finding out more details, please tell me.

I'm sorry to tell you, but OS incompatibility problems are where my knowledge ends. Maybe @pouladpld knows something about that...

I found this. Don't know if it helps or not (too much detailed, couldn't fully understand):
https://stackoverflow.com/questions/41700869/bug-when-using-await-async-for-system-net-http-with-net-core-net-standard-1-4

I believe I understand what it says, which version of visual studio do you use? (the way of fixing it differs)

I use VS2017 to compile the code

then you should add this into your app.config (if i understood stackoverflow correctly):
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Diagnostics.DiagnosticSource" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
        <bindingRedirect oldVersion="<IP_ADDRESS>-<IP_ADDRESS>" newVersion="<IP_ADDRESS>" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="<IP_ADDRESS>-<IP_ADDRESS>" newVersion="<IP_ADDRESS>" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

I'm sorry but seems app.config of "Werewolf Node" project already contains these lines.

are they exactly the same? cause then I have no idea at all. Stackoverflow only suggested this.

I have a same problem.

I suggest you debug with @armanforghani as maybe he doesn't suffer my limitations.
Regards

Couple things to throw out there:

I've modified the Telegram.Bot library again in the werewolf source.  Please try the latest commit.
@pouladpld Sorry, this issue is for Werewolf, you can close this issue
@HellScre4m if you are using the NuGet package, please make sure you are using Telegram.Bot.Core, the newer package.  There was an odd bug in 13.1.0 (Telegram.Bot), moving to Telegram.Bot.Core fixes it.

@parabola949 Thank you for the reply. If you have any suggestions to make this project more flexible and convenient to use, feel free to let us know.

Still have the same problem. Did anyone solve this issue?


add Multisite support

is this supported or not?

We released the Pagekit Beta today. I close this issue because the code base completely changed. Please open a new issue if it still exists.

what, no multisite functionality? Grrrrrrr

yeah this would be good, gets my vote


[copyright issues] "Alibaba Group" needs to be updated into "Dragonfly Authors"

Question

Dragonfly is open sourced by Alibaba Group. In the original codes, the copyrights of it belongs to Alibaba Group. See the go files has the header  * Copyright 1999-2018 Alibaba Group.:
/*
 * Copyright 1999-2018 Alibaba Group.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

While Alibaba Group has donated Dragonfly to CNCF, then I think the copyright needs to be transferred as well.
/*
 * Copyright the Dragonfly Authors

I have a proposal to change to the Alibaba Group into Dragonfly Authors.
Also cc @caniszczyk WDYT?

Sounds good!

Nice idea!

Maybe Copyright <YEAR> The Dragonfly Authors. (adding the YEAR)

+1
On Fri, Nov 30, 2018 at 12:13 PM zhouhaibing089<EMAIL_ADDRESS>wrote:

Maybe Copyright  The Dragonfly Authors. (adding the YEAR)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dragonflyoss/Dragonfly/issues/248#issuecomment-443291006,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAD5IU9fqpV0dQq3eN9GtcF5DgeVcC0aks5u0XVOgaJpZM4YupZB
.

--
Cheers,
Chris Aniszczyk
http://aniszczyk.org
+1<PHONE_NUMBER>


Auto-truncate email

Per discussion on over at Spectrum allow truncating an email.

@OwenMelbz thoughts on if we auto truncate then if the limit is set to ‘null’ we don’t truncate? I feel like more people would want it to be rather then not? But i would maybe leave the final decision to @tabacitu


Compose Preview Support

Resolves #2765
Add support for Compose Preview in Android Studio, main changes are:

Introduce a new ClassFileFinder, optimized for faster class lookups
Support reading and routing Android assets, such as fonts from the plugin aspect and pass them to Android Studio to be used in the rendering

Tested with the latest stable version, Iguana (23.2), it scales well even for our larger apps, I also did a sanity test and got the preview working in the compose sample in rules kotlin.
Known gaps:

Missing tests
No support for versions older than 23.2

Possible future improvements:

More optimizations  BinaryTargetClassFileFinder, perhaps storing a map of package name -> target keys during sync could help
Fix additional functionalities, including preview run configurations

Also related: #6086

@idanakav Could you please take a look at the failing checks?

any updates on this?


Retire the C++ UWP API

Could you also please update the readme.md, which still refers to the native behaviors?