task 1

5 Points are assured. No Errors found by AI system, you must be really good in writing uipath code. An expert need to review your code and it will be done before next sunrise :)

SourceCode/2023/Nov2023/Pavankumar/Math Operations/project.json
Your code review score: 1.5 for code completion, 1.5 for execution, 0.5 for annotations and comments. Here's why:
NoFile

Automation Hub URL is missing. In order to link the project to its page on Automation Hub, go to "Project settings" and add it there. It's crucial information.
There are packages (UiPath.Excel.Activities and UiPath.Mail.Activities) included that aren't being used. Removing them will make your code more efficient.

Main.xaml

No log message found in the workflow. Adding logs can help track the path your code takes, helping both during development as well as spotting errors after it's been released.
The 'Input Dialog' display name has been defined 2 times, but the code should only have one. Make sure each name is unique so people can understand your code more easily.
The activities 'Input Dialog' and 'Message Box' still have their default names. Name them something more descriptive to help others better understand your code.

To sum up, try to make your code as efficient and understandable as possible by using unique and descriptive activity names, removing unused packages, and adding log messages. Check your project settings in order to add missing

{
"NoFile":  [
{
"Your organization requires your project to have an Automation Hub URL defined.":  "Use "Project Settings" to add the missing information. "
},
{
"Dependency package UiPath.Excel.Activities is not used.":  "Remove unused packages in order to improve process execution time. "
},
{
"Dependency package UiPath.Mail.Activities is not used.":  "Remove unused packages in order to improve process execution time. "
}
],
"Main.xaml":  [
{
"Log Message not used in workflow Main.":  "Using Log Message activities is important both during development and after release. They help understanding the flow path which is very useful for maintenance and, when an error occurs, to easily identify the source and the cause. "
},
{
"Input Dialog display name is defined many times. Current allowed threshold is 1. Code contains 2.":  "Names of activities should give a clear indication of how they are being used. Default names are usually too generic. Please avoid duplicate names. "
},
{
"Activity Input Dialog has a default name.":  "Check if it could be easier to understand what the activity does by adding a more descriptive title. "
},
{
"Activity Input Dialog has a default name.":  "Check if it could be easier to understand what the activity does by adding a more descriptive title. "
},
{
"Activity Message Box has a default name.":  "Check if it could be easier to understand what the activity does by adding a more descriptive title. "
}
]
}

@Pavankumar1411
Task -1
Code verified. Default activity names


Set *ToExport to @() instead of * so it works in ConstrainedLanguage mode.

Also add the gitattributes so git should treat all PS files types as actual text.

Stellar! Thanks!


Third-party cookie deprecation on mobile devices should not happen before full interoperability between web and app is achieved

On mobile devices, users navigate seamlessly between web and app, either between a web browser and an app, or through embedded in-app web browsing (“webviews”). Just as user navigation, online advertising on mobile goes seamlessly across web and app.
In online advertising, it's commonplace to have use cases where each step of user intent collection, ad display, and conversion happens either on the web or in app.
For example: a user might browse a retailer's website looking for sneakers, then play a free app game, on which that retailer displays an ad, click on the ad, and land back on the retailer's site.
For that reason, 3PC deprecation on mobile shall take place only when an interoperable solution for same-device advertising across web and app is in place, i.e.:

Privacy Sandbox targeting and measurement solutions cover such use cases.
The Privacy Sandbox for Android is available on a large majority of Android devices and with sufficient market adoption - which probably means that 3PC deprecation on mobile should be tight to GAID deprecation.

Linked issues:

https://github.com/WICG/turtledove/issues/680
https://github.com/WICG/attribution-reporting-api/issues/1125

Hi Lionel,
Thanks for the feedback and examples of cross app and web use cases. We agree that it's desirable to support app and web interoperability and, as you know, have launched cross app and web attribution measurement and are making progress on web-to-app targeting solutions. However, we are not planning to delay 3rd party cookie deprecation on mobile web. We do not have a goal of 100% coverage at 3PCD. Rather, we expect compatibility on Android for cross app and web measurement to be reasonably high at 3PCD and to increase over time as users update their phones. For coverage analysis, we recommend that each adtech evaluates this themselves - while there are various estimates available, Android version coverage will vary depending on the adtech / app's volume.


Replace distutils.version with packaging.version

[x] Closes #6092
[x] Passes pre-commit run --all-files
[x] User visible changes (including notable bug fixes) are documented in whats-new.rst

One change is that it is no longer possible to compare to a string, i.e. version.parse(xr.__version__) < "0.20.0" errors.
As mentioned in #6092 there are 3 options - if there is a preference I am happy to update this PR.
from distutils.version import LooseVersion
from packaging import version

LooseVersion(xr.__version__)
version.parse(xr.__version__)
version.Version(xr.__version__)

# currently:
if LooseVersion(mod.__version__) < LooseVersion(minversion):
    pass

# options:
if version.parse(mod.__version__) < version.parse(minversion):
    pass

if version.Version(mod.__version__) < version.Version(minversion):
    pass

if Version(mod.__version__) < Version(minversion):
    pass

Thanks @mathause !
The current version.parse looks good (but the others are fine if you prefer ofc)

Note that packaging.version.parse will soon be effectively the same as calling packaging.version.Version, see https://github.com/pypa/packaging/pull/407/files
You might want to instantiate Version explicitly to avoid confusion in the future.

Note that packaging.version.parse will soon be effectively the same as calling packaging.version.Version

Actually, I would prefer Version(xr.__version__) > Version("0.20.1") over version.parse(xr.__version__) > version.parse("0.20.1") (mostly because I think it looks better...). However, it doesn't seem that this PR will be merged soon, though... Do you know if there any good reason for us to use parse over Version?

And I should still figure out if DuckArrayModule("pint").duck_array_version is used/ public.

parse was designed to be more resilient and produce LegacyVersion instances for packages that didn't use sane version strings. This functionality is going away because packaging devs judged that it causes more harm than good. In practice it seems that the Python landscape is now mature for this change, as sane version number schemes appear to be extremely dominant.
So unless you know that you're parsing version numbers from packages that don't work with the plain Version class I don't think there's any reason to use parse now.

:+1: thanks! I'll update the PR.

Thanks for the feedback!

Don't you need to add packaging to your pyproject.toml in the
[build-system]
requires = [
]

section?

@ax3l - The packaging dependency should be resolved in https://github.com/pydata/xarray/pull/6207.

and we don't need packaging to build the package itself (e.g. the wheel), which is why we don't list it in pyproject.toml


Salesforce Bulk API Connection + Bulk Query Implementation

Originally (and paritially implemented) by PR #981.
Most of the Salesforce Bulk API methods are implemented. Additionally, specific support for Bulk Query has been added.
Please be aware that I have included a note to add support for queries which include relationships. The Bulk Query does not currently support pk/fk relationships. Thus, when a query is submitted which includes a relationship, I would like to default that query to use the normal Salesforce Soap query (however, this may be a future revision and not included in this PR - TBD).
Tests are forthcoming. This PR was prematurely submitted in order to get the ball rolling with comments.
Thanks,

Looks great but great if you can fix this:

the unit test fails because the "requests" module can't be imported: https://travis-ci.org/spotify/luigi/jobs/91463249 – consider adding a try: ... except ImportError: warnings.warn('need the requests module for salesforce) similar to eg https://github.com/spotify/luigi/blob/master/luigi/contrib/esindex.py
The output and output_path methods are not needed on the base class so you should remove them
(optional) Is there a way to unittest this? For instance you could mock requests or even run a real server on a random port.

I have updated to account for #1. Support for normal queries via the Salesforce REST Api is nearing completion.
@erikbern Could you explain #2? The output of QuerySalesforce needs to go somewhere. How can I output something within the run() without knowing whether it's going to be a LocalTarget or S3 or whatever?
Finally (regarding #3), I intend to mock test this PR. However, my testing experience is very (VERY) minimal and thus will take me awhile (and likely be poor).

For #2 – subclasses should implement output. This is how all other Task classes work in Luigi. So for instance
class MyDailySalesforceTask(QuerySalesforce):
    x = IntParameter()
    def soql(self):
        return blablabla...
    def output(self):
        return LocalTarget('salesforce-results-%d.txt' % self.x)

And then the base class should probably do output = NotImplemented

Got it (I think). Thanks @erikbern ! I have updated QuerySalesforce accordingly. REST queries still pending completion. Tests are to-be started.

There's an issue building docs because import requests fails – maybe put it in a try/except or just add it to requirements

@erikbern I have added your comments (minus the tests) to my branch, but I am waiting to push it until REST queries are complete. Currently, awaiting forum response to keep as dynamic as possible.
Sorry for such delay.

@erikbern It's going to be awhile before I can get around to writing tests for this; how do you suggest proceeding?

sorry, forgot about this. let's merge it!


it should accept booleans

Doesn't work:
[component prop:true /]

the workaround is
[component prop:`true` /]

closed by #9


(GH-88) Add Styling to Custom 404 Page

Changes from choco-theme will need to utilized for this https://github.com/chocolatey/choco-theme/pull/22
There have been changes made to the main layout to support pages that
do not contain a sidebar. If the page does not contain a sidebar, and
should be a full page width, then the front matter NoSidebar: true
should be added to said page.
This adds custom styles to the 404 page to make it fit better with the
theme, and keep consistent with the blog.

@designxsteph looks great!


fix(ci): set version before tests, publishing

What this PR changes/adds
This PR adds a temporary fix to update the gradle/libs.version.toml version catalog before a version is published.
Specifically, it passes the version string to verify.yaml, so that tests are executed using the given upstream EDC modules, and it updates gradle.properties, gradle/libs.versions.toml and DEPENDENCIES before the Maven artefacts are published.
In addition, the release job (release-tech-aws.yaml) only bumps the version if it was a "release" version (not a hotfix/bugfix or a snapshot).
Why it does that
employ a temporary fix until a restructuring of the release workflow can be implemented.
Further notes
I intentionally did not extract the sed command in a re-usable action, because it is a temporary fix anyway, and it is better if it sticks out like a sore thumb
Linked Issue(s)
Closes # <-- insert Issue number if one exists
Please be sure to take a look at the contributing guidelines and our etiquette for pull requests.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 65.47%. Comparing base (d177a98) to head (3e3c361).
Report is 61 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff              @@
##               main     #402      +/-   ##
============================================
+ Coverage     63.82%   65.47%   +1.65%
- Complexity        0      113     +113
============================================
  Files            26       28       +2
  Lines           633      672      +39
  Branches         30       32       +2
============================================
+ Hits            404      440      +36
+ Misses          222      218       -4
- Partials          7       14       +7

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


Figure out how to timeout

I implemented some new metrics and found that many urls timeout after 20s, which clearly slow down everything
here is some examples:
Downloaded (12, 'http://www.herteldenbirname.com/wp-content/uploads/2014/05/Italia-Independent-Flocked-Aviator-Sunglasses-150x150.jpg') in 10.019284009933472
Downloaded (124, 'http://image.rakuten.co.jp/sneak/cabinet/shoes-03/cr-ucrocs5-a.jpg?_ex=128x128') in 10.01184344291687
Downloaded (146, 'http://www.slicingupeyeballs.com/wp-content/uploads/2009/05/stoneroses452.jpg') in 10.006474256515503
Downloaded (122, 'https://media.mwcradio.com/mimesis/2013-03/01/2013-03-01T153415Z_1_CBRE920179600_RTROPTP_3_TECH-US-GERMANY-EREADER_JPG_475x310_q85.jpg') in 10.241626739501953
Downloaded (282, 'https://8d1aee3bcc.site.internapcdn.net/00/images/media/5/5cfb2eba8f1f6244c6f7e261b9320a90-1.jpg') in 10.431355476379395
Downloaded (298, 'https://my-furniture.com.au/media/catalog/product/cache/1/small_image/295x295/9df78eab33525d08d6e5fb8d27136e95/a/u/au0019-stool-01.jpg') in 10.005694150924683
Downloaded (300, 'http://images.tastespotting.com/thumbnails/889506.jpg') in 10.007027387619019
Downloaded (330, 'https://www.infoworld.pk/wp-content/uploads/2016/02/Cool-HD-Valentines-Day-Wallpapers-480x300.jpeg') in 10.004335880279541
Downloaded (361, 'http://pendantscarf.com/image/cache/data/necklace/JW0013-(2)-150x150.jpg') in 10.00539231300354
Downloaded (408, 'https://www.solidrop.net/photo-6/animorphia-coloring-books-for-adults-children-drawing-book-secret-garden-style-relieve-stress-graffiti-painting-book.jpg') in 10.004313945770264
Let's try to implement request timeout
I tried #153 , eventlet and #260 and none of them can timeout properly
A good value for timeout is 2s

maybe another path is to have a flexible thread pool: instead of doing like 32 threads, increase or decrease depending on the current speed: if many requests are being done, don't start more, if not do
measuring the byte/s could help estimate this

New idea:

Have a "parked away" slow requests pool, where slow request go to rest
Normal pool keep going
Need a thread to constantly monitor the speed of everyone and move the bad threads to the parked away pool

Another idea: use timeout arg of join https://docs.python.org/3/library/threading.html#threading.Thread.join
It ignores the thread if it doesn't join in time
So simply put the thread in bad pool and continue starting more threads

reproducing example:
import urllib.request
import time
import io

example_urls = [
(12, 'http://www.herteldenbirname.com/wp-content/uploads/2014/05/Italia-Independent-Flocked-Aviator-Sunglasses-150x150.jpg'),
(124, 'http://image.rakuten.co.jp/sneak/cabinet/shoes-03/cr-ucrocs5-a.jpg?_ex=128x128'),
(146, 'http://www.slicingupeyeballs.com/wp-content/uploads/2009/05/stoneroses452.jpg'),
(122, 'https://media.mwcradio.com/mimesis/2013-03/01/2013-03-01T153415Z_1_CBRE920179600_RTROPTP_3_TECH-US-GERMANY-EREADER_JPG_475x310_q85.jpg'),
(282, 'https://8d1aee3bcc.site.internapcdn.net/00/images/media/5/5cfb2eba8f1f6244c6f7e261b9320a90-1.jpg'),
(298, 'https://my-furniture.com.au/media/catalog/product/cache/1/small_image/295x295/9df78eab33525d08d6e5fb8d27136e95/a/u/au0019-stool-01.jpg'),
(300, 'http://images.tastespotting.com/thumbnails/889506.jpg'),
(330, 'https://www.infoworld.pk/wp-content/uploads/2016/02/Cool-HD-Valentines-Day-Wallpapers-480x300.jpeg'),
(361, 'http://pendantscarf.com/image/cache/data/necklace/JW0013-(2)-150x150.jpg'),
(408, 'https://www.solidrop.net/photo-6/animorphia-coloring-books-for-adults-children-drawing-book-secret-garden-style-relieve-stress-graffiti-painting-book.jpg'),
]

def download_image(row, timeout):
    """Download an image with urllib"""
    key, url = row
    img_stream = None
    user_agent_string = "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0"
    start_time = time.time()
    try:
        request = urllib.request.Request(url, data=None, headers={"User-Agent": user_agent_string})
        with urllib.request.urlopen(request, timeout=timeout) as r:
            img_stream = io.BytesIO(r.read())
        return key, img_stream, None, time.time() - start_time
    except Exception as err:  # pylint: disable=broad-except
        if img_stream is not None:
            img_stream.close()
        return key, None, str(err), time.time() - start_time

def main():
    for example_url in example_urls:
        a = download_image(example_url, 2)
        print(a)

if __name__ == "__main__":
    main()

one try:
import queue
from threading import Thread
import time

class GoodBadPool:
    def __init__(self, generator, runner, timeout, pool_size, out_queue_max) -> None:
        self.generator = generator
        self.runner = runner
        self.timeout = timeout
        self.pool_size = pool_size
        self.out_queue_max = out_queue_max
        self.results = []
        self.good_threads = []
        self.bad_threads = []
        self.outqueue = queue.SimpleQueue()
        self.good_done = {}
        self.item_left = True

    def call(self, start_time, item):
        result = self.runner(item)
        key = item[0]
        if time.time() - start_time < self.timeout:
            self.outqueue.put(result)
            self.good_done[key] = True

    def cleanup_bad_threads(self):
        still_bad_threads = []
        for thread in self.bad_threads:
            thread.join(0)
            if thread.is_alive():
                still_bad_threads.append(thread)
        self.bad_threads = still_bad_threads

    def cleanup_good_threads(self):
        # move slow threads to bad threads
        still_good_threads = []
        for start_time, key, thread in self.good_threads:
            if key in self.good_done:
                thread.join(0)
                del self.good_done[key]
                continue
            if time.time() - start_time > self.timeout:
                self.outqueue.put((key, None, "timeout"))
                self.bad_threads.append(thread)
            else:
                still_good_threads.append((start_time, key, thread))
        self.good_threads = still_good_threads

    def provider(self):
        """Loops infinitely, if we need new values, try to get them
        1. clean up bad threads (join them)
        2. clean up good threads by moving the slow ones to bad threads
        3. start new threads if possible
        """
        while True:
            if self.outqueue.qsize() > self.out_queue_max:
                time.sleep(0.1)
                continue

            self.cleanup_bad_threads()
            self.cleanup_good_threads()
            #print(f"good: {len(self.good_threads)}, bad: {len(self.bad_threads)}, outqueue: {self.outqueue.qsize()}")

            if self.item_left and len(self.good_threads) < self.pool_size:
                try:
                    item = next(self.generator)
                    key = item[0]
                except StopIteration:
                    self.item_left = False
                    continue
                start_time = time.time()
                thread = Thread(target=self.call, args=(start_time, item,))
                thread.start()
                self.good_threads.append((start_time, key, thread))
            else:
                if len(self.good_threads) == 0 and not self.item_left:
                    self.outqueue.put(None)
                    return
                time.sleep(0.1)
                continue

    def run(self):
        t = Thread(target=self.provider)
        t.start()
        while True:
            item = self.outqueue.get()
            if item is None:
                break
            yield item
        t.join(0)

but actually doesn't seem to help that much. Something else must be slowing things down

I think the only reasonable paths forward here are

Setup a guide for easy to reproduce benchmark
try to implementation in another language (rust, js, elixir,..) only the url to bytes part
have more metrics to understand what url kind is the worse / try on different url "difficulty" (one domain vs filtered cc vs unfiltered cc)

2 new ideas:

Try libcurl and https://curl.se/libcurl/c/CURLOPT_TIMEOUT.html since it has the ability to truly cancel requests for a total timeout
use a http proxy like tiny proxy to move the "http to the whole world" task out of python

https://stackoverflow.com/a/32899936/1658314

https://github.com/svanoort/python-client-benchmarks/blob/master/benchmark.py

https://stackoverflow.com/questions/46290556/installing-pycurl-with-fatal-error-gnutls-gnutls-h-no-such-file-or-directory

from pycurl import Curl
import pycurl
from io import BytesIO
import time

def download_image(row, timeout):
    """Download an image with urllib"""
    key, url = row
    user_agent_string = "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0"

    try:
        mycurl=Curl()
        mycurl.setopt(pycurl.SSL_VERIFYPEER, 0)
        mycurl.setopt(pycurl.SSL_VERIFYHOST, 0)
        mycurl.setopt(pycurl.TIMEOUT, timeout)
        mycurl.setopt(pycurl.URL, url)
        body = BytesIO()
        mycurl.setopt(pycurl.WRITEFUNCTION, body.write)
        mycurl.setopt(pycurl.USERAGENT, user_agent_string)
        mycurl.perform()
        val = body.getvalue()
        body.close()
        return key, val, None
    except Exception as e:
        return key, None, str(e)

example_urls = [
(12, 'http://www.herteldenbirname.com/wp-content/uploads/2014/05/Italia-Independent-Flocked-Aviator-Sunglasses-150x150.jpg'),
(124, 'http://image.rakuten.co.jp/sneak/cabinet/shoes-03/cr-ucrocs5-a.jpg?_ex=128x128'),
(146, 'http://www.slicingupeyeballs.com/wp-content/uploads/2009/05/stoneroses452.jpg'),
(122, 'https://media.mwcradio.com/mimesis/2013-03/01/2013-03-01T153415Z_1_CBRE920179600_RTROPTP_3_TECH-US-GERMANY-EREADER_JPG_475x310_q85.jpg'),
(282, 'https://8d1aee3bcc.site.internapcdn.net/00/images/media/5/5cfb2eba8f1f6244c6f7e261b9320a90-1.jpg'),
(298, 'https://my-furniture.com.au/media/catalog/product/cache/1/small_image/295x295/9df78eab33525d08d6e5fb8d27136e95/a/u/au0019-stool-01.jpg'),
(300, 'http://images.tastespotting.com/thumbnails/889506.jpg'),
(330, 'https://www.infoworld.pk/wp-content/uploads/2016/02/Cool-HD-Valentines-Day-Wallpapers-480x300.jpeg'),
(361, 'http://pendantscarf.com/image/cache/data/necklace/JW0013-(2)-150x150.jpg'),
(408, 'https://www.solidrop.net/photo-6/animorphia-coloring-books-for-adults-children-drawing-book-secret-garden-style-relieve-stress-graffiti-painting-book.jpg'),
]

for item in example_urls:
    s = time.time()
    a = download_image(item, 2)
    print(time.time() - s)

important:

compile curl with --enable-ares https://unix.stackexchange.com/a/586444
use compile curl to compile libcurl, eg download from pypi then python setup.py install --curl-config=/home/rom1504/local/bin/curl-config
Necessary for timeout to work.
Test with above example

curl is not faster

tinyproxy solution is working !!
instructions:

apt install tinyproxy
increase MaxClients 10000 in /etc/tinyproxy/tinyproxy.conf
use

        proxies = {'http': 'http://<IP_ADDRESS>:8888', 'https': 'https://<IP_ADDRESS>:8888'}
        proxy_support = urllib.request.ProxyHandler(proxies)
        opener = urllib.request.build_opener(proxy_support)
        urllib.request.install_opener(opener)

in download

but success rate is low...

new idea: maintain a pool of fast domain and a pool of slow domain.
Give more threads to the slow domain and/or discard them
compute statistics live

New idea: keep track of domains that fail to resolve and don't even try to download those next time.
Also maybe limit number of redirect
Writing down the download time for each url in metadata can also help here for further analysis

to compute domain stats:
import glob
from urllib.parse import urlparse
import pandas as pd
pq = list(glob.glob("*.parquet"))
dfs = [pd.read_parquet(p) for p in pq]
df = pd.concat(dfs)
df["domain"] = df["url"].apply(lambda url: urlparse(url).netloc)
df2 = df[["domain", "duration"]]
df2.groupby("domain").agg({'domain':'size', 'duration':'mean'}).sort_values("duration")[-10:]

but seems like longer urls (up to 40s...) are from unique domains among 10k items. Checking among more.

among 160k seems no clear correlation between domain and duration

ok only reasonable way forward here is to decouple completely the downloading from the rest, and then set up a clean benchmark on "here is 100 shards of 1000 items, how can you get them fast using whatever technology (other languages, libs, ...)"


Feature request: target bosh deployment by name

Currently I can do bosh download manifest foo /tmp/foo.yml && bosh deployment /tmp/foo.yml to target a deployment (to ssh in, for instance). It'd be much nicer if I could just bosh deployment foo, or bosh deployment --name foo.

Thanks for feedback! This is a duplicate of #1312 so I'll close and link this, but feel free to add any additional thoughts on that issue.


Envoke unidentified tracker

Solid gray. At least one tracker seems to be at the bottom:
<img src=3D"https://e1.envoke.com/o/3975/2471560/20fa2dc8c9c3cafd8d46efa5827ef9b8.gif" border=3D"0" width=3D"1" height=3D"1" id=3D"nvk_tracking_image" class=3D"nvk_images" alt=3D"Envoke tracking">

You will receive an email with the eml source.

Captured. Thanks!


[TASK] Eigen Interoperability - Operator Monitoring

Overview

Integrate additional monitoring to AVS (should be package that can be reused across any AVS built with gadget)
Document monitoring setup.

Moved to https://github.com/webb-tools/eigensdk-rs


_pickle.UnpicklingError: invalid load key, '\xef'.

When I run train.py, it raise "_pickle.UnpicklingError: invalid load key, '\xef'." I tried to load it on two different computer but same error occur. Could you confirm that there is no problem with the uploaded checkpoint file. Thank you very much.

I am sorry. Due to the uploading limitation of  github, the pre-uploaded checkpoint of video swin transformer is broken. You need to load the pretrained model from https://github.com/SwinTransformer/storage/releases/download/v1.0.4/swin_tiny_patch244_window877_kinetics400_1k.pth , and place it in the 'pretrained' folder.

OK,thank you very much.


how to use passwdord in target

use  password in target part

Use the redis_auth option in the target section.


Feeding in Tabular/vectorized data?

Interested in using this to augment some tabular (well, tabular turned vectorized) data. Is there an established way to feed this in?

Can you be a bit more specific about the type of data you want to use? The
architecture in this repo is built specifically for image-based problems.
The DAGAN formulation itself could be used on other types of data, but
you'd have to implement your own neural network architecture.
On Wed, 25 Jul 2018 at 15:03, Will Manidis<EMAIL_ADDRESS>wrote:

Interested in using this to augment some tabular (well, tabular turned
vectorized) data. Is there an established way to feed this in?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/AntreasAntoniou/DAGAN/issues/6, or mute the thread
https://github.com/notifications/unsubscribe-auth/AKSuNq0DWybiXjUI8X6XbVi8rLO-e5YFks5uKHqtgaJpZM4VgJMY
.


Switch to using secret for immich config

Recent update allows to set most config options with a config file
https://github.com/immich-app/immich/releases/tag/v1.75.0

This doesn't yet seem to possible, I would like to only define my oauth config in a config file and have the rest be default or pulled from the database config.


[#613] feat: payment triggers frontend skeleton

Related to #613

Description
Adds a skeleton for the frontend that sets up the triggers.
Test plan
For now, the submitted info will be logged in the backend, nothing else.
The following PRs will validate, commit the trigger to the the database and do the actual trigger activation upon payment

* Move whole section below the Transactions divs as it's primarily for advanced users.

Done

* Change "Set triggers" to "When a Payment is Received..."

Done

* Fix "Receive email" input + label (currently broken somehow)

This is weird right now because in dark mode it doesn't show checked and the checkbox spans the whole width of the block, I tried to fix quickly but unsuccessfully, so I decided just to leave as it is, since John will rebuild the design and knows how to fix it, and the way it is right now is enough for testing

* Change "Possible placeholders" to "Options".

Done. Also, we are planning on letting them use variables, right? Like, writing down: {"buttonName": } would be parsed in our server to substitue  with the actual button name
Finally, I have rebased this branch not to master but to feat/paybutton-triggers. We can go on approving until is ready, and then we merge that branch to master.


Compatibility of TUN-Core

Commit 7431e6e now change to new format of config, but the TUN Core still uses the old one, have you tested the compatibility among the different cores?

update from https://github.com/vernesong/OpenClash/releases/tag/TUN-Premium

Maybe we need update the download url in LuCI and the version in repo :)

Maybe we need update the download url in LuCI and the version in repo :)

https://github.com/vernesong/OpenClash/commit/b86fbb506e353b235e88bf9c91ea63a7d4560234

b86fbb5

Sorry I've missed this.


Option to return non-zero exit code for sonobuoy results on test failures

Describe the solution you'd like
I'm running sonobuoy within Gitlab CI. Currently when running sonobuoy results at the end of pipeline it returns zero when it was able to parse results archive. I'm looking for option to return non-zero exit code when sonobuoy results successfully parses archive, but there were test failures. This would allow to mark job as failed.
Anything else you would like to add:
Workaround would be something like sonobuoy results ... | grep -q -v "Failed: 0" which has potential to break, as user facing information isn't strictly stable or deterministic.
Environment:

Sonobuoy version: 0.51.0
Kubernetes version: (use kubectl version): 1.20.4
Kubernetes installer & version: EKS 1.20
Cloud provider or hardware configuration: AWS EKS
OS (e.g. from /etc/os-release): Bottlerocket OS

It is smart to be cautious when parsing/relying on user facing output.
I would say that in this case my recommendation would be to do something similar but more deterministic. I would just change the mode to --mode=detailed or --mode=dump so that you see the full/exact of the results. Then you can grep as needed for failures. This has the benefit of relying on the YAML of our results format itself and not just a user facing string. If we change the format we would definitely consider that a breaking change and 1) try and prevent it entirely 2) report it at a minimum 3) work with users to provide  support for existing workflows in some capacity.
ref: https://sonobuoy.io/docs/v0.51.0/results/#manual-results-format
If you're dealing with the e2e tests (which produces junit output) --mode=detailed will output the json which you can use jq to search/filter with:
sonobuoy results $outfile -p=e2e --mode=detailed
...
{"name":"[sig-storage] In-tree Volumes [Driver: rbd][Feature:Volumes][Serial] [Testpattern: Dynamic PV (ntfs)][sig-windows] subPath should fail if non-existent subpath is outside the volume [Slow][LinuxOnly]","status":"skipped","meta":{"path":"e2e|junit_01.xml|Kubernetes e2e suite"}}
{"name":"[sig-storage] In-tree Volumes [Driver: local][LocalVolumeType: gce-localssd-scsi-fs] [Serial] [Testpattern: Dynamic PV (filesystem volmode)] multiVolume [Slow] should concurrently access the single read-only volume from pods on the same node","status":"skipped","meta":{"path":"e2e|junit_01.xml|Kubernetes e2e suite"}}
{"name":"[sig-storage] CSI Volumes [Driver: pd.csi.storage.gke.io][Serial] [Testpattern: Pre-provisioned PV (default fs)] subPath should support file as subpath [LinuxOnly]","status":"skipped","meta":{"path":"e2e|junit_01.xml|Kubernetes e2e suite"}}
...

Or you can utilize the YAML format Sonobuoy uses for all plugins and yq or grep:
sonobuoy results $outfile -p=e2e --mode=dump
...
    - name: '[sig-storage] In-tree Volumes [Driver: local][LocalVolumeType: gce-localssd-scsi-fs]
        [Serial] [Testpattern: Dynamic PV (filesystem volmode)] multiVolume [Slow]
        should concurrently access the single read-only volume from pods on the same
        node'
      status: skipped
    - name: '[sig-storage] CSI Volumes [Driver: pd.csi.storage.gke.io][Serial] [Testpattern:
        Pre-provisioned PV (default fs)] subPath should support file as subpath [LinuxOnly]'
      status: skipped
...

Thanks, I'll check out alternative output modes, checking status field with jq looks promising.


Copy button

A copy button for the install command would be very nice just like:

Thanks to @antoniorsz we have a test version with this implemented in the test server

This is in production now


Amazon EKS not showing stats

Internal reference: SURE-3367
Issue description:
User upgraded to 2.6.0 and the Amazon EKS cluster isn't showing nodes stats when other clusters are still showing
Business impact:
User can still use the cluster, but it will be great if it can be looked

Ticket #4956 - Test Results
With Docker on a single-node instance:
Reproduced on rancher v2.6.0 - ✅ Monday October 3, 2022

Deploy EKS on v2.5.16, then  upgrade to v2.6.0

Verified on rancher v2.7-0de241ce33201224d9bcdfba02ccf69bda45a04b-head

Reproduce on v2.6.0, then upgrade to v2.7-head

Reproduced on rancher v2.6.0:

Fresh install of rancher v2.5.16
Provision a downstream EKS cluster
Once Active, upgrade rancher server to v2.6.0
Reproduced - EKS Cluster Explorer > Nodes does not show RAM or CPU stats

Screenshots:
Step 4 - Nodes

Step 4 - Node Details

Verified on rancher v2.7-0de241ce33201224d9bcdfba02ccf69bda45a04b-head:

Follow steps above to reproduce issue in v2.6.0
Upgrade rancher server to v2.7-head
Verified - EKS stats accurately displayed from Cluster Explorer > Nodes and Cluster Explorer > Nodes > Node Details

Screenshots:
Step 3 - Nodes

Step 3 - Node Details


doc: doxygen: fix remaining warnings and re-enable treating warnings as errors

Fix remaining Doxygen warnings and re-enable treating warnings as errors. Please see commit logs for further details.

@gmarull Was the intention of https://github.com/zephyrproject-rtos/zephyr/commit/85a0e1325cc690155b95274725520434ca1484ff to catch Doxygen warnings in CI?

@gmarull Was the intention of 85a0e13 to catch Doxygen warnings in CI?

Yes, and it should in fact work. The option you're changing is in fact patched by the Sphinx extension. Maybe there's an issue there? Does Sphinx really change something when tweaking that doxyfile option?

Yes, and it should in fact work.

It clearly doesn't, otherwise we'd be seeing documentation build failures everywhere. I removed a bunch of Doxygen warnings in #64964 and this PR removes the remaining ones. None of these create documentation build failures in CI.

The option you're changing is in fact patched by the Sphinx extension. Maybe there's an issue there? Does Sphinx really change something when tweaking that doxyfile option?

I wouldn't know where to start looking, sorry.

Yes, and it should in fact work.

It clearly doesn't, otherwise we'd be seeing documentation build failures everywhere. I removed a bunch of Doxygen warnings in #64964 and this PR removes the remaining ones. None of these create documentation build failures in CI.

The option you're changing is in fact patched by the Sphinx extension. Maybe there's an issue there? Does Sphinx really change something when tweaking that doxyfile option?

I wouldn't know where to start looking, sorry.

https://github.com/zephyrproject-rtos/zephyr/blob/91fdef0783e0355c85344617bbf202d7fe67831a/doc/_extensions/zephyr/doxyrunner.py#L250-L261

So the build does fail locally, but it doesn't seem to be picked up in CI:
...
Running Sphinx v6.1.0
making output directory... done
Building Kconfig database...... done
Preparing Doxyfile...
Checking if Doxygen needs to be run...
Running Doxygen...
WARNING: [generated]:4: Invalid list item found
WARNING: [generated]:8: Invalid list item found
WARNING: [generated]:11: Invalid list item found
WARNING: [generated]:14: Invalid list item found
WARNING: [generated]:19: Invalid list item found
WARNING: [generated]:22: Invalid list item found
Syncing Doxygen output...
building [mo]: targets for 0 po files that are out of date
writing output...
building [html]: targets for 1 source files that are out of date
updating environment: [new config] 1601 added, 0 changed, 0 removed
reading sources... [100%] snippets/xen_dom0/README
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [100%] snippets/xen_dom0/README
generating indices... genindex done
writing additional pages... search done
copying images... [100%] ../../services/zbus/images/zbus_publishing_process_example2.svg
copying static files... done
copying extra files... done
dumping search index in English (code: en)... done
dumping object inventory... done
WARNING:root:Unused expression: .*Duplicate C declaration.*\n.*'\.\. c:.*:: .*struct in_addr.*'.*
WARNING:root:Unused expression: .*Duplicate C declaration.*\n.*'\.\. c:.*:: .*struct in6_addr.*'.*
build finished with problems, 6 warnings.
FAILED: CMakeFiles/html /home/hebad/Projects/zephyrproject/zephyr/doc/_build/CMakeFiles/html
cd /home/hebad/Projects/zephyrproject/zephyr/doc/_build && /home/hebad/Projects/zephyrproject/venv/lib/python3.10/site-packages/cmake/data/bin/cmake -E env DOXYGEN_EXECUTABLE=/usr/bin/doxygen DOT_EXECUTABLE=/usr/bin/dot /home/hebad/Projects/zephyrproject/venv/bin/sphinx-build -b html -c /home/hebad/Projects/zephyrproject/zephyr/doc -d /home/hebad/Projects/zephyrproject/zephyr/doc/_build/doctrees -w /home/hebad/Projects/zephyrproject/zephyr/doc/_build/html.log -t development -j auto -W --keep-going -T -j1 /home/hebad/Projects/zephyrproject/zephyr/doc/_build/src /home/hebad/Projects/zephyrproject/zephyr/doc/_build/html
ninja: build stopped: subcommand failed.
make[1]: *** [Makefile:21: html] Error 1
make[1]: Leaving directory '/home/hebad/Projects/zephyrproject/zephyr/doc'
make: *** [Makefile:18: html-fast] Error 2

$ echo $?
2

interesting... doxygen output must be redirected somewhere else :/ ? It used to work

I have removed the change to the Doxygen configuration file and adjusted the description. Given that Ubuntu 22.04.3 LTS still ships with Doxygen v1.9.1, I think it would be nice to be able to eliminate the build warnings using that version still.


When calling a cart from another controller, an empty basket comes out

When calling a cart from another controller, an empty basket comes out (most likely a new one).
Created a cart like this $cart->newInstance('shopping-cart')->useForCommercial(true)->useBuiltinTax(true);
Now I'm trying to get this cart in the checkout controller like $cart->name('shopping-cart') but I'm getting an empty cart. How to be in such a situation? Help me please.

I also got the same issue, how do you deal with it? is it solved?


Fix build in canon_perftest_fix

https://github.com/ninja-build/ninja/pull/1181 changed
CanonicalizePath to take a uint64_t* instead of a unsigned int*,
make the same change in canon_perftest.
Fixes "./ninja all" build.

Sorry I saw #1232 first and merged that. Thanks both for the fixes.

This pull request also makes travis build all instead of just ninja_test, and should merge fine on top of #1232, I'd recommend either reopening and merging it too, or extracting the travis config change.

Oh, I figured it'd conflict. Merged, thanks.


Flow Logs seem to support tags but the documentation says no

According to the documentation (https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/tag-support#microsoftnetwork) "networkWatchers / flowLogs" don't support Tags.
But I can add Tags in the portal when creating a flow log and there is also a documentation about them - https://docs.microsoft.com/en-us/rest/api/network-watcher/flowlogs/updatetags
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 66769e1b-720b-f1b1-a5e3-ed5cb24cd233
Version Independent ID: b6272e61-58c1-3e2f-3e36-a9ee920c0915
Content: Tag support for resources - Azure Resource Manager
Content Source: articles/azure-resource-manager/management/tag-support.md
Service: azure-resource-manager
Sub-service: management
GitHub Login: @tfitzmac
Microsoft Alias: tomfitz

@aschabus Thanks for your comment! We will review and provide an update as appropriate.

@aschabus - thanks for the feedback. I have updated this article. The update will be published later today.
#please-close


Fix record macro with inheritance

This didn't work:
abstract struct Base; end

record Point < Base, x = 0, y = 0

Point.new(1, 2).clone

But with this PR it does.

Could add a code sample as a test that this works


On Filter screen, need to click "Next" twice to dismiss the picker

Describe the bug
any one have any idea why need to click "Next" twice on image filter interface to dismiss the picker?
enable filter function in config
disable crop function in config
doesn't matter select single or multiple images
To Reproduce
Steps to reproduce the behavior:

Pick images, click "next" button on upper right hand corner to enter image filter interface
Click "next" button on upper right hand corner in filter interface, no response
Click "next" again, then dismiss the picker

Expected behavior
only need to click "next" button once on filter interface to dismiss picker
Environment (please complete the following information):

Device: iPhone 11
OS: iOS 13
Xcode Version :11.6
Swift Version: 4.2
YPImagePicker (4.3.1)

Installation Type

Cocoapods

never mind, I got it solved by changing some coding


Implement author order?

Currently, order of authors (as in papers) is determined by array index in authors. As this GH community thread shows, there is a case to be made for ordering authors by contribution significance (i.e., author order in papers, which is domain-specific).
Perhaps CFF can support this by introducing an order key under authors (for root and refs), taking an int or number (floats could be useful for inserting authors in between int values), where there can be duplicate values across different authors to signify things like shared first authorship.

But note "contribution significance" depends on the application.

Author order with support for shared first authorship would be great!
I found it really hard to correctly cite even my own shared first authorship publications, among other things because it seems that APA style and BibTeX formats did not consider that it could be a thing at all.

I'm also interested in an order (or perhaps contrib or contribution) value. Not to sort the array that could otherwise be done by hand, but to reflect recent-ish developments in how citations are being used.
In my case, I'd like to use cff as the 'ground truth' in my package, but I need to maintain a copy with the following additional formatting...

One, A.*, Two, B.*, Three, C. ...
* Equal contribution

Would an alternative be a false-defaulted equal-contrib bool field which can be set to true in case of equal contribution? As far as my experience goes, such internal grouping (equal first vs. other authors) is only being made for grouping first authors. (Corner case: It could also be used to group other equal contributions, as long as there is one non-equal at the index between grouped authors.)
Internally, we would probably have to fit in a super def for author that supports this.
Another option: weigh contributions via role (see #112), where authors with the same highest role weight can be considered "equal contribution", but I think the former is more explicit and understandable.

equal-contrib bool would fit my use-case! If I understand correctly, it would also accommodate the first, but not the second case below.

Co-first and co-final, with intervening unspecified

One, A.1, Two, B.1, Three, C., Four D.2, & Five, E.2.
1 Equal Contribution
2 Equal Contribution

Co-first and co-middle - An edge case that could perhaps be accommodated by contrib as int/float, but maybe not worth the step-down in clarity

One, A.1, Two, B.1, Three, C.2, Four D.2, & Five, E..
1 Equal Contribution
2 Equal Contribution

I see role as a separate. It correlates, but co-first-authorship might be 'equal effort' across different roles.

One, A.1,2, Two, B.1,3, Three, C.2,3, Four D.3,4, & Five, E.5.
1 Contribution: Equal
2 Role: Manuscript Writing
3 Role: Data Analysis
4 Role: Lab work
5 Role: Grant Funding and Supervision


Update Virus Physics

Why did we have this line originally? You're basically adding numbers around until there is a total. Just add 1 number damnit! Also tested out, it's quite good for popsplitting and not so bad from the vanilla :D

I can't help but think that the number should be 3.885, not 4. And I'm pretty sure that (4.55 - 4.55) cancels its self out. I mean, (4.55 - 4.55) + 3.885 pretty much says 0 + 3.885.

My virus update (4.55 - 4.55) + 3.885 it is the best value 100 % identical to vanilla. Can not touch Virus.js, better physics split fix

Setting exp to Math.random() * (4.6 - 4.55) + 3.885; seems to look quite vanilla IMO.

@Agarian > I can't help but think that the number should be 3.885, not 4. And I'm pretty sure that (4.55 - 4.55) cancels its self out. I mean, (4.55 - 4.55) + 3.885 pretty much says 0 + 3.885.
which is why i made the pr xD

@Agarian

Setting exp to Math.random() * (4.6 - 4.55) + 3.885; seems to look quite vanilla IMO.

so basically ```javascript
Math.random() * 0.05 + 3.885
basically the result will be extremely close to 3.885

That doesn't change that fact that I think you should remove the (4.55 - 4.55);.

I force you @Fan7asy! Merge PR!

I like how nobody's still looked at MultiOgar's popped cells having perfect 2x scaling.

@Luka967 smartass

k

I won't merge this because the value should be 3.885 instead of 4.
(4.55 - 4.55) + 3.885 does equate to 3.885 after all.


arch-vega: Fix SDWA dst select

The destination select should take a value of the selection size (dword, word, or byte) starting at bit 0, move that to the selected destination, and then apply the unused constraint (DST_U) to the remaining word or bytes. Currently the code is selecting the word/byte currently being iterated over, rather than the least significant word/byte. As a result, any selection that is not word 0 or byte 0 will be replaced with the original destination value at those bits. This results in the wrong value.
This commit changes the orig bits to be the original dest value at the lowest word / byte location. Tested with the mfma_i32_16x16x16i8 example which uses an SDWA V_OR_B32 to pack i8 values into VGPRs for the MFMA.
Change-Id: I54ed819479a25fa9276d29a8f14f0fea7fd71afe

@mjkpolo , @v-ramadas FYI

I wonder if this changed since GCN3 -- this is my code you're fixing, and I thought I had tested it on non-"start at bit 0" cases at the time, but perhaps not ...

I don't think so, but the documentation isn't super clear on how some fields are handled, even the latest cdna3 spec.  This is how I interpreted it combined with observations from testing

I wonder if this changed since GCN3 -- this is my code you're fixing, and I thought I had tested it on non-"start at bit 0" cases at the time, but perhaps not ...

I don't think so, but the documentation isn't super clear on how some fields are handled, even the latest cdna3 spec. This is how I interpreted it combined with observations from testing

I must not have tested it properly then ...


Add securing techniques to documentation

Problem/Motivation
Too many people are asking for help with simple errors such as:

FATAL: Please choose a different password, this one is unsafe!
FATAL: The configured certfile is not found

Expected behavior
If someone follows the steps in the Installation section of the documentation, they should know that a secure password and setting up an SSL certificate are required by default.
Actual behavior
People are often confused by errors because they followed the current installation steps properly.
Steps to reproduce
Follow the steps found in the current installation section of the documentation.
Proposed changes

Add a step explaining to set a secure password.
Add a step explaining that SSL certificates need to be generated, otherwise SSL needs to be set to false.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

How about adding a step after install with this:

Configure this add-on, look at example and configuration options below.


NIFI-3131 - Qualifying nifi-env in nifi bat scripts, removing popd fr…

Thank you for submitting a contribution to Apache NiFi.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[x] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[x] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[x] Has your PR been rebased against the latest commit within the target branch (typically master)?

[x] Is your initial contribution a single, squashed commit?

For code changes:

[x] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[x] - N/A - Have you written or updated unit tests to verify your changes?
[x] - N/A - If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[x] - N/A - If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[x] - N/A - If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[x] - N/A - If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[x] - N/A - Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.
…om toolkit bat scripts

+1
Built and ran on Windows 7, and was able to start NiFi with run-nifi.bat from outside of the bin directory.

Merging after review by @jtstorck


Test suite test_suite_pk test pk_rsa_overflow passes valid parameters

Test suite test_suite_pk test pk_rsa_overflow passing valid parameters for hash/hash_len and sig/sig_len. Resolves #1179
Status
READY
Requires Backporting
Yes
Which branch?
mbedtls 2.1
mbedtls 2.7
Todos

[ ] Tests
[ ] Documentation
[X] Changelog updated
[X] Backported

@itayzafrir Apologies, I'd been looking at a branch with some refactoring. Indeed pk_rsa_alt is fine.

Would you mind rebasing your branch so that it has a clean commit history, before others review it?
In general we try to avoid rebasing because that makes the review history hard to follow. But here, since it's a simple fix which could fit in a single commit, a clean commit history would be a benefit. Also, merge commits are hard to review, please avoid merge commits in the PR unless there's a good reason for it, such as a conflict in a file other than ChangeLog (Git can't resolve ChangeLog conflicts natively but we have a script to fix them when merging). In general, it's fine to base a PR on top of the previous release, you don't need to track development if it doesn't interact with other changes in progress.

@gilles-peskine-arm rebased as requested

Could you please squash the two commits together? Otherwise, merging this PR will still add commits that introduces noise into the ChangeLog.
Thanks

Squashed as @Patater requested


v2 Section Header

Description
A new Section Header block is available, which follows the design shown on Figma - PDP - Section Header
Acceptance Criteria

[ ] The block is available for authors to use on pages.
[ ] The block follows the design shown in the Figma file.

Closing as completed by #109.


elseif with two spaces triggers exception

The following code triggers a parse error in twig.js (this compiles successfully in its PHP counterpart). Note I've only tested this for the elseif tag. It could affect other tags as well. Removing the extra space after elseif fixes the parse error.
Hi there
{% if true %}
Yup
{% else %}
{% if 1 > 2 %}
This should not print
{% elseif  5 > 2 %}
  This should print
{% endif %}
{% endif %}

Expected behavior: code compiles successfully despite the extra space after elseif
Actual behavior: code returns the following error:
TwigException: Unable to parse 'elseif  5 > 2'

Node version 12.13.1
Twig version 1.14.0

TwigPHP example
twig.js example


Passing data to Components is overly complicated - in common, simple examples

Setup
Vue.component('bars', {
    template: '#bars-template', // is this even necessary? just pickup all "x/template" 's automatically and infer the name from the id?
})

Instance
var d = {
    pts: [{x: 1, y:2}, {x: 3, y:4}],
    z: 2
}

var v = new Vue({
    el: "#graph", // this should pass the data into all child templates automatically
    data: d
})

Why do I have to pass data down in my html elem?  Why doesn't it have access to the Vue instance that it is a child of like normal html would?

    <bars :pts="pts"></bars>

So that I can do this:

    <bars></bars>

Let's say parent components pass all its data implicitly into all children. Now all your child components implicitly make use of these parent scope variables.  It uses this mysterious property which you have no idea where it is inherited from in the parent chain. And because there are no hints in the template (where the actual composition happens), you have to check the implementation details of every component in the chain to figure out which one of them introduced this property into the scope.

You want to extract out a child component out for reuse, but it makes use of inherited properties which makes it tightly coupled to its parent components. It's so much work to refactor everything to make it reusable so you just give up.

Because <bar> is a component, it may get used in different context, by different parent. The explicit data passing makes the individual component decoupled from its usage context, makes it easier to reason about and maintain, and makes the component reusable if necessary.

First of all - thank you for the response.
Regarding #1 - closures could be applied here as well to grab the closest vue instance.  Yes, check the component chain.  Brilliant.
Then you could reference the properties of the vue instance directly.  In my example above: pts and z.
Regarding #2 - Child component is expecting x, y, and z, it is tightly coupled to a source of this structure anyways, regardless of how the data got there or what it is named...therefore:
Explicit data passing is only required when part of parent collections are named differently but have the same internal structure (x, y, z) - an unusual design.  And in this scenario, you could still pass data explicitly.  Win-win.
I would also like to note that I was forced to abandon templates and inject templates with jquery because I actually just could not get it to work due to syntax.
I wanted to pass into my template the entire 'd' object...couldn't figure it out from the documentation.
Would be awesome if this worked:
<bars :d="d"></bars>

Or even better: http://es6-features.org/#PropertyShorthand
<bars :d></bars>

Vue.js is a sophisticated framework that uses established principles from other established libraries and framework. It's unlikely (and undesirable!) that it's throwing away its core principles due to your argumentation, so I don't really know what you're aiming for.
Why don't you provide a jsfiddle, so we can try to help you in your specific use case that didn't work out for you? :)

Sure.
https://jsfiddle.net/2rv60f4q/

Here are a few things that needed to be fixed:

You are passing d directly to the instance as root data. Instead you should be passing it in as data: { d: d };

Your bars component did not declare the props it expects. Add props: ['d'] to its definition;

You cannot use {{}} syntax for SVG attributes (see errors in the console). Use v-bind:x or shorthand :x instead.

Working fiddle: https://jsfiddle.net/2rv60f4q/2/

Evan - thanks.  #3 is probably not your fault and not a big deal...
Regarding #2:
Is there any way to make the template system transparent (optionally)?  To just pass through all data as props automatically all the way down through the component when:
1? The data is declared data: d
2? As some Vue parameter option?
 Notice how I don't need these redundancies:

Props props: ['d']
Redundant data syntax data: { d: d }
Html parameters <bars :d="d">

When I first discovered Vue I was in shock, because of the simplicity of its design.  Everything is meticulously simple (without sacrificing any functionality).  It literally could not be any cleaner if you tried - and that's beautiful.
However:
Doing in a component what a standard Vue instance can do requires 2 extra declarations and 1 extra abstraction in the way I pass data.  That's not simple.  I know there is great abstraction here - and reason for it - but often we don't need it - and Vue usually isn't the right place to do these abstraction (my opinion).  Many times I just wan't the template to function in the exact way that the Vue instance functions - as if there was no template at all...which brings me to #1.
Regarding #1:
I don't ever pass data like this:
new Vue({
    el: "#id",
    data: {
        a: a,
        b: b,
        c: c,
        d: d
    }
})

In my opinion it shouldn't even be Vue's job to worry about this.  Let Vue work on complex objects and let the developer package, name, alias the object however they want first.
var j = {
    a: a,
    b: b,
    c: c,
    d: d
}

new Vue({
    el: "#id",
    data: j
})

Not letting me access the root object in props and subsequently the html is doing a major disservice to your component system - because I have to use an expanded syntax.
This combined with your props system makes the component system significantly more complicated than it needs to be - which goes against the reasons I chose Vue in the first place.
I am going to continue to use Vue but to be honest it is cleaner for me to inject that html manually and not have to worry about passing data around in the component system.
Please consider if a feature like this is something you think would benefit your framework.
Thanks for the help!

Component is the boundary for simplicity. The whole point of components is so that you break your code into logically isolated units. If you feel it's redundant to pass data then you are probably using components prematurely when you don't actually need it. Remember Vue is not just for simple stuff. When you focus on "how simple it is", you probably don't realize the maintainability issues this will give rise to in large applications.
Re how to pass data: you are missing the point. The point is the data object you pass to a Vue instance is just a container - Vue needs to know the property name in order to reference to them in templates. In the case of
var d = {
  a: 123
}

new Vue({
  el: '#id',
  data: d
})

There's no way Vue can tell the original object has a variable name of d. You can only access a in your templates, because that is the top level property the Vue instance ever sees.

"Vue needs to know the property name in order to reference to them in templates."
Yes a.  But it shouldn't need to know the parent object name! d
"There's no way Vue can tell the original object has a variable name of d. You can only access a in your templates, because that is the top level property the Vue instance ever sees."
But I don't need to know/care what the variable name is.  The only reason I have to put the name of the variable here is because passing data into components requires it (which I wouldn't have to do if there was an option to pass all data automatically).  I only need access to a.  If I could pass into components <bars :d="*"></bars> where * is the root then this issue would be resolved and it would be on to the next issue.
"Remember Vue is not just for simple stuff. "
Of course not, Vue is great at making complicated stuff simple - that's the best thing about Vue.
I am not saying that Vue should pass all data down automatically, I am just saying that I should have the option to do that.

@FEA5T

You can pass the whole $data (but you can not assign the root of the component data).
You can have a single root property in your root instance data, and have all components accept the root and pass the root to the subcomponents.
You can make the data global, and observe it from every component.

All of the above options reduce reusability of the your components to some extent.
Demo: http://jsfiddle.net/simplesmiler/8bynp8xn/

@simplesmiler
@yyx990803
Solution: http://jsfiddle.net/rfn3hxrc/3/
Html

JS
var d = {
    a: 'Freindship',
    b: 'Magic'
};

new Vue({
    el: '#demo',
    data: d,
    template: '#demo-template',
    replace: false
});

By using the template system I can access all the data.
"you are missing the point"
"you are probably using components prematurely when you don't actually need it"
^ nail on the head

Sorry late chimer... I see what FEA5T is saying... what none of you are saying though is... the loss of DRY by repeating data declarations props etc... is a small violation considering the benefits, modularity, re-usability etc. I think FEA5T gets it, however, this rant may just be so the rest of us can admit to our awe in FEA5T's brilliance. So I will say it, You FEA5T are indeed smarter than the teams of people developing frameworks, Vue included. May we get your resume?

How to pass events elegantly? Let's say, to build a vue component called <v-button>: event listeners and properties need to be passed explicitly when using templates otherwise there is no easy way to bind event listeners:
<template>
    <button @mouseover="handleMouseOver" @mousemove="handleMouseMove" @mousedown="handleMouseDown" @mouseup="handleMouseUp" @keydown="handleKeyDown" .....></button>
</template>

Besides, deriving the <v-button> to a child component (e.g. <v-ghost-button>) is hard. Repeating those properties and event handlers again is a completely violation of DRY:
<template>
    <v-button @mouseover="handleMouseOver" @mousemove="handleMouseMove" @mousedown="handleMouseDown" @mouseup="handleMouseUp" @keydown="handleKeyDown" .....></v-button>
</template>

Now, it seems that the only way to implement <v-ghost-button> is to merge its functionality into <v-button>.. Then it is a violation of KISS.

Yo FEA5T - try this solution.
Creates no dependencies on parent components.
Creates  no dependencies on child components.
Does not require passing any data from component to component.
Does not require you to receive any data from any other component.
Does not even require any components at all.
Simple solution - does not even require vue.  Here it is...
Create a data model in its own .js and export it.  Import this data model in whatever components you want to use it.  Use it.
The other answer is a question - why are you using vue?  Just go back to regular javascript, declare a and b in page scope and access them exactly like you want.

This issue is over two-year old, has been closed for quite some time, and doesn't even apply to the current state of Vue...


wrong terminal accessible view is opened

Testing #199023
https://github.com/microsoft/vscode/assets/29464607/4521b516-68b7-46b1-928a-24f460b1a74f

Curious about how the other window's terminal is remaining the active one when I have focus in the one in the aux window.

This works for me now


Handle Image Too Large error

This exception is causing the application to crash:
java.lang.RuntimeException: Canvas: trying to draw too large(xxxbytes) bitmap.
at android.view.DisplayListCanvas.throwIfCannotDraw(DisplayListCanvas.java:260)
at android.graphics.Canvas.drawBitmap(Canvas.java:1415)
at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:528)

Fix in beta


refactor: removed POST asset endpoint

Reason for Change

#5697

Changes

Removed POST /datasets/datasetId/asset/assetId endpoint and related test code.

Although @MillenniumFalconMechanic 👀 at failing e2e-test in GHAs...


Add users management

There should be a basic admin role, and then individual users.

I was just thinking this myself, I'd like to see a user management feature allow separation of users and admins and their links.

This app is been doing really great for us but a major drawback for us is the UI has no user management.
So if we can have an admin and access based user management that would be great since url shortners are majourly used for services that go external, so we need to manage who can delete or edit shortened url.
Due to this for now we have kept the UI down.
Would be great to have this feature

also I am using shlink web client and want to use this dashboard.
Is this a sep deployment we can take or integration.


Oracle Entity Framework Generated Context Exception:Schema specified is not valid. Errors: (0,0) : error 2019: Member Mapping specified is not valid. The type 'Edm.Boolean[Nullable=True,DefaultValue=]' ...

Hi, awesome Effort and code!
I'm trying to use it for Oracle, I've fixed Export CSV Tool, now I'm trying to run simple example:
var dl = new CsvDataLoader("...");
var connection = Effort.EntityConnectionFactory.CreateTransient("name=EapEntities", dl);
var db = new EapEntities(connection);
db.CM_HUMAN.Take(100).Dump();
and getting this errors:
MappingException: Schema specified is not valid. Errors:
(0,0) : error 2019: Member Mapping specified is not valid. The type 'Edm.Boolean[Nullable=True,DefaultValue=]' of member 'DEFAULT_FLAG' in type 'Model.CE_CATALOG_ENTRY_NG' is not compatible with 'Effort.decimal[Nullable=True,DefaultValue=,Precision=1,Scale=0]' of member 'DEFAULT_FLAG' in type 'Model.Store.CE_CATALOG_ENTRY_NG'.
(0,0) : error 2019: Member Mapping specified is not valid. The type 'Edm.Boolean[Nullable=True,DefaultValue=]' of member 'CITY_LOOKUP_BROKEN' in type 'Model.CM_ADDRESS' is not compatible with 'Effort.decimal[Nullable=True,DefaultValue=,Precision=1,Scale=0]' of member 'CITY_LOOKUP_BROKEN' in type 'Model.Store.CM_ADDRESS'.
(0,0) : error 2019: Member Mapping specified is not valid.
I've attached debugger and can see that error happening at:
at Effort.Internal.Common.MetadataWorkspaceHelper.CreateMetadataWorkspace(List1 csdl, List1 ssdl, List`1 msl)
at this line in  \effort-master\Main\Source\Effort\Internal\Common\MetadataWorkspaceHelper.cs
        StorageMappingItemCollection smic = new StorageMappingItemCollection(eic, sic, msl.Select(c => c.CreateReader()));

at System.Data.Entity.Core.Mapping.StorageMappingItemCollection.Init(EdmItemCollection edmCollection, StoreItemCollection storeCollection, IEnumerable1 xmlReaders, IList1 filePaths, Boolean throwOnError)
at System.Data.Entity.Core.Mapping.StorageMappingItemCollection..ctor(EdmItemCollection edmCollection, StoreItemCollection storeCollection, IEnumerable1 xmlReaders)    at Effort.Internal.Common.MetadataWorkspaceHelper.CreateMetadataWorkspace(List1 csdl, List1 ssdl, List1 msl)
at Effort.Internal.Common.MetadataWorkspaceHelper.Rewrite(String metadata, String providerInvariantName, String providerManifestToken)
at Effort.EntityConnectionFactory.b__1(String metadata)
at Effort.Internal.Caching.MetadataWorkspaceStore.<>c__DisplayClass1.b__0()
at System.Lazy1.CreateValue() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Lazy1.get_Value()
at Effort.Internal.Caching.ConcurrentCache2.Get(TKey key, Func1 factory)
at Effort.Internal.Caching.MetadataWorkspaceStore.GetMetadataWorkspace(String metadata, Func`2 workspaceFactoryMethod)
at Effort.EntityConnectionFactory.GetEffortCompatibleMetadataWorkspace(String& entityConnectionString)
at Effort.EntityConnectionFactory.CreateTransient(String entityConnectionString, IDataLoader dataLoader)
at UserQuery
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
Any ideas appreciated :+1:

Hi,
I have never messed with Oracle compatible EDMX files. Could you share me the parts mentioned by the error message?

Hi,
I have the same problem.
This is how the column is defined in the EDMX:

Hi,
Same issue for me with all fields with Oracle Number(1) type that are mapped as boolean in my model.
Is there any update on the subject or any workaround ?
thx

Hello @emilievix ,
Could you provide us a project with this issue including the SQL to create the tables?
It will help my developer to get started faster.
Best Regards,
Jonathan

Hi @JonathanMagnan ,
Unfortunately, I can't give you the project since it is a (huge) commercial application (and of course, as usual, I'm running out of time on the subject to create a sample project).
I have this issue for all fields that are set to boolean type in my edmx model.
These fields are all mapped to fields defined as number(1) in my Oracle database (I think this is a new default mapping for EF6 / ODP.NET).
When I modify the type of the field in the edmx model (to Int16 for example), the mapping issue with Effort disappears.
I suppose that just creating a table with such a field, and create a model that includes this table should allow to reproduce the issue.
Sorry that I can't provide more to help you start in better conditions...
Best regards,
Emilie.

Hi,
Same issue for me with all fields with Number(1) Oracle type that are mapped as boolean in my model.
Is there any update on the subject or any workaround ?
thx

Hi,
I have this exact same problem here right now.
Is there any workaround available at this time?

Hi! Any news about this problem?

Hello @lssilveira11 ,
Unfortunately when we tried, we didn't successfully find how to fix it ;(
I thought it would have been easy at first but after spending some time on it, we didn't reach any solution to make it work correctly
So I guess, for now, it will be unsupported.

Hello everyone,
We still have not fully solved this issue but it is now possible to provide a Manifest to Effort which should do the job.
So it is possible on your side to customize the manifest the way you want. However, it doesn't mean that other type not specified in the original manifest will work since it might require some custom logic.
I have attached an example.
Let me know if you have question
Console.zip


⚠ Samsung has degraded performance

In e9922ab, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2245 ms

Resolved: Samsung performance has improved in 53f8e6e.


Update git-with-visual-studio.md

A wrong command (git commit) was associated with git unstage action. This change fixes that but using the git reset command

@saip106 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@saip106 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@prnadago @Taysser-Gherfal FYI on this and the suggested change as noted in the previous comment.

@prnadago @Taysser-Gherfal FYI on this and the suggested change as noted in the previous comment.

created a new PR, hence closing this one

created a new PR, hence closing this one


Nan Loss

Hello, when i try to train, i find the loss is nan. I did not change any code. Could you give me some advise?

my cmd:
python train.py --train-images-folder /root/Source/sl_dataset/coco2017/train2017/ --prepared-train-labels prepared_train_annotation.pkl --val-labels val_subset.json --val-images-folder /root/Source/sl_dataset/coco2017/val2017/ --checkpoint-path checkpoints/mobilenet_sgd_68.848.pth.tar --from-mobilenet

And i do not know why the speed of loading the model is very slow. It needs about 30 mins to strat the train. My GPU is 3090 * 2.

I find the problem. My cuda version is wrong.


allow faraday < 1.0

do you see any risks in allowing this? would love to be able to update our faraday verision :)

Hmm ... I don't see why it would be necessary?
Faraday's latest release is 0.15.x. I'm very hesitant to allow for anything under 1.x since the project follows Semantic Versioning and in theory could entirely change the API between 0.15 and 0.16. Until an official 1.0 release, I'd rather not allow any 0.x release to work without testing.

Just a heads up for you: The current HEAD of the faraday library is completely broken against this library. It looks like they've renamed all of the Error modules. 😦


added support for mariadb uuid native type

This PR adds support for notive UUID datatype for SQL mariaDB. Since version 10.7.0 the uuid datatype was introduced. It offers better performance than the varchar(36) binary that ent now offers.
The check will make sure mariadb and the correct version is used to allow the UUID datatype. This was tested during creating a migration file.
Als in the dependent project atlas i created a PR that is kinda dependent before this change can be merged
Please check https://github.com/ariga/atlas/pull/1302

Still the PR on atlas needs to be merged to have the new uuid type available, i will give a sign once that one is merged

@a8m @giautm is there any chance this PR can get merged? I just rebased and updated the PR and checked all is still working as expected. Thanks

@a8m @giautm just rebased it with  master v0.12.5 and working great.
Could you please check this PR if the added changes can be merged into ENT. Thank you

cc @a8m, your thought?


Setting width of helplines by option

I had a similiar wish  as @mmanolescu  had in issue #137 Indentation in help:

I use multiline helptexts, which should be set with the right indentation.
Additionally I want to change the allowed length of lines of help texts.

The following patch to commit https://github.com/jarro2783/cxxopts/commit/073dd3e645fa0c853c3836f3788ca21c39af319d gives us these things.
Patch
--- cxxopts.hpp     2019-11-10 19:34:01.295925400 +0000
+++ cxxopts.hpp     2019-11-10 19:38:25.647845500 +0000
@@ -1297,6 +1297,7 @@
     , m_positional_help("positional parameters")
     , m_show_positional(false)
     , m_allow_unrecognised(false)
+    , m_width(76)
     , m_options(std::make_shared<OptionMap>())
     , m_next_positional(m_positional.end())
     {
@@ -1330,6 +1331,13 @@
       return *this;
     }

+    Options&
+      set_width(size_t width)
+    {
+      m_width = width;
+      return *this;
+    }
+
     ParseResult
     parse(int& argc, char**& argv);

@@ -1414,6 +1422,7 @@
     std::string m_positional_help;
     bool m_show_positional;
     bool m_allow_unrecognised;
+    size_t m_width;

     std::shared_ptr<OptionMap> m_options;
     std::vector<std::string> m_positional;
@@ -1540,6 +1549,13 @@

         if (*current == '\n')
         {
+          stringAppend(result, startLine, current + 1);
+          stringAppend(result, std::string(start, ' '));
+          startLine = current + 1;
+          size = 0;
+        }
+        else if (*current == '\0')
+        {
           startLine = current + 1;
           lastSpace = startLine;
         }
@@ -2086,7 +2102,7 @@
   longest = (std::min)(longest, static_cast<size_t>(OPTION_LONGEST));

   //widest allowed description
-  auto allowed = size_t{76} - longest - OPTION_DESC_GAP;
+  auto allowed = m_width - longest - OPTION_DESC_GAP;

   auto fiter = format.begin();
   for (const auto& o : group->second.options)

Example of use (snippet)
    cxxopts::Options options(argv[0], " - Do something interesting");

    options
      .positional_help("[optional args]")
      .show_positional_help();
      .set_width(120)
      .add_options()
      ("t,timestep", "Set timestep in seconds\nDefault: 1.0", cxxopts::value<double>(timestep))
      ("n,number_of_orbits", "Number of orbits to be computed\nDefault: 3, no limit: 0", cxxopts::value<int>(number_of_orbits))
      ("m,method", "Method for simulation\n"
                   "Method 1: steps with linear simulation\n"
                   "Method 2: steps with quadratic simulation\n"
                   "Method 3: steps with quadratic simulation and average of accelerations (Default)", cxxopts::value<int>(method))
      ("v,view", "Print results in range -val..+val at the perihel, val in seconds of arc\nDefault: 6.0", cxxopts::value<double>(view))
      ("h,help", "Print help")
      ;

Helptext created by .set_width(120)
MyProgram.exe - Do something interesting
Usage:
  MyProgram.exe [OPTION...]

  -t, --timestep arg          Set timestep in seconds
                              Default: 1.0
  -n, --number_of_orbits arg  Number of orbits to be computed
                              Default: 3, no limit: 0
  -m, --method arg            Method for simulation
                              Method 1: steps with linear simulation
                              Method 2: steps with quadratic simulation
                              Method 3: steps with quadratic simulation and average of accelerations (Default)
  -v, --view arg              Print results in range -val..+val at the perihel, val in seconds of arc
                              Default: 6.0
  -h, --help                  Print help

Helptext created by .set_width(50)
MyProgram.exe - Do something interesting
Usage:
  MyProgram.exe [OPTION...]

  -t, --timestep arg          Set timestep in seconds
                              Default: 1.0
  -n, --number_of_orbits arg  Number of orbits to be computed
                              Default: 3, no limit: 0
  -m, --method arg            Method for simulation
                              Method 1: steps with linear simulation
                              Method 2: steps with quadratic simulation
                              Method 3: steps with quadratic simulation and
                              average of accelerations (Default)
  -v, --view arg              Print results in range -val..+val at the
                              perihel, val in seconds of arc
                              Default: 6.0
  -h, --help                  Print help

Thanks, that looks useful. Can you submit it as a PR?

Hello,
I am pretty busy this time, but In  the next days I will do.
I found another issue:
inline
String
Options::help_one_group(const std::string& g) const
{
…
//widest allowed description

auto allowed = size_t{76} - longest - OPTION_DESC_GAP;

Now, when longest is too big ( 76 <  longest + OPTION_DESC_GAP), the result is negative.
Unfortunately size_t is unsigned, so the result is a very big number.
The help text is accordingly set without additionally linebreaks.
Because of that nobody has recognized, I think.
To change this is maybe a little academical:
//widest allowed description
auto allowed = size_t{};
if (m_width < (longest + OPTION_DESC_GAP + 10))
{
allowed = longest + OPTION_DESC_GAP + 10;

}
else
{
allowed = m_width - longest - OPTION_DESC_GAP;

}
The helpline is truncated but only til friendly 10 chars – otherwise there would be nothing or maybe a loop.
A shorter version would be:
//widest allowed description
auto allowed = longest + OPTION_DESC_GAP + 10;
if (m_width >= allowed)
{
allowed = m_width - longest - OPTION_DESC_GAP;

}
Best regards, Wolfgang
Von: jarro2783<EMAIL_ADDRESS>Gesendet: Montag, 11. November 2019 22:25
An: jarro2783/cxxopts<EMAIL_ADDRESS>Cc: Wolfgang Gahr<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Betreff: Re: [jarro2783/cxxopts] Setting width of helplines by option (#213)
Thanks, that looks useful. Can you submit it as a PR?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/jarro2783/cxxopts/issues/213?email_source=notifications&email_token=ALEUYFF6UBUE6YI2V2RGPDLQTHETDA5CNFSM4JLOBSD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDYFWTY#issuecomment-552622927 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ALEUYFAET6Y3FKL5UWTZZWLQTHETDANCNFSM4JLOBSDQ .  https://github.com/notifications/beacon/ALEUYFEAS5JI2DKNV3SFFYDQTHETDA5CNFSM4JLOBSD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDYFWTY.gif

I'm trying to print a multiline help message with v2.2.0. It seems that format_description(...) skipped the \n in the description. The simplest way to show it is to modify example.cpp like this
-       ("help", "Print help")
+       ("help", "Print\nhelp")

The first line Print will be skipped.
Is this a bug or something? Anyway, it has been fixed by this patch.

@wgahr123 , @wgahr123 - Has this been made into a PR yet? Don't show up on the PR list
This is just what I'm looking for.

Hi,
I am making some higher level stuff (https://github.com/ashlander/protoargs)  based on your great project. And I am really missing "\n" or similar support, providing better formatting. I use 2.12 release version right now.
I see there are some changes about multi-line help supports here, but I can't find any signs of it in the repo despite merge commit. Am i correct that it is still not merged even partially (and no release) ?
Thanks

Because of unicode problems I had to rewrite the change, and added the handling for tabulators. That’s why I took back #213 and it is now #215.
Von: Henrik Jensen<EMAIL_ADDRESS>Gesendet: Sonntag, 5. April 2020 20:21
An: jarro2783/cxxopts<EMAIL_ADDRESS>Cc: Wolfgang Gahr<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Betreff: Re: [jarro2783/cxxopts] Setting width of helplines by option (#213)
@wgahr123 https://github.com/wgahr123  , @wgahr123 https://github.com/wgahr123  - Has this been made into a PR yet? Don't show up on the PR list https://github.com/jarro2783/cxxopts/pulls
This is just what I'm looking for.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/jarro2783/cxxopts/issues/213#issuecomment-609459802 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ALEUYFGSXM6IWFJCXMUCCL3RLDDX5ANCNFSM4JLOBSDQ .  https://github.com/notifications/beacon/ALEUYFB2AVTYJKYIUFUGA4TRLDDX5A5CNFSM4JLOBSD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOERJZ4WQ.gif

The replacement PR 215 was merged already.


RAINCATCH-1131 - user module

Motivation
WFM user module for purpose of user management.
For the moment it will be used only for fetching list of users to be listed in workflow creation screen.
Progress

[x] Implementation
[ ] Unit tests
[ ] Documentation
[ ] Example

Changes Unknown when pulling 2f1a9c19b89657b71dcebab95b67676c53b68194 on wtrocki:RAINCATCH-1131 into ** on feedhenry-raincatcher:master**.

Changes Unknown when pulling 2f1a9c19b89657b71dcebab95b67676c53b68194 on wtrocki:RAINCATCH-1131 into ** on feedhenry-raincatcher:master**.

Changes Unknown when pulling fc057c1c87b5ea5633bff67ee1c6dd376bc4d83b on wtrocki:RAINCATCH-1131 into ** on feedhenry-raincatcher:master**.

Changes Unknown when pulling fc057c1c87b5ea5633bff67ee1c6dd376bc4d83b on wtrocki:RAINCATCH-1131 into ** on feedhenry-raincatcher:master**.

Changes Unknown when pulling e3636121187f6b43dbc2da0d6e295131ea134a1e on wtrocki:RAINCATCH-1131 into ** on feedhenry-raincatcher:master**.

Changes Unknown when pulling e3636121187f6b43dbc2da0d6e295131ea134a1e on wtrocki:RAINCATCH-1131 into ** on feedhenry-raincatcher:master**.

Changes Unknown when pulling 42afdfb0acc353e3b20ca9ab4fbda1a3884cf3d3 on wtrocki:RAINCATCH-1131 into ** on feedhenry-raincatcher:master**.

All work done. Ready for review.
Note: Created separate ticket to deal with bluebird. For the moment demo application is missing bluebird types which are resolving this issue:
https://issues.jboss.org/browse/RAINCATCH-1178

Changes Unknown when pulling 99f446559f167ba5afd292a839cc1b9f93b67a00 on wtrocki:RAINCATCH-1131 into ** on feedhenry-raincatcher:master**.

Changes Unknown when pulling 99f446559f167ba5afd292a839cc1b9f93b67a00 on wtrocki:RAINCATCH-1131 into ** on feedhenry-raincatcher:master**.

Changes Unknown when pulling db1a705165a6510f5791adae11a1ecbf11f62773 on wtrocki:RAINCATCH-1131 into ** on feedhenry-raincatcher:master**.

Changes Unknown when pulling db1a705165a6510f5791adae11a1ecbf11f62773 on wtrocki:RAINCATCH-1131 into ** on feedhenry-raincatcher:master**.

Changes Unknown when pulling 81c34742ae74ddbd9ae7f05f7eae65ceac4cd91b on wtrocki:RAINCATCH-1131 into ** on feedhenry-raincatcher:master**.

Changes Unknown when pulling 81c34742ae74ddbd9ae7f05f7eae65ceac4cd91b on wtrocki:RAINCATCH-1131 into ** on feedhenry-raincatcher:master**.


reinstate javascript implementation of indexOf

@akroshg This doesn't really show up noticeably in our benchmarks as they don't use indexOf on hot paths. In a micro-benchmark it shows 20x-30x improvement


chore: Allow manual date entry for scheduling

Thanks for submitting a PR! Please check the boxes below:

[x] I have run pre-commit to check linting
[x] I have added information to docs/ if required so people know about the feature!
[x] I have filled in the "Changes" section below?
[x] I have filled in the "How did you test this code" section below?
[x] I have used a Conventional Commit title for this Pull Request

Changes
Allows manual date entry for scheduling, one caveat is that we no longer show the timezone (i.e. their local one), I think this was confusing anyway.
https://github.com/Flagsmith/flagsmith/assets/8608314/dd89f701-5717-40fd-b5e3-6b99c3c4064c
How did you test this code?
As above

@kyle-ssg the timezone is really important here, I get asked about it every time I show this feature. Can we just add some copy below stating that all times are in the local timezone or something?

@kyle-ssg the timezone is really important here, I get asked about it every time I show this feature. Can we just add some copy below stating that all times are in the local timezone or something?

Ok yep, added for when the user selects a future date

I still think we can do more here to make it obvious when you're choosing a date. Otherwise we're going to get support questions down the line, I'm sure of it.

Can we just add something to the tooltip for example?

Ok, have added "All dates are displayed in your local timezone." to the tooltip


Start of trying to handle nested annotation_types

This is the start of what I was proposing in https://github.com/cython/cython/issues/3883#issuecomment-1025226745 (just to try to illustrate what I meant). I'm almost certain it's not in a working state....
I think it should let nested types e.g. typing.Tuple[int, int] follow the "normal" Cython annotation-typing rules.
@scoder - I can pick this up properly and try to finish it if you want or I can leave it to you to fix as you'd like...

I'm already working on this. Thought that it might be ok to add a flag to env whether C types are allowed in the current scope.

I'll close this then

Thanks anyway


[Test-3288][server] Fix github ci unit test oom

What is the purpose of the pull request
**Fix the github action oom #3288 **
Brief change log

Optimize the MasterExecThreadTest.java by using PowerMock
Add the stopper to TaskPriorityQueueConsumerTest.java
Add the unregistry function to release the resource in all test case which used the registry

Codecov Report

Merging #3305 into dev will increase coverage by 0.06%.
The diff coverage is 43.68%.

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


really not helpful

[Enter feedback here]

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 1c12442d-8600-3f14-f370-d6cc37cf2434
Version Independent ID: baff248f-f955-451b-a3b8-6158df9804cf
Content: Compiler Error CS1113
Content Source: docs/csharp/misc/cs1113.md
Product: dotnet-csharp
Technology: csharp-diagnostics
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Thanks for alerting us to this @greg-adze
This should have more information on why the error exists and how to work around it.


Format of TUDataset txt file

Hi I'm currently working on running TUDatasets (REDDITBINRARY & NCI109) by running following command
sh ./exp/scripts/cwn-nci109.sh
sh ./exp/scripts/mpsn-redditb.sh

I checked REDDITBINARY & NCI109 from here but noticed that they have multiple types of txt file such as..
[ REDDITBINARY ]

REDDIT-BINARY_A.txt
REDDIT-BINARY_graph_indicator.txt
REDDIT-BINARY_graph_labels.txt

[ NCI109_A ]

NCI109_A.txt
NCI109_graph_indicator.txt
NCI109_graph_labels.txt
NCI109_node_labels.txt

However I found that data/tu_utils.py ->def load_data(path, dataset, degree_as_tag): only takes one txt file.
## data/tu_utils.py
def load_data(path, dataset, degree_as_tag):
    """
        dataset: name of dataset
        test_proportion: ratio of test train split
        seed: random seed for random splitting of dataset
    """

    print('loading data')
    g_list = []
    label_dict = {}
    feat_dict = {}

    with open('%s/%s.txt' % (path, dataset), 'r') as f: ## <- only takes one txt file..
        n_g = int(f.readline().strip())
        for i in range(n_g):
            row = f.readline().strip().split()
            n, l = [int(w) for w in row]
            if not l in label_dict:
                mapped = len(label_dict)
                label_dict[l] = mapped
            g = nx.Graph()
            node_tags = []
            node_features = []
            n_edges = 0
            for j in range(n):
                g.add_node(j)
                row = f.readline().strip().split()
                tmp = int(row[1]) + 2
                if tmp == len(row):
                    # no node attributes
                    row = [int(w) for w in row]
                    attr = None
...

So I want to ask what txt file this code requires..
Thank you :)

As explained in the README, the TUDatasets should be downloaded from https://www.dropbox.com/s/2ekun30wxyxpcr7/datasets.zip?dl=0
Let us now if you have further questions.


Field renaming tests

The tests that go along with the changes outlined in PR #970.

Can you also add a test where two fields are renamed to the same value?


fix go.mod、comment in server

What problem does this PR solve?
fix go.mod
fix comment in server module
What is changed and how it works?
go mod tidy

No code

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.liushengjie9506 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


yii2-scheduler index view access help

Hi,

I installed your Yii2-scheduler using composer and followed the readme
instructions. I verified more than once that I followed
the instructions exactly. I am trying to figure out how to access the
following views:

index
update
view-log

I would like to add a menu item to access to Scheduler index.php view in
my main.php using the Nav:widget. Can you help
me be emailing me the correct    'url' => ['']  to get this to work.

We are using the Yii2-app-basic folder setup. We also notice that the
Module.php file is in the src folder and not the root folder of this extension. Is this correct?

We would really like to get this to work. Any help would be greatly
appreciated.

Thank you

Lloyd

Solved


⚠ Bofrost.be has degraded performance

In a144cd0, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 881 ms

Resolved: Bofrost.be performance has improved in a4bfc4a.


Paper.clear() also clear defs, which it shouldn't

The documentation states that Paper.clear() should not clear defs (which is good as you may have gradients etc set up there), but in actuality it does clear defs as well leaving an completely empty svg.
I'm using snapsvg 0.4.1
As I'm using jquery my workaround was:
$("#svg").children().not('defs').remove();
And that is the behavior I expect from Paper.clear()

Could you put a jsfiddle up ?

https://jsfiddle.net/jgmn2jr5/
There you go. The "s.clear();" line should make no difference as it shouldn't remove defs, but it does. Run the code with the line commented out -- works. Apply it, doesn't work

Paper.clear()
Removes all child nodes of the paper, except <defs>.

This is a little ambiguous, as you have discovered it does not remove the <defs> node, but it does remove all of it's children, so this is not a bug. I think the intention is to be able to expect the <defs> node to always exist so it can be appended to without checking for it's existence every time.
If you are after a generic one liner for clearing everything in an SVG excluding the <defs> node and it's children, you can use the not operator in a query selector like so:
Paper.selectAll('SVG > *:not(defs)').remove()

Ok fair enough, closing this. I saw on stackoverflow that others have had the same issue with the same misconception, so I think the documentation should be clarified, perhaps adding in that oneliner for us that need the other behaviour.
In my case I have empty svgs in my HTML but with the defs set up with stuff like gradients and blurs which I then use in the snap code. Those SVGs are re-rendered from scratch to adapt to various layout adjustments, and then clearing them but keeping defs intact is logical.

@atorger
I think there is a better solution for your use case: Load the defs and your content into separate in-line SVGs. In-line SVGs share defs and ids with each other for the entire HTML frame, so your references will work in exactly the same way. The defs SVG doesn't need to be visible just present somewhere in the DOM.
It's good to understand this because it also means polluting the global in-line SVG scope is very easy, declarative SVG references such as filter="url(#blur)" are absolute and cannot be given context like query selectors... in fact references aren't even assumed to be under a defs node.

Thanks for that tip, I'll look into doing it like that.


Resolve question about MPI thermodynamics parallelisation on RectGrid and ParGrid

The MPI parallelisation work in #331has been done for the Rectangular Grid so far, not for the Parametric Grid. The simulations, however, are all run on the Parametric Grid, the RectGrid is mainly used for testing. Extending the MPI parallelisation the the ParGrid would mean a lot of code duplication. There are three options, the first of which is not desirable from a software engineering perspective:

Do the same parallelisation for the ParGrid, accepting the code duplication. (not nice)
Move the parallelisation over to the ParGrid and get rid of the RectGrid

This would have a number of implications, such as adapting the tests and regenerating NetCDF files.

Create a parent class AbstractGrid (or so) from which both ParGrid and RectGrid inherit, and move the parallelisation there.

This will probably be the most involved and time-consuming of the options, but also (probably) the most elegant.

We need to make a decision on how to go forward with this.

Move the parallelisation over to the ParGrid and get rid of the RectGrid

This would have a number of implications, such as adapting the tests and regenerating NetCDF files.

The number of implications it would have is 2. The restart files init_rect20x30.nc and init_rect30x30.nc would have to be regenerated from updated scripts. Since these binary files are moving out of the repo Real Soon Now™, this should not be a problem. There is an intention to use the 30x30 test as a very quick , basic integration test, but this is not currently implemented, and could be equally easily be done from a future parametric_rectangular version of the file.
Strong vote for option 2.

@einola , do you have an opinion here? If you do not contradict we'll go with @timspainNERSC 's vote.

I agree with @timspainNERSC. We can go ahead with option 2.


Update error handling

Error handling isn't configured correctly and it is needed to update the code to capture appropriate exception messages and return them to the console output on the main window.

This bug is closed with "feature/advanced_GUI" branch merging with develop. I am closing it manually.


SetP2PUpdate GPO

there is a gpo since 1511 which handles the delivery optimization:
https://support.microsoft.com/en-gb/help/3088114/how-to-use-group-policy-to-configure-windows-update-delivery-optimizat

GPO is definitely a way to go, but the compatibility needs to be retained and the revert functions need to revert to whatever the default values are in the respective Windows builds. So I've reimplemented the PR in c5c107c59f0206403fcc316e0f07f0fd36ad5c67. Thanks for the contribution!