fix show load warning support load v2

Proposed changes
SHOW LOAD WARNING does not support load job v2 and throw job is not exist. Therefore make it compatible.
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 46.11 seconds
stream load tsv:          515 seconds loaded<PHONE_NUMBER>9 Bytes, about 138 MB/s
stream load json:         22 seconds loaded<PHONE_NUMBER> Bytes, about 102 MB/s
stream load orc:          64 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          30 seconds loaded 861443392 Bytes, about 27 MB/s
insert into select:          28.9 seconds inserted 10000000 Rows, about 346K ops/s
storage size:<PHONE_NUMBER>9 Bytes

Please add test case

Please add test case

@morningman could this command be directly removed? I heart that ETL has been deprecated, it seems not in use now and could be covered by show load.

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 46.66 seconds
stream load tsv:          539 seconds loaded<PHONE_NUMBER>9 Bytes, about 132 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          29.6 seconds inserted 10000000 Rows, about 337K ops/s
storage size:<PHONE_NUMBER>7 Bytes

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 46.59 seconds
stream load tsv:          540 seconds loaded<PHONE_NUMBER>9 Bytes, about 132 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          29.0 seconds inserted 10000000 Rows, about 344K ops/s
storage size:<PHONE_NUMBER>1 Bytes

run buildall

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 47.57 seconds
stream load tsv:          541 seconds loaded<PHONE_NUMBER>9 Bytes, about 131 MB/s
stream load json:         21 seconds loaded<PHONE_NUMBER> Bytes, about 107 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          29.6 seconds inserted 10000000 Rows, about 337K ops/s
storage size:<PHONE_NUMBER>4 Bytes

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 47.15 seconds
stream load tsv:          539 seconds loaded<PHONE_NUMBER>9 Bytes, about 132 MB/s
stream load json:         21 seconds loaded<PHONE_NUMBER> Bytes, about 107 MB/s
stream load orc:          66 seconds loaded<PHONE_NUMBER> Bytes, about 15 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          29.3 seconds inserted 10000000 Rows, about 341K ops/s
storage size:<PHONE_NUMBER>1 Bytes


AlphaNumeric Option please

To reproduce the error or describe your requirement with a jsfiddle url would be appreciated:

Fork this with vanilla JS component: https://jsfiddle.net/nosir/kbaxx64s/
Fork this with React JS component: https://jsfiddle.net/nosir/gLLsrxxf/

If it's mobile related, please specify your device and environment.

I second this. Great library, but eventually I had to find alternatives due to its missing alpha-numeric filter option. Our use case can allow only a subset of letters (no capital O or I since they can easily be confused).

Having this option would be really helpful.

Here is a quick fix that i put in my script, it's reactive to the input, so not as clean as when you use numericOnly, but it does the trick.
        $('#id').on('keyup', function () {
            var input = $(this).val();
            var regex = input.replace(/[^\w]/g, "");
            $(this).val(regex);
        })


blob data in logs

It seems that when commands such as rsync error, the output is captured in the logs as a blob of data. It would be useful to be able to see this output in the logs.
dacd: [754B blob data]

Ah, just found we can use journalctl --all to show the "blobs".


Conditionally set progress bar color?

Hi! My usecase is following: I want to display progress bar for volume and color it differently when volume is muted. Currently I could probably achieve this by creating two identical blocks with different AppName, but this is an unpleasant duplication.

Actually, two blocks with different AppName would not be deduplicated with tags, so I ended up matching on Body instead, which is even more of a hack (and for some reason not guaranteed?)

Why is it not guaranteed?

I’m not sure, but that’s what the documentation says:

When the notification has some body text (not guaranteed).

Right, that's because it is not required for a notification to have body text, only summary text, e.g.: notify-send "summary".  I'll edit that section to make it a bit clearer
I assume you're creating the notifications yourself, so the right way of handling this is probably to support supplying some extra data which you can then use with a RenderCriteria.  Maybe something like: notify-send "Summary" "Body" --hint="string:wired-note:mute"?

but this is an unpleasant duplication.

Unfortunately I don't think we can do much better than this.  If we have options for specific use cases just under the Progress bar, then it balloons out exponentially.  It would be nice if we could have some kind of conditional inclusions or something, but we're just not set up for that right now.  Here's an issue that talks about some potential options: https://github.com/Toqozz/wired-notify/issues/81

I thought about %-syntax in Color strings.

I assume you're creating the notifications yourself, so the right way of handling this is probably to support supplying some extra data which you can then use with a RenderCriteria. Maybe something like: notify-send "Summary" "Body" --hint="string:wired-note:mute"?

Yes, that would be a lot cleaner.

I've added RenderCriteria::Note in master.  You can use it like this:
In wired.ron:
render_criteria: [Note("mute")],

When sending the notification:
$ notify-send "Summary" "Body" --hint="string:wired-note:mute"

Thanks!


Question: restarting inference.

First of all, I really appreciated for your great works.
I have a question about inference.
Im trying to integrate this model in my application and I wanna restart object tracking when trigger that provides new input mask and input image has been called.
It seems clear_memory, clear_sensory_memory  which are InferenceCore's methods can work for this.
How can I clear memory of object and restart tracking?
Thanks!

Hi.
If you want to reset everything, the easiest way might be just to create a new InferenceCore instance.


Require python3 executable to run

Fixes #546

The problem that originated this pull request can be fixed simply with #548 while preserving backwards compatibility with Python 2.7.


vcl: fix mq drain if max events threshold hit

Signed-off-by: Florin Coras<EMAIL_ADDRESS>Program message queue drain if max events per dispatch threshold is hit to avoid accumulating/losing socket events.
Risk Level: n/a contrib fix
Testing: n/a

/retest


Avoiding duplicate entries on properties map

Fixes #859

Dumb question: why use relaxed names in the first place?

The fix to avoid duplicates was easy, we are now looking into sending all properties in a canonical dot format. So JAVA_HOME becomes java.home

Not sure what you mean by that, as the changed test seems to imply the contrary. Props are now sent as all caps. Or do you mean "we'll need another PR to send them as canonical dot format"

Closed after internal discussion, new PR to follow with changes


Combine duplicate kinetis watchdog early boot init code

Is your enhancement proposal related to a problem? Please describe.
Kinetis K64 and KW2xD SoCs have duplicate watchdog init code
Describe the solution you'd like
Combine the duplicate code so it only exists in one place. Consider moving it from assembly into C.
Describe alternatives you've considered
The watchdog must be initialized or disabled within the first 256 bus clock cycles after reset; the normal device driver init mcux_wdog_init is too late.
Additional context
This proposal was suggested in #11815 and #11852

Would it possible to just call WDOG32_Deinit() from fsl_wdog32.c in the MCUxpresso SDK?


any downside to using mixins instead of this?

eg. mixins: base hiding (Prelude)
If there is no downside, might it be recommended to use mixins for those cabal versions which support it? AFAIK base-noprelude isnt an official Haskell project so failure for upkeep means potential for breakage, while the mixins does not.

The huge downside for me is that ghc environment files don't support mixins yet; and also mixins don't work for all GHCs. That unfortunately means that mixins are not strictly better. As for the upkeep concern: I've been keeping this up for all base versions supported by cabal new-build, i.e. back till base-<IP_ADDRESS> / GHC 7.0.1... and afaik I didn't screw up any of the base-noprelude releases so far ;-)

Closing, since the question has been answered. Thanks!


find native assets

Adds native-asset? and find-native-asset functions to assets.ss.

That said—I approve this change, especially if it unblocks you; it's already a non-regression, that can be further improved in a subsequent change if needs be.


Move cleanup of stale outputs to execution engine

Fixes #9113

@bot-gradle test QFL please.

OK, I've already triggered QuickFeedbackLinux build for you.

@bot-gradle test this please.

OK, I've already triggered ReadyForMerge build for you.

This is still something we want to have.

This is something I still want to finish.

Let me come back to this.

Still want to do this.

Something I would still like to do.

Let's keep this open.

Still want to do this.

Superseded by https://github.com/gradle/gradle/pull/21946.


GPG key for EPEL repository isn't getting installed before Package resource that requires EPEL repository.

Affected Puppet, Ruby, OS and module versions/distributions

Puppet:   puppetserver-7.8.0-1.el8.noarch, puppet-agent-7.18.0-1.el7.x86_64
Distribution:

Puppet Server: Red Hat Enterprise Linux release 8.6 (Ootpa)
Puppet client:  Red Hat Enterprise Linux Server release 7.9 (Maipo)

Module version:  6.0.0

How to reproduce (e.g Puppet code you use)
The GPG key for the EPEL repository is not installed:
[root@d1 yum.repos.d]# rpm -q gpg-pubkey-352c64e5-52ae6884
package gpg-pubkey-352c64e5-52ae6884 is not installed
[root@d1 yum.repos.d]# ll /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
ls: cannot access /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7: No such file or directory
[root@d1 yum.repos.d]#

Using a simple site.pp file:
node default {
  include yum
  package {'nmon': ensure => installed }  # Requires EPEL repository to exist
}

common.yaml:
---

yum::config:
  gpgcheck:
    key: gpgcheck
    ensure: 0

yum::managed_repos:
  - 'epel'

yum::repos:
  epel:
    enabled: true
    gpgcheck: true
    metalink: absent

What are you seeing
The module is creating the /etc/yum.repos.d/epel.repo file properly but then the Package resource is trying to install the 'nmon' package before the EPEL GPG key is imported into the RPM database.  This causes yum/dnf to complain because the /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 file doesn't yet exist and hence the EPEL GPG key is not imported.
After the attempt to install the nmon package, the yum::gpgkey defined type THEN executes, properly installing the /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 and importing the RPM GPG key.
What behaviour did you expect instead
The EPEL GPG key file should already exist and be "rpm --import"ed into the RPM database before package resources are installed.
Output log
[root@d1 yum.repos.d]# ls -l /etc/yum.repos.d/epel.repo
ls: cannot access /etc/yum.repos.d/epel.repo: No such file or directory
[root@d1 yum.repos.d]# ls -l /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
ls: cannot access /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7: No such file or directory
[root@d1 yum.repos.d]# rpm -q gpg-pubkey-352c64e5-52ae6884
package gpg-pubkey-352c64e5-52ae6884 is not installed
[root@d1 yum.repos.d]# puppet agent -t --environment=junk --server=puppet.example.com
Info: Using environment 'junk'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Info: Caching catalog for d1.auto111.usva0017.oraclevcn.com
Info: Applying configuration version 'puppet-01p-junk-b8911725615'
Notice: /Stage[main]/Yum/Yumrepo[epel]/ensure: created (corrective)
Info: Yumrepo[epel](provider=inifile): changing mode of /etc/yum.repos.d/epel.repo from 600 to 644
Error: Execution of '/bin/yum -d 0 -e 0 -y install nmon' returned 1: warning: /var/cache/yum/x86_64/7Server/epel/packages/nmon-16g-3.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY

GPG key retrieval failed: [Errno 14] curl#37 - "Couldn't open file /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7"
Error: /Stage[main]/Main/Node[default]/Package[nmon]/ensure: change from 'purged' to 'present' failed: Execution of '/bin/yum -d 0 -e 0 -y install nmon' returned 1: warning: /var/cache/yum/x86_64/7Server/epel/packages/nmon-16g-3.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY

GPG key retrieval failed: [Errno 14] curl#37 - "Couldn't open file /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7" (corrective)
Notice: /Stage[main]/Yum/Yum::Gpgkey[/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7]/File[/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7]/ensure: defined content as '{sha256}028b9accc59bab1d21f2f3f544df5469910581e728a64fd8c411a725a82300c2' (corrective)
Notice: /Stage[main]/Yum/Yum::Gpgkey[/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7]/Exec[rpm-import-/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7]/returns: executed successfully (corrective)
Info: Stage[main]: Unscheduling all events on Stage[main]
Notice: Applied catalog in 3.68 seconds
[root@d1 yum.repos.d]# ls -l /etc/yum.repos.d/epel.repo
-rw-r--r--. 1 root root 133 Aug 17 12:54 /etc/yum.repos.d/epel.repo
[root@d1 yum.repos.d]# ls -l /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
-rw-r--r--. 1 root root 1662 Aug 17 12:54 /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
[root@d1 yum.repos.d]# rpm -q gpg-pubkey-352c64e5-52ae6884
gpg-pubkey-352c64e5-52ae6884
[root@d1 yum.repos.d]#

Any additional information you'd like to impart
My assumption is that the repo file, the rpm-gpg file and the GPG key should exist and be imported before any attempt to install packages from the repository.

I don't think it's an issue with the module. There is no relationship defined between nmon package and yum class by default. In general, package can be non-yum or coming from other repositories, not defined by yum class.
You have to be explicit to provide relationship, if it's required.
either require yum class in your manifest instead of just include or specify this relationship in the package
package { 'nmon':
  ensure => installed,
  require => Class['yum'],
}

I understand your point but in order for the repository to be usable the GPG key needs to be installed/imported before any attempt to install packages from that repo can be successful.
If I had fifteen packages from EPEL that need to be installed, then conceivably, I'd have to order all of them before the yum class module.  If the requirement for the GPG key was backed into the yum class module, those ordering constraints would disappear.

yum::gpgkey is a defined resource and they are contained in yum class and will be defined together with yum repositories
require yum

should solve your problem
You also can contain yum class within a profile and establish relationship this way
class profile::server {
  require profile::yum

class profile::yum {
  contain yum

Thank you for the useful information.  I'll give that a try.


set enhanced-button type=button default

when use in form, button's type is "submit" (default, such as chrome).
enhanced-button is basic button in material-ui (such as datepicker use), when use datepicker in a form, you do not wish to submit form when click some tool button.

https://github.com/callemall/material-ui/pull/996

@hai-cea buttonProps should not set type="button", because you may set type="submit", as follows:
<RaisedButton type="submit" label="新建活动" />
https://github.com/ustccjw/material-ui/blob/64336c6389b6181a2c8355f9c7379751f54d6ec4/src/enhanced-button.jsx#L133

@ustccjw What I mean is that we should pass the prop along in button props - similar to how I handled tabIndex. Yes, the type prop will get passed along thought the ...other variable, but I think it's good to be explicit about it. So in button props you'll have:
type={type}

Also check out - https://facebook.github.io/react/docs/transferring-props.html#consuming-and-transferring-the-same-prop

@hai-cea ok, i have fixed.

Thanks @ustccjw


Fix parsing of quotes followed by newlines.

I believe this fixes #303.
The issue is that the loader was setting captureEnd incorrectly after absorbing a '' within a single-quoted string; captureEnd would be fixed by the next iteration of the loop on any character other than an end of line.

Looks good. Thanks!


Table Title

Hi, I read the documentation and tried to add a title to the table, but it kept throwing an undefined method title= exception. In the source on GitHub it seems to be implemented, but then i opened the latest gem I installed and noticed the Table class doesn't have that method yet.
Any chance you could release a new version of the gem containing this feature?
Cheers,
Michael

sorry for the delay. i'll push a new gem tonight.

pushed 1.4.4


Properly clean up Azure Powershell temp files

This change fixes a bug where the PowerShell file that is executed is not properly cleaned up. It is likely that the file will contain sensitive information and thus should be properly cleaned.
The new approach adds a finally block at the end of execution then checks to ensure that the file has been created and if it was created then it will go ahead and delete the file synchronously.
Execution of node make.js test --task AzurePowerShellV4 was successful.
This change is in relation to #10941

Need to bump the patch version in task.json, build, and check in the resulting task.loc.json as well.

 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.:x: rreichel3 sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Bumped - thanks for the feedback.

Adding @20shivangi  for approval .

We need to validate this changes internally before we merge.

As per my understanding, fix is not required. Commented on associated bug.


Component: VInternalHeader

All work for the 'Create new header' milestone should be done under the new_header feature flag.
Description

For content pages and the home page, we use a header with links to other content pages. Under the md breakpoint, uses a hamburger button.
API

VInternalHeader should use the use-pages composable that contains the list of pages, whether their links are external, and whether the link is active.
State

Name
Type
Description

pages
object
return type of usePages composable

Code samples

<header>
<VLogoButton />
<nav v-if="isMinScreenMd">
  <VLink v-for="page in pages" />
</nav>
<VModal>
<template #trigger>
  <VIconButton icon-path="hamburger" />
</template>
<VPageList pages="pages" />
</header>

Dependencies

VLogoButton - can access the isFetching state inside it.
VIconButton (hamburger icon for screens below md)
References

Figma: https://www.figma.com/file/GIIQ4sDbaToCfFQyKMvzr8/Openverse-Design-Library?node-id=2960%3A8548

Implementation

[ ] 🙋 I would be interested in implementing this component.

Here are some preliminary screenshots (please, note that they are subject to change, always check the Figma files):

Recommendation: Should we change the name to be VHeaderInternal. That way, in a sorted list of files/folders, we'll see all variations of the header together.


Way to rename based off of episode name?

Hey folks,
Say I have a series that is always named like
SXEY - <Episode Title>.mp4

so for example:
S1E2 - A Good Night.mp4

Would be season 1, episode 2 titled "A Good Night".
Now the issue i have is that the season and episode are almost certainly wrong, BUT the episode name is correct (or as close as it can be based of of weird characters, etc.).
Is there a way to convince tvnamer to rename to the correct Season/Episode just based off the title (and of course I'd give it the tvdbid or name via command line args to disambiguate what show it is)?
Thanks!

Upon further investigation this is really similar to #193 except in my case i have an incorrect season/episode instead of a correct series name.

My reading of the relevant code suggests that a season/episode combo or date is required.  And since your season/episode is unreliable I don't think you could include it in the regex without leading tvnamer astray.  Even if you managed to pass that test you need to have a series name in the regex, but that's somewhat easier to fix if you know what series these all came from.

I haven't used this in a long time, but it used to work. I believe the reason I haven't used it recently is because you now need an api key and I was being lazy.
#!/usr/bin/env python3

import os
import sys
import re
import string
from tvdb_api import Tvdb
from titlecase import titlecase

log = open('log.txt', 'w')
global autoRename
autoRename = False  # This is used to auto-rename

def get_show_name(path):
    #use the known file structure to determine the show name.
    show = re.sub('^\/.+\/Series/?','',path)

    return re.sub(r'\.',r' ',show)

def process_file(video):
    #Use regex to determine season, episode, and name of episode.

    season = None
    episode = None
    name = None

    try:
        matches = re.search('^S(\d+)E(\d+)\.(.+)\.S(\d+)E(\d+)\.(.+)\.\w{3}$',
                              video)
        season = [int(matches.group(1)), int(matches.group(4))]
        episode = [int(matches.group(2)), int(matches.group(5))]
        name = [matches.group(3), matches.group(6)]
        name = [re.sub(r'\.',r' ', name[0]), re.sub(r'\.',r' ', name[1])]
        name = [re.sub(r'([-&])',r' \1 ', name[0]),
                re.sub(r'([-&])',r' \1 ', name[1])]
        name = [re.sub(r',',r', ', name[0]), re.sub(r',',r', ', name[1])]
    except:
        matches = re.search('^S(\d+)E(\d+)\.(.+)\.\w{3}$',video)
        try:
            season = int(matches.group(1))
        except:
            print("Couldn't determine the season for {}.".format(video))
            sys.exit(1)
        try:
            episode = int(matches.group(2))
        except:
            print("Couldn't determine the episode for {}.".format(video))
            sys.exit(1)
        try:
            name = matches.group(3)
        except:
            print("Couldn't determine the episode name for {}.".format(video))
            sys.exit(1)

        name = re.sub(r'\.',r' ', name)
        name = re.sub(r'\s?([-&])\s',r' \1 ', name)
        name = re.sub(r',',r', ', name)
        name = re.sub(r'([MD]r|Mrs|Ms)\s', r'\1. ', name)

    return (season, episode, name)

def is_correct(show, season, episode, name):
    #check if the given episode has the correct season and episode numbers

    series = show['seriesname']
    if isinstance(name, list):
        print('Found {} - Season {:02d} Episode {:02d} {}'.format(series,
                                                                  season[0],
                                                                  episode[0],
                                                                  name[0]))
        print('\tSeason {:02d} Episode {:02d} {} '.format(series,
                                                          season[1],
                                                          episode[1],
                                                          name[1]))
        print('Checking if it has the correct season and episode numbers.')
        ep1 = check_episode(series, show, season[0], episode[0], name[0])
        ep2 = check_episode(series, show, season[1], episode[1], name[1])
        if ep1 is None and ep2 is None:
            return None
        elif ep1 is None:
            ep1 = 'S{:02d}E{:02d}.{}'.format(season[0], episode[0], name[0])
            ep1 = re.sub(r', ', r',', ep1)
            ep1 = re.sub(r' ([-&]) ', r'\1', ep1)
            ep1 = re.sub(r' ', r'.', ep1)
        elif ep2 is None:
            ep2 = 'S{:02d}E{:02d}.{}'.format(season[1], episode[1], name[1])
            ep2 = re.sub(r', ', r',', ep2)
            ep2 = re.sub(r' ([-&]) ', r'\1', ep2)
            ep2 = re.sub(r' ', r'.', ep2)
        return ep1 + '.' + ep2
    else:
        print('Found {} - Season {:02d} Episode {:02d} {}'.format(series, season, episode, name))
        print('Checking if it has the correct season and episode numbers.')
        return check_episode(series, show, season, episode, name)

def check_episode(series, show, season, episode, name):
    (seasonNumber, episodeNumber, episodeName) = find_episode(show, name)
    if seasonNumber and episodeNumber and episodeName:
        if not (season == seasonNumber and episode == episodeNumber):
            print("Either the season or the episode didn't match.")
            print('Found {} - S{:02d}E{:02d} {} instead.'.format(series,
                                                                 seasonNumber,
                                                                 episodeNumber,
                                                                 episodeName))
            episodeName = re.sub(r', ', r',', episodeName)
            episodeName = re.sub(r' ([-&]) ', r'\1', episodeName)
            episodeName = re.sub(r' ', r'.', episodeName)
            return ('S{:02d}E{:02d}.{}'.format(seasonNumber, episodeNumber,
                                               episodeName))
        elif name != episodeName: #This will force things to titlecase
            episodeName = re.sub(r', ', r',', episodeName)
            episodeName = re.sub(r' ([-&]) ', r'\1', episodeName)
            episodeName = re.sub(r' ', r'.', episodeName)
            return ('S{:02d}E{:02d}.{}'.format(seasonNumber, episodeNumber,
                                               episodeName))
        else: #season and episode numbers were correct
            print('The season and episode are correct. Moving on.')
            return None
    else: #Couldn't find an episode with this name.
        return None

def find_episode(show, name):
    #Find the season and episode numbers from the given episode name.

    result = show.search(name, key='episodeName')
    if result:
        return process_result(result, name)
    else: #try searching for name without space around -
        tmp = re.sub(r' (-) ',r'\1',name)
        tmp = re.sub(r' (:) ',r'\1 ',tmp)
        result = show.search(tmp, key='episodeName')
        if result:
            return process_result(result, tmp)
        else:
            tmp = re.sub(r'([MD]r|Mrs|Ms)\. ',r'\1 ', name)
            result = show.search(tmp, key='episodeName')
            if result:
                name = tmp
                return process_result(result, name)

    if not result:
        print('Couldn\'t find an episode with this name.')
        log.write('{} - {}\n'.format(show['seriesname'], name))
        return (None,None,None)

def process_result(result, name):
    for episode in result:
        if name.lower() == episode['episodename'].lower():
            seasonNumber = int(episode['seasonnumber'])
            episodeNumber = int(episode['episodenumber'])
            episodeName = titlecase(episode['episodename'])
            return (seasonNumber, episodeNumber, episodeName)
    print('No episode with this name appears to exist for this series.')
    alphabet = string.ascii_lowercase
    i = 0
    s = ''
    for episode in result:
        i += 1
        epStr = ('S{:02d}E{:02d}'.format(int(episode['seasonnumber']),
                                    int(episode['episodenumber'])))
        s += ('({}) {} - {}\n'.format(str(i),epStr,episode['episodename']))

    s += ('({}) None of the above.'.format(str(i+1)))
    lst = [str(j) for j in range(1,i+2)]
    ans = ask('Which episode would you like?\n' + s, lst, str(i+1))
    if ans == str(i+1):
        print('No episode selected. Skipping this episode.')
        return (None,None,None)
    else:
        ans = int(ans) - 1 #convert back to list index
        seasonNumber = int(result[ans]['seasonnumber'])
        episodeNumber = int(result[ans]['episodenumber'])
        episodeName = titlecase(result[ans]['episodename'])
        response = ask('Use the new episode name?', ['y', 'n'], 'y')
        if response == 'y':
            print('Using new episode name.')
            return (seasonNumber, episodeNumber, episodeName)
        else:
            print('Using old episode name.')
            return (seasonNumber, episodeNumber, name)

    return (None,None,None)

def move_file(f1, f2, path):
    global autoRename
    if f1 != f2:
        response = ask('Move {} to {}?\nPath is {}'.format(f1,f2,path), ['y','n','a','q'],
                    'y')
        if response == 'a':
            autoRename = True
            response = 'y'
        if response == 'y' or autoRename:
            print('Renaming file.')
            source = ('{}/{}'.format(path,f1))
            destination = ('{}/{}'.format(path,f2))
            os.rename(source,destination)
        elif response == 'q':
            print('Quitting')
            raise SystemExit

def ask(question, options, default = "y"):
    """
    Takes a question (string), list of options and a default value (used
    when user simply hits enter).
    Asks until valid option is entered.
    """
    # Highlight default option with [ ]
    options_str = []
    for x in options:
        if x == default:
            x = "[{}]".format(x)
        if x != '':
            options_str.append(x)
    options_str = "/".join(options_str)

    while True:
        print(question)
        print("({})".format(options_str))
        try:
            ans = input().strip()
        except KeyboardInterrupt:
            print("\n", sys.exc_info())
            raise UserAbort(sys.exc_info())

        if ans in options:
            return ans
        elif ans == '':
            return default

def usage():
#   print usage
    print('Usage: ./SeriesRenamer.py <optional directory>')

def main(args):

    if len(args) == 1:
        top_directory = args[0]
    else:
        usage()
        return 1
    tvdb = Tvdb()

    for path, dirnames, filenames in os.walk(top_directory):
        show = get_show_name(path)
        if not show: #skip if can't find show
            continue

        series = show
        show = tvdb[show]
        for video in filenames:
            #get the original extension
            ext = os.path.splitext(video)[-1]
            print('\nProcessing file: {}'.format(video))

            #only process video files
            if not (ext.lower() in ('.vob','.avi', '.mp4', '.mpg', '.mkv', '.flv')):
                continue

            (season, episode, name) = process_file(video)
            if name:
                newFile = is_correct(show, season, episode, name)
                if newFile:
                    newFile += ext #tack our extension back on
                    print(newFile)
                    move_file(video, newFile, path)
            else:
                    print('Couldn\'t determine the episode name.')

    return 0

if __name__ == '__main__':
    sys.exit(main(sys.argv[1:]))


Update opentera-webrtc-teleop-frontend submodule

@joli-1801 Please update the pull request with warnings fix included.

@joli-1801, I will wait to merge this because introlab/opentera-webrtc#108 needs to be solved first.

I'll make the changes to the specific events from introlab/opentera-webrtc#108 and then we can merge


[Figma] Refactor Text link

The Text link component needs to be refactored to use the newly refactored Link large.
Resources

Bases demo from the Figma Fridays (Episode 23)
Reference the best practices from Figma guild
Include reference to auto layout in the issue

Duplicate of #8428


Fix React version check to support 16.10

Since parseFloat(React.version) resolves to 16.1, that breaks our version check. So, I've switched to checking against the forwardRef API's existence, which was also added in 16.3.

Note there are still two deprecated lifecycle methods that are causing warnings, both in  src/components/connectAdvanced.js: componentWillUpdate and componentWillReceiveProps.

cWRP is deleted and cWU is only in dev mode, so can be safely ignored.


Snake case naming convention

Describe the bug
Consider below Livewire component and view:
php artisan make:livewire text_replace

This will create two files:
-> [TextReplace.php]
-> [text_replace.blade.php]

When trying to render the view file:
@livewire('text_replace')

It will result in an error:

Unable to find component: [text_replace]

However, if I change the view name to follow the kebab naming convention like: text-replace.blade.php
Then the view can load just fine, without error.
Expected behavior
I am following the snake convention when naming my blade views and would like to follow the same convention for my Livewire views as well.

Would love a PR for this - it shouldn't be too hard.

Will take a look at this!


[Help wanted]How to determine if a new-joined node is caught up with current lead node and ready for serve?

Dragonboat version
v4
Hi Lni, I'm trying to migrate from etcd to dragnoboat for mulit-raft support. In ectd I could use status.Progress in leaderNode.Status() for a progress check before promoting a new-joined node to a voter. I'm unsure if dragnoboat support so or if there is another way to perform a progress check. Could you give me some suggestions?

In dragonboat, you should add a newly joined node as non-voting node first, it will start to get updates/logs from the leader. You can then periodically, say once per second, check whether the non-voting node is ready to do linearizable read  (see docs of the ReadIndex method and the description of the read index protocol in the raft thesis). Once such a linearizable read can be successfully completed, it means the non-voting node has all up to date logs when that linearizable read was performed. It gives you very high confidence that at that time the node should be no more than a couple seconds late than the leader in terms of log replication. You can then promote it to a full member node.

Thanks :)


Bug: Safari has issues when rendering multiple FlipClockCountdowns

Hi @sLeeNguyen,
I have several strange glitches on Safari, including: Safari can't handle multiple instances with the same countdown
Codesandbox: https://codesandbox.io/s/react-flip-clock-countdown-example-hnkbdb?file=/src/App.js
Video: https://d.pr/v/1DW098/RCv4ldHiU4

Hi @natterstefan ,
I've also had the same problem before. I don't know why. When inspecting the HTML code (inspect elements), I see that the content of the HTML tags is still updated correctly, while the display has problems. After updating safari to the latest version, I no longer see this error.

Hi @sLeeNguyen,
as you can see in the image the issue is still present in Safari 15.5.0 Which version do you use?

I'm using 15.6 and it works well

After updating safari to the latest version, I no longer see this error.

But that does not mean it's fixed for others as well as it unfortunately seems. The video I've attached shows it is still buggy. Do you think it is related to the #12 bug? I need to verify if the bug disappears if I only have one countdown on the page.

Do you think it is related to the https://github.com/sLeeNguyen/react-flip-clock-countdown/issues/12 bug?

I don't think so. As I said I've checked the content of the HTML tags and it's still updated correctly, just the display has problems. I've tested in Safari v14 and it works well.


5-second timeout on whimsy requests

Fixes #121: recovering gracefully from failures actually already worked, but because port 443 on whimsy is currently not responding at all (not even with 'connection refused' or similar) it has a rather long timeout. Let's explicitly abort after 5s.

(reviewed out-of-band)


Updated the git command for getting branch name. Previous code was so…

…metimes getting the tag name instead of the branch name.

Coverage remained the same at 94.382% when pulling f2590012aa793602930b4ce12d5d075de84ce9d3 on feature/branch-name into 0b1a23e88eb900da755b73403e6ba203a9f75c77 on master.

Coverage remained the same at 94.382% when pulling f2590012aa793602930b4ce12d5d075de84ce9d3 on feature/branch-name into 0b1a23e88eb900da755b73403e6ba203a9f75c77 on master.


Support complex enums in CRDs

Motivation
See https://github.com/GREsau/schemars/issues/84
Currently #[derive(CustomResource)] generates invalid CRD objects for enum variants with fields, because the generated schema is rejected by K8s as not being structural.

Solution
This PR adds a Visitor that transparently rewrites enum schemas from:
properties:
  enum:
    oneOf:
      - type: object
      - properties:
          variantOne:
            # properties...
          required: [variantOne]
      - type: object
        properties:
          variantTwo:
            # properties...
        required: [variantTwo]

to:
properties:
  enum:
    type: object
    properties:
      variantOne:
        # properties...
      variantTwo:
        # properties...
    oneOf:
      - required: [variantOne]
      - required: [variantTwo]

Codecov Report

Merging #779 (188b0df) into master (315ad9d) will increase coverage by 0.13%.
The diff coverage is 88.46%.

@@            Coverage Diff             @@
##           master     #779      +/-   ##
==========================================
+ Coverage   71.89%   72.02%   +0.13%
==========================================
  Files          54       55       +1
  Lines        3700     3725      +25
==========================================
+ Hits         2660     2683      +23
- Misses       1040     1042       +2

Impacted Files
Coverage Δ

kube-derive/src/custom_resource.rs
11.80% <ø> (ø)

kube-core/src/schema.rs
87.50% <87.50%> (ø)

kube-client/src/api/util.rs
81.57% <100.00%> (ø)

kube-derive/tests/crd_schema_test.rs
100.00% <100.00%> (ø)

kube-runtime/src/wait.rs
70.00% <0.00%> (+2.00%)
:arrow_up:

Continue to review full report at Codecov.

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

The cargo deny failure is addressed in #780

cc @cassandracomar @LukeMathWalker @clux @webern who have expressed interest in https://github.com/GREsau/schemars/issues/84

And the api-server accepts this?

Yes :)

I just ran a few simple tests as well and it worked like a charm!

@webern

Does an enum like this work? The Empty variant would be some kind of empty object with no properties?
enum DoesThisWork {
   Empty,
    NotEmpty(MyStruct),
}

Not directly, no. That would serialize as:
# assuming this is wrapped in a field does_this_work
doesThisWork: empty
# or...
doesThisWork:
  notEmpty:
    # MyStruct contents

This violates the rule that all variants must have the same type. Changing Empty to an empty struct variant would ensure that both cases are serialized as objects:
enum DoesThisWork {
    Empty {},
    NotEmpty(MyStruct),
}

That causes the serialization to look like:
doesThisWork:
  empty: {}
  # or...
  notEmpty:
    # MyStruct contents

If we do the same thing with some nesting?
enum InnerEnum {
    Nope,
    Yep(SomeStruct)
}

enum Outer {
    Inner(Inner),
    Foo(AnotherStruct),
    Nothing,
}

Same thing here, it should work as long as you change the Nope and Nothing unit variants to empty struct variants instead.

I normally avoid having a variant and struct by the same name (even though that's actually what I want, but my IDE gets confused). But in the above example I thought having the same name for variant and struct makes for a good edge case.

Type names are ignored here anyway, only variant names matter.

This violates the rule that all variants must have the same type.

I see, thank you for explaining this. So all of the following would work?
enum {
    A(String),
    B(String),
}

enum {
    A(u8),
    B(u8),
}

enum {
    A(SomeStruct{}),
    B(DifferentStruct{}),
    C{},
}

And this would not work?
enum {
    A(u8),
    B(String),
}

I see, thank you for explaining this. So all of the following would work?
enum {
    A(String),
    B(String),
}

enum {
    A(u8),
    B(u8),
}

Yes.

enum {
    A(SomeStruct{}),
    B(DifferentStruct{}),
    C{},
}

After fixing SomeStruct{} -> SomeStruct, yes.

And this would not work?
enum {
    A(u8),
    B(String),
}

Yes it would, this would serialize as:
foo:
  a: 5
  # or...
  b: foo

Which is valid.

I think I explained this poorly, the enum itself must always serialize to the same JSON "type" (bool, number, string, array, object). For externally tagged enums (the default), the result of this is that either all or none of the variants must be unit variants (A,).
Each non-unit variant gets serialized as an object with a unique key, so there is no limit on what type those variants' values can have (apart from the usual constraint that they must also have a JsonSchema that we can turn structural).


coq: add meta.mainProgram

Motivation for this change
Add meta.mainProgram to coq, I think it's a good idea to set it to coqide but coqtop is also a possibility.
@CohenCyril @vbgl
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

What would be a use-case of this attribute?

When using the nix run nixpkgs#coq subcommand, Nix defaults to using the binary name but the coq command does not exist.

Yes. I’ve read the doc.
But what would be a use-case of running nix run nixpkgs#coq?

I think the user would expect either coqtop or the Coq IDE to run.


[Issue 7267] Fixing go instance config port

Fixes #7267
Motivation
As described in the original issue, whenever you're trying to localrun or create a golang function - the process port is set to 0. This leads to health checks errors.
Modifications
The original method that returns golang cmd arguments didn't use the port variable
from the instanceConfig parameter.
This is a one-line modification that fixes the problem.
Verifying this change

[ ] Make sure that the change passes the CI checks.

[x] This change is a trivial rework without any test coverage.

Does this pull request potentially affect one of the following parts:

The public API: (no)
The schema: (no)
The default values of configurations: (no)
The wire protocol: (no)
The rest endpoints: (no)
The admin cli options: (no)
Anything that affects deployment: (yes, it fixes the creation/localrun of golang functions)

Documentation

Does this pull request introduce a new feature? (no)

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

Run sudo swapoff /swapfile
swapoff: /swapfile: swapoff failed: No such file or directory
##[error]Process completed with exit code 255.

/pulsarbot run-failure-checks

@bbl can you merge the master code?

@wolfstudy sure! Done.

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks


Some info is missing in PartialAssemblySignature when signature file exists

Here're several cases which may be connected:

Consider a type with attributes declared in *.fs and *.fsi files. After type-checking the *.fs file and getting its partial assembly signature, the type contains attributes from the signature file only. When getting the same type via GetAllUsesOfAllSymbolsInFile, all attributes are shown.
When type-checking a signature file, its partial assembly signature doesn't contain types defined in this file (but contains files defined in previous files in the project).
When symbols are hidden by a signature file they do not appear in PartialAssemblySignature.

@auduchinok Could you put this issue in http://github.com/fsharp/FSharp.Compiler.Service please? We're still tracking FCS issues there

@auduchinok Add a tracking link here too please when you've opened the new issue, thanks!

The issue on FCS repo: https://github.com/fsharp/FSharp.Compiler.Service/issues/784.


Typo

In the "Challenge - log all transactions" section, "Notes" should be replaced with "Note" in the following line of code.
report.AppendLine($"{item.Date.ToShortDateString()}\t{item.Amount}\t{item.Notes}");

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

ID: 24c8353f-69e7-9068-9b18-df0198a1b122
Version Independent ID: 823031fe-c8a4-69cd-2b1a-9faacd282aab
Content: Classes and objects  - Introduction to C# tutorial
Content Source: docs/csharp/tutorials/intro-to-csharp/introduction-to-classes.md
Product: dotnet-csharp
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

@ehosaini I think it is supposed to be .Notes as the type, Transaction has a Notes property. The parameter used to fill the Notes property is note (non plural) which may be why you're confused?

I'm going to close this, but if you think I'm wrong, please let me know 😄


Fix the checking to commands '\c' or 'use'

I want to add a easter egg for my friend -- command \cf -- her name abbreviation,
but when I type \cf, it raises Database name missing.,
so I have fixed it.
I think it might be useful in the future.

It warms my heart to know that people are adding easter eggs to pgcli. :)
Just make sure you add a check for \connect and you're good. Thanks!

OK :smiley:

:+1:
Cheers! :bee:

:smirk:
Cheers! :wine_glass:


[ckworker/ckcore] Move replace=true flag to metadata section.

The replace flag should be moved from root scope to the metadata section.
Advantage:

no special root level attribute
the attribute is persisted and emitted automatically

Was introduced in resotolib as part of #605 can be removed in resotocore.


Supabase Deno Functions import issues

Confirm this is a Node library issue and not an underlying OpenAI API issue

[X] This is an issue with the Node library

Describe the bug
Trying to import the SDK in version 4.17.2 fails in a Supabase Deno function with the following error:
Download<EMAIL_ADDRESS>Download<EMAIL_ADDRESS>Failed to load module<EMAIL_ADDRESS>- Import<EMAIL_ADDRESS>failed, not found.

It worked in 4.4.0, and is possibly an esm.sh bundling issue, since it seems to work in a Deno kernel Jupyter notebook with npm: style imports.
To Reproduce

Create a Supabase Deno function
Use the following code:

import { OpenAI } from<EMAIL_ADDRESS>
Deno.serve(async (req) => {
  const { name } = await req.json()
  const data = {
    message: `Hello ${name}!`,
  }
  const client = new OpenAI()

  return new Response(
    JSON.stringify({}),
    { headers: { "Content-Type": "application/json" } },
  )
})

Code snippets
No response
OS
Supabase Deno
Node version
Deno
Library version
4.17.2

For Deno on Supabase or Netlify Edge functions you need to import like so:
<EMAIL_ADDRESS>
Note that we don't have auto-releases for Deno set up just yet, but we're actively working on that and hope to have it up soon.
If you need a version newer than 4.16.1, let us know and @athyuttamre can get do a manual deploy.
The esm.sh failure is tracked here: https://github.com/esm-dev/esm.sh/issues/743

Ah ok, will ask the dev to try the deno.land import and track that issue.
Downgrading also unblocked them.

fixed in latest update

Excellent, thank you!


Benchmark unfairly excludes compilation time.

As I've looked at Chrome timelines and thought about it, I have some concerns about the benchmark. I think it's somewhat biased in favor of optimize-js because optimize-js moves some CPU time from execution to compilation, but the benchmark only measures execution.
Basically, unoptimized code does a quick parse during the compilation phase, and then does a slow/complete parse during the execution phase (along with the actual execution of the code, obviously). After optimize-js has been run, the compilation phase does a slow/complete parse, and the execution phase just runs the code. But since the benchmark measures the time between executing the first line and the last line of the script, it is measuring only the execution phase, which means that the time increase in the compilation phase gets lost. I confirm this by looking at Chrome timelines; after optimize-js runs, the compilation phase goes up considerably, but the benchmark just reports the execute time.
I think the fairest benchmark is compilation + first execution, as this is what most pages care about for first load. What I don't know is how to measure that. Here are some ideas, all problematic:

Start measurement from the moment that the script element is added to the DOM. This is what the cost-of-small-modules benchmark does, and it clearly shows time moving from the execution phase to the compilation/loading phase when you use optimize-js. The downside, of course, is that it includes loading time as well in the compilation phase. If all the files are served locally, this probably isn't a huge issue, but it is a source of error in the measurements.
Start measurement from the moment that the script element is added to the DOM, but subtract the time from the Resource Timing API. This is the same as 1, except that you would use the Resource Timing API to see how long it took to load the script from the network and subtract that amount from the measurement. This would reduce the network-based error in 1, but it may not work perfectly, because browsers might start the compilation phase before receiving the last byte of the script. If this is the case, then subtracting the load time of the script would hide some of the compilation phase. More conservatively, you could just subtract TTFB from the loading/compilation phase. Also, Resource Timing isn't available on Safari.
Download the script with XHR/fetch, and call eval() on it. The other possibility is to download the code and then eval it. The benefit here is that you definitely are capturing compilation + execution without getting any network load time mixed in. The downside is that I could totally believe that browsers disable some perf optimizations for eval, so it's possible the numbers will be misleading.

Does this make sense? Do you have other ideas how to measure this (or other thoughts)?

So you've highlighted an important issue here; there's a measurement that the benchmark is not taking into account and this does have the potential to unfairly inflate optimize-js's numbers.
I think the responsible thing would be to add an additional number to measure the compilation time (which indeed should go up). But the question is how best to observe compilation time from JavaScript, which turns out to be a difficult question to answer.

1․ Start measurement from the moment that the script element is added to the DOM.

As you say this would get muddied by network overhead, which would make the tests inconsistent and unreliable. You could use a cached version of the script, but the problem is that some engines may pre-JIT a cached script (I'm told V8 does this).

2․ Start measurement from the moment that the script element is added to the DOM, but subtract the time from the Resource Timing API.

Besides the Safari problem, there's actually no guarantee that the browser will only begin parsing once it's received the last byte of JavaScript – it can start parsing the moment it starts to receive script.

3․ Download the script with XHR/fetch, and call eval() on it.

eval() has side effects and so isn't exactly equivalent to <script> tags. Also <script> tags are more the norm on the web, so it's better to test those.
Due to all these issues, I'd say your first suggestion is probably the best one, but we should do the following:

Download the script as text/plaintext (to avoid parsing)
Convert it to a blob/dataURL (not sure which one is best but I imagine blob since otherwise browsers may cache the dataURL. we will probably want to append random whitespace to the script as well)
Set the blob/dataURL as the source of a non-async non-deferred script and add it to the DOM
Measure the time from adding the script to the DOM and the first line of code in the script as "load/compile time" and the current measured time as "run/execute time"

I think reporting both numbers is important to ensure we don't mislead people on the benefits of optimize-js, so we should definitely do this. :+1:
/cc @toddreifsteck who helped walk me through some of the tricky bits of this :)

Oooooh, I love the idea of a blob/dataURL; hadn't occurred to me, and I am agreed on all counts about the imperfections of the three ideas I proposed. I didn't even know about using blobs as URLs; that's really neat!
And (perhaps obviously) I am +1 that this is important to do to make sure the numbers are fair. Thanks!

This is my highest-priority task for optimize-js before merging in recent changes. I'm pretty sure the current benchmarks are far too optimistic.


Default linter and/or linting configuration cannot parse various TypeScript features (e.g. modifiers like readonly)

Is this a bug report?
Yes

Did you try recovering your dependencies?

The issue occurs on a freshly created application.
Which terms did you search for in User Guide?

Linting, Readonly, TypeScript
Environment

Environment Info:

  System:
    OS: macOS Sierra 10.12.6
    CPU: x64 Intel(R) Core(TM) i7-3740QM CPU @ 2.70GHz
  Binaries:
    Node: 10.15.1 - ~/.nodenv/versions/10.15.1/bin/node
    npm: 6.7.0 - ~/.nodenv/versions/10.15.1/bin/npm
  Browsers:
    Chrome: 72.0.3626.96
    Firefox: 64.0.2
    Safari: 12.0.3
  npmPackages:
    react: ^16.8.1 => 16.8.1
    react-dom: ^16.8.1 => 16.8.1
    react-scripts: 2.1.5 => 2.1.5
  npmGlobalPackages:
    create-react-app: 2.1.5

Steps to Reproduce

Generate an app with the typescript option:
create-react-app my-app --typescript

Add TypeScript code with the readonly modifier, for example in src/App.tsx:
interface Test {
  readonly foo: string
}

Observe that eslint cannot parse the code, as indicated by the editor if integrated with eslint, or by running the following command:
$> ./node_modules/eslint/bin/eslint.js src/App.tsx

/path/to/my-app/src/App.tsx
  6:12  error  Parsing error: Unexpected token, expected ":"

  4 |
  5 | interface Test {
> 6 |   readonly foo: string;
    |            ^
  7 | }
  8 |
  9 | class App extends Component {

✖ 1 problem (1 error, 0 warnings)

Expected Behavior

The linter with its default configuration should be able to parse this interface.
Actual Behavior

The linter fails to parse the interface with the error:
error  Parsing error: Unexpected token, expected ":"

Removing the readonly modified removes the parsing error.
Reproducible Demo

This repository demonstrates the issue with a simple commit.
Run the following command to reproduce:
git clone https://github.com/AlphaHydrae/create-react-app-typescript-readonly-bug.git && \
  cd create-react-app-typescript-readonly-bug && \
  npm ci && \
  ./node_modules/eslint/bin/eslint.js src/App.tsx

I just stumbled over another similar problem. The following valid TypeScript also causes the linter's parsing to fail:
function foo<T = any>() {
}

Although this works fine:
interface Foo<T = any> {
}

eslint also trips over this:
type Id<T> = {
    [Prop in keyof T]: T[Prop];
}

Parsing error: Unexpected token, expected "]"

   6 |
   7 | type Id<T> = {
>  8 |     [Prop in keyof T]: T[Prop];
     |           ^
   9 | }
  10 |
  11 | type S = Id<{foo: "bar"}>;

It seems like the eslint config doesn't use the typescript parser when typescript is used. Here's the config from the eslint-config-react-app package:
https://github.com/facebook/create-react-app/blob/319cf9b9e1833a4b31209b9dea0d03e89b996d71/packages/eslint-config-react-app/index.js#L41-L47

I have a similar (the same?) problem, see #6360. Tested with CRA 2.1.5 and current HEAD.

#5641 #6513

ESLint is not currently running on .ts or .tsx files. Any errors you're seeing are from the TypeScript compiler type checking. If you're seeing errors today it's likely because it's not valid TypeScript.

That's strange, because simply creating a new project with yarn create react-app test --typescript, adding an .eslintrc.json to the project root containing only { "extends": "react-app" } and using the ESLint plugin for VS Code shows this error for perfectly valid TS code:

Same for keyof.

Interesting! Here's our ESLint setup in webpack as of 2.1.8: https://github.com/facebook/create-react-app/blob/c17e25bf7f9dd60c49cd491535114beb5592ff81/packages/react-scripts/config/webpack.config.js#L307.
Not sure how it would be running on typescript files. May be worth trying our 3.0 alpha to see if it resolves your issue as it includes typescript ESLint support.

Wow. That is weird. I was able to resolve the issues by defining my own eslint config with typescript parser and plugin.

Is there any update on this, I'm seeing the same issue using react-scripts 4.0.1

Is there any update on this, I'm seeing the same issue using react-scripts 4.0.1


"failed to execute cpp2il" MelonLoader not working. I assume something is missing

All of the following criteria must be met

[X] All Requirements must be installed.
[ ] Full Latest.log file included. If no file exists then leave this unchecked and state so.

All of the following are optional to answer

[X] Tried reinstalling the Game.
[X] Tried reinstalling MelonLoader.
[x] Tried restarting PC.
[ ] Was able to see the Start Screen.

Describe the issue.
When I try to start my game, MelonLoader opens and gives the message as seen in the picture, but nothing else happens and it soon closes afterward.

Did you attach your log file?

[ ] Yes, I attached my log file to the text box above.
[X] No, I could not find a log file at {Game_Directory}\MelonLoader\Latest.log

Remove the apostrophe (') from your game path

I was presented to that solution somewhere else, and it solved the problem. Thanks.


SI-659 - introduced dedicated timeouts to all test stages

see related https://github.com/Stratoscale/monkey/pull/1738

Shipit


de-DE - missing IPA equivalent for some sounds and Wrong Example

For most of us people who are not linguistic experts, Dictionaries with pronunciation is the reference to go. For german I use Duden as reference to go.
I am a programmer (software developer) and I don't speak german, Based on user feedback some of the words are pronounced wrongly. I checked in Duden and they are right. Since there are about 1300 German words in our application and I was trying to just pick up the phonemes from Duden and just throw it in application.
There are a few problems, Duden
1- Doesn't use IPA. meaning I have to translate their phoneme alphabet to IPA before being able to use it.
2- Checking your phoneme table, there are about 7~9 major signs are missing (compared to wiki and Duden)
look at this wiki page second table (and text under) and third table. image of Duden Phoneme and these missing ones are not rare like here A conversion table is appreciated.
3- Under german vowels, for example one of "iy" "Iran" is specified. Iran is not pronounced "I ran" or "ey ran" or "ay ran" it is pronounced "eeraan" which makes example wrong.

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

ID: aa500b3f-b01e-862e-94d3-91d42dae7bad
Version Independent ID: 41da757e-159d-9029-9e04-1f4c1202c73b
Content: Speech phonetic sets - Speech service - Azure Cognitive Services
Content Source: articles/cognitive-services/Speech-Service/speech-ssml-phonetic-sets.md
Service: cognitive-services
Sub-service: speech-service
GitHub Login: @zhaoyunED
Microsoft Alias: jiajzhan

@bobsort Thanks for the feedback. Our internal team would review the same and update as required.
@QinyingLiao Could you please help to pass the feedback to the right team for review?
@zhaoyunED The content author to review and update as required.

@bobsort Thanks for the feedback. For you third question, do you mean when you give de-DE sapi phone input like 'IY - R A : 1 N', the MS TTS output will generate wave like 'eeraan' ? Which voice are you using?

@bobsort For input IPA phone sequences "ʊɪ̯", "ʊɪ", it will generated the same audio. So I only put the phone "ɪ" on the doc. You could keep the "ʊɪ̯",  it is supported, but will be same with the input "ʊɪ".

@jiajzhan No, What I meant was example doesn't seem to be correct for iy. but I checked and it is correct for i: thus Iran is correct example.  I'm not sure why SAPI elected to use 'iy' for i: and thus source of confusion as 'iy' is pronounced 'aey' which was the reason I left the comment.
For second table I was pointing at the curve under the alphabet ɪ̯, ʏ̯ and ʊ̯ and not the sequence itself.
The ʊɪ̯ as wiki is stated, doesn't have many uses, but ɪ̯ and ʊ̯ are very frequent (duden image in original post)
I can write a tiny code to change duden phonemes to IPA phonemes, but first I need to know what to replace them with. replacing ɪ̯ with ɪ doesn't work in at least few of cases that I checked (same for ɐ̯ with ɐ and ʊ̯ with ʊ).

@bobsort  It's a Diacritics in IPA, it's supported by MS TTS. You could try it with phoneme tag or custom lexicon. Bug as I have said, "ʊɪ̯", "ʊɪ" will have the same effect for the generated audio.
Could you share me cases doesn't work with phone 'ɪ'? Do you mean the generated audio is not as expected?

#please-close


Use init system and add restart support

This pull request adds automatic restart on container changes.
To achieve this I had to add an init system to the image.
I changed the image to be based on nimmis/alpine:3.3 which has an init system and is based on an Alpine image. A positive side effect is that the image size is now about half the size as before (78.02 MB versus 163.8 MB).
A breaking change is that the option you previously had to add on the command line (--email<EMAIL_ADDRESS>now has to be provided via an environment variable instead (because of the init system being process 1 instead of Caddy).

Thank you for your nice PR. I create a dev branch from your PR, it had been automatic build as blackglory/caddy-proxy:dev, and it works fine, so I want to merge it to master branch after solving the problem below.
The only one I cannot understand in your code, it is the lastest char 's' in caddy.conf:
, it looks like a mistake when Ctrl + S, is it intentional?
%(ENV_CADDY_OPTIONS)s

Oh that s :smile:
It is part of the syntax for the variable expansion.
Not being an expert on supervisord I didn't put the s there at first. I struggled for a long time trying to get the expansion to work before I realized it was missing and part of the syntax.


[SMALLFIX] Improve error message (#6885)

cherry-pick of #6885 to branch-1.7

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/18849/
Test PASSed.

Merged build finished. Test PASSed.


support rocky linux 8,9

Hello
Same as the issue in the link below(support Alma Linux),
Rocky Linux(compatible with RedHat and CentOS) also needs support.
https://github.com/flapdoodle-oss/de.flapdoodle.embed.mongo.packageresolver/issues/9

@leejaeseung thanks for your work.. will make an release soon..

@leejaeseung release done, use 4.14.0


multipleOf validation fails when the value is fractional

Describe the bug
Given an openAPI spec that contains validation of multipleOf: 0.1  for a double type, there are several valid values for which the validation fails, and therefor the API request is not sent.
To Reproduce
Steps to reproduce the behavior:

Use autorest to generate a typescript client with the following type contained
Attempt to call the API with a value of 2.0
Observe that the validation fails and the command is not sent

       fractionalValue:
          type: number
          format: double
          minimum: 0
          maximum: 100
          multipleOf: 0.1
          example: 0.1

Expected behavior
For a multipleOf value of 0.1, all of the following values (and others) should be valid:

0.1
0.2
1
2

Additional context
I believe this may be resolved by changing line 57 of https://github.com/Azure/ms-rest-js/blob/45f89c90414db812e4950185ffe7f9f6becb5664/lib/serializer.ts to use an epsilon value of MultipleOf when the type is double.
This may include false positives that I have not considered. However, for client-side validation false positives are expected, since the client does not have full context, and will rely on server validation in other scenarios.

@craignicol what version of autorest are you using?  We've made many improvements in recent versions, and now the generated code are using @azure/core-client and @azure/core-rest-pipeline instead of @azure/ms-rest-js.  Would it be possible for you to try the latest version and open issue in the https://github.com/Azure/azure-sdk-for-js repository?

craignicol@SM-LAPTOP-0244:~$ autorest --version
AutoRest code generation utility [cli version: 3.6.1; node: v14.16.1]
(C) 2018 Microsoft Corporation.
https://aka.ms/autorest

Showing All Installed Extensions

 Type       Extension Name                           Version      Location
 core       @autorest/core                           3.8.3        /home/craignicol/.autorest/<EMAIL_ADDRESS> extension  @autorest/modelerfour                    4.21.4       /home/craignicol/.autorest/<EMAIL_ADDRESS> extension  @autorest/typescript                     6.0.0-beta.19 /home/craignicol/.autorest/<EMAIL_ADDRESS> core       @microsoft.azure/autorest-core           2.0.4421     /home/craignicol/.autorest/<EMAIL_ADDRESS> extension  @microsoft.azure/autorest.modeler        2.3.51       /home/craignicol/.autorest/<EMAIL_ADDRESS> extension  @microsoft.azure/autorest.typescript     4.2.4        /home/craignicol/.autorest/<EMAIL_ADDRESS>
That version appears to be using ms-rest-js as the error message reads:
Error ""body.value" with value "40" should satisfy the constraint "MultipleOf": 0.1." occurred in serializing the payload - undefined which I can see in ms-rest-js but not in azure-sdk-for-js


[Backport v2.7] [BUG] RKE2/K3S registration command not working on airgap setup

Backport of https://github.com/rancher/rancher/issues/44682 for 2.7.x line of releases.
See https://github.com/rancher/rancher/issues/44682#issuecomment-1985859748 for a workaround.

QA TEST PLAN

#
Scenario
Test Case

1
Provision a downstream K3s custom cluster
Setup an air-gap Rancher environment, provision a downstream K3s custom cluster as a standard user

2
Upgrade a downstream RKE2 custom cluster
Setup an air-gap Rancher environment, provision a downstream RKE2 custom cluster as a standard user, upgrade the downstream cluster

Validated that this is addressed on v2.7.12-rc1. See details below:
ENVIRONMENT DETAILS

Rancher install: Helm
Rancher version: v2.7.12-rc1

TEST RESULT

#
Scenario
Test Case
Result

1
Provision a downstream K3s custom cluster
Setup an air-gap Rancher environment, provision a downstream K3s custom cluster as a standard user
:white_check_mark:

2
Upgrade a downstream RKE2 custom cluster
Setup an air-gap Rancher environment, provision a downstream RKE2 custom cluster as a standard user, upgrade the downstream cluster
:white_check_mark:

VALIDATION STEPS
Scenario 1

Setup an air-gapped environment.
As a standard user, provisioned a downstream custom K3s v1.27.11+k3s1 cluster (1 etcd, 1 cp, 1 worker).
Validated that nodes could be registered and the cluster came up Active.

Scenario 2

Repeated scenario 1, but provisioned a downstream custom RKE2 v1.26.14+rke2r1 cluster (1 etcd, 1 cp, 1 worker).
Upgraded the cluster to v1.27.11+rke2r1; validated that it came up Active.


How can i implement a websocket using httprouter

As the title：How can i implement a websocket using httprouter？

I got it working with something like the code below. I'm using gorilla/websocket for websocket connection management and messaging.
//////////////////////////// server.go
package main

import (
	"github.com/gorilla/websocket"
	"github.com/julienschmidt/httprouter"
	"log"
	"net/http"
)

var upgrader = websocket.Upgrader{}

func internalError(ws *websocket.Conn, msg string, err error) {
	log.Println(msg, err)
	ws.WriteMessage(websocket.TextMessage, []byte("Internal server error."))
}

func sendStuff(ws *websocket.Conn, /* stuff */) {
	ws.WriteMessage(websocket.TextMessage, []byte(/* stuff */)
}

func Connect(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
	// Setup websocket
	ws, err := upgrader.Upgrade(w, r, nil)
	if err != nil {
		log.Println("upgrade:", err)
		return
	}

        // Do some preprocessing here...

	defer ws.Close()

	// Do some more processing if you want...
	done := false
	for {
		select {
		case /* <-appDone */:
			done = true
		case /* <-appUpdated */:
			go sendStuff(ws, /*stuff*/)
		}
		if done {
			break
		}
	}
}
func NewRouter() *httprouter.Router {
	router := httprouter.New()
	router.GET("/ws", Connect)

	return router
}

//////////////////////////// main.go
package main

import (
	"log"
	"net/http"
)

func main() {
	log.Println("Starting app")
	// Get new router
	router := NewRouter()
	// Serve routes
	http.ListenAndServe(":8900", router)
}

Here's my client skeleton code as well in Python.
import os
import sys
import websocket

try:
    import thread
except ImportError:
    import _thread as thread

import time

def process_message(message):
    print(message)

def on_message(ws, message):
    process_message(message)

def on_error(ws, error):
    print("error")
    print(error)

def on_close(ws):
    print("### end ###")

def on_open(ws):
    def run(*args):
        while True:
            time.sleep(1)
        time.sleep(1)
        ws.close()
        print("terminating websocket...")
    thread.start_new_thread(run, ())

if __name__ == "__main__":
    websocket.enableTrace(True)
    ws = websocket.WebSocketApp(
            "ws://localhost:8900/ws",
            on_message = on_message,
            on_error = on_error,
            on_close = on_close)
    ws.on_open = on_open
    ws.run_forever()

This confused me a bit as well, as I wasn't sure which http method to use with a websocket. I settled on the GET method, as that's what I've seen in some other places. Everything else as shown, substituting POST with GET yields 405 Method Not Allowed.

@julienschmidt I recommend closing this issue and labeling as question


Release 0.7.0 with timeout support.

SonarQube analysis reported 1 issue
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 session.py#L154: Method "search" has 18 parameters, which is greater than the 15 authorized.


componentDidUpdate not being called in route change in react-router

Hi,
I'm having issues when navigating through pages using react-router.
I've followed the React example (very helpful) however I have had issues building it into react-router.
The first time that the page loads, here is what happens in GoogleMap.js:

render
componentDidMount
render
componentDidUpdate
componentDidMount

If I switch routes (without reloading the page), then componentWillUnmount is called. So far this is all expected behaviour.
If I go back to the first page, or navigate to a new page with a GoogleMap.js component, here's what happens:

render
componentDidMount

There's no updating of the props, and no map is displayed. Instead, the render function will only render the string 'Loading!' (passed as a child by the parent element in the React example).
Is it possible get the map to render without refreshing the page?

@cameronmcphail yes at a glance it looks like some changes will need to be made to the GoogleMap component. Happy to accept a pull request, as I'm not sure how soon I'll have time to look at it.

@cameronmcphail fixed, https://github.com/dburles/meteor-google-maps-react-example


Alessandro/fix scope stop osx

Before this patch, scope stop was not stopping scope-app

This hasn't been re-based properly.

@rade sorry, my bad. I rebased it on release-0.17

@alepuccetti It still carries a lot of other changes. Would you mind resetting and cherry-picking just the fix?

@2opremio I did not noticed that I was working on a different branch. Should we merge it also on master?

@alepuccetti I will merge it to master from release-0.17 later on.

Got it
On Wed, Aug 17, 2016 at 2:12 PM, Alfonso Acosta<EMAIL_ADDRESS>wrote:

@alepuccetti https://github.com/alepuccetti I will merge it to master
from release-0.17 later on.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/weaveworks/scope/pull/1811#issuecomment-240393180,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGRc77PXrKuiurOkXsNbA4U293tJYJWrks5qgvrHgaJpZM4JmVoi
.

--
Alessandro Puccetti

@alepuccetti Thanks!

LGTM


Can FzfPreviewDirectoryGrep be supported

Great work on this!!
Was wondering can FzfPreviewDirectoryGrep be supported?

I'm sorry it took me so long to get back to you.
I'll think about adding it, but I'm thinking about refactoring the plugin before I do so, so it may be late.

@sushovannits Here's a quick work around I use to grep in the current file directory, might help you out.
function! Fzf_grep_on_current_file_directory()
    let l:wd = execute(':pwd')
    let l:path = expand('%:h')
    execute (':cd' . l:path)
    let l:grep = input('FzfPreviewProjectGrep: ')
    execute(':FzfPreviewProjectGrep' . ' ' . l:grep)
    execute (':cd' . l:path)

There is a workaround, so let me close it once.
If there are many requests, we'll consider it again.


Changed the Solenoid enable pin from GPIO21 (pin 40) to GPIO13 (pin 33)

This PR changes the ACS solenoid voltage boost enable pin from GPIO 21 to GPIO 13 in order to accommodate the NEMO wiring requirements.
Closes #27
Signed-off-by: tmf97<EMAIL_ADDRESS>

Changes have been documented in the wiring guide.


test pr

PR Type
configuration changes

Description

Added a new secrets.toml file to the pr_agent/settings directory.
The file includes configuration templates for multiple services such as OpenAI, Pinecone, Anthropic, Cohere, Replicate, Groq, Huggingface, Ollama, VertexAI, AWS, GitHub, GitLab, Bitbucket, LiteLLM, Azure DevOps, and others.
Provided placeholders for API keys, tokens, and other necessary configuration details.
Added comments to guide users on setting up the configurations.

Changes walkthrough 📝
Relevant filesConfiguration changes

secrets.tomlAdd configuration template file for various services

pr_agent/settings/secrets.toml
Added a new secrets.toml file with configuration templates for various services.  Included sections for OpenAI, Pinecone, Anthropic, Cohere, Replicate, Groq, Huggingface, Ollama, VertexAI, AWS, GitHub, GitLab, Bitbucket, LiteLLM, Azure DevOps, and others.  Provided placeholders for API keys, tokens, and other necessary configuration details.  Added comments for guidance on setting up the configurations.

+95/-0

💡 PR-Agent usage:
Comment /help on the PR to get a list of all available PR-Agent tools and their descriptions

@dove-young dont do that


fix(kork): updates to kork 7.54.0

fixes some breaking changes and dependency updates from latest kork release

closes #896


[interceptors] deprecated?

The readme states DEPRECATED - no further development planned. Is that the case? What should be used instead then?

Asking after seeing EvenBus used in Interactive Grid example thinking of similar solution for my own project.

Hi Karsten, yes complete would be more appropriate in this case. Will check rdom out!


WHITESPACE CHANGE DO NOT MERGE

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/8781/
Test PASSed.

Merged build finished. Test PASSed.


Login with Dex IdP

Resources:

https://authjs.dev/guides/configuring-oauth-providers
https://dexidp.io/docs/connectors/

Done in https://github.com/SovereignCloudStack/cluster-gen/pull/10/commits/a76bbfd044785d793c18b014128b980418a3e776, will be merged with https://github.com/SovereignCloudStack/cluster-gen/pull/10


Column resize caching

This is a quick fix for: https://github.com/sourcelair/xterm.js/issues/325
Rather than wrapping text, it just caches it temporarily and re-inserts it.
While not ideal, I think this is better than the current behaviour (just losing the text).
This is critical for one of our current projects, so if this is an acceptable (temporary?) fix, I'd be happy to write tests for it and make further changes to other integrated features (I'm new to this code base, so my apologies if I missed anything - would be happy to have anything pointed out to me).
Thanks!

Okay @Tyriar - I see what you mean. I actually had such a feeling, but was lacking in any other direction to fix this. :)
So I went with your suggestion: specifically not removing characters from this.lines when shrinking. this.refresh already seems to do the job of materializing up to this.cols - this fixes it for me. What do you think?

I'm kind of surprised that's all this needed. @parisk do you know if there would be any unintended side effects to removing this column trimming code from resize?

Thanks for your contribution @imsnif! I just ran the demo on your branch and after reducing the number of columns text would just vanish, instead of wrapping.
If we get this working and apply some tests, we can definitely merge the request 👍 .

@parisk - we thought this could be a temporary fix for the problem, seeing as while it does not wrap the text, it does not "swallow" it either (as is the case right now). So while reducing the number of columns makes the text vanish, it comes back when you increase them again. It's not an ideal situation, but in my opinion it's better than the current behaviour. What do you think?
Other than that, I'm currently working on implementing a proper "wrapping" solution, but I'm not sure I'll have the time for it. If I will, I plan on doing a separate PR.

I think it's 👍  to postpone this until 2.3.0, to make sure we ship a good experience to the end user.
Whether which of these two experiences is best for the end user IMO is subjective, so let's just stick on fixing this the right way.
@imsnif as this is an important issue not only for you, but for other xterm.js users as well (our company including!) what can we do to help you as much as possible with moving forward with the full solution?

@parisk - I basically have a working version with line wrapping that I need to clean up locally. I'm currently writing some tests and then will do some refactoring before issuing another PR.
The main thing I need your input on is whether it will be fine to mark characters as being wrapped.
As in - right now (as I understand it) characters in the terminal are marked by an array of three items (eg. [ 131840, '1', 1 ])
My implementation will add a fourth item to mark whether the character is wrapped or not (eg. [ 131840, '1', 1, 'wrapped' ]). This is necessary, because these characters must be identified in order to distinguish between them and non-wrapped characters when resizing. Will this change be acceptable? (I can go into further detail if needed, or just discuss it as part of the next PR in a few days).

@imsnif why does resizing need to know if they're wrapped or not? What is the performance impact of not keeping a wrapped flag in on the characters?

@Tyriar - I'm using the wrapped flag on the characters in order to know whether they should be 'unwrapped' when the terminal is expanded.

Closing this in favour of: https://github.com/sourcelair/xterm.js/pull/404


Document how to start the dev server in the README

I saw some of the issues that were opened this afternoon, so I took a stab at fixing #11 by adding instructions to run the dev server locally.

Thanks @kadamwhite, I'm going to close this since much has changed :)


Symbols are stored globally and never freed.

Clingo internalizes symbols in global hash tables to only allocate memory for the same symbol once. Currently, symbols are never removed form this hash table. When an application runs for a long time and generates a lot of different symbols, this can lead to memory problems.
Unused symbols should be freed. This could be done via some form of garbage collection or reference counting.

Workaround for if you have the problem using multiprocessing.pool.Pool in Python: https://stackoverflow.com/questions/38294608/python-multiprocessing-pool-new-process-for-each-variable. Documentation: https://docs.python.org/3/library/multiprocessing.html#multiprocessing.pool.Pool

Workaround for if you have the problem using multiprocessing.pool.Pool in Python: https://stackoverflow.com/questions/38294608/python-multiprocessing-pool-new-process-for-each-variable. Documentation: https://docs.python.org/3/library/multiprocessing.html#multiprocessing.pool.Pool

Just be careful when exchanging data between the workers. The classes in the clingo API do not support pickling (and it would defy the attempt to safe memory). If you restrict yourself to python classes for communication, then these can be passed around easily and they will be freed when no longer referenced.

@rkaminsk Are symbols freed when a clingo Control object is garbage-collected?  E.g.:
import clingo

# Abstraction of long-running business logic
while True:
    clingo_control = clingo.Control()
    clingo_control.load(...)
    for _ in range(3):
        clingo_control.ground((
            ...
        ))
        for model in clingo_control.solve(yield_=True, async_=True):
            for symbol in model.symbols(shown=True):
                ...

@rkaminsk Are symbols freed when a clingo Control object is garbage-collected? E.g.:

No, they are never freed and actually shared between multiple control objects.

While a garbage-collection/reference-counting approach of individual symbols is probably the ideal solution, is it possible count references to clingo.Control objects in the meantime and clear the hash table when all clingo.Control objects are garbage-collected by Python?

While a garbage-collection/reference-counting approach of individual symbols is probably the ideal solution, is it possible count references to clingo.Control objects in the meantime and clear the hash table when all clingo.Control objects are garbage-collected by Python?

It is not that easy. The python program might store some other symbol objects. I can have a look if I can provide a function to clear all symbols. But it would be dangerous to use...

Hmm. It's probably better to be memory-safe than to provide a function that could result in a segfault.  I think some form of memory management is going to be an essential feature for real-world applications, but I can look into using subprocesses in the meantime.

The next major clingo release will give more control about storing symbols. For now there is no way to delete them - not even on the C++ level.

@rkaminsk That is really nice to read. You once mentioned that this feature has to be well planned. Can you elaborate on how you plan to do it?


Allow Gradients or Dynamic Line Colors

In order to produce effects like:

Here github's project activity charts, we have to have control of the line's/area's color a bit more.
Have you considered making the color (x,y) dependent function:
color : (Float, Float) -> Color
or maybe simply allowing a gradient between max and min of the axis.

Sounds reasonable!

Not sure the (x,y) -> Color is super useful (at least for me). I was able to get the desired effect by including a linearGradient (hard-coded) in defs and setting the stroke of interpolation__line to that.
Here is the result, bash in its gloriousness:

My current idea is to set the gradient between min and max, but I haven't tried to implement anything yet since I'm focusing on the date time axes. I'll get back to you if I have any questions when I start working on it. :)

Thats what I would do too.

On 7 Dec 2017, at 15:03, Tereza Sokol<EMAIL_ADDRESS>wrote:
My current idea is to set the gradient between min and max, but I haven't tried to implement anything yet since I'm focusing on the date time axes. I'll get back to you if I have any questions when I start working on it. :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/terezka/lines/issues/5#issuecomment-349975633, or mute the thread https://github.com/notifications/unsubscribe-auth/AAJmGhrNEj_0aRBF61BcTWV37Vx-Urctks5s9_A8gaJpZM4Q1Jdu.


fix autofill

Fixes https://github.com/stencila/sibyl/issues/39. Thanks!

Codecov Report

Merging #43 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #43   +/-   ##
=======================================
  Coverage   79.54%   79.54%
=======================================
  Files           1        1
  Lines         176      176
=======================================
  Hits          140      140
  Misses         36       36

Continue to review full report at Codecov.

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


Allow plugins not to support macOS

With the federated model, adding a macos platform to a frontend plugin pubspec.yaml results in a failure. This line detects there's a macos plugin, and expects a macos. The work around solution is to add a macos folder with a no-op podspec, just as we are doing for iOS on macos plugins.

This is the error I get when flutter run -d macos on url_launcher (WIP)
CocoaPods' output:
↳
      Preparing

    Analyzing dependencies

    Inspecting targets to integrate
      Using `ARCHS` setting to build architectures of target `Pods-Runner`: (``)

    Fetching external sources
    -> Fetching podspec for `FlutterMacOS` from `Flutter/ephemeral/.symlinks/flutter/darwin-x64`
    -> Fetching podspec for `url_launcher` from `Flutter/ephemeral/.symlinks/plugins/url_launcher/macos`
    [!] No podspec found for `url_launcher` in `Flutter/ephemeral/.symlinks/plugins/url_launcher/macos`

Pubspec looks like this:
flutter:
  plugin:
    platforms:
      android:
        package: io.flutter.plugins.urllauncher
        pluginClass: UrlLauncherPlugin
      ios:
        pluginClass: FLTURLLauncherPlugin
      web:
        default_package: url_launcher_web
      macos:
        default_package: url_launcher_macos

That line is a hack that's supposed to be replaced with platform-specific plugin files per platform (see discussion in iOS/Android bugs).
I would much rather we just finally fix that rather than continuing to layer hacks into all the plugins.

Note that I had a WIP PR for adding platform-specific plugin files linked from another bug, IIRC the iOS one. It can be adopted incrementally (e.g., switch just macOS to using it first, then other platforms later).

I was continuing your WIP work on creating a .flutter-plugins file for each platform, but the tools team wants to make a more comprehensive plan on how this should work. They suggested we leave this as it is for now, and reassess once they come up with the plan.

Okay. I'm a bit confused since I thought per-platform files was the comprehensive plan...

As I understand it, there is a similar problem with android when building with android studio, so the team wants to think about it at a higher level.  @blasten might be able to explain better :)

The issue with iOS iirc is that the plug-in file parsing logic is in the users podfile, not in tree so we can't update it cleanly

there is a similar problem with android

Yes, and with iOS as well, which is why the proposal was to move to having a separate plugins file list for each platform.

The issue with iOS iirc is that the plug-in file parsing logic is in the users podfile, not in tree so we can't update it cleanly

Unless we want to require stub implementations in every plugin forever, I don't see how we can avoid addressing that in any solution though, either by requiring manual updates by users (which for many people would just mean deleting the file so that it would be recreated), or writing some kind of migration logic.

The concern was to avoid working on something that might be reworked soon. Changing the location of .flutter-plugins and flutter-plugins-dependencies is non-trivial change. We would have to modify the way settings.gradle file is generated, which is a breaking change. There were also issues with AS generating the gradle config differently from what the tool does.
I agree that at some point we'll need to do that anyway or have some migration logic, but I believe the team wanted to have a better plan for it and address all these stub implementation issues in a more correct way.
That said, I did get something working for all platforms, leaving the files location untouched for android. It's not a huge change and it might be better than having the ios/macos stub implementations so it might be worth taking a look.
Here's the PR, working on tests still:
https://github.com/flutter/flutter/pull/47258
If people think this is worth continuing then I'm happy to finish
@jonahwilliams @blasten @amirh

Followed up with @jonahwilliams offline yesterday. I'll continue working on this.


Configuration Profile DSO tabs overlap at 100% zoom

After adding several DSOs, the DSO tabs overlap at normal zoom.  Have to zoom out to 50% so they don't overlap.

resolved.


Android: method does not override or implement a method from a supertype @Override

.../MainActivity.java:26: error: method does not override or implement a method from a supertype
    @Override
    ^
1 error
:app:compileDebugJavaWithJavac FAILED

I'n using RN 0.34.1.
File MainActivity.java seems to be originally structured in a different way you described it in Readme:
package com.androidreact;

import com.facebook.react.ReactActivity;

public class MainActivity extends ReactActivity {

    /**
     * Returns the name of the main component registered from JavaScript.
     * This is used to schedule rendering of the component.
     */
    @Override
    protected String getMainComponentName() {
        return "AndroidReact";
    }
}

Can you please try with RN 0.33 in order for us to check whether this is related to RN 0.34?
How did you generate this MainActivity btw?

It builds without error only with RN 0.28.
This activity is generated by RN generator. There are two files:

The contents of the second file is following:
package com.androidreact;

import android.app.Application;
import android.util.Log;

import com.facebook.react.ReactApplication;
import com.facebook.react.ReactInstanceManager;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainReactPackage;

import java.util.Arrays;
import java.util.List;

public class MainApplication extends Application implements ReactApplication {

  private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
    @Override
    protected boolean getUseDeveloperSupport() {
      return BuildConfig.DEBUG;
    }

    @Override
    protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(
          new MainReactPackage()
      );
    }
  };

  @Override
  public ReactNativeHost getReactNativeHost() {
      return mReactNativeHost;
  }
}

After you generate the app with RN 0.34, are you able to run it (without adding the RNSM module or any module)? If not, seems to be an issue with RN itself, or maybe it requires an Android SDK version different than yours.

Yes, I have working app (RN 34, SDK 23.0.1). Everything works well. Build fails only with RNSM plugged in.

I just released a new version (1.1.5) with a PR ( #9 ) that adds support to RN 0.33. Can you try it please?

The only question: what should I do in MainActivity.java (shown above)?

O copied the contents you sent on an earlier comment and added the additions:
package com.androidreact;

import android.app.Application;
import android.util.Log;

import com.facebook.react.ReactApplication;
import com.facebook.react.ReactInstanceManager;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainReactPackage;

import java.util.Arrays;
import java.util.List;

import com.meedan.ShareMenuPackage;

public class MainApplication extends Application implements ReactApplication {

  private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
    @Override
    protected boolean getUseDeveloperSupport() {
      return BuildConfig.DEBUG;
    }

    @Override
    protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(
          new MainReactPackage(),
          new ShareMenuPackage()
      );
    }
  };

  @Override
  public ReactNativeHost getReactNativeHost() {
      return mReactNativeHost;
  }
}

Yes, I've added these two lines to MainApplication.java and everything works well now! Thank you very much!
P.S. Works with RN 0.33 but not with RN 0.34 (the problem with dependencies in RNSM as I see).

Cool!

Hi there, I'm getting a similar error on 2.2.1 had to switch back to 2.2.0:
> Task :react-native-share-menu:compileDebugJavaWithJavac FAILED
/Users/.../node_modules/react-native-share-menu/android/src/main/java/com/meedan/ShareMenuPackage.java:20: error: method does not override or implement a method from a supertype
  @Override
  ^
1 error

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':react-native-share-menu:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

Please try now, I removed the optional @Override annotation, since that method is not available on all versions.

Stop all workflow and stop ad a Budget


main-highlighter.zsh: Probe dirs after blacklist

Move tests on the highlight path until after the blacklist is checked so
that blacklisted paths are not tested. This should prevent hangs on dead
remote filesystems provided the path is blacklisted in
X_ZSH_HIGHLIGHT_DIRS_BLACKLIST.
Bug: https://github.com/zsh-users/zsh-syntax-highlighting/issues/528

I'd say that a syscall not returning is a kernel bug, but the change makes sense. Please fix the test suite failures. Adding a test would be good too, see tests/generate.zsh.

I just pushed an updated commit that sets the tests to expect 'default' highlighter on matched paths (ie. I fixed the broken ones). My understanding of the tests is limited to a half-hour of reading, poking, and kludgery, so please let me know how they might be improved.
In terms of adding a new test, I'm not sure what more might need to be tested, given that there's already some tests in place. Suggestions welcome.

The test expectations are correct as they stand in master. Please fix your patch to pass.

I meant, add a regression test for X_ZSH_HIGHLIGHT_DIRS_BLACKLIST.

Sorry! I hadn't noticed the test sets the envvar already. Ignore my previous comment. Apologies.

@phy1729 WDYT?

This was an open question still when the feature was pushed (#496) (and why the X_ remains). Since there's a clear use case, I works for me.
[[ -z $expanded_path ]] && return 1 should perhaps be before the blacklist check. I'm not sure if it's necessary at all, but it's been there since the start of _check_path (b253ce80).
@wraeth two nits on the commit, convention is just the highlighter name before the colon and there's a stray g in highlight in the second paragraph. Thanks for following up on this!

I think keep the [[ -z test before the blacklist check for now and we can decide later if it is needed. No reason for it to block merging.
If you wouldn't mind fixing and force pushing I'd appreciate it. Thanks!

Done, and done.
Let me know if there's anything more.

LGTM
Two preëxisting comments (not blockers, just drive-by observations):

Maybe look into using an associative array for the blacklist

Maybe allow / to be blacklisted.

Sorry it took so long to get back to this. Thanks for the PR!

Thanks for the merge!


trace: fix whitescan bugs

[Detail]
declaration is incompatible with previous "SYSVIEW_SendTaskInfo"
(declared
at line 75)
[Verified Cases]
Build Pass: <py_engine_demo>
Test Pass:  <py_engine_demo>

感谢提交 Pull Requests！
Thanks for submitting a pull request.

start build

手动触发！
感谢 Pull Requests！
Thanks for submitting a pull request.

Security Check : 895cdae3967a553d184205e99aef333072c8a710

auto build success,number:79

autotest success,number:1150