[TASK] Official Pypi package for jupyter-nbrequirements points to personal github as homepage instead of here

User story
[Small nit]
Homepage link in pypi package is directed to a fork instead of this github page.
Additional context
Add any other context or screenshots about the feature request here.
Acceptance Criteria

[ ] At least once acceptance criteria should be present

Linked epics / issues

Thanks @akchinSTC for opening this issue, we are not prioritizing this extension at the moment. Actually, it has been changed in a previous PR (https://github.com/thoth-station/jupyter-nbrequirements/pull/286): https://github.com/thoth-station/jupyter-nbrequirements/blob/cf97e73fe01d7292e0e20e005bb61946aa2abf82/jupyter_nbrequirements/about.py#L16 but we need to still release a new version, didn't find time to have a look at this extension. It was developed by one of our ex team member.
Anyway, we are currently actively focused mainly on the jupyterlab extension for dependency management [1]

[1] https://github.com/thoth-station/jupyterlab-requirements

/kind feature
/priority backlog

/label hacktoberfest

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
/lifecycle stale

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
/close

@sesheta: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
/close

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


Selecting text in Debug Console unduely difficult

Issue Type: Bug
When attempting to select the first line of output in the Debug Console, it's unduely difficult to start the selection at the first character at any line.

place mouse over second character of the debug console
attempt to select characters 2 thru 5 by pressing mouse down, dragging right, and mouse up. observe this functions correctly.
now, place mouse over the first character of the debug console.
repeat step 2, but now attempting to select characters 1 thru 4

expected:
successfully selected 4 characters
actual:
unable to select any text at all when starting from first character in a line.
VS Code version: Code 1.56.2 (054a9295330880ed74ceaedda236253b4f39a335, 2021-05-12T17:13:13.157Z)
OS version: Windows_NT x64 10.0.19043

System Info

Item
Value

CPUs
AMD Ryzen 9 3950X 16-Core Processor             (32 x 3493)

GPU Status
2d_canvas: unavailable_softwaregpu_compositing: disabled_softwaremultiple_raster_threads: enabled_onoop_rasterization: disabled_offopengl: disabled_offrasterization: disabled_softwareskia_renderer: enabled_onvideo_decode: disabled_softwarevulkan: disabled_offwebgl: unavailable_softwarewebgl2: unavailable_software

Load (avg)
undefined

Memory (System)
16.00GB (5.79GB free)

Process Argv
..\.. --crash-reporter-id 6c9e6d37-6dcc-4ddc-a83b-db31b939969d

Screen Reader
no

VM
0%

Extensions: none
A/B Experiments
vsins829:30139715
vsliv368cf:30146710
vsreu685:30147344
vspor879:30202332
vspor708:30202333
vspor363:30204092
vstes627:30244334
vspre833cf:30267465
vshan820:30294714
vscoreces:30290705
vscus158:30286553
vscod805:30301674

Let's close as dup of https://github.com/microsoft/vscode/issues/2163
The whole selection is not the best in debug console and needs rework.


chore: import repository https://github.com/q1323829945/test15.git

this commit will trigger a pipeline to generate the CI/CD configuration which will create a second commit on this Pull Request before it auto merges

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign q1323829945
You can assign the PR to them by writing /assign @q1323829945 in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Edited README markup and formatting for readability

Use GFM tables
Always mark up code or classnames with backticks
Assorted minor grammar tweaks

@amoffat ping

I appreciate you following up on this @Zearin.  I've updated the README to communicate that I am no longer maintaining this project.  This will include reviewing PRs and responding to issues.


[PE-D][Tester C] Documentation Bug User Guide for Edit Command (Remark Field)

The command did not show the user that they can edit the remark field (the [-r REMARK] is missing)

Labels: severity.Medium type.DocumentationBug
original: nigellqx/ped#2

oki


customFilterListOptions render not working with serverside enable

customFilterListOptions is not rendering the chip when options serverside:true. Also, the default chip is not showing up.

Expected Behavior

The chip should appear immediately after selecting the filter and with the string format specified in the customFilterListOptions.
Current Behavior

The chip doesn't show up. Inspecting the table the state of the filter is correctly saved but it is not triggering the render of the customFilterListOptions.
Steps to Reproduce (for bugs)

Set serverside and a use a filter

<MUIDataTable
          data={[]}
          title="Test"
          columns={[
            {
              name: 'key',
              label: 'label',
              options: {
                filter: true,
                filterOptions: {
                  names: ['a', 'b', 'c', 'Business Analyst'],
                },
              },
            },
          ]}
          options={{ serverSide: true }}
        />

No chip is displayed

Your Environment

Tech
Version

Material-UI
3.3.2

MUI-datatables
2.13.2

React
16.10.2

Solved setting the serverSideFilterList  option


Running Hugo on Travis: RSSLink error

Running Hugo on Travis I got the error:
ERROR: 2016/11/23 11:30:01 general.go:236: .Page's RSSlink is deprecated and will be removed in a future release. Use RSSLink instead.

It gives an exit code 255, which puts Travis in error.

I will find a milder way to report those deprecated errors. But the error message is pretty clear and easy to fix, alternatively you could use a stable release.


[move-prover] Handle &mut parameter threading on boogie instead of bytecode level.

This change came out from a conversation with Shaz. Instead of transforming a function f(&mut) from f(x) to x := f(x) already on bytecode level, we defer this step until Boogie generation, and assume for the bytecode semantics that &mut parameter passing semantics is supported. This removes some irregularities in the borrow analysis and simplifies the memory instrumentation further.
Motivation
Simplification.
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
Existing tests
Related PRs
NA

/land


drag-canvas may not refresh canvas after zoom-canvans in force graph

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Reproduction link

Steps to reproduce
无

Environment
Info

g6
4.3.4

System
-

Browser
-

In my project I configured the following configuration：sensitivity，maxZoom，minZoom，enableOptimize，optimizeZoom in zoom-canvas.
When I enlarge the graph and then try to drag canvas, it fails to auto refresh the canvas. Only I zoom again, canvas refresh

The fontSize should be a number

https://g6.antv.vision/en/docs/manual/middle/elements/edges/defaultEdge#label-and-labelcfg


java.lang.IndexOutOfBoundsException at  contentView.draw(canvas)

Describe the bug
Crashing app when sharing screen in android.
To Reproduce
Steps to reproduce the behavior:
View view = getCurrentActivity().getWindow().getDecorView().getRootView();
OTScreenCapturer capturer = new OTScreenCapturer(view);
Exception coming in OTScreenCapturer and I am changing the screen frequently on mobile side.
Expected behavior
java.lang.IndexOutOfBoundsException: Index: 2, Size: 0
at java.util.ArrayList.get(ArrayList.java:437)
at android.view.ViewGroup.getAndVerifyPreorderedView(ViewGroup.java:3624)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4110)
at android.view.View.draw(View.java:20075)
at android.view.ViewGroup.drawChild(ViewGroup.java:4333)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4112)
at android.view.View.draw(View.java:20075)
at android.view.ViewGroup.drawChild(ViewGroup.java:4333)
Device (please compete the following information):

All android emulator and motog device on which I tested.
Android SDK version: 11
SDK VERSION: com.opentok.android:opentok-android-sdk:2.20.2

Additional context
This exception we are getting on OTScreenCapture file at the given below line.

contentView.draw(canvas);

Hi , Anyone has got the chance to review this...?

Hello, have you tried updating to the latest version of the SDK (2.24.1)
If you get the same issue in the latest version can you please send the complete logcat dump for the error? Thanks!

Hi @devwithzachary
Thank you for you revert, I am getting same trace on this sdk also. And Its not related to sdk I guess.

Thanks, @kundanthe for the update.  Closing, since it's not related to SDK.


[backport] Allow more natural fusion notation

Backport of #1167

[automatic post] Jenkins, test this please.

Jenkins CI test (for commit 5085be036e6effedccc9541d5f5cf2d0d6a334c0, target branch v4) succeeded!

LGTM.


Atom Editor Crashes when searching for packages with "keyboard" keyword

Prerequisites

[X] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: https://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: https://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description

Steps to Reproduce

Execute Atom.
On menu option File, click on Settings.
Click on Settings Tab .
Click on +Install option at right.
Write "keyboard" in text box "Search Package".
Scroll down the tab content.

Expected behavior:

To show all the Packages related with "keyboard" keyword

Actual behavior:

Atom Editor Crashes.

Reproduces how often:

Allways. 100%.

Versions

MSWindows: 10 HOME ver 1803
ATOM: 1.39.1 X64
Electron : 3.1.10
Chrome: 66.0.3359.181
Node: v10.2.0

Additional Information

I searched for others keywords: cat, dog, sweet heart, love, color, sound, sky, car, motor, @#$%^&*, Supercalifragilisticexpialidocious, and there is no issues, but with "keyboard" as keyword,  immediately Atom crashes.

Hello!
I don't know what happened, but this morning Atom didn't give the error described above.
I forgot to mention before, that I restarted and turned off the computer several times and Atom continued to fail; then, something different from this must have happened so that Atom does not present the problem this morning.
I wonder if someone will have corrected it.

Thanks for the report and the update!

I don't know what happened, but this morning Atom didn't give the error described above.

...

I wonder if someone will have corrected it.

Hmm, there haven't been any changes on our end since your initial report and you're on the latest stable version of Atom.
Not sure what the issue could be and haven't seen any other reports (also couldn't reproduce on Window 10 with 1.39.1 just now).  Since it doesn't seem to be reproducible anymore, we'll close this for now but can reopen if you start seeing it again.

Thanks for your response.
I don't know what happened, but I wonder if it could be a kind of web cache
error when searching for the keyword "keyboard."
Anyway, the good news is that it is working fine now.
Thanks again.
El lun., 12 ago. 2019 a las 13:25, Robert Sese<EMAIL_ADDRESS>escribió:

Thanks for the report and the update!
I don't know what happened, but this morning Atom didn't give the error
described above.
...
I wonder if someone will have corrected it.
Hmm, there haven't been any changes on our end since your initial report
and you're on the latest stable version of Atom.
Not sure what the issue could be and haven't seen any other reports (also
couldn't reproduce on Window 10 with 1.39.1 just now). Since it doesn't
seem to be reproducible anymore, we'll close this for now but can reopen if
you start seeing it again.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/atom/atom/issues/19773?email_source=notifications&email_token=AGO4OIXRA3FVXYR4PVQUPBTQEGMGZA5CNFSM4IKYLWR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4DHGUA#issuecomment-520516432,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGO4OIR6F3P6IICPKN7LC4LQEGMGZANCNFSM4IKYLWRQ
.


patch jupyter_events 0.7.0 vs jsonschema

Checklist

[x] Ran python show_diff.py and posted the output as part of the PR.
[x] Modifications won't affect packages built in the future.

References:

https://github.com/conda-forge/jupyter_events-feedstock/issues/17
https://github.com/conda-forge/conda-forge-repodata-patches-feedstock/pull/496

noarch::jupyter_events-0.7.0-pyhd8ed1ab_0.conda
-    "jsonschema-with-format-nongpl >=3.2",
+    "jsonschema-with-format-nongpl >=4.18.0",
-    "traitlets >=5.3"
+    "traitlets >=5.3",
+    "referencing"
noarch::jupyter_events-0.7.0-pyhd8ed1ab_1.conda
-    "traitlets >=5.3"
+    "traitlets >=5.3",
+    "referencing"

Verified diff:

https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=760561&view=logs&j=656edd35-690f-5c53-9ba3-09c10d0bea97&t=e5c8ab1d-8ff9-5cae-b332-e15ae582ed2d&l=390

@conda-forge/conda-forge-repodata-patches ready for review :heart:


Can't retrieve random submission url from specific subreddit?

Issue Description
For some reason I can't receive a random post from /r/pizza.
It works on every other subreddit I have tried.
What am I doing wrong?
import praw

reddit = praw.Reddit(client_id='',
                     client_secret='',
                     password='',
                     user_agent='',
                     username='')

random_post = reddit.subreddit('pizza').random().url

File "C:\Users\perso\AppData\Local\Programs\Python\Python35\lib\site-packages\praw\models\reddit\subreddit.py", line 318, in random
    self._reddit.config.reddit_url, path))
  File "C:\Users\perso\AppData\Local\Programs\Python\Python35\lib\site-packages\praw\models\reddit\submission.py", line 125, in __init__
    self.id = self.id_from_url(url)
  File "C:\Users\perso\AppData\Local\Programs\Python\Python35\lib\site-packages\praw\models\reddit\submission.py", line 41, in id_from_url
    raise ClientException('Invalid URL: {}'.format(url))
praw.exceptions.ClientException: Invalid URL: https://www.reddit.com/r/Pizza/

System Information
PRAW Version: 4.5.0
Python Version: 3.5
Operating System: Windows 10

Thanks for reporting this!
The root cause seems to be a bug in Reddit: while https://www.reddit.com/r/iama/random redirects to a submission (as it should), https://www.reddit.com/r/Pizza/random redirects to the subreddit itself!
I'll post to /r/bugs and see if it can be fixed.  On PRAW's side, maybe we can add a check to see whether the random call failed, so the error message is more informative.
When we run this code below, path becomes '/r/Pizza'.
    def random(self):
        """Return a random Submission."""
        url = API_PATH['subreddit_random'].format(subreddit=self)
        try:
            self._reddit.get(url, params={'unique': self._reddit._next_unique})
        except Redirect as redirect:
            path = redirect.path
        return self._submission_class(self._reddit, url=urljoin(
            self._reddit.config.reddit_url, path))

We could detect that and raise an exception with a nice message, something along the lines of
diff --git a/praw/models/reddit/subreddit.py b/praw/models/reddit/subreddit.py
index b8f0ceb..c3fbcf5 100644
--- a/praw/models/reddit/subreddit.py
+++ b/praw/models/reddit/subreddit.py
@@ -314,6 +314,8 @@ class Subreddit(RedditBase, MessageableMixin, SubredditListingMixin):
             self._reddit.get(url, params={'unique': self._reddit._next_unique})
         except Redirect as redirect:
             path = redirect.path
+            if path.lower().endswith(self._path.lower()):
+                raise TypeError('Error: "/random" redirected to the subreddit itself.')
         return self._submission_class(self._reddit, url=urljoin(
             self._reddit.config.reddit_url, path))

Proposed a fix on Reddit's side.
On PRAW's side, we can do better than just raising an exception: it's possible to use the same algorithm and pick a random link client-side. However, if code uses that in a hot path, it'll probably be highly inefficient, unless we (already?) cache the fetched links (default is 250, either from new or hot).
Here's something you can use to work around this issue until it's fixed:
import random
from praw.exceptions import ClientException

def get_random_submission(sub, num_serendipity=250):
    try:
        random_post = reddit.subreddit(sub).random()
    except ClientException as ce:
        if ce.args[0].lower().endswith(sub.lower() + '/'):
            print('Reddit bug, getting random submission client-side...')
            sort = random.choice(('new', 'hot'))
            method = getattr(reddit.subreddit(sub), sort)
            pool = list(method(limit=num_serendipity))
            return random.choice(pool)

random_post = get_random_submission('pizza').url
print(random_post)

Thanks again!

Hm, I thought I posted better code to handle your usecase, but it seems I did something wrong, sorry!
Here is code that can use caching so you only hit the network after a cache expiry time. If you call random() a lot, it's much faster than the native way.
If you use it a few times, the caching version might be slower (because it downloads the same number of entries as Reddit does server-side). So there's an option to only download as many links as needed to get a post at a (previously picked) random index. It can be competitive with the server-side way even if you hit the network every time. But it's much slower than the caching version.
import random
from praw.exceptions import ClientException

CACHE = {}

def get_random_submission(sub, num_serendipity=250, cache_time=20, cache=True):
    """Get random submission even if the subreddit doesn't support /random."""
    if not cache:
        return  get_random_submission_no_cache(sub, num_serendipity)
    if sub not in CACHE:
        try:
            random_post = reddit.subreddit(sub).random()
            return random_post
        except ClientException as ce:
            if ce.args[0].lower().endswith(sub.lower() + '/'):  # Seems flaky
                CACHE[sub] = {'new': None, 'hot': None,
                              'new_time': None, 'hot_time': None}
                return get_random_submission_caching(sub, num_serendipity, cache_time)
    else:
        return get_random_submission_caching(sub, num_serendipity, cache_time)

def get_random_submission_caching(sub, num_serendipity=250, cache_time=20):
    """Get random submission from a pool returned by Reddit or from cache."""
    sort = random.choice(('new', 'hot'))
    method = getattr(reddit.subreddit(sub), sort)
    now = time()
    last = CACHE[sub][sort + '_time']
    if CACHE[sub][sort] is None or last is None or (last + cache_time) < now:
       pool = CACHE[sub][sort] = tuple(method(limit=num_serendipity))
       CACHE[sub][sort + '_time'] = now
    else:
        pool = CACHE[sub][sort]
    random_post = random.choice(pool)
    return random_post

def get_random_submission_no_cache(sub, num_serendipity=250):
    """Fetch just enough submissions to return a randomly picked one."""
    try:
        random_post = reddit.subreddit(sub).random()
    except ClientException as ce:
        if ce.args[0].lower().endswith(sub.lower() + '/'):
            index = random.randint(1, num_serendipity)
            sort = random.choice(('new', 'hot'))
            method = getattr(reddit.subreddit(sub), sort)
            pool = tuple(method(limit=index))
            random_post = pool[-1] if len(pool) == index else random.choice(pool)
            return random_post

Oooh, awesome.
Just finished adding your cache method to my setup.
Thanks!


"Reveal in Explorer" for Breadcrumbs

Hello,
My another suggestion is add option Reveal in Explorer in Breadcrumbs.
I often would like to open any folder from breadcrumbs in Windows explorer
Below is an example of what I mean:

Mouse right click on one of the directories that I want to open

I supposed to see something like:

Similar to #67711


webuiapi xyz grid giving me different (horrible looking images) results compared to webui ones. Using same models, prompt, seed, cfg,etc.

For the life of me i can't tell what's wrong. The only noticeable difference besides the api's xyz grid giving me horrendous images (almost like they were made with CFG 2) can be seen in the text files generated for their respective images for same prompt.
Text file generated from the api (returns horrendous images eg. monstrosities, bizarre, wildy weird):
Steps: 20, Sampler: Euler a, CFG scale: 7.0, Seed: 555, Size: 512x512, Model hash: 4c86efd062, Model: SDv1-5, Seed resize from: -1x-1, Denoising strength: 0.0, Eta: 0.0, Script: X/Y/Z plot, X Type: Seed, X Values: 555, Y Type: Checkpoint name, Y Values: "SDv1-5.ckpt,7-MM2-sd1-ep100-4e-7-bs2-constant-zfn5-cd0-ep04-gs00632.ckpt", Z Type: Prompt S/R, Z Values: "awesome, amazing"

Text file generated from the Webui (normal, beautiful images):
My awesome prompt
Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 555, Size: 512x512, Model hash: 4c86efd062, Model: SDv1-5, Script: X/Y/Z plot, X Type: Seed, X Values: 555, Fixed X Values: 555, Y Type: Checkpoint name, Y Values: "SDv1-5.ckpt,7-MM2-sd1-ep100-4e-7-bs2-constant-zfn5-cd0-ep04-gs00632.ckpt", Z Type: Prompt S/R, Z Values: "awesome, amazing"

The api one gives me the following values (which the webui text file lacks):

Seed resize from: -1x-1,
Denoising strength: 0.0,
Eta: 0.0,

Note: the prompt is made up but everything else isn't.
This is what I'm passing:
    XYZPlotAvailableTxt2ImgScripts = [
    "Nothing",
    "Seed",
    "Var. seed",
    "Var. strength",
    "Steps",
    "Hires steps",
    "CFG Scale",
    "Prompt S/R",
    "Prompt order",
    "Sampler",
    "Checkpoint name",
    "Sigma Churn",
    "Sigma min",
    "Sigma max",
    "Sigma noise",
    "Eta",
    "Clip skip",
    "Denoising",
    "Hires upscaler",
    "VAE",
    "Styles",
    ]

height=512
width=512
cfg_scale=7.0
prompt = "My awesome prompt"
prompt_sr ="awesome,amazing"
seed = "555"
z_axis_type = "Prompt S/R"

# Prepare prompt
XAxisType = "Seed"
XAxisValues = seed
YAxisType = "Checkpoint name"
YAxisValues = checkpoints
ZAxisType = z_axis_type
ZAxisValues = prompt_sr
drawLegend = "True"
includeLoneImages = "False"
includeSubGrids = "False"
noFixedSeeds = "False"
marginSize = 0

result = api.txt2img(
                    prompt=prompt,
                    seed=seed,
                    cfg_scale=cfg_scale,
                    width=width,
                    height=height,
                    script_name="X/Y/Z Plot",
                    script_args=[
                        XYZPlotAvailableTxt2ImgScripts.index(XAxisType),
                        XAxisValues,
                        XYZPlotAvailableTxt2ImgScripts.index(YAxisType),
                        YAxisValues,
                        XYZPlotAvailableTxt2ImgScripts.index(ZAxisType),
                        ZAxisValues,
                        drawLegend,
                        includeLoneImages,
                        includeSubGrids,
                        noFixedSeeds,
                        marginSize,                        ]
                    )

Am I missing something?

Someone else pointed out that default value for eta should be 1.0 instead of 0.0.
So I updated it today.
Also try to pass:
seed_resize_from_h=0,
seed_resize_from_w=0,
denoising_strength=0.7,
eta=1.0,
Default values were taken from <IP_ADDRESS>:7860/docs but the docs doesn't seem to have correct default values.

264554b8fa55acbecee6f063defd174c3e3bd3c5
I'll do more testing and push to https://pypi.org/project/webuiapi/ .
Thanks.


feat: google authentication backend

Related Issue
ISSUE NUMBER #711
Changes made 👷🏻♂
This feature introduces the backend implementation of enhanced authentication functionality by integrating Google Account authentication. With this update, users will be able to securely authenticate and access the application using their Google Account credentials, providing an additional layer of authentication and simplifying the login process. This feature enhances the security and user experience of the application, ensuring reliable and convenient access for all users. The changes made in this pull request effectively enhance the overall authentication system, thereby strengthening the security and usability of the application.
Necessary steps to setup .env
these are the values of n .env file
CLIENT_ID = "" // OAuth client ID
CLIENT_SECRET = "" // OAuth client secret
CALLBACK_URL = "" // callback URL like (http://localhost:5000/auth/google/callback) in place of localhost put the live server's link where you will receive callback
successURL = "" // this URL will redirect user to the page where we want send him after succesfull authentication for example Home page URL(https://milaan.vercel.app/)
To create a Google OAuth client ID and client secret, you need to follow the steps below:

Go to the Google Cloud Console: Visit the Google Cloud Console at https://console.cloud.google.com/ and sign in with your Google account.

Create a new project: If you don't have a project yet, create a new project by clicking on the project drop-down menu at the top of the page and selecting "New Project". Give your project a name and click "Create".

Enable the necessary APIs: In the Cloud Console, go to the "APIs & Services" section. Click on "Library" in the left-hand menu. Search for and enable the following APIs:

Google OAuth 2.0 API

Set up OAuth consent screen: In the Cloud Console, navigate to the "APIs & Services" section and click on "OAuth consent screen" in the left-hand menu. Choose an appropriate user type and fill in the required information, such as the application name and authorized domains.

Create OAuth client ID: In the Cloud Console, go to the "APIs & Services" section and click on "Credentials" in the left-hand menu. Click on the "Create Credentials" button and select "OAuth client ID" from the drop-down menu.

Configure the OAuth client ID: Choose the application type, such as "Web application" or "Android/iOS app". Enter the necessary details, including authorized JavaScript origins or redirect URIs, depending on your application type. Save the configuration.

Obtain the client ID and client secret: Once you've created the OAuth client ID, the client ID and client secret will be displayed on the "Credentials" page. Make sure to copy and securely store these values as they are required for authenticating your application

to know more you can visit - https://support.google.com/cloud/answer/6158849?hl=en

It is pleasing to receive this information. what next to do, Should I proceed with closing the current issue and opening a new one for the frontend?

It is pleasing to receive this information. what next to do, Should I proceed with closing the current issue and opening a new one for the frontend?

Yaa sure go ahead !


Print debug info conditionally, using the debug logging enabler.

Altering a Ref to the debug logging enabler, ensuring it will have its unaffected value in any function of the module.
Printing debug info conditionally, based on the debug logging enabler state.
Updating Ubuntu Server and claiming that the microservice can be built and run successfully under the version 20.04.4 LTS.

She looks cool'n'slim ! :+1:


Add force flag for work on forced deployments

This will ensure the change will also be vendored into flux-api so it
can handle the force-flag as well.
fixes weaveworks/service#1851

fixes weaveworks/service#1851

Resolves, perhaps 😄


Unable to activate theme, no option available to import

Downloading the "netbeans-master.zip" and following the steps of the web https://draculatheme.com/netbeans on NetBeans 12.0 seems not to work:

Start Netbeans
Navigate to theme import dialog: Tools > Options > Fonts & Colors > Import..
Click Browse... and select the .zip [the "netbeans-master.zip" file] file downloaded from the release page and then click Ok
Ensure All option is checked and then click Ok

The result is this. No option available, even if it is accepted and the theme is restarted, it is not activated:

Could you solve it or tell me what am I doing wrong? Thanks!!!

You should download the dracula-theme-for-netbeans-v0.1.0.zip, not the zipped source code directly from git:

And it will show following import options:

You should download the dracula-theme-for-netbeans-v0.1.0.zip, not the zipped source code directly from git:

And it will show following import options:

You should download the dracula-theme-for-netbeans-v0.1.0.zip, not the zipped source code directly from git:

And it will show following import options:

Works, thanks!!! :)

You should download the dracula-theme-for-netbeans-v0.1.0.zip, not the zipped source code directly from git:

And it will show following import options:

Works, thanks!!! :)

Hello, I am facing the same issue here 2022. Could not find any solution to this.

@Ayasalem01 installation instructions were updated. Does imported the zip no longer work?

@jasontdev I am using Apache Netbeans 19 on Ubuntu 22.04.3 LTS.
I downloaded the latest ZIP file from  https://draculatheme.com/netbeans
but after I click on import and choose the ZIP file, no options appear at all.


Identifier 'hbs' has already been declared

Ran into an issue that looks similar to what @knownasilya mentioned in https://github.com/ember-template-imports/ember-template-imports/issues/14#issuecomment-807889242
Not really sure what the cause is but I can reliably reproduce (and avoid). It seems to be related, as least in my case, to using the hbs fn from ember-template-imports in a component that also has a separate template file.
The error:
Build Error (broccoli-persistent-filter:Babel > [Babel: myapp]) in myapp/components/custom-table/index.js

/Users/foo/code/myapp/components/custom-table/index.js: Identifier 'hbs' has already been declared (10:9)

   9 | import { EMBER_CORE_TEAM } from from 'myapp/data/fixtures;
> 10 | import { hbs } from 'ember-template-imports';
     |          ^

Reproduction
This works:
// app/components/custom-table-component/index.js

import Component from '@glimmer/component';
import DataTable from 'myapp/components/data-table';
import Link from 'myapp/components/link';
import TruncateText from 'myapp/components/truncate-text';
import { EMBER_CORE_TEAM } from 'myapp/data/fixtures';
import { hbs } from 'ember-template-imports';

const formatSocialMediaHandle = (handle) => `@${handle}`;

const GitHubCell = hbs`
  <Link<EMAIL_ADDRESS>    {{formatSocialMediaHandle @row.data.github}}
  </Link>
`;

const TwitterCell = hbs`
  <Link<EMAIL_ADDRESS>    {{formatSocialMediaHandle @row.data.twitter}}
  </Link>
`;

export default class CustomTableComponent extends Component {
  columns = [
    { name: 'First name', valuePath: 'firstName' },
    { name: 'Last name', valuePath: 'lastName' },
    { name: 'GitHub', Cell: GitHubCell },
    { name: 'Twitter', Cell: TwitterCell },
  ];

  data = EMBER_CORE_TEAM.slice(0, 10);

  static template = hbs`
    <DataTable @columns={{this.columns}} @data={{this.data}} />
  `;
}

But does not work if I move the template for the CustomTableComponent into a separate template file:
// app/components/custom-table-component/index.js

export default class CustomTableComponent extends Component {
  columns = [
    { name: 'First name', valuePath: 'firstName' },
    { name: 'Last name', valuePath: 'lastName' },
    { name: 'GitHub', Cell: GitHubCell },
    { name: 'Twitter', Cell: TwitterCell },
  ];

  data = EMBER_CORE_TEAM.slice(0, 10);
-
-  static template = hbs`
-    <DataTable @columns={{this.columns}} @data={{this.data}} />
-  `;
}

// app/components/custom-table-component/index.hbs

<DataTable @columns={{this.columns}} @data={{this.data}} />

Looking at this—it looks like the issue is a bad/confusing error message? I wouldn't expect this to work, but it'd definitely be nice to improve the message here.

@chriskrycho When you say "I wouldn't expect this to work", is that because of the implementation or because you don't think it should work?
If you don't think it should work, why not? This seems like a valid use-case to me but maybe I'm missing something.

Huh, I am not entirely sure what I meant back in August to be honest. On rereading it just now, I would also expect this to work, though the semantics are kind of weird (you ultimately end up with a single JS module with components in both strict and loose mode).
For anyone who is unfamiliar, colocated component templates use the same underlying mechanics as this library does: the build grabs the .hbs file and inlines it into a precompileTemplate call in the associated .js file, stitching it together with the backing class using setComponentTemplate. So the result of the code sample you've given should be, more or less, this—either way:
// app/components/custom-table-component/index.js

import Component from '@glimmer/component';
import DataTable from 'myapp/components/data-table';
import Link from 'myapp/components/link';
import TruncateText from 'myapp/components/truncate-text';
import { EMBER_CORE_TEAM } from 'myapp/data/fixtures';
import { precompileTemplate } from '@ember/template-compilation';
import { setComponentTemplate } from '@ember/component';

const formatSocialMediaHandle = (handle) => `@${handle}`;

const GitHubCell = hbs`
  <Link<EMAIL_ADDRESS>    {{formatSocialMediaHandle @row.data.github}}
  </Link>
`;

const TwitterCell = hbs`
  <Link<EMAIL_ADDRESS>    {{formatSocialMediaHandle @row.data.twitter}}
  </Link>
`;

class CustomTableComponent extends Component {
  columns = [
    { name: 'First name', valuePath: 'firstName' },
    { name: 'Last name', valuePath: 'lastName' },
    { name: 'GitHub', Cell: GitHubCell },
    { name: 'Twitter', Cell: TwitterCell },
  ];

  data = EMBER_CORE_TEAM.slice(0, 10);
}

setComponentTemplate(
  precompileTemplate(`
    <DataTable @columns={{this.columns}} @data={{this.data}} />
  `),
  CustomTableComponent
);

export default CustomTableComponent;

Since scope isn’t involved, and since we don’t (to my knowledge, anyway) do anything to add hbs in colocated templates, this should just work. :thinking: Maybe we do add it for some reason? I’d have to go look at that part of the build.
@HeroicEric, do you have any more of the stack trace here? Also, does it reproduce when using the changes at #25?

I'm not 100% what would have led to this situation before, but I think there's a decent chance it's fixed by #25, as babel-import-util is careful not to trample identifiers that are already in use.

Closing as hbs isn't supported anymore and has been removed in v4.


Fix typo in the guide

Remove a repeated instance of "file." on line 492.

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @alexcrichton (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

@bors: r+
Thanks!

:pushpin: Commit d30e1d2 has been approved by alexcrichton

:hourglass: Testing commit d30e1d2 with merge 193fd52...

Oh actually looks like this was just taken care of in https://github.com/rust-lang/cargo/pull/3710! Thanks for the PR though!


Techniques to rat?

blank how would generally rat people... btw can i get ur discord

I don't use Discord, but I use Telegram. If you wish, you can join my group. The link is at the bottpm of the readme.

Beautiful... Beautiful mr. blanc. Proving your case that you definitely are not a malicious man at all!

I take that as a thanks.

You should take it as you're an asshole... You have no morals.

🐢

lmfao

lmfao

hdf

Can't you read "main languages"

I can read and they tell me 'script kiddie'

bump! how do I rat

lmfao what did I even do to you lil bro


Add collapsible table of contents.

Added 🆕

Added collapsible table of contents (TOC).

Fixed 🔧

Fixed indentation level in some sections.

Great, thanks for your help dear @IHosseini083


Solve the echo example code read-write loop problem

Motivation:
A read/write loop occurred when I ran the echo example code
For the following reasons:
//EchoClientHandler.java
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) {
    ctx.write(msg);
}

The client writes out the server's return message directly, resulting in a read/write loop
Modification:
The modified:
//EchoClientHandler.java
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) {
    System.err.println(msg.toString());
}

Result:
Solved the read-write loop problem

Hi, according description this is expected behavior
https://github.com/netty/netty/blob/21eb936dbe713561505ea46b325ede29cd51e49e/example/src/main/java/io/netty/example/echo/EchoClientHandler.java#L23-L27

Thank you for your reply!
I think it's meaningless to read and write circularly, and I can't see any display without turning on the log.
I resubmitted the code, increased the client log printing, and deleted the added System.out.println ().
When the client sends a message to the server, the client should be able to see the message it sent and the reply it received in the console output.
I think this is more reasonable. If you think this modification is useless, I will turn off the request.

In current approach logging is useless because client server works in ping-pong mode without any backoff. In a couple of seconds we will have a ton of identical messages. It would be better if we customize example for reading message from console and send it to echo server, IMHO.
WDYT @normanmaurer ?

I think you are right, but I think ping-pong mode is meaningless. My modified version has removed ping-pong mode, so the log can be displayed normally.


Why do we pass params to onSubmit?

Hi,
In Login.vue I notice the way you pass params directly like below
<form v-on:submit.prevent="onSubmit(email, password)">

You can just do this
<form v-on:submit.prevent="onSubmit">

because you have access to email, password inside Vue instance already.
methods: {
    onSubmit () {
      this.$store
        .dispatch(LOGIN, { email: this.email, password: this.password })
        .then(() => this.$router.push({ name: 'home' }))
    }
  }

Is there any benefit to pass params explicitly like that?
Thanks

exactly, @cuong-nguyen you are right, your method is much better


10: add trio[301], don't await trio.sleep inside loop

Straightforward stuff. Made it also check [async] for, and to specifically only check "trio.sleep"

In order to stick to cases where Event really does seem better, I'd confine this check specifically to while-loops, and only where await trio.sleep[_until](...) is the entire loop body.

Ah, fixed!

Nice!  Straightforward as you say, modulo some brain-fog-inspired complications merging several PRs in a row 😅


[Feature Request] Add docker-compose.yml

Is your feature request related to a problem? Please describe.
N/A
Master issue: https://github.com/tenstorrent/tt-metal/issues/8418
Describe the solution you'd like
I use docker everyday as a way to run and develop programs in my TT card, it would be great to officially add in docker-compose.yml too into the repo so future developers can quickly spin up a supported environment on their machine.
Developers will also have an easy interface to personally edit params and include volumes like their projects folder for their container.
Describe alternatives you've considered
N/A
Additional context
N/A
I will open up a Draft PR with the docker-compose.yml file that has worked for me so you guys can look at it first.
cc @ttmchiou

Hey, thanks for filing this request!
I'll look into and see if officially supporting docker compose is part of our plans but happy to take a look at your PR otherwise.

Thanks, the current PR is just a very barebones but workable way of doing it, if all goes well we can improve it from there

Ongoing effort: https://github.com/tenstorrent/tt-metal/milestone/8


No implicit conversion of nil into string when variable passed in to gulp_image_path

I'm having issues using the Rails helper when the image path is passed in using a variable. I'm trying to produce a reduced test case but I'm using Middleman and not rails. Not sure if them both being Ruby based is enough.
The fix seems to be to cast everything in the helper to a string.
This is what I've come up with:
root = GULP_CONFIG['root']['dest'].gsub(/(.*).public\//, '/')
asset_path = type ? File.join(GULP_CONFIG['tasks'][type.to_s]['dest'].to_s, path.to_s) : path.to_s
asset_path = rev_manifest[asset_path].to_s if rev_manifest
asset_path = File.join(root.to_s, asset_path).to_s
File.absolute_path(asset_path, '/').to_s

I'm not sure if this would be useful in Rails or is even best practice in Ruby but it removed the errors from Middleman (also Ruby based).

Hmm... interesting. I imagine the same error would pop up in Rails. I don't see how this could hurt. I'll run it by some of our Ruby devs.

It seems like the only thing you'd need to stringify would be path though right? That's the bit that's being passed in as var? I think all the File methods return strings already. Does that work?

Ok, I it's related specifically to my project and not something that needs to be explicitly handled by the helper. Something to do with the result of passing in variables into partials. If I .to_s the local, before passing it into the gulp helper then I get no errors.

Cool. :+1:


Expand standalone documentation section service

Is your feature request related to a problem? Please describe.
The current documentation section Deployment - Standalone states how to start the tool by running
python3 src/main.py, but when doing so, it is required to have the command line open all the time. Otherwise, the tool stops.
Describe the solution you'd like
An extension on how to set up a service that runs the python script automatically may be added for a better user experience.
Describe alternatives you've considered
This is how I solved the issue on a Raspberry Pi
Create a new file
sudo nano /etc/systemd/system/suivibourse.service
Content
Description=Suivi-bourse Stock Monitoring
Documentation=https://suivibourse-docs.netlify.app/
After=network-online.target

[Service]
User=pi
Restart=on-failure

ExecStart=/usr/bin/python3 /home/pi/suivi-bourse/app/src/main.py

[Install]
WantedBy=multi-user.target

Enable the service
sudo systemctl enable suivibourse
Start the service
sudo systemctl start suivibourse
Check the status
sudo systemctl status suivibourse
I would suggest to extend the existing documentation :)

Hi,
Thanks for this issue ! I personally use nohup command to run the app in background (with a cron entry at reboot) but your solution works too ! I will add a section to explain multiple ways to run the app in background.


The Update API returns the error "zk: node already exists", which should be caused by the PublishConfig func of the dubbo-go implementation.

Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist.
[ ] Run `mvn clean compile --batch-mode -DskipTests=false -Dcheckstyle.skip=false -Drat.skip=false -Dmaven.javadoc.skip=true to make sure basic checks pass.

Please fix conflicts

Please fix conflicts

done

Codecov Report

Merging #1030 (324bb7b) into refactor-with-go (55789ff) will decrease coverage by 8.79%.
The diff coverage is 71.42%.

@@                 Coverage Diff                  @@
##           refactor-with-go    #1030      +/-   ##
====================================================
- Coverage             84.15%   75.36%   -8.79%
====================================================
  Files                    15       20       +5
  Lines                  1199     1352     +153
====================================================
+ Hits                   1009     1019      +10
- Misses                  147      290     +143
  Partials                 43       43

Impacted Files
Coverage Δ

pkg/admin/util/yaml_parser.go
71.42% <71.42%> (ø)

... and 6 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Update README.md

Instead of root, I think deply.sh needs to be in scripts.

This was a blunder. Thanks!


Refactor builds

Please note that all of this is not tested yet, I'll update this description & comment once it is.

Hi! I'm the maintainer of @runcitadel, a FOSS alternative to Umbrel.
I've found out about your image and think a few optimizations could be made to improve the image.

grpcio has an arm64 wheel now
Builds on the GitHub container registry are easier to manage and use
Debian Bullseye is the most up-to-date version of Debian and because Umbrel uses Docker, it will continue to work there
Using GitHub actions means the build is automated
Directly using the official go Docker container saves time during builds
Nano and micro are easier editors for newcomers and should be installed
The username is now dynamic, while still defaulting to "umbrel"

To do this, the build.sh script had to be changed too.
Running the build script shouldn't be necessary anymore because every build is now automated on GitHub.
(To create a new version for example, just do git tag v1.1.2 && git push --tags after committing & pushing all commits for the new version).

@AaronDewes
I didn't know about @runcitadel, I'll have a look at it.
Using GitHub actions and the GitHub registry are indeed a good idea.
Indeed, Bullseye should work on Umbrel, however their docs suggested using Buster (because it's already cached) and I prefer to keep it that way on Umbrel at least. Maybe we could make multiple builds - one using Buster and one using Bullseye?
Yup, we could install some additional editors. And any additional utilities that you think would be useful - I was looking at things like gping, bandwhich, bottom... just didn't get around to do it.
Anyway, let me know once it is tested, and I'll test it as well. But again, I prefer to keep the Buster build around for now just to keep the Umbrel guys happy.
Thanks a lot!

I've asked Lounès from Umbrel over Telegram if Bullseye would be okay, but he hasn't answered yet. With bullseye, we could get build time to ~2 minutes because ttyd is included in Bullseye.

That time was wrong, apt is way slower than I thought

The bullseye build is tested, works and is now live in the Citadel app store.
The user name is now also dynamic (ENV var USERNAME, default to Umbrel), I'll add that to the PR description in a minute.

Amazing, thanks!
Let's wait for a confirmation from Lounès then. Let me know if you have any news on that.

I now added BOS (untested) and Debian Buster builds (also untested). The base image for these is now, after adding BOS, node:16-buster-slim. That image's base image is debian:buster-slim, so what Umbrel recommends.

Beautiful! Thank you so much, @AaronDewes !

i am trying to use Lightning Shell to set up Charge LND for my node. I am unable to access nano. This is all new to me, so sorry for a beginner question.

@almostheaven1863 How are you trying to access nano? Typing "nano" should work.

when i open app i see the<EMAIL_ADDRESS>~$   If I type nano, it says bash: nano: command not found

now it says bash: sudo: command not found

@almostheaven1863 Citadel or Umbrel? Can you type "about" and tell me the Lightning Shell version?

umbrel
Lightning Shell v0.1.1 by @ibz / https://ibz.me
Read more at https://ibz.github.io/lightning-shell/
Pull Requests to add / update utilities are very welcome!

@almostheaven1863 Right... nano came later. I submitted 0.1.4 to Umbrel and it got merged. Should be there in the next release!

i see. then that makes sense. i'm just trying to get my channels somewhat automated bc doing it manually takes forever. thanks for your help.

You can DM me on telegram/Twitter and I can help you switch to Citadel. It's open source, has dark mode, and more up-to-date apps.

You can DM me on telegram/Twitter and I can help you switch to Citadel. It's open source, has dark mode, and more up-to-date apps.

Nice one! All very true. Meanwhile, my PR to add dark mode to Umbrel is sitting there and nobody cares. Oh well... https://github.com/getumbrel/umbrel-dashboard/pull/396


contextMenu callback not fire

here is contextMenu config, when i click the menu item, whick does not trigger the callback
contextMenu: {
    callback: function (key, selection, clickEvent) {
        console.log(clickEvent);
    },
    items: {
        row_above: {
            disabled: function () {
                return this.getSelectedLast()[0] === 0;
            }
        }
    }
}

Hi @superpig
try this
contextMenu: {
                items: {
                  "make_sample": {
                        name: "sample",
                        callback: function(key, options) {
                        console.log('sample')
                        },
                      },
                }
              },

you need to define an items object.

@AMBudnik it does not work for me,  my version is "vue-handsontable-official": "^1.1.0" and  "handsontable": "^0.35.1"

@superpig Please check if you have same issue with the latest versions of Handsontable and Vue wrapper. This issue could have been already solved.

"handsontable": "^7.0.2", applied to my vuejs application. Can not work too.

I just figured out that it is a css trick. The value of z-index is not big enough.
.htContextMenu:not(.htGhostTable) {     display: none;     position: absolute;     z-index: 1060; }


my vs code is not detecting the compiler How do I fix that or how can i download anew compiler

Please create a discussion in https://github.com/microsoft/vcpkg/discussions/new instead.

my vs code is not detecting the compiler

Wrong github. If vcpkg is not detecting your compiler you probably use a windows triplet and don't have visual studio installed.
If you have it installed and are trying to use ninja, run vcvars and run code from there. alternatively don't use the ninja generator.

@javeriaakram Is your problem solved?

We hope your question was answered to your satisfaction; if it wasn't, you can reopen with more info.


[d3d9] Refactor D3D9ShaderValidator and enable input count validation only for The Void

Fixes #4537. I had hoped the input count validation would work globally, but apparently it regresses that particular game.
There's no nicer way to handle this unfortunately, since we're dealing with entirely undocumented behavior, so I've hidden the offending validation behind a config option and enabled it only for The Void, the only known game that actually needs it.
Also part of this PR, I've refactored the code to sit in its own .cpp file (as I should have done from the start really).

What exactly does the validation in question do, what do the shaders in The Void look like that cause it to fail, and what is the problem with the other game exactly?

What exactly does the validation in question do, what do the shaders in The Void look like that cause it to fail, and why does it break the other game?

The validation in question fails if a PS 3.0 shader uses more than 10 (higher than index 9) input registers. This is (apparently) what The Void relies on to work correctly.
As to why the game on #4537 takes issue with it, no idea, as it's no longer available for purchase, but since the validation is pretty specific, I'm sure it uses a higher than 9 index in a PS 3.0 shader for some reason. As of now it's the only other game (with the exception of The Void of course) that we know of to do that, but in its case it doesn't expect the validation to fail.
TLDR, this entire thing is a mess even by d3d9 standards, but since in practice only The Void needs it, I think the PR isn't too far of an ask. I lost count how many config options we have specifically for Sims 2, so we might as well have a very dubious one for The Void, at least until (if ever) we get an exact idea what the indented behavior is here, if it differs based on OS versions etc.


Chat is currently not available

Hello there. Thank you, the app is working and I can send requests for an invitation to the group.
My problem is when i send an invitation via chat in overlay, then the chat becomes unavailable in overlay. I can send invitation requests to the group via the Friends tab in overlay and can send requests via chat, which is available in Ubisoft Connect on the desktop.
Please tell me how to use the program properly? Do you only need to communicate via Ubisoft Connect on your desktop or can you communicate via overlay in the game?
After the chat in overlay becomes unavailable, you have to collapse the game (Alt + Tab) to respond to messages.

Uplay version 10632. Run as Admin roots. Im tried v1 and v2 your app. Same result.

I can't speak to how the overlay handles things. Can you send me errors from the overlay log?

Sure.
[ 1232]  2022-01-23 00:24:00      [ 3576]      ERROR      ReadableSharedMemory.cpp (48)                    Failed to get pointer for shared memory with name overlay_view_1232 and size 7056000. Error is 5. [ 1232]  2022-01-23 00:24:00      [ 3576]      ERROR      Overlay.cpp (553)                                Unable to open shared memory overlay_view_1232 with size 7056000.
and now - cant write message from overlay
[ 2688]  2022-01-23 18:16:06      [ 3304]      DEBUG      Win32InputHooks.cpp (2207)                       Failed get language hotkey toggle, using default sequence [ 2688]  2022-01-23 18:16:06      [ 3304]      DEBUG      Win32InputHooks.cpp (2215)                       Failed get layout hotkey toggle, using default sequence [ 2688]  2022-01-23 18:16:07      [ 3304]      DEBUG      Win32InputHooks.cpp (2207)                       Failed get language hotkey toggle, using default sequence [ 2688]  2022-01-23 18:16:07      [ 3304]      DEBUG      Win32InputHooks.cpp (2215)                       Failed get layout hotkey toggle, using default sequence

Is that all? These errors do not seem HTTP-specific to me. It's possible that the overlay does not want to communicate via the proxy, in which case I recommend only using the Ubisoft Connect chat/invite/group system. It may also stop working due to other things Win7 related, or Ubisoft making programming mistakes with shared memory. With these error logs, I don't have a clue what is going on.
I cannot test the overlay myself at the moment. Can you check if the request counter in the ubisoftconnect-win7fix window is going up when you do overlay chat stuff? In v2, you can check if you see requests that do not have "-> 200" in the Requests window, the window that opens when you click the "Show" button. All requests should have the 200.
I'd love to fix it, but right now I think the problem is that the overlay has some internal crashes which I can do nothing about.

You're right. There are only 200 events in logs.
It's sad that Ubisoft stopped supporting Windows 7. Thank you for being able to talk to friends in Ubi Connect.


C4706 in meta.hpp

entt\meta\meta.hpp(536): warning C4706: assignment within conditional expression

Build flags are:
/W4
/WX (warnings as errors)
/std:c++latest
/permissive-
Compiling using VS 2019 16.5.0 Preview 2.0
Fixed locally by modifying convert() like so:
     /**
     * @brief Tries to convert an instance to a given type.
     * @tparam Type Type to which to convert the instance.
     * @return True if the conversion is possible, false otherwise.
     */
#pragma warning( push )
#pragma warning( disable : 4706 )
    template<typename Type>
    bool convert() {
        bool valid = (node && node->id == internal::meta_info<Type>::resolve()->id);

        if(!valid) {
            if(auto any = std::as_const(*this).convert<Type>(); (valid = static_cast<bool>(any))) {
                swap(any, *this);
            }
        }

        return valid;
    }
#pragma warning( pop )

/W4 and /WX is really not a good combo. It's like -Weverything -Werror.

All of my projects and dependencies pass under this combo - it's strict and I like it.

That's the only warning treated as error in EnTT with this combo?

@skypjack the only one so far. I'm not including/using all features or headers just yet :)
Anything widespread and intrusive to fix I can suppress at the whole-project level or in a fork if I really have to, but is not so desirable.

Actually, I am suppressing the following at the project level
C4201 // Nonstandard extension used: nameless struct/union
C4100 // Unreferenced formal parameter
I think it was a warning-heavy dependency like RakNet that forced me to use these. Not sure about EnTT.

I defined two macros (one pushes warning disabling pragma, the other pops it) to deal with warning noise in dependencies. I call the first macro before including the noisy dependency and the second macro after including. Not intrusive, does not require to change whole project warning settings, quite explicit that is something some people like.

Upstream on experimental.


Possible to trigger TOTP activation and login using TOTP

Before submitting a pr:

[x] Tests passing
[x] Black formatting
[x] Rebase/merge the dev branch
[x] Note in the CHANGELOG

@alneberg @aanil Also, all requests now go through the perform_request function in the utils.py module

Yes, the bug seems to be due to an indentation misstake in the merge with dev. Should be easy to fix.

@alneberg @aanil You can add the following to a codecov.yml file in the repo root, this is the same as we have in the dds_web
coverage:
  status:
    project:
      default:
        threshold: 5%
    patch: off

@zishanmirza commented the following in the Slack dds-development channel:

I noticed the cli doesn't have tests for TOTP. Would be great to add that to the PR.


BroadcastProcessor package is not exported

Context
Since version 1.3.0 Mutiny stopped exporting io.smallrye.mutiny.operators.multi.processors package.
This prevents BroadcastProcessor from being used in modular projects without specifying below compiler option:
--add-exports io.smallrye.mutiny/io.smallrye.mutiny.operators.multi.processors=<your module>
Steps to reproduce

Clone https://github.com/Mulgish/MutinyFX/tree/feature/mutiny-upgrade
Run mvn clean test
Observe below compilation error:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.10.0:compile (default-compile) on project mutinyfx: Compilation failure
[ERROR] /tmp/workdir/workspace/_MutinyFX_feature_mutiny-upgrade/src/main/java/com/mulgish/FxMultiCreate.java:[4,42] package io.smallrye.mutiny.operators.multi.processors is not visible
[ERROR]   (package io.smallrye.mutiny.operators.multi.processors is declared in module io.smallrye.mutiny, which does not export it)

What is your usage ofBroadcastProcessor? (especially over the Multi APIs, etc).

Right and it's documented.
Note that you could do the same using a Multi.createFrom().emitter(...) I guess.


Small refactoring on the WebAuthnController

The private methods/properties have been changed to the protected visibility to allow customisations.

Please see https://github.com/apereo/cas/pull/6057


TextField Hit Tests broken when Scrolled

Bug
Here is a visualization of the bug:
https://user-images.githubusercontent.com/19204050/115869141-fde39980-a42c-11eb-9555-0441da9a5586.mp4
You can see that I set up TextSpans using TextSpan.recognizer and the newly added TextSpan.onMousEnter (see https://github.com/flutter/flutter/pull/77754 cc @dkwingsmt).
When the TextField is not scrolled, the hit detection works correctly. But as soon as it is scrolled, the hit detection is broken.
Details
If you pay close attention, you will notice that the hit tests are not transformed. That is, the hit events are still dispatched as if the TextField was not scrolled. This means the "TextSpan" onMouseEnter is triggered where the text span would have been if the enclosing TextField was not scrolled.
Steps to Reproduce

flutter channel dev
flutter upgrade -f
flutter create bug
cd bug
Replace lib/main.dart with this:

Click to expand main.dart
import 'package:flutter/material.dart';

void main() {
  runApp(MaterialApp(
    home: Scaffold(
      body: Center(
        child: SizedBox(
          width: 300,
          height: 100,
          child: ColoredBox(
            color: Colors.grey[400]!,
            child: TextField(
              controller: _FooController(),
              maxLines: null,
              expands: true,
              readOnly: true,
            ),
          ),
        ),
      ),
    ),
  ));
}

class _FooController extends TextEditingController {
  _FooController() : super(text: '''
This is a very long example text, where only the first word will be highlighted.

On hovering the first "This", you should see a print in the console, which will
also report the position that the hit event was captured at.

After scrolling, you will still see the same hit event in the console in the
top-left corner, even though the first "This" has been scrolled out-of-view.

Consequently, hit tests seem to not be transformed in TextField's that are
scrolled (bug).
''');

  @override
  TextSpan buildTextSpan(
      {required BuildContext context,
      TextStyle? style,
      required bool withComposing}) {
    return TextSpan(
      style: style,
      children: [
        TextSpan(
          text: text.substring(0, 4),
          onEnter: (_) {
            print('${_.localPosition} ${DateTime.now()}');
          },
          style: TextStyle(
            backgroundColor: Theme.of(context).colorScheme.primary,
          ),
        ),
        TextSpan(
          text: text.substring(4),
        ),
      ],
    );
  }
}

flutter run -d chrome --web-renderer canvaskit
Hover over the first "This" → see a log in the console
Scroll the text field, so "This" is out of view.
Hover over where the first "This" was befire → log is still in the console → BUG

Here is the demo:
https://user-images.githubusercontent.com/19204050/115871707-6da75380-a430-11eb-9837-129b26416df2.mp4
You can see "This" is long out-of-view, but the hit test is still triggered.

Hi @creativecreatorormaybenot
Thanks for filing the issue and PR, a really great observation!

flutter doctor -v
[✓] Flutter (Channel dev, 2.2.0-10.1.pre, on Microsoft Windows [Version 10.0.19042.928], locale en-US)
    • Flutter version 2.2.0-10.1.pre at C:\Users\Taha\Code\flutter_dev
    • Framework revision<PHONE_NUMBER> (8 days ago), 2021-04-15 12:01:02 -0700
    • Engine revision d2a2e93510
    • Dart version 2.13.0 (build 2.13.0-211.6.beta)

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\Taha\Code\SDK
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = C:\Users\Taha\Code\SDK
    • Java binary at: C:\Users\Taha\Code\android-studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.

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

[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.9.3)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.9.31129.286
    • Windows 10 SDK version 10.0.19041.0

[✓] Android Studio (version 4.1.0)
    • Android Studio at C:\Users\Taha\Code\android-studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[✓] IntelliJ IDEA Community Edition (version 2021.1)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.3.3
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.55.2)
    • VS Code at C:\Users\Taha\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.21.0

[✓] Connected device (4 available)
    • IN2011 (mobile)   • c9d8ee0c • android-arm64  • Android 11 (API 30)
    • Windows (desktop) • windows  • windows-x64    • Microsoft Windows [Version 10.0.19042.928]
    • Chrome (web)      • chrome   • web-javascript • Google Chrome 90.0.4430.85
    • Edge (web)        • edge     • web-javascript • Microsoft Edge 89.0.774.77

! Doctor found issues in 1 category.

[✓] Flutter (Channel master, 2.2.0-11.0.pre.247, on Microsoft Windows [Version 10.0.19042.928], locale en-US)
    • Flutter version 2.2.0-11.0.pre.247 at C:\Users\Taha\Code\flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f55b2665e9 (7 hours ago), 2021-04-23 12:39:02 +0530
    • Engine revision 6fa0fb0059
    • Dart version 2.14.0 (build 2.14.0-18.0.dev)

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\Taha\Code\SDK
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = C:\Users\Taha\Code\SDK
    • Java binary at: C:\Users\Taha\Code\android-studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.

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

[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.9.3)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.9.31129.286
    • Windows 10 SDK version 10.0.19041.0

[✓] Android Studio (version 4.1.0)
    • Android Studio at C:\Users\Taha\Code\android-studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[✓] IntelliJ IDEA Community Edition (version 2021.1)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.3.3
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.55.2)
    • VS Code at C:\Users\Taha\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.21.0

[✓] Connected device (4 available)
    • IN2011 (mobile)   • c9d8ee0c • android-arm64  • Android 11 (API 30)
    • Windows (desktop) • windows  • windows-x64    • Microsoft Windows [Version 10.0.19042.928]
    • Chrome (web)      • chrome   • web-javascript • Google Chrome 90.0.4430.85
    • Edge (web)        • edge     • web-javascript • Microsoft Edge 89.0.774.77

! Doctor found issues in 1 category.

Thank you

CC @dkwingsmt


Barcode conversion in javascript instead of native code?

Is there a reason why the conversion of QR content is done in native code?
Couldn't that be done on the plugins JS side as well?
Since the conversion code has to be maintained in Android and iOS doing it in JS would make things easier.

well, from my point of view  rarely we will need to make any changes to the conversion logic, and if we were to send this qr code data directly from the native code to javascript anyway we would have to do several type conversions to make the trhough bridge format compatible, wouldn't we?

closing due inactivity


removed theano support per issue #311

Fixes: Issue #311
Notes:
In asreader_sciq_dataset.json , asreader_who_did_what.json gareader_sciq.json, and gareader_who_did_what.json there was a "preferred_backend" attribute set to "theano". I wasn't sure if you wanted it changed to a different value or if it was no longer needed at all, so I commented it out.
In matrix_attention.py, bag_of_words.py, knowledge_combiners.py and backend_py, there are comments that discuss modifications made due to Theano. I left those comments as they were, in case you plan to go back and refactor.

In asreader_sciq_dataset.json , asreader_who_did_what.json gareader_sciq.json, and gareader_who_did_what.json there was a "preferred_backend" attribute set to "theano". I wasn't sure if you wanted it changed to a different value or if it was no longer needed at all, so I commented it out.

+1 for just removing it / removing the preferred_backend logic

While I am working on these:
I left the import backend as K statements there in case they were needed for anything else but Travis doesn't like unused imports. Should I get rid of them?

Yes, please remove unused imports.

Also, from Nelson's comment earlier: these are the lines he was talking about when he mentioned removing the preferred backend functionality:
https://github.com/allenai/deep_qa/blob/e098061dfb12fdff7fc8842926a518dba84d1470/deep_qa/training/trainer.py#L128-L130
https://github.com/allenai/deep_qa/blob/e098061dfb12fdff7fc8842926a518dba84d1470/deep_qa/training/trainer.py#L171-L174
https://github.com/allenai/deep_qa/blob/e098061dfb12fdff7fc8842926a518dba84d1470/deep_qa/training/trainer.py#L618-L635

All requested changes have been made except for the ones related to this comment
In the meantime, I will work on the latest Travis CI report.

Circle CI has a problem with knowledge_combiners.py, but that's not a file I have touched just yet. Does this have to do with the recent changes since my PR was open ?
There is also now a failing test on Travis, can anyone look into it? @nelson-liu @matt-gardner
We are close!

@morrme, this looks great, thanks for your work on this.  The issue with the envelope test is unrelated to what you were doing; I'll figure out it, push a fix, and merge this.

@matt-gardner OK, sounds good. Happy to help and I appreciate your support!

Looks like the problem with K.cumsum was that the default axis for K.cumsum is 0, while our method had a default axis of -1.  Pushing a fix for this soon.

The issue in CircleCI looks like it's because of an inherited call docstring from keras.layers.layer.call.  I'm guessing this is just the first instance that it runs into, and it crashes immediately, but it actually happens in lots of places.  @nelson-liu, any ideas how to fix this?  Is it because of the :show-inheritance: directive?

Ideally, we should not crash on docstrings that we don't have control over.  I'm not sure at all how to make this easy, though...

Is it because of the :show-inheritance: directive?

reasonable guess, but im surprised that this didn't come up earlier...

@nelson-liu @matt-gardner well remember we just made the change to Keras 2.0.3 in this commit so....maybe related?
Also , there's a message here about updating this branch with the recent changes on master. Should I do that?

Yeah, the reason we're just seeing this now is because of this line, which was added 22 days ago.
I'm looking into a fix; it'll probably be just always excluding the call method from our docs.  This should be fine, because we put the documentation into the class docstring, anyway.
And yes, @morrme, in order to merge, we require that you first make sure the PR is up-to-date with master.  So, yeah, click the "update branch" button.

Alright, we're good to go!  Merging now.

great, thanks @morrme + @matt-gardner !


[workflow] Preliminary timing information

Add a RuntimeInfo field to store timing information. Augment the execute loop to record some basic timing info. Provide a utility context manager to make it easier to record timing information.

@MichaelBroughton python logging functionality would likely be useful for fleshing out the logger stuff.
This PR concerns itself with timing various phases of the execution. We don't want to stream this data to the console; we want to save it as numeric data to do analysis/plotting/databasing. Wall-clock performance is a key dimension to benchmark in a quantum system. However, if you have some concrete ideas on how to leverage python functionality to do this I'm happy to hear it.

This was the kind of thing I had in mind:
import logging
import random

logging.basicConfig(format="%(levelname)s %(asctime)s - %(message)s")

class PartialStateFromRunning(object):
    def __init__(self):
        self.complicated_data = [1, 2, 3, 4, 5]

    def to_str(self):
        return str(self.complicated_data)

class MyPrintyHandler(logging.Handler):
    def __init__(self):
        super().__init__()

    def emit(self, record):
        # print(record)
        # print('I CAN DO ANYTHING HERE!')
        # print('Timey stuff', record.created)
        # print(record.__dict__)
        return

class MySaveyHandler(logging.Handler):
    def __init__(self, run_state):
        super().__init__()
        self.run_state = run_state

    def emit(self, record):
        if record.levelno == logging.INFO:
                # pretend to save to DB or file or whatever.
        	print('SAVING RUN STATE', self.run_state)
        	print('DATA=', self.run_state.to_str())
        return

def do_placement(state):
    state.complicated_data += [random.random()]

def do_run(state):
    state.complicated_data += [1234]

my_big_global_state = PartialStateFromRunning()

plain_logger = logging.getLogger("testbed.logger")

# Add any handlers to the logger.
print_handler = MyPrintyHandler()
save_handler = MySaveyHandler(my_big_global_state)  # can link to global state objects.
plain_logger.addHandler(print_handler)
plain_logger.addHandler(save_handler)

# Let a user change this around as they like.
plain_logger.setLevel(logging.DEBUG)

for i in range(10):

    # Keep main computation logging events the same, but can now emmit events to handlers
    # to do more intricate saving/storing/printing whatever.
    plain_logger.info(f"Beginning placement {i}")
    do_placement(my_big_global_state)
    plain_logger.info(f"Finished placement {i}")
    plain_logger.debug(f"Resulting placement {123455987765}")
    plain_logger.info(f"Beginning run {i}")
    do_run(my_big_global_state)
    plain_logger.info(f"Finished run {i}")
    plain_logger.debug(f"All bitstring data {10101010101010}")

Key ideas here are:

LogRecords always have time information with them so it's easy to track timing
If we want the ability to scale the number of "events" that should take place after something significant happens (an individual run finishing, a placement being computed, whatever) adding handlers will scale much better than adding more contexts and complicating the inner loop to accommodate each of these events.
With logging levels we can keep more careful track of what events happen when based around logging levels and the connotations they carry as apposed to forcing the reader to have to parse some big docstring or config setups.

Here are some other Handler patterns .

Point taken that log messages capture timestamps. However, I've modified this PR to use time.monotonic() because we're interested in measuring durations. Do you know what clock source the logging module uses?
We don't want to let users add arbitrary handlers. We want a taxonomy of runtime features. If you just want arbitrary code execution, you might be better off writing your own execution loop.
I don't want whether or not we save durations to be affected by the logging level.

We don't want to stream this data to the console; we want to save it as numeric data to do analysis/plotting/databasing. Wall-clock performance is a key dimension to benchmark in a quantum system

Point taken that log messages capture timestamps. However, I've modified this PR to use time.monotonic() because we're interested in measuring durations. Do you know what clock source the logging module uses?

Durations can be calculated from taking the difference of two timestamps from LogRecords which are computed using time.time() in addition to this you can compute the durations of events by using the relativeCreated property of a LogRecord. I'm also a little confused here, if we want to do things like databasing or plotting, wouldn't we want full blown time data and not just duration data. If a user wants to comb over it later for durations they could do that, but I can also certainly see a case where a user would want to know at roughly what time something was run or finished etc.

We don't want to let users add arbitrary handlers. We want a taxonomy of runtime features. If you just want arbitrary code execution, you might be better off writing your own execution loop.

Right, I was more referring to internally we should use these because it's easier to hook up logging Handlers in a structured fashion than it is to keep having to change the inner loop. A user could then turn them on and off easily with whatever function arguments they want i.e. run(..., do_savey_things=True, do_printy_things=False).

I think you're conflating things a bit. I think we've talked before about moving data saving and printing to a callback-y format, which I agree with; but that's not the point of this PR.
Here, I want to measure e.g. how long it takes to run an executable and how long it takes to do various preprocessing steps. It seems like the logging module would be akin to fitting a square peg into a round hole. The one feature that we get is the automatic inclusion of timestamps; but I really don't think it's onerous to call time.time() ourselves, especially when I now get to use the much more suitable time.monotonic() since I'm primarily interested in durations (and the former can get screwed up if the system clock changes during execution; happy day after daylight savings day!)
re: durations from timestamps: you need to make sure you have a timing (or logging) call before and after your function call of interest. Context managers are a good fit here. You can imagine an alternative scenario where you rely on each phase being demarcated with a logging call. But if you add or remove phases, you need to update which quantities you're subtracting to get the duration.

@MichaelBroughton are you ok moving forward with the PR as written?

@MichaelBroughton @dstrain115 @verult ptal


Create Video

10 points: Record a short 1-10 minute video showing the progress your team has made, walking through, for each feature, show the user story/use case briefly, then the mockup, then the automated tests, then the code, then the website in the browser, and say who contributed what to the development for each.
This is meant to simulate the demo that happens with the Product Owner and stakeholders in an industry sprint review.
It also mimics how you need to explain your code to others during a code review.

If this video is missing, -10

[Here is an example video from Deliverable 4] (https://drive.google.com/file/d/1IATYjewAbMztvHS62CvGhoo104H1gKei/view?usp=drive_link) from Team D Fall 23. Starting 0min 34seconds is a good example for a single feature. Be sure to show the test code for each feature and briefly explain them, don’t just show that tests run.

If you are missing any of "show the user story/use case briefly, then the mockup, then the automated tests, then the code, then the website in the browser, and say who contributed what to the development for each"

    -5 for each thing missing

For this deliverable, this is to get your team to practice and learn this, for when you start implementing more features in future deliverables

Video looks good! nothing to add.


Add concurrency for listing instances

Currently with 5+ instances, loading the instances page is slower than it should be and will likely grow the more instances that there are.
If concurrency is added, it should be like it was before adding the current phase to instance list

This looks helpful!
https://stackoverflow.com/questions/51157337/serialize-goroutines-parallelize-but-guarantee-ordering


Change data path from docker-compose-scripts to sedge-data

Changes:

Change data path from docker-compose-scripts to sedge-data

Types of changes
[x] Refactoring (no functional changes, no api changes)
Testing
Requires testing

[x] No

Codecov Report
Base: 83.14% // Head: 82.52% // Decreases project coverage by -0.61% :warning:

Coverage data is based on head (f11e46c) compared to base (11caf3d).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #159      +/-   ##
===========================================
- Coverage    83.14%   82.52%   -0.62%
===========================================
  Files           38       38
  Lines         2426     2426
===========================================
- Hits          2017     2002      -15
- Misses         323      338      +15
  Partials        86       86

Flag
Coverage Δ

unittests
82.52% <100.00%> (-0.62%)
:arrow_down:

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

Impacted Files
Coverage Δ

cli/cli.go
68.35% <100.00%> (-0.40%)
:arrow_down:

cli/down.go
55.00% <100.00%> (ø)

cli/keys.go
62.20% <100.00%> (ø)

cli/logs.go
74.28% <100.00%> (ø)

internal/utils/checks.go
82.35% <100.00%> (ø)

cli/cli_utils.go
84.05% <0.00%> (-6.77%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Suggestion: add contribution guidelines

Right now a contributor has no way of knowing how you like changes to be PR'ed. Adding a file with contributor guidelines would help that.
Here's the one we use for our packages. https://github.com/spatie/skeleton-php/blob/master/CONTRIBUTING.md
Not saying you should use that one, but it could serve as a nice starting point for you.

I don't like bureaucracy, this library is really small, number of contributions also is not impressive. Any PR is welcome, I don't require any special rules. I think such CONTRIBUTING.md file is rather for maintenance team instead of contributors, so if I don't see the real value, there is no need to complicate things. Even if somebody proposed messy PR with a lot of fix commits or bad code formatting, I am able to rebase, cleanup code etc.

Sure thing. Your library, your rules. Thanks for explaining your thoughts about this.


Why listen and serve instead of handling requests in-memory?

Hi, I may be missing something here so correct me if I'm wrong. What's the reason behind proxying requests and responses over an additional TCP socket when both apigatewayproxy.Handle and a developer's http.Handler are operating in the same process?
Can't we just build an http.ResponseWriter, hand it off to a registered http.Handler and transform it into an *apigatewayproxy.Response? Even better, couldn't apigatewayproxy.Response implement http.ResponseWriter? There wouldn't be any additional networking, in either case.
Looking forward to your clarification! :smile:

Hi @ivy,
Theoretically, you're absolutely right. But :smile:...
The primary purpose of this project is to allow running any existing web application on Lambda behind API Gateway. The main constraint being the fact that all web framework around are built on top of the tcp network listener and the official http package. Also, the only hook we have is this listener.
The only thing the end user has to do is to configure its framework of interest to use the provided listener and this project will do the necessary underlying stuff to translate requests from API Gateway to Lambda and vice versa.
Hope this explanation is clear enough, please do not hesitate to ask any other detail you may need.


New ChangeLog type for documentation or project changes?

@Sven-Seyfert We currently have entries in the changelog such as --
- README.md restructuring
- Files to fulfill the community standards
etc

What are your thoughts on moving these to a separate section so that Added, Changed, etc are focused on UDF functionality rather than project maintenance?
Originally posted by @Danp2 in https://github.com/Danp2/au3WebDriver/pull/188#r810516459

Another option would be to use subcategories. Like this --
[Unreleased]
Added

_WD_JsonCookie (mLipok)
_WD_GetDevicePixelRatio (mLipok)
_WD_Cookies: Added DeleteAll option (mLipok)
_WD_ElementSelectAction: Added SelectedIndex option (mLipok)

Project

Files to fulfill the community standards

bug_report.md and feature_request.md
CODE_OF_CONDUCT.md file
PULL_REQUEST_TEMPLATE.md file

Changed

Hi @Danp2 ,
in general there is no hard recommendation about the level of detail of information which should be recorded in a changelog file. So you actually also could ignore project related changes in the changelog file, but I personally prefer your idea about a separate section - "Project" 👍 .
Maybe something like [...]

[...] on the same level as "Added" or "Changed"

To be honest, I find the idea quite charming and I may use it in my projects too 😀 .

Thanks for the feedback, @Sven-Seyfert. I'll update the changelog to reflect this new section.

@Sven-Seyfert One additional question --

CONTRIBUTING.md file includes now reference notices to bug report and feature request templates

The word "now" doesn't make sense here. Is it supposed to be "new"?

Sorry for the bad english. What I was trying to say is:
CONTRIBUTING.md file now contains references to bug report template and feature request template
Is this better understandable? Hope so 😀 .


support Julia v0.6

Codecov Report

Merging #1 into master will increase coverage by 0.68%.
The diff coverage is 61.11%.

@@            Coverage Diff             @@
##           master       #1      +/-   ##
==========================================
+ Coverage   81.56%   82.25%   +0.68%
==========================================
  Files          28       28
  Lines        1758     1792      +34
==========================================
+ Hits         1434     1474      +40
+ Misses        324      318       -6

Impacted Files
Coverage Δ

src/sam/sam.jl
100% <ø> (ø)
:arrow_up:

src/operations.jl
93.33% <ø> (ø)
:arrow_up:

src/types.jl
100% <ø> (ø)
:arrow_up:

src/pairwise/alignment.jl
44.66% <0%> (+0.97%)
:arrow_up:

src/pairwise/algorithms/common.jl
90.9% <100%> (+15.9%)
:arrow_up:

src/pairwise/algorithms/smith_waterman.jl
88.77% <100%> (ø)
:arrow_up:

src/bam/record.jl
69.41% <100%> (ø)
:arrow_up:

src/sam/metainfo.jl
93.42% <100%> (ø)
:arrow_up:

src/alignment.jl
86.13% <100%> (ø)
:arrow_up:

src/models.jl
71.42% <100%> (ø)
:arrow_up:

... and 11 more

Continue to review full report at Codecov.

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


Geuest Account

@DonutsNL Hi i have downloaded the plugins from your repository. it works for the account on my domain but i can't login using a guest account on my domain. i get blocked on the this empty page. do you know if this is really achievable i mean login as a guest account ?

here is the error: Undefined array key "saml_configuration_name" in /var/www/html/glpi/plugins/phpsaml/setup.php on line 213
thanks in advance for your reply!

Hi Jayamin,
Thank you for using our plugin.
First some background :
As far as the PHPSAML is concerned the plugin 'does not care' as long as the SAML information returned by the Identity provider (IdP) for example Azure AD is valid. In other words, the actual validation and decision to allow any account (guest or not) to login is made by the identity provider (IdP) not by our plugin. If the user is allowed the IdP should return the user browser with valid SAML body including at the very least name and email claims back tot PHPSAML that is than being processed and should login the user (if that JIT is enabled assuming these accounts are not prepopulated in GLPI).
The white screen
The white screen usually is caused by an error that we did not anticipate. Could you please review the GLPI errorlogs and share any relevant (errors reported by acs)  in this feed for me to review?
Thanks!

Hey @DonutsNL , thanks a lot for your reply. I tried to find errors reported by acs as you have said but i couldn't found any other error apart from undefined array key.
I am going to test and i will report back at you if i can login with a guest account.

Proxied should never be empty its a prefilled database field. Please make sure your database has been updated properly or fix it by reinstalling the last update from my repo. Does the config report you got less then expected fields?

Hey sorry for late reply. i get this message at the top of the configuration page : "Phpsaml expected 21 configuration items but got 19 items instead"
i didn't get this part 'Please make sure your database has been updated properly or fix it by reinstalling the last update from my repo' are you talking about the latest version of the plugin from your rep? I did that but it's not working with guest id. The same error everytime"PHP Warning: Undefined array key "proxied".

Hey @DonutsNL hope you're doing well.

This is proxied? Look, this is how it displays on my screen. It doesn't allow me to put/select anything. Also i get this message at the top of the configuration page "Phpsaml expected 21 configuration items but got 19 items instead"
Thanks in advance for your reply.

@DonutsNL Thanks a lot for your help. the manual approach solved the proxied problem. now i can select 'yes' or 'no' options.
But couldn't yet login with a guest account. The same blank screen.
Here are the errors i got from glpi error log :
PHP Warning:  Undefined array key "http://schemas.xmlsoap.org/xx/xxxx/xx/identity/claims/surname" in /glpi/plugins/phpsaml/inc/phpsaml.class.php on line 348, referer: https://login.microsoftonline.com/
PHP Warning:  Trying to access array offset on value of type null in /glpi/plugins/phpsaml/inc/phpsaml.class.php on line 349, referer: https://login.microsoftonline.com/
PHP Warning:  Undefined array key "http://schemas.xmlsoap.org/xx/xxxx/xx/identity/claims/givenname" in /glpi/plugins/phpsaml/inc/phpsaml.class.php on line 350, referer: https://login.microsoftonline.com/
PHP Warning:  Trying to access array offset on value of type null in /glpi/plugins/phpsaml/inc/phpsaml.class.php on line 350, referer: https://login.microsoftonline.com/
PHP Warning:  Undefined variable $error in /glpi/plugins/phpsaml/inc/phpsaml.class.php on line 320, referer: https://login.microsoftonline.com/

The required claims are missing in the SAML response from the idp. Are these claims added in the response?

@DonutsNL Yes they were provided. These surname and givenname errors are gone apart from this error:
PHP Warning:  Undefined variable $error in /glpi/plugins/phpsaml/inc/phpsaml.class.php on line 320, referer: https://login.microsoftonline.com/
PHP Warning:  Undefined variable $error in /glpi/plugins/phpsaml/inc/phpsaml.class.php on line 320, referer: https://login.microsoftonline.com/

Hi @jayamin-10
I still expect that not all required claims are provided and is causing the JIT user->add to fail.
I added:

Additional checks to the JIT function to make sure you end up in an errorstate if stuff is missing;
Additional logging that should enable us to review the errorlog and See what claims are provided and missing;
Redirects to make sure you dont end up on a blank page;
Additional UI messages hopefully explaining whats going on without the need of reviewing the logfiles.

Please download and install the latest version from my repo and tell me what the messages/log say now.

It redirects back to the login page and does not register any error on glpi error log file for a guest user. But like before it works with a user of the domain.
The cmails provided are :

let me quickly write a procedure to dump the provided Saml post to a local file so we can review that.

Changed the front/acs.php it should now dump the headers in the /front/ directory for you to review.
Please logon using both users and review the dumps. Then please tell me what is different. Dont share that file anywhere for obvious reasons :-)

@DonutsNL Hello again,
I did the tests. The dump files are identical for the normal account on the domain and guest account.
but some of the attribute values  were different such as:

The attribute : https://schemas.microsoft.com/identity/claims/identityprovider
=>  I got  : https://sts.windows.net/xxxxxxx-xxxxxx-xxxxx-xxxx-xxxxxxxxxx for normal account
and for guest account i just got the word "mail'
For http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name i got the value as<EMAIL_ADDRESS>for normal account but for the guest account i got<EMAIL_ADDRESS>The same is true for nameid attribute.

Hmm, i need to dive into the code. I am not sure i would want to allow login using these fields.
Out of curiocity is the correct account information (email, idp) available somewhere in the returned SAMLResponse?

In addition, it seems Microsoft will allow you to transform claim information of guests when fields are empty. See this document: https://learn.microsoft.com/en-us/azure/active-directory/develop/saml-claims-customization

Yes the correct email address for normal account is present on the nameid, emailaddress attributes but for guest account<EMAIL_ADDRESS>is only present for emailaddress.
here is the attribute link where i get correct email address for both account : http://schemas.xmlsoap.org/xx/xx/identity/claims/emailaddress
by idp you mean the idp i mentioned in the other comment or i should have got another idp value ?
i didn't mention in the first comment : i get other attributes aswell like surname, givenname, displayname etc.

If you trust me enough, could you send a example of the SAMLReponse to: chris [dot] gralike [at] flevo-scouts [dot] nl?
This so i can review its structure and see if I can add 'allow guests' to the plugin.

@DonutsNL after transforming the nameid attribute claim with user.mail<EMAIL_ADDRESS>instead of user.principalname<EMAIL_ADDRESS>we can now sign in with the guest account.
I think glpi doesn't accept ".com#EXT#" as ID
Thanks a lot. you have been a great help.
For me the plugin works.

Glad it is working.
Ill add an additional check in the acs and write a warning pointing out to the MS documentation

I added an additional check to detect a guest user without transformations, could validate its working for me?

Hey @DonutsNL i will let you know tomorrow about the detection of a guest user without trasformation of nameid claim. Btw it would be really kind of you, if you could fix  the bug for proxied where we had to pass three sql query manually to alter table. A lot of people would benefit from it. on that note i haven't quite get the point of proxied because i tested with proxied yes and no but didn't notice any difference.

Hey @jayamin-10 ,
Yeah its something I need to dive into. Its also the reason why I added the fieldcheck in the config page. This to allow someone to correct it if the DB is corrupted for whatever reason. On the proxy my understanding is that it breaks the URLs used for redirect and validation in some cases because the plugin is looking at the wrong HTTP headers. There is a param for this in the PHP saml plugin i need to config.

Hey again @DonutsNL,
I did the test. this is the warning message we get.

I think this is good,. People will have an idea how to solve the issue. If you could just add in the warning "Solution : use the value user.mail  for the the claims 'nameid' and 'name' instead of using the default value user.principalname on your Azure sso application"
here is how i transformed the the claims which works :

Hi @jayamin-10,
Thank you for validating my check. Good it is working as intended.
I updated the error message with your suggestion.

@derricksmith, i think some merges will prove fruitfull. Also this issue can be closed.


[Feature Request]: Add functionality to follow us

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
i want to make the follow us links active by linking the pages, @mansiruhil13 please assign me this issue i want to work on it and kindly assign level 2, gssoc-extd
Use Case
.
Benefits
No response
Priority
High
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC contributor
[X] I want to work on this issue
[X] I'm willing to provide further clarification or assistance if needed.

i would also like to make other links in footer page active, kindly assign it under gssoc-extd, level 3 @mansiruhil13


Add golocity to CLI Tools

I created a CLI Tools sub-section to best classify Golocity. If the team feels this isn't necessary, I understand.

Thank you for creating Golocity and for this PR. This is super awesome! :)


Is there a way to add an image to a shepherd step?

It would be nice to have an embedded image in some of the shepherd steps. Do you know if there is an easy way to do that?
Thanks!

You can just put the <img> tag inside text option of the addSteps method.