PETL causes pymysql.err.InterfaceError: (0, '')

This error is apparently caused by attempted use of a connection or cursor which has already been closed, per StackOverflow. My code doesn't handle any cursors at all; all DB access is managed through PETL, and a new connection is created each time .todb() or .fromdb() is called.
Source DB is RDS/Aurora; target is sometimes sqlite3, sometimes RDS/Postgres. That the error comes via pymysql indicates that the previously-closed DB is the source DB, not the target.
Full stack trace follows:
$ ./etl.py -l
Reading configuration data... (0.00/0.00)s
Extracting admin users... (0.80/0.80)s
Extracting normal users... (0.74/1.55)s
Preparing admin user transformation layer... (0.76/2.30)s
Preparing set of admin user emails... (0.38/2.68)s
Preparing normal user transformation layer... (7.92/10.60)s
Preparing complete user transformation layer... (4.25/14.85)s
Preparing lookup set of valid user ids... (4.23/19.09)s
Loading users table into auth_user...
100 rows in 3.50s (28 row/s); batch in 3.50s (28 row/s)
200 rows in 3.69s (54 row/s); batch in 0.18s (541 row/s)
300 rows in 3.73s (80 row/s); batch in 0.04s (2468 row/s)
400 rows in 3.88s (103 row/s); batch in 0.15s (676 row/s)
500 rows in 3.92s (127 row/s); batch in 0.04s (2502 row/s)
600 rows in 3.94s (152 row/s); batch in 0.02s (4238 row/s)
700 rows in 3.97s (176 row/s); batch in 0.04s (2801 row/s)
800 rows in 4.07s (196 row/s); batch in 0.10s (1050 row/s)
900 rows in 4.10s (219 row/s); batch in 0.03s (3339 row/s)
1000 rows in 4.14s (241 row/s); batch in 0.04s (2691 row/s)
1100 rows in 4.18s (263 row/s); batch in 0.04s (2560 row/s)
1200 rows in 4.21s (284 row/s); batch in 0.04s (2659 row/s)
1253 rows in 4.23s (296 row/s); batches in 0.35 +/- 0.95s [0.02-3.50] (2129 +/- 1211 rows/s [28-4238])
(4.71/23.80)s
Extracting universities table... (0.82/24.63)s
Preparing to transform universities table... (0.85/25.48)s
Preparing to transform user profile... (0.00/25.48)s
Loading user profile into core_userprofile...
50 rows in 144.30s (0 row/s); batch in 144.30s (0 row/s)
100 rows in 269.07s (0 row/s); batch in 124.77s (0 row/s)
150 rows in 397.52s (0 row/s); batch in 128.44s (0 row/s)
200 rows in 518.95s (0 row/s); batch in 121.44s (0 row/s)
250 rows in 663.08s (0 row/s); batch in 144.12s (0 row/s)
300 rows in 793.66s (0 row/s); batch in 130.58s (0 row/s)
350 rows in 916.43s (0 row/s); batch in 122.77s (0 row/s)
400 rows in 1035.08s (0 row/s); batch in 118.65s (0 row/s)
450 rows in 1150.27s (0 row/s); batch in 115.19s (0 row/s)
500 rows in 1258.56s (0 row/s); batch in 108.29s (0 row/s)
550 rows in 1366.53s (0 row/s); batch in 107.97s (0 row/s)
600 rows in 1478.12s (0 row/s); batch in 111.58s (0 row/s)
650 rows in 1585.24s (0 row/s); batch in 107.13s (0 row/s)
700 rows in 1691.73s (0 row/s); batch in 106.49s (0 row/s)
750 rows in 1796.29s (0 row/s); batch in 104.56s (0 row/s)
800 rows in 1905.31s (0 row/s); batch in 109.03s (0 row/s)
850 rows in 2011.86s (0 row/s); batch in 106.55s (0 row/s)
900 rows in 2122.80s (0 row/s); batch in 110.94s (0 row/s)
950 rows in 2238.93s (0 row/s); batch in 116.13s (0 row/s)
1000 rows in 2359.86s (0 row/s); batch in 120.93s (0 row/s)
1050 rows in 2475.09s (0 row/s); batch in 115.23s (0 row/s)
1100 rows in 2589.37s (0 row/s); batch in 114.28s (0 row/s)
1150 rows in 2710.57s (0 row/s); batch in 121.20s (0 row/s)
1200 rows in 2828.02s (0 row/s); batch in 117.45s (0 row/s)
1249 rows in 2929.80s (0 row/s); batches in 117.83 +/- 10.61s [104.56-144.30] (0 +/- 0 rows/s [0-0])
(2935.72/2961.20)s
Loading universities table into core_userprofile_universities...
! Lost connection to source db loading unis; reconnecting...
Extracting universities table... (0.83/2962.22)s
Preparing to transform universities table... (0.83/2963.06)s
Loading universities table into core_userprofile_universities...
100 rows in 0.63s (159 row/s); batch in 0.63s (159 row/s)
200 rows in 0.63s (317 row/s); batch in 0.00s (64796 row/s)
300 rows in 0.63s (475 row/s); batch in 0.00s (69986 row/s)
400 rows in 0.63s (631 row/s); batch in 0.00s (66980 row/s)
500 rows in 0.63s (788 row/s); batch in 0.00s (67573 row/s)
600 rows in 0.64s (943 row/s); batch in 0.00s (65937 row/s)
615 rows in 0.64s (966 row/s); batches in 0.11 +/- 0.23s [0.00-0.63] (55905 +/- 24981 rows/s [159-69986])
(0.86/2963.92)s
Extracting children... (0.75/2964.67)s
Preparing to transform children... (0.00/2964.67)s
Loading children into core_child...
100 rows in 96.06s (1 row/s); batch in 96.06s (1 row/s)
200 rows in 167.39s (1 row/s); batch in 71.34s (1 row/s)
300 rows in 241.47s (1 row/s); batch in 74.08s (1 row/s)
400 rows in 331.58s (1 row/s); batch in 90.11s (1 row/s)
500 rows in 395.52s (1 row/s); batch in 63.94s (1 row/s)
600 rows in 444.86s (1 row/s); batch in 49.34s (2 row/s)
700 rows in 488.18s (1 row/s); batch in 43.32s (2 row/s)
800 rows in 536.80s (1 row/s); batch in 48.62s (2 row/s)
900 rows in 580.63s (1 row/s); batch in 43.83s (2 row/s)
1000 rows in 622.97s (1 row/s); batch in 42.34s (2 row/s)
1100 rows in 664.70s (1 row/s); batch in 41.73s (2 row/s)
1200 rows in 694.21s (1 row/s); batch in 29.52s (3 row/s)
1300 rows in 740.61s (1 row/s); batch in 46.40s (2 row/s)
1400 rows in 798.21s (1 row/s); batch in 57.60s (1 row/s)
1500 rows in 844.36s (1 row/s); batch in 46.15s (2 row/s)
1600 rows in 894.27s (1 row/s); batch in 49.92s (2 row/s)
1700 rows in 930.98s (1 row/s); batch in 36.71s (2 row/s)
1789 rows in 981.40s (1 row/s); batches in 54.76 +/- 17.93s [29.52-96.06] (1 +/- 0 rows/s [1-3])
(981.64/3946.31)s
Preparing to transform languages table... (0.01/3946.32)s
Loading languages table into core_userprofile_languages...
! Lost connection to source db; reconnecting...
Preparing to transform languages table... (0.00/3946.51)s
Extracting mom times... (0.80/3947.31)s
Preparing to transform mom times... (0.00/3947.31)s
Loading mom times into core_userprofile_mom_times...
1000 rows in 0.82s (1216 row/s); batch in 0.82s (1216 row/s)
2000 rows in 1.04s (1922 row/s); batch in 0.22s (4583 row/s)
3000 rows in 1.25s (2400 row/s); batch in 0.21s (4780 row/s)
4000 rows in 1.41s (2836 row/s); batch in 0.16s (6228 row/s)
5000 rows in 1.55s (3221 row/s); batch in 0.14s (7049 row/s)
6000 rows in 1.67s (3602 row/s); batch in 0.11s (8823 row/s)
7000 rows in 1.78s (3928 row/s); batch in 0.12s (8598 row/s)
7926 rows in 1.89s (4187 row/s); batches in 0.25 +/- 0.23s [0.11-0.82] (5896 +/- 2454 rows/s [1216-8823])
(2.32/3949.63)s
Extracting kid times... (0.77/3950.40)s
Preparing to transform kid times... (0.00/3950.40)s
Loading kid times into core_userprofile_kid_times...
1000 rows in 0.81s (1227 row/s); batch in 0.81s (1227 row/s)
2000 rows in 1.02s (1968 row/s); batch in 0.20s (4977 row/s)
3000 rows in 1.24s (2421 row/s); batch in 0.22s (4481 row/s)
4000 rows in 1.39s (2883 row/s); batch in 0.15s (6736 row/s)
5000 rows in 1.52s (3292 row/s); batch in 0.13s (7625 row/s)
6000 rows in 1.63s (3670 row/s); batch in 0.12s (8616 row/s)
7000 rows in 1.74s (4023 row/s); batch in 0.11s (9502 row/s)
8000 rows in 1.90s (4217 row/s); batch in 0.16s (6366 row/s)
8762 rows in 1.97s (4439 row/s); batches in 0.24 +/- 0.22s [0.11-0.81] (6191 +/- 2456 rows/s [1227-9502])
(2.40/3952.81)s
Preparing to transform work table... (0.00/3952.81)s
Loading work table into core_userprofile_work...
Traceback (most recent call last):
  File "./etl.py", line 400, in <module>
    etl(args.destination, args.show_tables, args.load, args.timer)
  File "./etl.py", line 276, in etl
    pass
  File "/usr/lib/python3.4/contextlib.py", line 66, in __exit__
    next(self.gen)
  File "./etl.py", line 164, in mini_etl
    load_table(table, human_readable, output_tablename, load_override, progress)
  File "./etl.py", line 113, in load_table
    table.todb(connect_dest(auth, destination), tablename=output_tablename)
  File ".venv/lib/python3.4/site-packages/petl/io/db.py", line 337, in todb
    truncate=True)
  File ".venv/lib/python3.4/site-packages/petl/io/db.py", line 356, in _todb
    commit=commit, truncate=truncate)
  File ".venv/lib/python3.4/site-packages/petl/io/db.py", line 408, in _todb_dbapi_connection
    hdr = next(it)
  File ".venv/lib/python3.4/site-packages/petl/util/timing.py", line 57, in __iter__
    for n, r in enumerate(self.inner):
  File ".venv/lib/python3.4/site-packages/petl/transform/selects.py", line 115, in iterfieldselect
    hdr = next(it)
  File ".venv/lib/python3.4/site-packages/petl/transform/conversions.py", line 318, in iterfieldconvert
    hdr = next(it)
  File ".venv/lib/python3.4/site-packages/petl/transform/selects.py", line 115, in iterfieldselect
    hdr = next(it)
  File ".venv/lib/python3.4/site-packages/petl/transform/maps.py", line 295, in iterrowmapmany
    hdr = next(it)
  File ".venv/lib/python3.4/site-packages/petl/io/db.py", line 156, in _iter_dbapi_connection
    for row in _iter_dbapi_cursor(cursor, query, *args, **kwargs):
  File ".venv/lib/python3.4/site-packages/petl/io/db.py", line 163, in _iter_dbapi_cursor
    cursor.execute(query, *args, **kwargs)
  File ".venv/lib/python3.4/site-packages/pymysql/cursors.py", line 161, in execute
    while self.nextset():
  File ".venv/lib/python3.4/site-packages/pymysql/cursors.py", line 443, in nextset
    return self._nextset(unbuffered=True)
  File ".venv/lib/python3.4/site-packages/pymysql/cursors.py", line 93, in _nextset
    self._show_warnings()
  File ".venv/lib/python3.4/site-packages/pymysql/cursors.py", line 347, in _show_warnings
    ws = self._get_db().show_warnings()
  File ".venv/lib/python3.4/site-packages/pymysql/connections.py", line 797, in show_warnings
    self._execute_command(COMMAND.COM_QUERY, "SHOW WARNINGS")
  File ".venv/lib/python3.4/site-packages/pymysql/connections.py", line 1071, in _execute_command
    raise err.InterfaceError("(0, '')")
pymysql.err.InterfaceError: (0, '')

Hi @coriolinus, could you post the relevant parts of your etl.py script?

Sure. By necessity, these are excerpts; they're verbose enough as it is.
Lines 108-167:
        def load_table(table, human_readable, output_tablename, load_override=load, progress=100):
            if load_override:
                with timed_op():
                    print("Loading {} into {}...".format(human_readable, output_tablename))
                    table = table.progress(progress)
                    table.todb(connect_dest(auth, destination), tablename=output_tablename)

        @contextmanager
        def mini_etl(human_readable, query,
                     output_tablename,
                     transform_func,
                     tf_args=[], tf_kwargs={},
                     progress=100,
                     use_table=None,
                     load_override=load,
                     show_override=show_tables):
            """
            Perform a batch of ETL operations for a single PETL table

            This should reduce the amount of code duplication necessary for
            standard table migration.

            query: raw SQL query which populates the initial table state
            output_tablename: name of the destination table
            transform_func: This function should transform the input PETL table into
                the output PETL table. Called like `transform_func(table, *tf_args, **tf_kwargs)`
            tf_args, tf_kwargs: Additional positional and keyword arguments for the transform func.
            progress: batch size when loading the output table. Default 100.
            use_table: if not None, ignore query and instead use this PETL table as input
            load_override: override whether to load this table
            show_override: override whether to show this table

            This is a context manager so that you have access to the table for additional
            operations, if necessary. transform_func runs before the table is returned.
            """
            def prepare_table():
                if use_table is not None:
                    table = use_table
                else:
                    with timed_op("Extracting {}...".format(human_readable)):
                        table = petl.fromdb(connect_source(auth), query)

                with timed_op("Preparing to transform {}...".format(human_readable)):
                    table = transform_func(table, *tf_args, **tf_kwargs)
                return table
            table = prepare_table()

            contained_table = MutableContainer(table)
            yield contained_table
            table = contained_table.item

            if show_override:
                print("Head of {}:".format(human_readable))
                print(table.head())

            try:
                load_table(table, human_readable, output_tablename, load_override, progress)
            except pymysql.err.OperationalError:
                print("! Lost connection to source db; reconnecting...")
                table = prepare_table()

Lines 273-276:
        with mini_etl('work table', '', linked_table.WORK_OUT_TABLE,
                      linked_table.create, [connect_dest(auth, destination), 'work', user_ids],
                      use_table=normal_users):
            pass

Lines 379-400:
if __name__ == '__main__':
    auth = getauth()
    destinations = list(auth['destination'].keys())

    import argparse
    parser = argparse.ArgumentParser(
        description='Extract, Transform, Load data from old db format to new')
    parser.add_argument('-s', '--show-tables', action='store_true',
                        help='Display the heads of various tables as they are processed.')
    parser.add_argument('-l', '--load', action='store_true',
                        help='Actually load the transformed data into the destination database. '
                             'Note that this eliminates any data currently stored there!')
    parser.add_argument('--no-timer', action='store_false', dest='timer',
                        help='Disable the automatic timing of these actions.')
    parser.add_argument('-d', '--destination', choices=destinations, default='default',
                        help='Choose the destination database into which to load the transformed '
                             'data. Sourced from the sub-keys of the `destination.XXX` tables '
                             'of `auth.toml`.')

    args = parser.parse_args()

    etl(args.destination, args.show_tables, args.load, args.timer)

Sorry, nothing obvious jumps out.

Yes, if anything obvious had jumped out, I would have attempted a solution. I'd hoped that possibly the stack trace would be useful to someone knowledgeable about PETL internals.
I guess the fundamental question here is, if I simply catch the error, is there any way to hand PETL a new connection object to the source db and try the .todb() function again, without needing to go back and re-do all the intermediate transforms? If so, I can work around this. If not, this becomes much harder to solve.

Petl never calls close() on a connection object. So if the underlying error
is caused by trying to read from a closed connection, and you are indeed
passing a DB-API connection object to fromdb(), then it is not obvious how
that could happen. I would need a minimal reproducible example to go any
further.
You can replace the connection object on a DbView instance (returned by
fromdb()), e.g.:
t = etl.fromdb(connection, ...)
t.dbo = another_connection
...however I would recommend trying to understand the cause of the error
first.
Hth.
On Friday, May 5, 2017, coriolinus<EMAIL_ADDRESS>wrote:

Yes, if anything obvious had jumped out, I would have attempted a
solution. I'd hoped that possibly the stack trace would be useful to
someone knowledgeable about PETL internals.
I guess the fundamental question here is, if I simply catch the error, is
there any way to hand PETL a new connection object to the source db and try
the .todb() function again, without needing to go back and re-do all the
intermediate transforms? If so, I can work around this. If not, this
becomes much harder to solve.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/alimanfoo/petl/issues/422#issuecomment-299394098, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAq8QiN_-z6sN7Aid_Ac3CmO3bLlKkilks5r2sUCgaJpZM4NQuo-
.

--
Alistair Miles
Head of Epidemiological Informatics
Centre for Genomics and Global Health http://cggh.org
Big Data Institute Building
Old Road Campus
Roosevelt Drive
Oxford
OX3 7LF
United Kingdom
Email<EMAIL_ADDRESS>Web: http://a http://purl.org/net/alimanlimanfoo.github.io/
Twitter: https://twitter.com/alimanfoo

Hi I am getting the same error:
pymysql.err.InterfaceError: (0, '')
code:
import petl
import pymysql
query = 'select * from columns where table_schema in ("employees");'
connection = pymysql.connect(host='localhost', port=3306, user='root', password='test', db='information_schema')
table = petl.fromdb(connection, query)
new_table = petl.cut(table, 'TABLE_SCHEMA')
print(new_table)

error:
pymysql.err.InterfaceError: (0, '')

I am getting the same error,when i get all rows about 420000：
In [34]: table
Traceback (most recent call last):
  File "d:\ProgramData\Anaconda3\lib\site-packages\IPython\core\formatters.py", line 702, in __call__
    printer.pretty(obj)
  File "d:\ProgramData\Anaconda3\lib\site-packages\IPython\lib\pretty.py", line 405, in pretty
    return _repr_pprint(obj, self, cycle)
  File "d:\ProgramData\Anaconda3\lib\site-packages\IPython\lib\pretty.py", line 695, in _repr_pprint
    output = repr(obj)
  File "d:\ProgramData\Anaconda3\lib\site-packages\petl\util\vis.py", line 135, in _table_repr
    return str(look(table))
  File "d:\ProgramData\Anaconda3\lib\site-packages\petl\util\vis.py", line 104, in __repr__
    table, overflow = _vis_overflow(self.table, self.limit)
  File "d:\ProgramData\Anaconda3\lib\site-packages\petl\util\vis.py", line 528, in _vis_overflow
    table = list(islice(table, 0, limit+2))
  File "d:\ProgramData\Anaconda3\lib\site-packages\petl\io\db.py", line 156, in _iter_dbapi_connection
    for row in _iter_dbapi_cursor(cursor, query, *args, **kwargs):
  File "d:\ProgramData\Anaconda3\lib\site-packages\petl\io\db.py", line 163, in _iter_dbapi_cursor
    cursor.execute(query, *args, **kwargs)
  File "d:\ProgramData\Anaconda3\lib\site-packages\pymysql\cursors.py", line 170, in execute
    result = self._query(query)
  File "d:\ProgramData\Anaconda3\lib\site-packages\pymysql\cursors.py", line 328, in _query
    conn.query(q)
  File "d:\ProgramData\Anaconda3\lib\site-packages\pymysql\connections.py", line 517, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "d:\ProgramData\Anaconda3\lib\site-packages\pymysql\connections.py", line 732, in _read_query_result
    result.read()
  File "d:\ProgramData\Anaconda3\lib\site-packages\pymysql\connections.py", line 1075, in read
    first_packet = self.connection._read_packet()
  File "d:\ProgramData\Anaconda3\lib\site-packages\pymysql\connections.py", line 671, in _read_packet
    % (packet_number, self._next_seq_id))
InternalError: Packet sequence number wrong - got 139 expected 1
Traceback (most recent call last):
  File "d:\ProgramData\Anaconda3\lib\site-packages\IPython\core\formatters.py", line 345, in __call__
    return method()
  File "d:\ProgramData\Anaconda3\lib\site-packages\petl\util\vis.py", line 549, in _display_html
    table, overflow = _vis_overflow(table, limit)
  File "d:\ProgramData\Anaconda3\lib\site-packages\petl\util\vis.py", line 528, in _vis_overflow
    table = list(islice(table, 0, limit+2))
  File "d:\ProgramData\Anaconda3\lib\site-packages\petl\io\db.py", line 156, in _iter_dbapi_connection
    for row in _iter_dbapi_cursor(cursor, query, *args, **kwargs):
  File "d:\ProgramData\Anaconda3\lib\site-packages\petl\io\db.py", line 163, in _iter_dbapi_cursor
    cursor.execute(query, *args, **kwargs)
  File "d:\ProgramData\Anaconda3\lib\site-packages\pymysql\cursors.py", line 170, in execute
    result = self._query(query)
  File "d:\ProgramData\Anaconda3\lib\site-packages\pymysql\cursors.py", line 328, in _query
    conn.query(q)
  File "d:\ProgramData\Anaconda3\lib\site-packages\pymysql\connections.py", line 516, in query
    self._execute_command(COMMAND.COM_QUERY, sql)
  File "d:\ProgramData\Anaconda3\lib\site-packages\pymysql\connections.py", line 750, in _execute_command
    raise err.InterfaceError("(0, '')")
InterfaceError: (0, '')
_

but when i limit the rows to 1000 or
df=etl.todataframe(table)
the error gone


UI Freeze

Plug-in seems to hang IntelliJ IDEA.

Git Flow Integration (<IP_ADDRESS>)

"AWT-EventQueue-0 2018.1.2#IU-181.4668.68 IDEA, eap:false, os:Windows 10 10.0, java-version:JetBrains s.r.o 1.8.0_152-release-1136-b29" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: TIMED_WAITING
 on com.intellij.util.concurrency.Semaphore$Sync@31aa0841
	at sun.misc.Unsafe.park(Native Method)
	at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1037)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1328)
	at com.intellij.util.concurrency.Semaphore.waitForUnsafe(Semaphore.java:109)
	at com.intellij.util.concurrency.Semaphore.waitFor(Semaphore.java:99)
	at com.intellij.execution.process.ProcessHandler.waitFor(ProcessHandler.java:87)
	at com.intellij.execution.process.BaseOSProcessHandler.waitFor(BaseOSProcessHandler.java:236)
	at git4idea.commands.GitTextHandler.waitForProcess(GitTextHandler.java:144)
	at git4idea.commands.GitHandler.runInCurrentThread(GitHandler.java:440)
	at git4idea.commands.GitImplBase.doRun(GitImplBase.java:145)
	at git4idea.commands.GitImplBase.run(GitImplBase.java:119)
	at git4idea.commands.GitImplBase.runCommand(GitImplBase.java:43)
	at git4idea.commands.GitImpl.runCommand(GitImpl.java:56)
	at git4idea.config.GitConfigUtil.getValue(GitConfigUtil.java:96)
	at gitflow.GitflowConfigUtil.getFeaturePrefix(GitflowConfigUtil.java:63)
	at gitflow.GitflowBranchUtil.hasGitflow(GitflowBranchUtil.java:53)
	at gitflow.ui.GitflowWidget.update(GitflowWidget.java:168)
	at gitflow.ui.GitflowWidget.access$100(GitflowWidget.java:54)
	at gitflow.ui.GitflowWidget$2.run(GitflowWidget.java:143)
	at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:315)
	at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.doRun(LaterInvocator.java:447)
	at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.runNextEvent(LaterInvocator.java:431)
	at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:415)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:762)
	at java.awt.EventQueue.access$500(EventQueue.java:98)
	at java.awt.EventQueue$3.run(EventQueue.java:715)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:732)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:779)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:720)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:395)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

https://youtrack.jetbrains.com/issue/IDEA-190524

Can you please provide the output of the git console when this happens? (version control tab -> console tab)

@OpherV I can't check anymore since I updated to:
PhpStorm 2018.2 EAP
Build #PS-182.2371.32, built on May 17, 2018
PhpStorm EAP User
Expiration date: June 16, 2018
JRE: 1.8.0_152-release-1226-b7 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.13.4
Here the Gitflow plugin is no longer visible in the statusbar but what I saw in the console log was that it was asking for Which branch should be used for bringing forth production releases? and then I had two options develop or master as these were my only branches.

@OpherV I was able to find some time to reproduce this issue, here is the output of my Console:
13:16:28.513: [pwt-image] git -c core.quotepath=false -c log.showSignature=false flow init
Which branch should be used for bringing forth production releases?
   - develop
   - feature/zoom-tools
   - hotfix/select-folder-links
   - master
   - refactor-javascript
   - refactor-perfectimage

Same Issue on 18.1.3.
Can you please give me steps on how to reproduce?

I'm also able to reproduce this issue. Clicking "Init Repo" seems to hang. Checking the Version Control Console shows the following:
10:45:49.759: [PROJECT] git -c core.quotepath=false -c log.showSignature=false flow init
Which branch should be used for bringing forth production releases?
   - develop

However, I then quite PHPStorm and re-opened, pulled down the master branch (I previously only had the develop branch), and re-tried.
This time, it worked fine and didn't hang.
When it worked, I saw this output in the console:
11:02:43.562: [gradpad-2017] git -c core.quotepath=false -c log.showSignature=false flow init -d
Using default branch names.
Which branch should be used for bringing forth production releases?
   - develop
   - master
Branch name for production releases: [master]
Which branch should be used for integration of the "next release"?
   - develop
Branch name for "next release" development: [develop]
How to name your supporting branch prefixes?
Feature branches? [feature/]
Release branches? [release/]
Hotfix branches? [hotfix/]
Support branches? [support/]
Version tag prefix? []

Can anyone provide a public repo of a project that reproduces this? I can't fix the bug if I'm unable to reproduce

@OpherV The public repo you can use is https://github.com/joomla/joomla-cms I get the same issue with that repo.

@roland-d
I just tested with a fresh clone of the repo- it has no 'master' branch, rather the default is 'staging':

Which leads to gitflow throwing an error (not gitflow4idea):

But I don't get any freeze. Is your experience different?

@OpherV You are correct, Joomla does not have the master branch. However regardless of this the issue can be seen. Just for testing you can also take this https://github.com/nette/tracy repo. There the same happens.

Here is what I did on the Tracy repo to get this.

I clicked Init repo
Set these settings:

Click OK
Then you see the first screenshot in the Log tab. Where git is asking which branch to use for production releases.

So when I execute this command git -c core.quotepath=false -c log.showSignature=false flow init on the command line I can enter the branch name, now this is not possible. I figured this is what I already set in step 2.
Rather than a freeze it is rather the task Initializing repo that runs until the project is closed.

@iasemenov I think you might be able to help - I've looked into this and it seems like an issue with IntellIJ's GitLineHandler if I'm not mistaken (or maybe I'm misusing it)
When you run this command:
/usr/bin/git -c core.quotepath=false -c log.showSignature=false flow init

The output is:

With the last line "Branch name for production releases" waiting for input. This output isn't being caught by the GitLineHandlers's `onTextAvailableMethod``, which leads to my plugin getting stuck.
I assume it's because that's some sort of blocking input?
(Last line received by the method is this:)

How can I catch this line to provide output? Is there some other method for blocking text other than onTextAvailableMethod?

@OpherV
You are misusing the handler a bit (this if fine, since the proper way is only available since 18.2), but this is not the issue here. It looks like Branch name for production releases and all other "response awaiting" lines are not terminated by line separators and GitLineHandler relies on separators to collect the input (text is sent to listeners only when line has ended).
In your case you should extend GitTextHandler to be able to read incomplete lines and use GitHandler.setInputProcessor method to provide input. Keep in mind that onTextAvailable and input processor are called in separate threads, so you should use smth like SynchronousQueue to pass messages between listener and processor.

@iasemenov Thanks so much!  I started working in that direction but ran into a few walls:

GitImpl, which my GitFlowImpl extends from has runCommand which only accepts GitLineHandler. So even if I implement my own handling with extensions ofGitTextHandler, I won't be able to use runCommand. I'd really like to avoid rewriting GitImpl in my plugin as I feel that's going to be another rabbit hole.

Seems like even GitTextHandler doesn't accept non-terminated lines on onTextAvailable, so the line handling logic is done within the ProcessListener which I don't have access to?

I'm a little confused at all this architecture - and wish to solve my users' bug as quickly as possible so any suggestion would be welcome

@OpherV

Yes, GitImpl works only with GitLineHandler and there's not much point to allow for more at the moment. I meant that you can use it as reference for writing something similar, but much more simple (I assume you generally don't need remote auth, locking and elaborate output collection).
Hmmm, that's strange. Output processing is done around com.intellij.execution.process.BaseOSProcessHandler#createOutputDataReader(). Default behavior (which is used in GitTextHandler) is to send even non-terminated lines.
I'd suggest to try and set a bunch of breakpoints in com.intellij.util.io.BaseOutputReader. Also check if these lines and sent to STDOUT or somewhere else.

Closed thank to @bmwsedee's contribution!

I know this is closed so I don't know whether anyone is still looking in this one, but just to say that since I reported that this was still a problem back in January, it seems to be working now.  I just started a new project and thought I'd just give it a go and it is working fine.
There's been several updates to AS and a couple of updates to this plugin since, so I don't know which bit fixed it, but it's working fine when I've used it today 👍


fix: test cases

fix test case

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

Project coverage is 83.92%. Comparing base (5193136) to head (ac581de).

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #24      +/-   ##
==========================================
+ Coverage   83.08%   83.92%   +0.83%
==========================================
  Files           5        5
  Lines         479      479
  Branches       86       87       +1
==========================================
+ Hits          398      402       +4
+ Misses         79       75       -4
  Partials        2        2

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


Update versions for Tuweni and signers library

PR Description
Update version for Tuweni and signers library
Fixed Issue(s)

Fixes #450
Documentation

[x] I thought about documentation and added the doc-change-required label to this PR if updates are required.

Changelog

[x] I thought about adding a changelog entry, and added one if I deemed necessary.

icu4j-69.1.jar


fixed the nil map error when tagging custom tags

panic: assignment to entry in nil map
when tagging custom tags

Weird timing lol, just pushed my own update. Have been sitting on it for about a week because tester didn't get back to me. Thanks, though. Would be great if you could figure out https://github.com/Sorrow446/go-mp4tag/issues/9, has been annoying.


Run

Step 1: Describe your environment

Android device: _____
Android OS version: _____
Google Play Services version: _____
Firebase/Play Services SDK version: _____

Step 2: Describe the problem:
Steps to reproduce:

Observed Results:

What happened?  This could be a description, logcat output, etc.

Expected Results:

What did you expect to happen?

Relevant Code:
// TODO(you): code here to reproduce the problem

@CynK88 I'm not sure what the issue is here, so I'll close this issue please open another one with more details if you still need help.


return null on non existant stack with cfnDescribe

Please check if the PR fulfills these requirements

[x] The commit message describes your change
[x] Tests for the changes have been added if possible (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)
[x] Changes are mentioned in the changelog (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
handles cfnDescribe for a stack that does not exist

What is the current behavior? (You can also link to an open issue here)
an exception is thrown and the step fails

What is the new behavior (if this is a feature change)?
null is returned

Does this PR introduce a breaking change? (What changes might users need to make in their setup due to this PR?)
no

Other information:
Returning null is weird imo, but I'm not sure what a more 'jenkins' experience would be. Can we throw a custom exception?

I disagree with the proposed behavior. When I describe a stack I expect it to be present as I depend on the result of the call. If this is not the case, the build has to fail. I agree that we could throw a real exception instead of the AmazonException.

I'm not sure if this adds any value besides just catching the cloudformation exception in the jenkins dsl


UX issues when updating name configuration for cell

If I attempt to update the cell name through the VS Code UI, I loose focus on the input and some other weird things happen that make it almost impossible to properly enter the name:

The outputs are collapsed, so after repeatedly clicking on "Configure" it won't show the output. Clicking on the blue bar while uncollapse.
@degrammer can you check if there's a single key shortcut, just like Y and M which we fixed. That's getting in the way here?

This is already fixed. Checked with @christian-bromann at last stable release.


Change license from CC-BY-SA to CC-BY

Motivation (discussion on the Carpentries mailing list): https://carpentries.topicbox.com/groups/discuss/Td64229aeb252a027
In short, the motivation is to simplify reuse for those who wish to take parts of our lessons and remix them into material which is CC-BY.
At the team meeting 2019-08-12 we have decided to change the license to CC-BY provided that all contributors to this lesson material agree to this change.
This issue will track the progress of this change.

@HadrienG can you please comment whether you agree to this change?

I agree to a license change to CC-BY.

I agree to the license change to CC-BY


Yaml format, intent with "yes" or "no" in utterance crashes parsing

Python 3.6.8
snips-nlu-0.19.4 snips-nlu-parsers-0.2.0 snips-nlu-utils-0.8.0
I define the following intent using yaml format
type: intent
name: YesIntent
utterances:
  - yeah
  - sure
  - yes
  - yep

Trying to convert this yaml file to json, or trying to use it directly using
snips-nlu generate-dataset en dataset.yaml

or
from snips_nlu.dataset import Dataset
dataset = Dataset.from_yaml_files("en", ['dataset.yaml'])

generates the following exception
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "xxx/venv/lib64/python3.6/site-packages/snips_nlu/dataset/dataset.py", line 163, in from_yaml_files
    intents_, entities_ = cls._load_dataset_parts(f, filename)
  File "xxx/venv/lib64/python3.6/site-packages/snips_nlu/dataset/dataset.py", line 177, in _load_dataset_parts
    intents.append(Intent.from_yaml(doc))
  File "xxx/venv/lib64/python3.6/site-packages/snips_nlu/dataset/intent.py", line 119, in from_yaml
    for u in yaml_dict["utterances"] if u.strip()]
  File "xxx/venv/lib64/python3.6/site-packages/snips_nlu/dataset/intent.py", line 119, in <listcomp>
    for u in yaml_dict["utterances"] if u.strip()]
AttributeError: 'bool' object has no attribute 'strip'

It is because the utterance "yes", is parsed by yaml library as a boolean
yaml_dict["utterances"] in https://github.com/snipsco/snips-nlu/blob/develop/snips_nlu/dataset/intent.py#L119 would print ['yeah', 'sure', True, 'yep']
I don't know enough of that yaml library to know if it is possible to force reading as String. Will check.

Hi @BertrandNOEL ,
You have to put yes between double quotes: ˋ"yes"`
YAML is a superset of JSON, with tries to be smarter. You can always fallback to json values when there is a conflict.
Cheers

Thanks,
Yes of course I will put quotes.
I delegate this Yaml file to another team, and I hoped I would use it straight from them. Guess that I will have to do a pre-processing part
I'm closing this issue, but if anybody has a good idea on how to avoid doing this pre-processing part, don't hesitate to share


Rewrite to EGPLib objectcontrol.lua

Tidies up things and adds comments everywhere for good measure. Part one of an eventual refactor of EGP library entirely. (Is it really a refactor with this many API changes?)
Although I renamed the file, GH will not tolerate it, so sorry, I just felt like objectcontrol.lua was an outdated name. I can't be the only one, right? You can observe https://github.com/wiremod/wire/commit/0d75e21f63229e71a0e41cecf10aba06a44c24ec for most of the diff, or view the diff on your own. For your convenience, I've exported the diff for you here. If you see a problem, check the later commits in case they're fixed.
Certain method calls were changed to function calls preceded with nil. This was just an oversight thinking certain functions were not methods, and now it just serves as a memory aid that they're not actual methods.
Asking for testers
Noteworthy changes by file:
gmod_wire_expression2/core/e2lib.lua

Changed E2Lib to merge any preexisting E2Lib table. This was done for convenience so I don't have to explicitly place a structure to load the EGP library after E2Lib.

gmod_wire_egp/lib/init.lua

Made EGP a subtable of E2Lib to avoid global pollution.

A global EGP still exists for backwards compatibility and will be removed once everything is done.
Willing to revert this if it's controversial.

Added EGP.HookPostInit function as a simple postinit handler
Added descriptions to convars and moved convars into a single table initializer before files are loaded.

gmod_wire_egp/lib/egplib/objectcontrol.lua

Renamed to objects.lua
Annotated most things inside this file
Condensed registered objects tracking to a single table (objects). Numerical indices track IDs while string keys track object names. Greatly simplifies getter logic.

Removes/replaces EGP.GetObjectByID

Fleshed out and tidied EGPObject base and metatable.

Added IsValid metatable method.
Annotated EGPObject type.
Converted some functions to not invoke EGP for future use.
Fixed a hazard where objects would call the baseObj.EditObject when they should be calling their own self.EditObject to initialize instead.
Changed baseObj.Set to call SetObject if a position key is found
Moved most of baseObj initialization to a single table initializer

Changed NULL_EGPOBJECT to be an EGPObject object instead of its own specialized metatable
Added EGP.IsEGPObject
Rewrote EGP.NewObject to fit new API
Rewrote EGP Object initialization logic to be cleaner and agnostic to filenames

Rewrote EGP.InheritObject

Removed EGP.EditObject
Tidying

Cleaned up EGP.HasObject
Cleaned up EGP.SetOrder
Cleaned up EGP.PerformReorder

Un-exposed EGP.PerformReorder_Ex

Cleaned up EGP.CreateObject -> EGP.Create

Changed signature from Entity, string|integer, table to string|integer, table, Entity

I don't know what I was thinking here.

Cleaned up homescreen generator

gmod_wire_expression2/core/egpfunctions.lua

Added/updated locals
Cleaned up some e2functions
Replaced EGP.HasObject with localized version
Replaced EGP.CreateObject with updated, localized version

Updated usage to simply use string name directly
Removed unused self.player argument

Replaced EGP.EditObject with EGP Object method
Removed old comments

gmod_wire_expression2/core/egpobjects.lua

Added/updated locals
Use EGPObject.IsValid for validity checking
Replaced EGP.HasObject with localized version
Replaced EGP.CreateObject with updated, localized version

Updated usage to simply use string name directly
Removed unused self.player argument

Replaced EGP.EditObject with EGP Object method
Changed egpobject remove e2functions to not change metatable

All other changes were too small/insignificant and mostly involve changing/replacing usage of a few functions.

The hasObject postInit setting is really cumbersome. Just use EGP.HasObject instead of localizing it, or define it before including those files.

There's a bit of overlap in all of the libraries so it's going to be more than just hasObject, and I'd prefer to keep EGP.HasObject localized. I could change it to use an array defined in EGP or just use a hook I guess. I'll agree that scrolling to the bottom of the code to see if you defined something is pretty bad.

Hopefully this is a decent compromise. Same thing just more arbitrary.

Conflicts


String Editor Error prompts over active

JManny: The only buggish thing I have noticed, if you open string file(the whole pac), and select a row, and then click on another row, it asks if you want to preserve size, like it would in older version if you actually made a significant change to the string, but now it does it even if you haven't made a change. clicking on a row must be triggering something. Just noticed this morning.

This is due to the functions changing to a cell enter and cell leave events.
A check in the cell leave event must be made to check if the OldValue matches the New Value

 If Not MyCell.Value = OldValue Then Added
next release will include this fix.


Fixes issue #865

Adding correct path for Home icon in login page.
Home icon present in Login page isn't navigating to home page.
Fixed that issue.

Closes #865

Type of PR

[X] Bug fix

Screenshots / videos (if applicable)
https://github.com/user-attachments/assets/f0fb922f-68cc-4839-b7e0-a840763ddadd
Checklist

[X] I have gone through the contributing guide
[X] I have updated my branch and synced it with project main branch before making this PR
[X] I have performed a self-review of my code
[X] I have tested the changes thoroughly before submitting this pull request.
[X] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[X] I have commented my code, particularly in hard-to-understand areas.

@varshith257 @Anishkagupta04
Please review this PR and kindly assign the labels.
Thank you

Thankyou for your contribution

Thankyou @Anishkagupta04
Will contribute more.


Replace the MLH Fellowship logo with the MLH Prep logo

When you go to the project page, it shows the MLH Fellowship logo at the top. It would be great to replace this with the Prep logo and make sure that's used throughout the website!

Interested

I believe this issue has already been resolved. Going to https://prep-jan-2022.netlify.app/, this is shown.

I believe this issue has already been resolved. Going to https://prep-jan-2022.netlify.app/, this is shown.

Nope. This issue is for this page: https://prep-jan-2022.netlify.app/projects/project
Initially I had also thought the same 😄

@gmelodie @kishdubey The issue was for this page: https://prep-jan-2022.netlify.app/projects/project
It contains the fellowship logo, which we have replaced with the prep logo

#39 Merged


Error while attache user to role

SQLSTATE[42703]: Undefined column: 7 ERROR: column "id" does not exist LINE 1: ..."model_id", "model_type") values ($1, $2, $3) returning "id" ^ (SQL: insert into "model_has_roles" ("role_id", "model_id", "model_type") values (1, 1, App\User) returning "id")

I cannot reproduce that, sorry for the inconvenience. Are you using UUID for your user model? Or, could you tell me your model_has_roles table structure?

I cannot reproduce that, sorry for the inconvenience. Could you tell me more detail?

All what I do is installing fresh Laravel, Nova, and Install this package.
The weak entities did not include "id" fields, and this error appears once I try to attach role to user.
I tried it on MySQL and PostgreSQL and both return the same problems

Thanks your information, I tried it twice and still cannot reproduce the issue, here is my steps:

Install whole new Laravel by laravel new laravel-test and cd laravel-test, edit .env file to update the database settings
Install Nova

Edit composer.json and composer update again
Exec php artisan nova:install and php artisan migrate

Install Spatie's Permission Package

composer require spatie/laravel-permission
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="migrations"
php artisan migrate

Install Permission Tool

composer require lizhineng/nova-permission-tool
Add new \Lizhineng\PermissionTool\PermissionTool, to the fields methods in NovaServiceProvider
php artisan vendor:publish --provider="Lizhineng\PermissionTool\ToolServiceProvider"
php artisan migrate

Create a new user to log in Nova

Hope this will help you :-) Waiting your feedback.

Still no solution??


fix: make localnet-start-with-state is broken

Background
make loclanet-start-with-state

Is broken on main because there is no block mode in the SDK 47 CLI
Suggested Design
We need to update the CLIs in the setup.sh so that the state can now be created
Acceptance Criteria

make localnet-start-with-state works and all pools + other state is created
setup.sh updated

is there any alternative currently??

https://github.com/osmosis-labs/osmosis/tree/main/tests/localosmosis#2-localosmosis---with-mainnet-state

https://github.com/osmosis-labs/osmosis/tree/main/tests/localosmosis#2-localosmosis---with-mainnet-state

Thanks just started from a snapshot (without setting a node) and works. Wonder how can I modify app.toml. Is still the same on .osmosisd-local??

It uses the default .osmosisd directory, not .osmosisd-local


Support newer react versions that deprecated PropTypes.

In newer versions of react, react.PropTypes does not exist anymore as it is a separate package now. Added it and changed in code.

Thanks!


accessing qnamaker trace and fetching qnamaker answer received from qnamaker dialog using memory object

Hi,
This is related to below query.
https://github.com/microsoft/BotFramework-Composer/issues/4926
We have some triggers(Intent Recognized) and an 'unknown intent'(none) trigger. If no intent is matched it will go to unknown intent trigger and in that unknown intent trigger we are using Qnamaker dialog action to connect to Qna knowledge base as shown in below screen shot.

Now the thing is that we are getting qna answer from qnamaker dialog. But we are unable to trace the parameters such as qna confidence score, qna matched question etc. We want to store this parameter in the bot. Also how can we trace the qnamaker answer received from qnamaker dialog using memory object( in Emulator). We are able to trace the question asked by user using "turn.activity.text" but is there any way in composer to trace & store the qnamaker answer which bot is sending to the user. In qnamaker trace there is nothing available to capture the data we want. We want to trace and store qnamaker answer received from qnamaker dialog using memory object so that we can implement different flow based on the different answers received from qnamaker dialog.

You had mentioned that: Within a QnA Intentet recognized trigger, we can use something like the following:
turn.recognized.answers[0].questions
'QnA Intentet recognized trigger' can we use to create QnAKnowledge base within the composer.
But we are not creating QnAKnowledge base within the composer. We have already created QnAKnowledge base manually on the QnAMaker.ai portal and we want to connect to this knowledgebase in the composer.
As part of our project requirement, now we must use 'QnAMaker dialog' in composer to configure QnAKnowledge base in the bot.
So, by using 'QnAMaker dialog' can we trace what answer bot is displaying to the user for QnA question. If answer is 'Sorry I did not find an answer', we want to implement some different flow based on requirement. So we want to trace whether the answer from QnA Knowledge base is 'Sorry I did not find an answer' or something different if we are using 'QnAMaker dialog' in composer.
Thanks.

Hi @BeheraMadan - Composer doesn't support the expressive scenarios you are looking for using QnAMaker when called with an Action like you have implemented. To achieve these scenarios we recommend authoring the knowledgebase in Composer and publishing to QnA.


How to dispose the animation after no longer needed?

I have an option where I need to re-create the animation instance, how can I dispose the animation before creating a new one?
constructor() {
  if (!CSS.supports('animation-timeline', 'scroll()')) {

    if (this.cmp.direction() === 'rtl') {
      this.animation = startPolyfill(this.nativeElement, this.cmp.viewport.nativeElement, this.polyfillAxis, this.polyfillKeyframe);
    } else {
      this.animation = startPolyfill(this.nativeElement, this.cmp.viewport.nativeElement, this.polyfillAxis, this.polyfillKeyframe);
    }
  }
}

function startPolyfill(element: HTMLElement, source: HTMLElement, axis: 'x' | 'y', keyframeProperty: string): Animation {
  return element.animate(
    {
      [keyframeProperty]: [
        'var(--_scrollbar-thumb-transform-from)',
        'var(--_scrollbar-thumb-transform-to)'
      ]
    },
    {
      fill: 'both',
      easing: 'linear',
      timeline: new ScrollTimeline({ source, axis })
    } as any
  );
}

The animation API has a cancel method.  In your example, the "if" and "else" blocks look the same.  Should the blocks be setting different keyframe options?  If so, then rather than cancelling and restarting the animation, calling animation.effect.setKeyframes() is an option.

@kevers-google The parameters are the same, however, the only change is in the CSS variable --_scrollbar-thumb-transform-from and --_scrollbar-thumb-transform-to which is done in CSS. When direction is LTR, I use translate3d but in RTL I have to use right because translate3d horizontally goes opposite direction in a weird way, even if I inverted the position to fix the animation direction, the actual DOM element still goes in the opposite direction making the hover and click event decouple from the animated element location.
So all I need is to re-initialize the animation when the direction is changed.

Yes, animation.cancel() puts the animation into an idle state where it is no longer active.  The animation will eventually be garbage collected provided there are no live references in JavaScript.
Canceling and then recreating the animation will work, but could result in flicker in some cases since the animation is momentarily not in effect.  You can start the new animation before cancelling the old one to avoid flicker since composite ordering will ensure that the new animation replaces the old one.  The reason for cancelling the old animation in this case, is performance and memory (avoid stale animations piling up).
An alternate approach is
requestAnimationFrame(() => {
// Apply CSS change
requestAnamationFrame(() => {
animation.effect.setKeyframes(...);
});
});
In other words, you can replace the keyframes on the existing animation rather than creating a new animation.
Long story short, you have options. If cancelling and creating a new animation works well enough for your application, then that might be simplest.  If you encounter flicker problems when restarting the animation, then you can consider one of the other options.


How can i assess the performance of object tracking?

Thanks in advance!

I found a codebase called TrackEval


Fixing encoding to a value supported by Python3.6 AND fulfilling pylint requirements.

Which issue this PR addresses:
Azure extension doesn't run well in Python3.6, it's distributed with Python3.6
Fixes tech debt.
What this PR does / why we need it:
Sets the encoding of the kubeconfig file to utf-8
Test plan for issue:
Run "make az", try running the extension in az bound to python 3.6.
Doesn't work with "locale"
Is there any documentation that needs to be updated for this PR?
N/A

I'm merging without waiting for E2E job: we do not run extension tests in that job.


New Rule: requireComputedPropertyInObject (ES6)

Fixes #1384
Although there's probably false positives for setting a dynamic property from somewhere else like a parameter? Then we'd have to check if the object was created previous or is a parameter?
function a(b) {
  b[func()] = true;
}

Going to revisit later


Fixed broken links in about-this-release.md

Purpose
Fixed broken links in about-this-release.md file.

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


Update versions to 0.9.0 (API V1)

Still have to add API V2

Hi @dadoonet, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no contribution license agreement is required at this point. Real humans will now evaluate your PR.

TTYL, AZPRBOT;

@rmcmurray - Rob, can you review this contribution?

Sure – I’ll look at that now.
Thanks!
From: Tyson Nevil<EMAIL_ADDRESS>Sent: Wednesday, December 09, 2015 1:36 PM
To: Azure/azure-content<EMAIL_ADDRESS>Cc: Robert McMurray<EMAIL_ADDRESS>Subject: Re: [azure-content] Update versions to 0.9.0 (API V1) (#5130)
@rmcmurrayhttps://github.com/rmcmurray - Rob, can you review this contribution?
—
Reply to this email directly or view it on GitHubhttps://github.com/Azure/azure-content/pull/5130#issuecomment-163384584.

I have a series of changes which I am already working on in another branch which will include these changes.

@rmcmurray There are no conflicts in this PR at this point. If you can confirm that the changes suggested by @dadoonet are correct, I would like to merge this PR so that he can get credit for the contribution.
Thanks.

@rmcmurray there are still no conflicts, so I assume your updates in the private repo never made it in. Can we just use the customer's contribution?

That include file should no longer be used (and can be deleted); it's an artifact from when we had three separate download pages for Mac, Linux, and Windows. We now have a single, consolidated download page which is version agnostic at https://azure.microsoft.com/documentation/articles/java-download-azure-sdk/.

@dadoonet It turns out this information has been moved to another topic, where is has already been corrected. Thanks for your attempt to contribute, we hope you continue to help us out with Azure docs in the future.

FYI, as I am in France (french laptop), I access to: https://azure.microsoft.com/fr-fr/documentation/articles/java-download-azure-sdk/
The maven list is:
<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-management</artifactId>
    <version>n.n.n</version>
</dependency>
<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-management-compute</artifactId>
    <version>n.n.n</version>
</dependency>
<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-management-network</artifactId>
    <version>n.n.n</version>
</dependency>
<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-management-sql</artifactId>
    <version>n.n.n</version>
</dependency>
<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-management-storage</artifactId>
    <version>n.n.n</version>
</dependency>
<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-management-websites</artifactId>
    <version>n.n.n</version>
</dependency>
<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-media</artifactId>
    <version>n.n.n</version>
</dependency>
<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-servicebus</artifactId>
    <version>n.n.n</version>
</dependency>
<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-serviceruntime</artifactId>
    <version>n.n.n</version>
</dependency>

Which looks wrong to me as I wrote in my PR.
Not sure how I can check the english version as I'm always redirected to the french page.... :(

@dadoonet - thanks again, we are working on a new version of the consolidated article which should improve the clarity and update the artifact IDs.

@dadoonet - Can you verify the newly-published version of this article? It mentions the version-agnostic syntax a little better (e.g. replacing the "n.n.n" placeholders with the desired version numbers) and contains updated artifact IDs.
https://azure.microsoft.com/en-us/documentation/articles/java-download-azure-sdk/
Thanks again!

Hi @rmcmurray.
It looks now good to me.
That being said, I think it's a bit fuzzy to get what is the right version people should use. Because when you click on the "maven" link: http://search.maven.org/#browse%7C1671162511, you get a full list of artifacts (old ones included). It requires some efforts (not a big deal though).

May I suggest that you link instead to http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.microsoft.azure%22%20AND%20(a%3Aazure-serviceruntime%20OR%20a%3Aazure-servicebus%20OR%20a%3Aazure-svc-*): example so it's super easy to get the current version number (and the release date) in one click?

May be you should also think of renaming azure-servicebus to azure-svc-bus and azure-serviceruntime to azure-svc-runtime?
Even better, you should may be put all azure-svc-* artifacts under their own groupId such as com.microsoft.azure.service or whatever...
BTW, is there anyway to get notified each time a new version is pushed? I'd like to keep in sync as much as possible elasticsearch azure plugins with the SDK version...
I hope this helps.
Best!

Oh. I forgot.
You could add in your docs that people should better use a maven property to define their azure SDK version like:
<properties>
    <azure.version>0.9.3</azure.version>
</properties>

And then apply this to all dependencies:
<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-svc-mgmt</artifactId>
    <version>${azure.version}</version>
</dependency>
<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-svc-mgmt-compute</artifactId>
    <version>${azure.version}</version>
</dependency>
<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-svc-mgmt-network</artifactId>
    <version>${azure.version}</version>
</dependency>
<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-svc-mgmt-sql</artifactId>
    <version>${azure.version}</version>
</dependency>
<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-svc-mgmt-storage</artifactId>
    <version>${azure.version}</version>
</dependency>
<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-svc-mgmt-websites</artifactId>
    <version>${azure.version}</version>
</dependency>
<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-svc-mgmt-media</artifactId>
    <version>${azure.version}</version>
</dependency>
<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-servicebus</artifactId>
    <version>${azure.version}</version>
</dependency>
<dependency>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-serviceruntime</artifactId>
    <version>${azure.version}</version>
</dependency>

Updating to the next version will be consistent (well, you reduce the risk of forgetting to upgrade one of the lib).
That being said, I guess that maven users already know that... :)


Allow signing into a team via humanized name

Currently all team actions are against the id, not the name, for example to sign back into your team:
$ up login --team apex-software

But we could also allow:
$ up login --team "Apex Software"

to avoid confusion

How about nicknames?  Localized to the machine and/or account.
$ up login --team work
$ up login --team personal


[Enhancement] - Scope init overload for enum reducers

Added an overload for Scope to work with enum reducers. This is really useful for when you want to utilize the Destination pattern but non-optionally. I use this pattern when I want to have a top-level enum state but also need to include additional information:
@Reducer
struct App {

    @ObservableState
    struct State {
        var flow: Flow.State = .onboarding(.init())
        var firstTimeLaunching = false
        var networkIsConnected = true
    }

    enum Action {
        case flow(Flow.Action)
    }
}

@Reducer
enum Flow {
    case onboarding(Onboarding)
    case dashboard(Dashboard)
}

Before this change, I couldn't use enum reducers for Flow because I was unable to create an instance of it in Scope
Scope(state: \.flow, action: \.flow) {
    Flow()
}

Now, I can integrate this sub-reducer into my domain like Scope(state: \.flow, action: \.flow)

@thebarndog Thanks for taking the time to PR! @mbrandonw and I will discuss soon.
One thing we worry about with the ifLet and forEach overloads is that they can strain the compiler, so adding a third one for Scope does have us wondering if it would have been more reasonable to have less magic and overloads, and instead enforce a new calling convention with the existing reducers:
.ifLet(\.$destination, action: \.destination) {
  Destination.body  // or `Destination.self`
}

Thoughts on these trade-offs? It'd be a breaking change so we'd have to reconsider with 2.0, but we thought it'd be good to start the conversation now.

Just my two cents, I find Destination.self to be more discoverable

@stephencelis
.ifLet(\.$destination, action: \.destination) {
  Destination.body  // or `Destination.self`
}

I think this should be added to Migrating to 1.8.

@thebarndog While originally we thought omitting the closure in ifLet and forEach was a nice benefit of the new syntax, it's proven to mostly confuse folks, and it's also expanded the API overload surface area, which can slow down the type checker. Because of this I think we're going to close this out, and we plan on deprecating the new ifLet and forEach operators in favor of explicit Destination.body in the future.

Thanks again for taking the time to submit, though, and for starting the conversation! If you do end up making an "extras" library with these helpers, we'll link to it in the README.


Render error when step name include ";"

Like this.
Run if [ "push" == "push" ]; then
Minimum reproduced workflow: https://github.com/Kesin11/actions-timeline/actions/runs/7913629767?pr=96
It should be escaped.

gantt
title Minimum reproduce
dateFormat  HH:mm:ss
axisFormat  %H:%M:%S
section if-then
Waiting for a runner (7s) :active, job0-0, 00:00:01, 7s
Set up job (1s) :job0-1, after job0-0, 1s
Run if [ "pull_request" = "push" ]; then (0s) :job0-2, after job0-1, 0s
Complete job (0s) :job0-3, after job0-2, 0s
section run_self
Waiting for a runner (6s) :active, job1-0, 00:00:10, 6s
Set up job (1s) :job1-1, after job1-0, 1s
Run Kesin11/actions-timeline@v2 (2s) :job1-2, after job1-1, 2s

This was an error.
If remove ";" from Run if [ "pull_request" = "push" ]; it will be ok.


faceid LoRAs

I do not think these are useable? They need to reside in the loras folder, not the ipadapters folder.

Do you have an example workflow? I can take a look.

I believe this uses the LoraLoaderModelOnly...
https://openart.ai/workflows/bear_ill-fated_78/faceid-v2-comparison-workflow/5I6uRCPiET1TC3upb7gO

Thank you, I'm investigating

Thank you for reporting, I think this is now fixed in https://github.com/fofr/cog-comfyui/commit/949d4937362ad7061b202f1126a97af8e969199f


Fix the autoupdatebranch Action

When moving to shas for more security, it looks like we broke the Docker action.
This should get it working again. Ideally we move to a Sha somehow in the future but I'm unsure how to do that considering the unique format of this Action being served from Docker rather than GitHub.
Example of the Action breaking: https://github.com/github/docs/actions/runs/309155706/workflow
Check off the following:

[ ] All of the tests are passing.

Is it maybe that the Docker registry digest SHAs don't match the Git commit SHAs...? 🤷🏻♂
https://docs.docker.com/engine/reference/commandline/pull/#pull-an-image-by-digest-immutable-identifier
I am admittedly not well-versed in Docker. 😕


[JS] decimal toString does not support negative values

The main description is here: https://github.com/apache/arrow/issues/5397
Also, I have a simple test case (slightly changed generate-test-data.js and generated-data-validators):

export const decimal = (length = 2, nullCount = length * 0.2 | 0, scale = 0, precision = 38) => vectorGenerator.visit(new Decimal(scale, precision), length, nullCount);

function fillDecimal(length: number) {
    // const BPE = Uint32Array.BYTES_PER_ELEMENT; // 4
    const array = new Uint32Array(length);
    // const max = (2 ** (8 * BPE)) - 1;
    // for (let i = -1; ++i < length; array[i] = rand() * max * (rand() > 0.5 ? -1 : 1));
    array[0] = 0;
    array[1] =<PHONE_NUMBER>;
    array[2] =<PHONE_NUMBER>;
    array[3] =<PHONE_NUMBER>;
    array[4] = 0;
    array[5] = 16004768;
    array[6] =<PHONE_NUMBER>;
    array[7] = 126217744;
    return array;
}

and the expected value should be

expect(vector.get(0).toString()).toBe('-1000000000000000000000000000000000000');
expect(vector.get(1).toString()).toBe('1000000000000000000000000000000000000');

However, the actual first value is<PHONE_NUMBER>20938463463374607431768211456 which is wrong! The second value is correct by the way.
I believe the bug is in the function called
function decimalToString<T extends BN>(a: T) because it cannot return a negative value at all.
arrow/js/src/util/bn.ts
Line 99
Reporter: Andong Zhan
Related issues:

[JS] decimalToString function in bn.ts does not handle negative decimals (is duplicated by)

Note: This issue was originally created as ARROW-6575. Please see the migration documentation for further details.

I'm interested in helping integrate a correct decimal -> string implementation.
I'm using the current bignum -> string implementation here from bn.ts
https://github.com/apache/arrow/blob/a2881a124339d7d50088c5b9778c725316a7003e/js/src/util/bn.ts#L106-L123
But wrapping the implementation with some extra steps.

detect if the bigint is negative
flip the decimal
render the flipped decimal as a bigint (using this implementation)
add scale (place the decimal point in the correct location)
add a - if we flipped the decimal.

Implementation of the negative check (I haven't verified it works with decimal 256)
based on c++ implementation
// check if the stored bigint is negative.
// based on implementation here from arrow:
// https://github.com/apache/arrow/blob/39bad544/cpp/src/arrow/util/basic_decimal.h#L125
// TODO will just using array.length - 1 work for 128 and  256bit decimals?
const highOrderWord = new Int32Array([array[array.length - 1]])[0]
return highOrderWord >= 0

Implementation to flip the bigint to the equivalent "negative" value
based on c++ implementation
// based on implementation here from arrow:
// https://github.com/apache/arrow/blob/39bad544/cpp/src/arrow/util/basic_decimal.cc#L1144
// idea is to flip the bits to take the 2's complement of the number to get the negative representation of the
// 128 (or theoretically 256) bit integer.
let carry = 1
for (let i = 0; i < array.length; i++) {
  const elem = array[i]
  const updated = ~elem + carry
  array.set([updated], i)
  carry &= elem === 0 ? 1 : 0
}

I don't quite have an efficient, strictly correct implementation of the decimal placement, but I think it shouldn't be too difficult to do correctly.
I'm currently stripping off additional trailing zeros (just the way that we want to render these decimals) so 0.0001000 with scale of 7 => 0.0001 technically a scale of 4
It likely requires some changes to the the way that types are being dealt with (because a decimal is really just a bignum with a scale) but we'll need that scale to correctly do the render. Haven't spent too much time studying the decimalToString implementation, but I bet that with the scale the rendering of the value with the decimal point could be done in a single pass without needing to compose / concat / join extra string values.

@jonathanswenson Nice writeup. Are you working on this, or should I pick it up where you left of?

I haven’t started implementing yet, feel free to grab it.


Export C API symbols of _pywrap_tensorflow_internal.so on OS X

This follows up #10469 by exporting C API symbols on OS X.
How?
This PR widens the .lds matching pattern to include the C API symbols as they are mangled on OS X.
Before this PR the C API symbols are exported in Linux but are hidden in OS X:
(Linux)$ nm _pywrap_tensorflow_internal.so | grep TF_CloseSession
00000000012d2d40 T TF_CloseSession
00000000010f8e50 t _wrap_TF_CloseSession

(OS X)$ nm _pywrap_tensorflow_internal.so | grep TF_CloseSession
00000000002be1b0 t _TF_CloseSession
000000000001a0a0 t __Z21_wrap_TF_CloseSessionP7_objectS0_

After this PR the C API symbols are exported in both Linux and OS X:
(Linux)$ nm _pywrap_tensorflow_internal.so | grep TF_CloseSession
0000000000fa25f0 T TF_CloseSession
0000000000cf02e0 t _wrap_TF_CloseSession

(OS X)$ nm _pywrap_tensorflow_internal.so | grep TF_CloseSession
0000000000392880 T _TF_CloseSession
000000000001ae50 t __Z21_wrap_TF_CloseSessionP7_objectS0_

(notice the change from t to T, i.e. static to global)
Why?
This is important for libraries that use multiple client APIs as described in #7541. My use case is an R package that uses the Python API through rstudio/tensorflow and also uses the C API library: I build tf graphs using the Python API and run those graphs from R-wrapped C++ code using the C API. This already works in Linux, and should also work in OS X after this PR.
Tested
Successfully loaded a shared library in R that uses symbols from _pywrap_tensorflow_internal.so:

[x] Linux
[x] OS X

Can one of the admins verify this patch?

I believe we are going another way, and will provide a separate DLL you can link against to get to the C API, but @allenlavoie to confirm.

@martinwicke @allenlavoie Can you confirm that #7541 has been resolved, so that both DLLs can be linked? If not, could this PR be merged as a temporary workaround?

We are planning to split out a shared object, which precompiled op libraries will depend on, and remove RTLD_GLOBAL when loading pywrap_tensorflow. This shared object will not include the C API symbols (the C API relies on several ops, and we'd like to keep ops and kernels out of this new shared object). Both the C API and pywrap_tensorflow will depend on this new shared object, but trying to load both of them will attempt to register ops and kernels twice and throw an error.
So this PR is probably your best bet medium-term for adding Python API calls to an otherwise C API usage. Removing RTLD_GLOBAL will mean that you'll need to explicitly link against _pywrap_tensorflow_internal.so for the C API symbols (you don't need to do it now, but I'd recommend it to avoid breaking in the future).

Thanks, @allenlavoie !

Jenkins, test this please

Looks like there are some conflicts. @fritzo do you mind resolve them? Thanks!

@tensorflow-jenkins test this please

@yifeif Thanks, I've resolved the conflict. To resolve the conflict I've also added * to the TFE_ symbols exported by #12785 discussed in #12784, so that change will also work in OS X (this is the same issue I had).


Update 3.1-5.0.md

Internal review URL

@gewarren this works but closing as it's not the approach we want to take.

@Rick-Anderson Instead of closing, you moved this to draft. Are you going to revisit it, or should it be closed?


Update Cake nuget version, otherwise, it cannot be used in Cake 24.0

The old Cake version cannot be used in currently Cake script, I just update Cake nuget packages to solve this.
For some reason GitVersion crash every time, I just skip it to build.
Another issue is on Mac/Linux, we need to give access to gradlew, like call chmod +x gradlew.
I think it should be called in Run function, do you have a better solution for this?

@abeggchr Can you create a nuget for this? Thanks


ListView Horizontal

Does it have to be horizontal by default?
I wish we could set it's orientation. Is this something you'd be willing to add/change?
Oh and thanks for the library.

Hey. Was bit busy with the work lately. I will give this a try over the weekend. Cheers!

orientation support is added with this.


Use dirname(@FILE) instead of Pkg.dir

This allows installing the package elsewhere.
Add testing against 0.5 to Travis - this runs the most
recent RC now, release once final tags are done

Current coverage is 100% (diff: 100%)

Merging #1 into master will not change coverage

@@           master    #1   diff @@
===================================
  Files           1     1
  Lines          27    27
  Methods         0     0
  Messages        0     0
  Branches        0     0
===================================
  Hits           27    27
  Misses          0     0
  Partials        0     0

Powered by Codecov. Last update 481f9b1...212ea9e

Thanks, I'll fix up my other packages with similar changes shortly.

Thanks, beat me to it. I did half the alphabet yesterday and was going to do the rest today.


the input channel order to_spherical calculation

hello, thanks for your outstanding work. I am learning the evolution part and had some questions about the to_spherical calculation.
in EvoSkeleton/libs/skeleton/anglelimits.py line179-192 is the function of to_spherical(xyz), and I have one questions:

according to the code, before calling  to_spherical(), the skeleton has been re_order to xzy, while the formula of to_spherical use the xyz order, so if the skeleton in xzy order input to to_spherical, can we still get the right result?

Hi, I remembered that the original PosePrior used inputs that are in xzy order, so I did that before computing local orientation. You can refer to the matlab implementation of the original paper for details and ask further questions here.

Closing inactive issues that already have answers. Re-open if needed.


chore(deps): :arrow_up: update all non-major dev dependencies

This PR contains the following updates:

Package
Change
Age
Adoption
Passing
Confidence

@storybook/test-runner
0.14.0 -> 0.14.1

@typescript-eslint/eslint-plugin
6.10.0 -> 6.11.0

@typescript-eslint/parser
6.10.0 -> 6.11.0

aws-cdk-lib
^2.106.1 -> ^2.107.0

aws-sdk
2.1494.0 -> 2.1495.0

Release Notes

storybookjs/test-runner (@storybook/test-runner)
v0.14.1
Compare Source
🐛 Bug Fix

Fix: Do not set test root outside index json mode #387 (@yannbf)

Authors: 1

Yann Braga (@yannbf)

typescript-eslint/typescript-eslint (@typescript-eslint/eslint-plugin)
v6.11.0
Compare Source
Bug Fixes

eslint-plugin: [explicit-function-return-type] support JSX attributes in allowTypedFunctionExpressions (#7553) (be2777c)
eslint-plugin: [no-unnecessary-qualifier] handle nested namespace id (#7883) (a668f5b)

Features

add no-unsafe-unary-minus rule (#7390) (c4709c2)
add types for flat config files (#7273) (66cd0c0)
allow<EMAIL_ADDRESS>as devDependency (#7821) (b6c40b4)
eslint-plugin: no-unsafe-enum-comparison handles switch cases (#7898) (72cb9e4)
utils: add ESLint CodePath selector types (#7551) (99a026f)

You can read about our versioning strategy and releases on our website.

typescript-eslint/typescript-eslint (@typescript-eslint/parser)
v6.11.0
Compare Source
Note: Version bump only for package @typescript-eslint/parser
You can read about our versioning strategy and releases on our website.

aws/aws-cdk (aws-cdk-lib)
v2.107.0
Compare Source
Features

lambda: node20 runtime (#27897) (a5acd0f)

Alpha modules (2.107.0-alpha.0)

aws/aws-sdk-js (aws-sdk)
v2.1495.0
Compare Source

feature: DMS: Added new Db2 LUW Target endpoint with related endpoint settings. New executeTimeout endpoint setting for mysql endpoint. New ReplicationDeprovisionTime field for serverless describe-replications.
feature: DataExchange: Removed Required trait for DataSet.OriginDetails.ProductId.
feature: EC2: Adds the new EC2 DescribeInstanceTopology API, which you can use to retrieve the network topology of your running instances on select platform types to determine their relative proximity to each other.
feature: ECS: Adds a Client Token parameter to the ECS RunTask API. The Client Token parameter allows for idempotent RunTask requests.
feature: EMR: Updated GetClusterSessionCredentials API  to allow Amazon SageMaker Studio to connect to EMR on EC2 clusters to support IdentityCenter/PEZ integration.
feature: ServiceCatalogAppRegistry: When the customer associates a resource collection to their application with this new feature, then a new application tag will be applied to all supported resources that are part of that collection. This allows customers to more easily find the application that is associated with those resources.

v2.1494.0
Compare Source

feature: CUR: This release adds support for tagging and customers can now tag report definitions. Additionally, ReportStatus is now added to report definition to show when the last delivered time stamp and if it succeeded or not.
feature: ControlTower: AWS Control Tower supports tagging for enabled controls. This release introduces TagResource, UntagResource and ListTagsForResource APIs to manage tags in existing enabled controls. It updates EnabledControl API to tag resources at creation time.
feature: EC2: EC2 adds API updates to enable ENA Express at instance launch time.
feature: MarketplaceEntitlementService: Add paginators to GetEntitlements.
feature: MediaConvert: This release includes the ability to specify any input source as the primary input for corresponding follow modes, and allows users to specify fit and fill behaviors without resizing content.

v2.1493.0
Compare Source

feature: CloudFormation: Added new ConcurrencyMode feature for AWS CloudFormation StackSets for faster deployments to target accounts.
feature: CloudTrail: The Insights in Lake feature lets customers enable CloudTrail Insights on a source CloudTrail Lake event data store and create a destination event data store to collect Insights events based on unusual management event activity in the source event data store.
feature: CloudWatchLogs: Update to support new APIs for delivery of logs from AWS services.
feature: Comprehend: This release adds support for toxicity detection and prompt safety classification.
feature: Connect: This release adds the ability to integrate customer lambda functions with Connect attachments for scanning and updates the ListIntegrationAssociations API to support filtering on IntegrationArn.
feature: EC2: AWS EBS now supports Block Public Access for EBS Snapshots. This release introduces the EnableSnapshotBlockPublicAccess, DisableSnapshotBlockPublicAccess and GetSnapshotBlockPublicAccessState APIs to manage account-level public access settings for EBS Snapshots in an AWS Region.
feature: EKS: Adding EKS Anywhere subscription related operations.
feature: Lambda: Add Custom runtime on Amazon Linux 2023 (provided.al2023) support to AWS Lambda.
feature: Omics: Support UBAM filetype for Omics Storage and make referenceArn optional

v2.1492.0
Compare Source

feature: SQS: This release enables customers to call SQS using AWS JSON-1.0 protocol and bug fix.

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

⚠ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:
File name: package-lock.json
npm WARN cli npm v10.2.4 does not support Node.js v20.2.0. This version of npm supports the following node versions: `^18.17.0 || >=20.5.0`. You can find the latest version at https://nodejs.org/.
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/@angular/core
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/@angular/animations
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR!
npm ERR! For a full report see:
npm ERR! /tmp/renovate/cache/others/npm/_logs/2023-11-16T23_09_33_789Z-eresolve-report.txt

npm ERR! A complete log of this run can be found in: /tmp/renovate/cache/others/npm/_logs/2023-11-16T23_09_33_789Z-debug-0.log


bug: Ethers.js Adapters 'transport' in WalletClient and Public Client is not equivalent to connectionInfo.

Is there an existing issue for this?

[X] I have searched the existing issues

Package Version
1.3.0
Current Behavior
Working with this code snippet to make Ethers.js v5 work with Wagmi
https://wagmi.sh/react/ethers-adapters#reference-implementation-1
Currently the signer object is not returned due the code line
const provider = new providers.Web3Provider(transport, network)
The error thrown is

Argument of type 'TransportConfig<string, EIP1193RequestFn> & Record<string, any>' is not assignable to parameter of type 'string | ConnectionInfo'.
Property 'url' is missing in type 'TransportConfig<string, EIP1193RequestFn> & Record<string, any>' but required in type 'ConnectionInfo'.

That is, transport isn't the object(of type 'string | ConnectionInfo') as expected.
Expected Behavior
Working with Etherjs and Wagmi both I expected the code snippet
https://wagmi.sh/react/ethers-adapters#reference-implementation-1 to work for ethers.js v5.
Expecting the useEthersSigner to return a signer object.
And transport to be accepted as input to JsonRpcProvider
Steps To Reproduce

Create a Rainbowkit-React app.
Instantiate Wagmi in it.
Create a walletClient using the use useWalletClient hook.
Create a network const network = {  chainId: chain.id,  name: chain.name,  ensAddress: chain.contracts?.ensRegistry?.address, };
Run the following code const provider = new providers.JsonRpcProvider(transport, network); const signer = provider.getSigner(account.address); return signer;
The error will be visible on transport object.

Link to Minimal Reproducible Example (StackBlitz, CodeSandbox, GitHub repo etc.)
https://wagmi.sh/react/ethers-adapters#reference-implementation-1
Anything else?
No response

See https://github.com/wagmi-dev/viem/discussions/792


fixed multiple clippy warnings

Pull request checklist:

[x] CHANGELOG.md was updated, if applicable

I believe it might be possible to remove itertools as a dependency altogether now?

I'd need to check to make sure, but itertools::Either could be replaced by either::Either.

Thank you!


Updated CHANGELOG between 4.3.1 and 4.5.0 (inclusive)

Issue # (if available)
Description of changes
Updated CHANGELOG with changes between v4.3.1 and v4.50 (incl)
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@reidmorrison hope this bridges the gap on the changelog up to the latest released version :)

Thank you @gingerlime


lxd: Handle remote custom volume snapshots

Fixes https://github.com/lxc/lxd/issues/8680

Testsuite passed

@monstermunchkin is it worth holding off on this until you can review the function in more detail?

@tomponline sure. As long as it doesn't bother you with the certificate work ;)

@monstermunchkin no its fine, as I now know it wasnt my change that introduced it.

As discussed on IRC, we need to review how this function works with automating snapshots of local vs remote custom volumes, and at least avoid triggering a cluster reconnect and heartbeat when no remote volumes are in use, and ideally avoid triggering a cluster reconnect and heartbeat entirely.

This should handle all custom volumes properly. Once tested, I'll mark it ready for review. But feel free to leave comments anyway :)

This will need a rebase now please. Thanks

@tomponline I've rebased it.

thanks @monstermunchkin I've re-done this PR based on @stgraber changes in https://github.com/lxc/lxd/pull/8690 in https://github.com/lxc/lxd/pull/8693


Problem after checking if the account exist

Once it verifies that the account is real the page https://www.instagram.com/accounts/login/?force_classic_login say's it the page is either broken, or has been removed. Did they just catch on, and disable it.

The page is broken? But it functions well for me. Try deleting the browser cache and cookies, then try again.


Design for Feedback options on the project index page

User story:
As a single cell researcher, I would like to Get in touch with this resource, so that I can:
A. Submit my project to the list
C. I want to ask a question about the criteria, process, etc
D. I want to provide feedback.
E. I want to correct something in the project I see.

I quite like having a simple thing that pops out from the side rather than a whole new page, e.g. on the gwas catalog https://www.ebi.ac.uk/gwas/
could be a good first easy option since we will probably just be wanting people to email wrangler email address in the first instance

I quite like having a simple thing that pops out from the side rather than a whole new page, e.g. on the gwas catalog https://www.ebi.ac.uk/gwas/
could be a good first easy option since we will probably just be wanting people to email wrangler email address in the first instance

In meeting today we discussed having something similar (but maybe better looking) that sits on the side of the browser and follows the user as they scroll. Initially this can simply be an email to<EMAIL_ADDRESS>@gabsie to give input on what the button might look like
Then @jacobwindsor to implement
Eventually we may want to build a custom form like europmc http://europepmc.org/feedback?url=https://europepmc.org/
A google or other form
Or follow what covid portal did using the EBI services support page https://www.ebi.ac.uk/support/covid19dataportal

In meeting today we discussed having something similar (but maybe better looking) that sits on the side of the browser and follows the user as they scroll. Initially this can simply be an email to<EMAIL_ADDRESS>@gabsie to give input on what the button might look like
Then @jacobwindsor to implement
Eventually we may want to build a custom form like europmc http://europepmc.org/feedback?url=https://europepmc.org/
A google or other form
Or follow what covid portal did using the EBI services support page https://www.ebi.ac.uk/support/covid19dataportal

Is there a reason not to connect it to project registration rather than build a separate solution?

Is there a reason not to connect it to project registration rather than build a separate solution?

I think for now we are thinking about it in the simplest way possible that would capture feedback and if someone wants their project to appear, i.e. a button that is a mailto: link
Totally agree that if we implement the 'I want to register a project' thing it should just link to registering a project in ingest, but I guess that is blocked right now until we are allowed to give the general public the option to see the ui.
For the alternative forms I listed I was thinking more if people want to send general feedback/queries or errors rather than adding a project

I think for now we are thinking about it in the simplest way possible that would capture feedback and if someone wants their project to appear, i.e. a button that is a mailto: link
Totally agree that if we implement the 'I want to register a project' thing it should just link to registering a project in ingest, but I guess that is blocked right now until we are allowed to give the general public the option to see the ui.
For the alternative forms I listed I was thinking more if people want to send general feedback/queries or errors rather than adding a project

Hi, @mshadbolt @jacobwindsor
I have attached the updated layout. I have included a button on the side for feedback, and a line at the bottom of the table. For now if we're about to launch, let's have those send emails.
I will also attach this design to the other layout ticket.
(I am also investigating with webdev team about what forms we have implemented for others)
Gabs

Hi, @mshadbolt @jacobwindsor
I have attached the updated layout. I have included a button on the side for feedback, and a line at the bottom of the table. For now if we're about to launch, let's have those send emails.
I will also attach this design to the other layout ticket.
(I am also investigating with webdev team about what forms we have implemented for others)
Gabs

In terms of a template I would just do this:
email<EMAIL_ADDRESS>subject: Feedback about the HCA Project Catalogue

In terms of a template I would just do this:
email<EMAIL_ADDRESS>subject: Feedback about the HCA Project Catalogue


Remove rails ujs but keep signout link as delete

Context
Suggested alternative to #135 - please merge EITHER this OR #135.
Changes proposed in this pull request

Change the "sign out" link to a form with method="delete", but styled like the rest of the nav links.

That way we can:

remove the last reliance on Rails UJS
keep the routes RESTful
avoid exposing an "unsafe" action as a GET
still have a DELETE route that works without Javscript enabled.

Guidance to review

I don't really have any opinions on this over #135 – @fofr is probably best-placed to weigh in on it, given his frontend background.


Cart is lost after logging in again

PHP Version
8.3
Shopware Version
<IP_ADDRESS>
Expected behaviour

A customer logs in via store-api.account.login
The customer add at least one product to the cart store-api.checkout.cart.add
The customer logs out via store-api.account.logout
The customer logs in again.

The old cart should be linked to the new context token or the old context token should be linked to the customer again.
Actual behaviour

A customer logs in via store-api.account.login
The customer add at least one product to the cart store-api.checkout.cart.add
The customer logs out via store-api.account.logout
The customer logs in again.

Old context is still in sales_channel_api_context
  {
    "token": "1",
    "payload": "{\"expired\": false, \"customerId\": null}",
    "sales_channel_id": "...",
    "customer_id": null,
    "updated_at": "2024-04-15 13:54:06"
  }

A new context exists:
  {
    "token": "2",
    "payload": "{\"expired\": false, \"customerId\": \"018ed64348c27210a98e3dacbe47c4ef\", \"permissions\": [], \"billingAddressId\": null, \"shippingAddressId\": null}",
    "sales_channel_id": "...",
    "customer_id": "018ED64348C27210A98E3DACBE47C4EF",
    "updated_at": "2024-04-15 13:58:36"
  }

Old Cart is still there with old context token:
  {
    "token": "1",
     ...
    "customer_id": "018ED64348C27210A98E3DACBE47C4EF",
    ...
  }

How to reproduce

A customer logs in via store-api.account.login
The customer add at least one product to the cart store-api.checkout.cart.add
The customer logs out via store-api.account.logout
The customer logs in again.
Cart is empty

The issue is already known https://issues.shopware.com/issues/NEXT-35111. @shyim implemented a fix and released a new version of the security plugin fixing this issue (https://store.shopware.com/en/swag136939272659f/shopware-6-security-plugin.html seee changelog). The fix will be also included in the next Shopware release.

fix is merged, https://github.com/shopware/shopware/commit/7dcf5ab7d4e7fed3f20c7cad91d4f803b5019aca
we are waiting for a bugfix that theme compile is not executed when you use subbundles to make a release

6.5 version has been released


Correction for raw affiliation PHIM Plant Health Institute, Univ Montpellier, INRAE, CIRAD, Institut Agro, IRD

Correction needed for raw affiliation PHIM Plant Health Institute, Univ Montpellier, INRAE, CIRAD, Institut Agro, IRD
raw_affiliation_name: PHIM Plant Health Institute, Univ Montpellier, INRAE, CIRAD, Institut Agro, IRD
new_rors: 05kpkpg04;051escj72;03fkrcm40;05q3vnk25;03rnk6m14;003vg9w96;05y5s3h28
previous_rors: 05kpkpg04;051escj72;03fkrcm40;05q3vnk25;03rnk6m14;003vg9w96
works_examples: W3208855423
contact: 99a82488a52f292d73c692e3f169b011:39568c5cb46e99167d171e41a08db34b44d7 @ inrae.fr

This issue was accepted and ingested by the OpenAlex team on 2024-11-18. The new affiliations should be visible within the next 7 days.


fix: Extend SeamProviderBaseProps from PropsWithChildren

It probably should have been defined like this to start.

CI change LGTM though


[Bug]: Shape of Crimea and Kherson Province of Ukraine

Steps to reproduce the bug
1. Crimea is a Province of Ukraine restricted to Crimean Peninsula. In the Taxon Works, it is represented in a polygon) in the wrong borders, i.e. as Taurida Governorate of Russian Empire (currently Autonomous Republic of Crimea and Kherson Province of Ukraine). https://sfg.taxonworks.org/geographic_areas/26682
2. The current shape-file should be replaced or edited according to modern borders
https://en.m.wikipedia.org/wiki/File:Crimea_autonomous_republic_map.svg
3. Kherson Province is absent in shape-file and is not displayed on the map of distribution.

Screenshot

Expected behavior
No response
Additional Screenshots

Environment
Production
Sandbox Used
No response
Version
No response
Browser Used
No response

Thanks @Omias .
This is technically not a bug, it's the result of evolving representations.  Stepping back, this is why we need to to think about asserting spatial areas to Taxa (biological concepts), not the nams of those areas.  Names evolve, change, come and go, and from the perspective of the Taxon (but clearly not the human), they don't matter.
This specific issue is indeed somethign we need to address, we need a "historical" spatial representation so we can select (assert) the correct shape for our taxa, i.e. we need shapes that correspond to labels/names at different times in history.
The take home:

We need additional shapes
We need additional labels for those shapes
We need to select the shapes that correspond to what the authors asserted about their taxa, not the labels that they asserted about their taxa.  This allows us to compute new labels when things like human political boundaries change, without creating new assetions, i.e. we can use spatial calculations to select a whole range of historical names/labels, depending on what context we want to convey.

Ok, then let's reassign this shape to "Tauria" a historical entity, and add shape for Crimea (both political and geographical entity)

It might be that this shape is already historical record, in the sense that it came from the Natural Earth recordset at a particular time, i.e. nothing in Geographic Areas was created by the TW devs, it was all imported in a logicistically consisten (but not necessarily good) way via external gazeteers/algorithim.
So, it was decided, at some time, to label that shape, with this name.  Whether or not that is "correct", it is.
And, somewhat pedangically, from  the ontology world we never change things if it could (significantly) change their meaning, we deprecate things (i.e. flag them with "you should not use this, here are some alternatives to consider), and add other thing that represent the meaning we want to us.
One thing that would be of interest, how is the Natural Earth dataset presently looking with respect to areas/names around this area?

In this particular case it is a clear mistake. This area never existed historically. May be something like this (but not in this borders), existed in the time of Mongolian Invasion or during Othoman Empire. But not recent time. The map, in the sense we have it is just a merge of Crimea and Kherson provinces. And if you look at the map of Crimea, it traces the boundaries of the Kherson province. If you open Kherson prov., it does not have any shape attached. It may come from external gazetiers, but it is a clear error, and not historical representation of data.

Did you check the original dataset?

No, not yet.

For those of you who want to better understand what it means to curate these data, please see this issue tracker: https://github.com/nvkelso/natural-earth-vector/issues.  This is just one project.  As an example search for Crimea.  The task is immensely difficult.
What I'm trying to do is to find a balance for biodiversity data, one that doesn't required that Taxonomists, Curators, Scientists curate another global problem (names/species/circumscriptions are enough, thank you).  Curatorial efforts (maintaining a spatial atlas of the world) here are immense, and likely better handled in the long run by (maybe) looking at resources from collaborators, or perhaps something like WikiData or updated GADM or Open Map.