Enhance systemd service implementation to monitor all pollers

Is your feature request related to a problem? Please describe.
In the current way systemd service is implemented, harvest just forks all poller child processes and closes. Systemd has no concept of keeping track of all the children. If I have more then one poller I can never be sure that all are running by monitoring the systemd service.
Example:
Harvest Systemd status is active
● harvest.service - Harvest
   Loaded: loaded (/etc/systemd/system/harvest.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2021-05-25 09:56:15 CEST; 24min ago
  Process: 2512 ExecStart=/opt/harvest/bin/harvest restart --config /opt/harvest/harvest.yml (code=exited, status=0/SUCCESS)
 Main PID: 28539 (code=exited, status=0/SUCCESS)
    Tasks: 30
   Memory: 104.6M
   CGroup: /system.slice/harvest.service
           ├─2521 bin/poller --poller unix --loglevel 2 --config /opt/harvest/harvest.yml --daemon
           ├─2538 bin/poller --poller ontap1 --loglevel 2 --config /opt/harvest/harvest.yml --daemon
           └─2548 bin/poller --poller ontap2 --loglevel 2 --config /opt/harvest/harvest.yml --daemon

I kill a single poller, service status remains active.
kill 2548
# ./bin/harvest status
Datacenter            Poller                PID        PromPort        Status
+++++++++++++++++++++ +++++++++++++++++++++ ++++++++++ +++++++++++++++ ++++++++++++++++++++
local                   unix                2521                       running
DC1                     ontap1              2538                       running
DC2                     ontap2                                         not running
+++++++++++++++++++++ +++++++++++++++++++++ ++++++++++ +++++++++++++++ ++++++++++++++++++++

● harvest.service - Harvest
   Loaded: loaded (/etc/systemd/system/harvest.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2021-05-25 09:56:15 CEST; 25min ago
  Process: 2512 ExecStart=/opt/harvest/bin/harvest restart --config /opt/harvest/harvest.yml (code=exited, status=0/SUCCESS)
 Main PID: 28539 (code=exited, status=0/SUCCESS)
    Tasks: 20
   Memory: 63.2M
   CGroup: /system.slice/harvest.service
           ├─2521 bin/poller --poller unix --loglevel 2 --config /opt/harvest/harvest.yml --daemon
           └─2538 bin/poller --poller ontap1 --loglevel 2 --config /opt/harvest/harvest.yml --daemon

Describe the solution you'd like
Systemd harvest service should monitor the status of all pollers and should switch to "failed" if any poller is down. Alternatively create single service instances, one for each poller.
Describe alternatives you've considered
Monitoring the service and getting the status of every poller is essential for production usage.

We will revisit this after we decide on the platform support. Currently, we gave a heads up to the open source community that we plan to deprecate RHEL and Deb install after docker container is available. https://github.com/NetApp/harvest/releases/tag/v21.05.1

Thanks @mamoep for the feature request. Regardless of RHL/Deb this is an area that should be improved. Does something like this work better for you?

Poller Service via systemd instantiated services
echo '[Unit]
Description="Poller instance %I"
PartOf=harvest.target

[Service]
Type=simple
Restart=on-failure
WorkingDirectory=/path/to/harvest
ExecStart=/path/to/harvest/bin/harvest --config /path/to/harvest/harvest.yml start -f %i' | sudo tee<EMAIL_ADDRESS>
Harvest Target
Target files are how systemd groups a set of services together. We'll use it as a way to start|stop all pollers as a single unit. Nice on reboot or upgrade.
This is more tedious to setup though so worth considering a harvest systemd generate command that creates the following from a template.
echo '[Unit]
Description="Harvest"
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
[Install]
WantedBy=multi-user.target' | sudo tee /etc/systemd/system/harvest.target

systemctl daemon-reload
Assuming your harvest.yml contains 10 Unix collectors like so:
unix1:
  collectors:
    - Unix
unix2:
  collectors:
    - Unix
...

Systemd: Manage Pollers
systemctl start poller@unix1 poller@unix2 ....

systemctl list-units --type=service "poller*"

systemctl status "poller*"

systemctl stop "poller*"

systemctl start|stop|restart harvest.target

Systemd: Logs
journalctl -fu poller@unix1 # follow, tail like behavior for poller named unix1
journalctl -u poller@unix2  # show logs for poller named unix2

That looks good!

@mamoep bin/harvest generate systemd is in main now if you want to try it out

Public access to nightly builds would be great. I am to busy to create my own build...

Public access to nightly builds would be great. I am to busy to create my own build...

@mamoep I have opened an issue for this #197

I tested Release candidate v21.05.3 but I can't find the poller units.
root@host:/opt/harvest# ./bin/harvest generate systemd
Save the following to /etc/systemd/system/harvest.target or | sudo tee /etc/systemd/system/harvest.target
and then run systemctl daemon-reload
[Unit]
Description="Harvest"
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
[Install]
WantedBy=multi-user.target

I did the mentioned steps, but how are the poller units created?
root@host:/opt/harvest# systemctl list-units --type=service "poller*"
0 loaded units listed. Pass --all to see loaded but inactive units, too.

Why do I need to work with systemd manually? I would expect something like

add new system to harvest.yml
execute something like "harvest install newpollername" (to setup all systemd related stuff automatically)

@mamoep did you do this step pasted below? In other words, does this file exist<EMAIL_ADDRESS>and did you modify the ExecStart path to point to your binary?
echo '[Unit]
Description="Poller instance %I"
PartOf=harvest.target

[Service]
Type=simple
Restart=on-failure
WorkingDirectory=/path/to/harvest
ExecStart=/path/to/harvest/bin/harvest --config /path/to/harvest/harvest.yml start -f %i' | sudo tee<EMAIL_ADDRESS>
We're using instantiated units so the step above is essential. There is only one<EMAIL_ADDRESS>unit.
It's manual at the moment because we're still iterating on a solution.

Good morning - nice work on this - makes management of pollers more granular! Thx on that upfront. Anyhow it looks like (at least for me) that the<EMAIL_ADDRESS>itself is not working as target-unit.
. . .
<EMAIL_ADDRESS> loaded active running "Poller instance gohsdnclu01"
<EMAIL_ADDRESS> loaded active running "Poller instance grzsdnclu01"
*<EMAIL_ADDRESS>     loaded failed failed  "Poller instance harvest"
<EMAIL_ADDRESS> loaded active running "Poller instance hkgsdnclu01"
<EMAIL_ADDRESS> loaded active running "Poller instance kacsdnclu01"
. . .

@cgrinds Thanks I somehow overlooked that information. The unix poller won't start this way as @florianmulatz already wrote. No logs are written by running pollers (I guess because of the -f flag).

@cgrinds Thanks I somehow overlooked that information. The unix poller won't start this way as @florianmulatz already wrote. No logs are written by running pollers (I guess because of the -f flag).

@cgrinds No problem at all - just wrote this comment some hours ago :)

Thanks for trying this out @florianmulatz and @mamoep.

Anyhow it looks like (at least for me) that the<EMAIL_ADDRESS>itself is not working as target-unit.

That's correct - running systemctl status<EMAIL_ADDRESS>won't work because that's the systemd instantiated instance - think of it as the template definition. That template is used to instantiate a working unit file at runtime, but isn't runnable itself.
Use it like this: systemctl start poller@unix1 everything after the @ is an argument that is passed to the template at runtime and will correspond to a poller defined in your harvest.yml file.
The unix poller is currently broken on RHEL/Deb due to #249
While reading through you log files above (thanks!) I also discovered another problem #246, which is now fixed in main. With #246 fix, on a RHEL8 system this works like so:
# systemctl start poller@umeng_aff300
# systemctl status "poller*"
●<EMAIL_ADDRESS>- "Poller instance umeng_aff300"
   Loaded: loaded<EMAIL_ADDRESS>static; vendor preset: disabled)
   Active: active (running) since Fri 2021-06-25 22:04:04 IST; 2min 29s ago
 Main PID: 12456 (harvest)
    Tasks: 9 (limit: 23880)
   Memory: 50.8M
   CGroup<EMAIL_ADDRESS>           ├─12456 /opt/harvest/bin/harvest --config /opt/harvest/harvest.yml start -f umeng_aff300
           └─12473 bin/poller --poller umeng_aff300 --loglevel 2 --promPort 12990 --config /opt/harvest/harvest.yml

Jun 25 22:04:52 scspo2403645002 harvest[12456]: 10:04PM INF goharvest2/cmd/poller/collector/collector.go:295 > no [FCVI] instances on system, entering standby mode Poller=umeng_aff300 collector=ZapiPerf:FCVI
Jun 25 22:04:52 scspo2403645002 harvest[12456]: 10:04PM INF goharvest2/cmd/poller/collector/collector.go:317 > recovered from standby mode, back to normal schedule Poller=umeng_aff300 collector=ZapiPerf:FCVI
Jun 25 22:04:52 scspo2403645002 harvest[12456]: 10:04PM WRN goharvest2/cmd/poller/collector/collector.go:386 > lagging behind schedule 146.487µs Poller=umeng_aff300 collector=ZapiPerf:FCVI
Jun 25 22:04:52 scspo2403645002 harvest[12456]: 10:04PM INF goharvest2/cmd/poller/collector/collector.go:295 > no [ObjectStoreClient] instances on system, entering standby mode Poller=umeng_aff300 collector=ZapiPerf:ObjectStoreClient
Jun 25 22:04:52 scspo2403645002 harvest[12456]: 10:04PM INF goharvest2/cmd/poller/collector/collector.go:317 > recovered from standby mode, back to normal schedule Poller=umeng_aff300 collector=ZapiPerf:ObjectStoreClient
Jun 25 22:04:52 scspo2403645002 harvest[12456]: 10:04PM WRN goharvest2/cmd/poller/collector/collector.go:386 > lagging behind schedule 161.913µs Poller=umeng_aff300 collector=ZapiPerf:ObjectStoreClient
Jun 25 22:04:52 scspo2403645002 harvest[12456]: 10:04PM INF goharvest2/cmd/poller/collector/collector.go:295 > no [WAFLAggr] instances on system, entering standby mode Poller=umeng_aff300 collector=ZapiPerf:WAFLAggr
Jun 25 22:04:52 scspo2403645002 harvest[12456]: 10:04PM INF goharvest2/cmd/poller/collector/collector.go:317 > recovered from standby mode, back to normal schedule Poller=umeng_aff300 collector=ZapiPerf:WAFLAggr
Jun 25 22:04:52 scspo2403645002 harvest[12456]: 10:04PM WRN goharvest2/cmd/poller/collector/collector.go:386 > lagging behind schedule 91.499µs Poller=umeng_aff300 collector=ZapiPerf:WAFLAggr
Jun 25 22:05:50 scspo2403645002 harvest[12456]: 10:05PM INF command-line-arguments/poller.go:406 > updated status, up collectors: 39 (of 41), up exporters: 1 (of 1) Poller=umeng_aff300


SyntaxError: Unexpected identifier

When I do the command "node examples/leaderboard.js" in Node.js it gives me that error:

SyntaxError: Unexpected identifier
at Object.exports.createScript (vm.js:24:10)
at REPLServer.defaultEval (repl.js:236:25)
at bound (domain.js:280:14)
at REPLServer.runBound [as eval] (domain.js:293:12)
at REPLServer. (repl.js:441:10)
at emitOne (events.js:101:20)
at REPLServer.emit (events.js:188:7)
at REPLServer.Interface._onLine (readline.js:224:10)
at REPLServer.Interface._line (readline.js:566:8)
at REPLServer.Interface._ttyWrite (readline.js:843:14)

Have to say that I never worked with Node.js so maybe i do something wrong.

you sure you installed node.js?
and theres no need to do that command what u just did


Pin rubocop-ast to 0.8.0

Otherwise this leads to different linting errors depending on the
version present on each machine 1.

This strikes me as a patch rather than a minor version upgrade though.

Oh yes, good point - I've gone for 3.17.1 instead.


Multi-threaded stress test (kernel mode)

Description
This PR extends an existing stand-alone test suite by adding a multi-threaded stress tests for the in-kernel eBPF subsystem (ebpfcore.sys, netwbpfext.sys) itself.  The intent is to stress test the eBPF sub-system's resilience to multi-threaded stress scenarios. Details available in code comments.
These tests ensure deliberate races between the various user-mode initiated ebpf events such as Load, Attach, Detach and  Close etc., in a multi-threaded usage to simulate a badly written app's behavior and thus subject the eBPF kernel sub-system to races inherent in such multi-threaded scenarios.
Where applicable, the tests also optionally provide (via command line arguments) the ability to create an additional thread that keeps restarting the provider driver itself alongside the main test threads.
Testing
This is new test collateral.
Documentation
No additional documentation needed.
Fixes #2097 #1911 #2150 #2323

Converted back to draft to investigate ebpfcore bugs exposed by this test.

Blocked on PR for CI/CD FuzzerDebug related build break.  Will rebase and update once that PR is merged.


dbs api change listFiles -> listFileArray

fixes #5698 (using new api for long list of input in general) There is limit for the uri length in get call.
listFileArray uses POST call

@amaltaro, @yuyiguo, please review

Looks good to me. I was grepping the code to look for leftovers and I found these 2:
src/python/WMComponent/DBSUpload/DBSInterface.py
src/python/WMCore/WMBSFeeder/PhEDExNotifier/PhEDExNotifierComponent.py
AFAIK the first one is not used anywhere. The latter I have no idea :-)

Latter is not used either. Unless someone else is using it outside the WMAgent. We will find out. :smile:

Revert https://github.com/dmwm/WMCore/pull/5692 before merge this.


No visualizer

The program is running normally but there is no visualization.Please tell me how to create a video visual interface like the one you demonstrated.

We don't provide an interactive viewer for the SLAM system, but you can use this one as a template and generate a video similar to the one we show: https://github.com/cvg/nice-slam/blob/master/visualizer.py
Hope this helps!


FAI-13429 - ServiceNow improvements

Description
Some more improvements for ServiceNow connector.

@chalenge  @willmarks should we merge?


How to rename column on MySQL without deleting existing data?

Setup:
mysql> SELECT version();

5.7.27-0ubuntu<IP_ADDRESS>
Python 3.6.8
SQLAlchemy 1.3.6
Alembic 1.0.11

.
models.py:
class Experiments(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    # country = db.Column(db.String(100))
    countryland = db.Column(db.String(100))

    insert_date = db.Column(db.DateTime, index=True,
        default=datetime.utcnow)

.
SQL data:
INSERT INTO experiments (country)
VALUES ('US'),
       ('Canada'),
       ('Mexico'),
       ('Brazil'),
       ('Argentina'),
       ('Spain'),
       ('Portugal'),
       ('France'),
       ('Germany'),
       ('UK');

.
migration file:
def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###

    # op.add_column('experiments',
                   # sa.Column('countryland',
                   # sa.String(length=100),
                   # nullable=True))

    # op.drop_column('experiments', 'country')

    op.alter_column('experiments',
                     column_name='country',
                     new_column_name='countryland',
                     existing_type='String',
                     existing_nullable=False,
                     existing_server_default='Greenland')

    # ### end Alembic commands ###

.
Problem:
I want to rename the column name from "country" to "countryland". But I'm getting this error in my terminal can anybody help me please?
I was told that you need to specify certain parameters for MySQL's alter_column() operation to execute properly. But I'm not sure what values to fill in just from this Alembic documentation.
https://alembic.sqlalchemy.org/en/latest/ops.html?highlight=alter_column#alembic.operations.Operations.alter_column
.
Error
$ flask db upgrade

[2019-08-29 12:37:19,080] INFO in __init__: microblog startup
INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
INFO  [alembic.runtime.migration] Running upgrade 1f866a4fa5a0 -> 69e7cfcf87f1, Testing column rename 02.

Traceback (most recent call last):
  File "/home/linux/.local/bin/flask", line 11, in <module>
    sys.exit(main())
  File "/home/linux/.local/lib/python3.6/site-packages/flask/cli.py", line 966, in main
    cli.main(prog_name="python -m flask" if as_module else None)
  File "/home/linux/.local/lib/python3.6/site-packages/flask/cli.py", line 586, in main
    return super(FlaskGroup, self).main(*args, **kwargs)
  File "/home/linux/.local/lib/python3.6/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/home/linux/.local/lib/python3.6/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/linux/.local/lib/python3.6/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/linux/.local/lib/python3.6/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/linux/.local/lib/python3.6/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/home/linux/.local/lib/python3.6/site-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/linux/.local/lib/python3.6/site-packages/flask/cli.py", line 426, in decorator
    return __ctx.invoke(f, *args, **kwargs)
  File "/home/linux/.local/lib/python3.6/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/home/linux/.local/lib/python3.6/site-packages/flask_migrate/cli.py", line 134, in upgrade
    _upgrade(directory, revision, sql, tag, x_arg)
  File "/home/linux/.local/lib/python3.6/site-packages/flask_migrate/__init__.py", line 95, in wrapped
    f(*args, **kwargs)
  File "/home/linux/.local/lib/python3.6/site-packages/flask_migrate/__init__.py", line 280, in upgrade
    command.upgrade(config, revision, sql=sql, tag=tag)
  File "/home/linux/.local/lib/python3.6/site-packages/alembic/command.py", line 276, in upgrade
    script.run_env()
  File "/home/linux/.local/lib/python3.6/site-packages/alembic/script/base.py", line 475, in run_env
    util.load_python_file(self.dir, "env.py")
  File "/home/linux/.local/lib/python3.6/site-packages/alembic/util/pyfiles.py", line 90, in load_python_file
    module = load_module_py(module_id, path)
  File "/home/linux/.local/lib/python3.6/site-packages/alembic/util/compat.py", line 177, in load_module_py
    spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "migrations/env.py", line 96, in <module>
    run_migrations_online()
  File "migrations/env.py", line 90, in run_migrations_online
    context.run_migrations()
  File "<string>", line 8, in run_migrations
  File "/home/linux/.local/lib/python3.6/site-packages/alembic/runtime/environment.py", line 839, in run_migrations
    self.get_context().run_migrations(**kw)
  File "/home/linux/.local/lib/python3.6/site-packages/alembic/runtime/migration.py", line 362, in run_migrations
    step.migration_fn(**kw)

  File "/mnt/c/Users/tux/Desktop/Web/microblog/migrations/versions/69e7cfcf87f1_testing_column_rename_02.py", line 34, in upgrade
    existing_server_default='Greenland')
  File "<string>", line 8, in alter_column
  File "<string>", line 3, in alter_column
  File "/home/linux/.local/lib/python3.6/site-packages/alembic/operations/ops.py", line 1775, in alter_column
    return operations.invoke(alt)
  File "/home/linux/.local/lib/python3.6/site-packages/alembic/operations/base.py", line 345, in invoke
    return fn(self, operation)
  File "/home/linux/.local/lib/python3.6/site-packages/alembic/operations/toimpl.py", line 56, in alter_column
    **operation.kw
  File "/home/linux/.local/lib/python3.6/site-packages/alembic/ddl/mysql.py", line 67, in alter_column
    else existing_autoincrement,
  File "/home/linux/.local/lib/python3.6/site-packages/alembic/ddl/impl.py", line 134, in _exec
    return conn.execute(construct, *multiparams, **params)
  File "/home/linux/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 988, in execute
    return meth(self, multiparams, params)
  File "/home/linux/.local/lib/python3.6/site-packages/sqlalchemy/sql/ddl.py", line 72, in _execute_on_connection
    return connection._execute_ddl(self, multiparams, params)
  File "/home/linux/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1043, in _execute_ddl
    else None,
  File "<string>", line 1, in <lambda>
  File "/home/linux/.local/lib/python3.6/site-packages/sqlalchemy/sql/elements.py", line 462, in compile
    return self._compiler(dialect, bind=bind, **kw)
  File "/home/linux/.local/lib/python3.6/site-packages/sqlalchemy/sql/ddl.py", line 29, in _compiler
    return dialect.ddl_compiler(dialect, self, **kw)
  File "/home/linux/.local/lib/python3.6/site-packages/sqlalchemy/sql/compiler.py", line 319, in __init__
    self.string = self.process(self.statement, **compile_kwargs)
  File "/home/linux/.local/lib/python3.6/site-packages/sqlalchemy/sql/compiler.py", line 350, in process
    return obj._compiler_dispatch(self, **kwargs)
  File "/home/linux/.local/lib/python3.6/site-packages/sqlalchemy/ext/compiler.py", line 436, in <lambda>
    lambda *arg, **kw: existing(*arg, **kw),
  File "/home/linux/.local/lib/python3.6/site-packages/sqlalchemy/ext/compiler.py", line 478, in __call__
    return fn(element, compiler, **kw)
  File "/home/linux/.local/lib/python3.6/site-packages/alembic/ddl/mysql.py", line 390, in _mysql_change_column
    comment=element.comment,
  File "/home/linux/.local/lib/python3.6/site-packages/alembic/ddl/mysql.py", line 406, in _mysql_colspec
    compiler.dialect.type_compiler.process(type_),
  File "/home/linux/.local/lib/python3.6/site-packages/sqlalchemy/sql/compiler.py", line 400, in process
    return type_._compiler_dispatch(self, **kw)

AttributeError: 'str' object has no attribute '_compiler_dispatch'

This is probably the column type, which you've given as 'String' instead of the proper column class, such as String(100).

It worked thanks!
models.py:
class Experiments(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    kountry = db.Column(db.String(100))
    #countryland = db.Column(db.String(100))

    insert_date = db.Column(db.DateTime, index=True,
        default=datetime.utcnow)

.
migration file:
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import mysql

def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###

    # op.add_column('experiments', sa.Column('kountry', sa.String(length=100), nullable=True))
    # op.drop_column('experiments', 'countryland')

    op.alter_column('experiments',
                     column_name = 'countryland',
                     new_column_name = 'kountry',
                     existing_type = sa.String(100),
                     existing_nullable = False,
                     existing_server_default = 'Greenland')

    # ### end Alembic commands ###


Error with morse

➜ python3 enciphey.py
Opened dickens
Split file
My father’s family name being Pirrip, and my Christian name Philip, my
infant tongue could make of b
Self.text is ['My father’s family name being Pirrip, and my Christian name Philip, my\ninfant tongue could make of b']
Getting random sentence
Sents is now ['My father’s family name being Pirrip, and my Christian name Philip, my\ninfant tongue could make of b']
Sents is now ['My father’s family name being Pirrip, and my Christian name Philip, my\ninfant tongue could make of b', 'My father’s family name being Pirrip, and my Christian name Philip, my\ninfant tongue could make of b']
*********************8 My father’s family name being Pirrip, and my Christian name Philip, my
infant tongue could make of b. My father’s family name being Pirrip, and my Christian name Philip, my
infant tongue could make of b
Traceback (most recent call last):
  File "enciphey.py", line 47, in <module>
    print(obj.getRandomEncryptedSentence())
  File "enciphey.py", line 42, in getRandomEncryptedSentence
    sentsEncrypted = self.crypto.randomEncrypt(sents)
  File "/home/bee/Documents/enCiphey/src/encipher_crypto.py", line 33, in randomEncrypt
    encryptedText = func__use(text)
  File "/home/bee/Documents/enCiphey/src/encipher_crypto.py", line 137, in MorseCode
    return " ".join(MORSE_CODE_DICT.get(i.upper()) for i in text)
TypeError: sequence item 9: expected str instance, NoneType found

This is because Morse code is old


Connection drops

Issue Type: Bug
About every 8 minutes, the remote connection is lost and I am prompted to log in again. This happens over and over again. I'm running the latest version:
Version: 1.68.1 (user setup)
Commit: 30d9c6cd9483b2cc586687151bcbcd635f373630
Date: 2022-06-14T12:48:58.283Z
Electron: 17.4.7
Chromium: 98.0.4758.141
Node.js: 16.13.0
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19044
My internet connection is otherwise fine, just the connection in VS Code is lost.
VS Code version: Code 1.68.1 (30d9c6cd9483b2cc586687151bcbcd635f373630, 2022-06-14T12:48:58.283Z)
OS version: Windows_NT x64 10.0.19044
Restricted Mode: No
Remote OS version: Linux x64 3.10.0-1160.24.1.el7.x86_64

System Info

Item
Value

CPUs
AMD Ryzen 3 2200G with Radeon Vega Graphics     (4 x 3493)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
13.95GB (7.03GB free)

Process Argv
--crash-reporter-id 34167f98-7ab3-4281-b7b2-1675fdd3abbb

Screen Reader
no

VM
0%

Item
Value

Remote
SSH: <IP_ADDRESS>

OS
Linux x64 3.10.0-1160.24.1.el7.x86_64

CPUs
Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz (4 x 1898)

Memory (System)
7.74GB (0.16GB free)

VM
0%

Extensions (3)

Extension
Author (truncated)
Version

remote-ssh
ms-
0.82.1

remote-ssh-edit
ms-
0.80.0

composer
ika
0.8.0

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
vstes516:30244333
vslsvsres303:30308271
pythonvspyl392:30443607
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonvspyt551:30345470
pythonptprofiler:30281270
vshan820:30294714
vstes263cf:30335440
pythondataviewer:30285071
vscod805cf:30301675
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593cf:30376535
vsc1dst:30438360
pythonvs932:30410667
wslgetstarted:30449410
vscscmwlcmt:30465135
cppdebug:30492333
vsclangdf:30486550

Could you share the log from the Remote-SSH output channel?
@alexdima this could be https://github.com/microsoft/vscode/issues/147328, have you looked at that?

No
On Thu, Jun 16, 2022, 11:26 PM Rob Lourens @.***> wrote:

Could you share the log from the Remote-SSH output channel?
@alexdima https://github.com/alexdima this could be #147328
https://github.com/microsoft/vscode/issues/147328, have you looked at
that?
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/152248#issuecomment-1157943348,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZVFULUSUZ74FOBGXQIKTKLVPNPURANCNFSM5Y4R2NUQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

@archia Could you please share some logs with us?

View > Output > Log(Window)
View > Output > Log(Extension Host)
View > Output > Log(Remote Server)
View > Output > Log(Remote Extension Host)

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


[FIX] Some words appear undefined and no designation appears

Are those that do not show any words in the designations because of the changes from the 2024 meeting?

Hi @joaochris, let me check.

Hi @joaochris, may I please ask if you are able to check what assignment should appear in the undefined and those that are blanks? It will help to pinpoint where the issue is. Thanks in advance.

I think I identified the problem. Now that I saw that the previous schedules were blank. The text is not appearing.

Oh I see. Unfortunately, without an EPUB, we can no longer add these old schedules.

But I had already downloaded the old schedules :D. Wasn't it supposed to be stored?

True. It should be always there. Old schedules will only be deleted after 1 year. Not sure what happens that delete the sources on your side. :-)

Oh no, I lost all the history :(. I believe it was in the update to 2024 as the meeting changed some parts. Why wouldn't I have to create a name match?

So sorry to hear that! But still I am not really sure what was causing that behavior. I’ve tried and asked some users with old sources but all data were kept after the last update. 😔

But before, the option to download old programs appeared. And now it doesn't appear. That could have been it :D

Could I go back to older backups to try to rescue it and see if that was the case? Like after I downloaded the current schedules he modified the old ones.

Yes, you can try restoring the backup. The backups are not stored like an history. Each time you send backup, it will do a merge and one backup will always be saved. This is the case also when you restore a backup. It will do a merge with your current local record. So, if the last backup saved still have those old schedules, you may have them restored.

The problem is that the oldest backup is too recent. Can you restore older backups as an administrator?

Unfortunately, no.

The problem is that the oldest backup is too recent.

But here as I explained above, all your previous backup will not get lost if they were saved. If you send a new one, the old data and new data will be combined. So, if you cannot see them even if you restore the backup, probably these data were never backed up.

Hi @rhahao. I filled it in manually and the names appeared :D. Is there a way to do this automatically?

I will try to see if it will be possible to bring back the download old schedules feature. 😊

@joaochris: You should be able to import all previous source materials now. Thank you.

Hey! @rhahao
Thank you. Thank you for making work simpler and easier. Immense gratitude.


Subordinate CA Profile

Hi to all,
i'm trying to create a profile for signing CSR for external subordinate CA. I created a new YAML profile in
/etc/openxpki/config.d/realm/<realm_name>/profile/ with these configuration:
extensions:
    basic_constraints:
        critical: 1
        ca: 1
        path_length: 1

    key_usage:
        critical: 1
        digital_signature: 0
        non_repudiation:   0
        key_encipherment:  0
        data_encipherment: 0
        key_agreement:     0
        key_cert_sign:     1
        crl_sign:          1
        encipher_only:     0
        decipher_only:     0

The certificate is generated, but without the "CA:TRUE" constraint. After some debug in code, i think that there is a bug in file "Crypto/Backend/OpenSSL/Config.pm"
                if ($pair->[0] eq "CA")
                {
                    if ($pair->[1] eq "true")
                    {
                        $config .= "CA:true,";
                    } else {
                        $config .= "CA:false,";
                    }
                }

after changed the condition
if ($pair->[1] eq "true")
in
if ($pair->[1] == 1)
i've been able to generate the certificate correctly

This duplicates #655 and was fixed with ef4b9b861117478110296bbb68b38ca17e6b556b which is part of the v2.2 release which is available on github, packages will follow within the next days


ALSA Error when invoked first time but OK second time

Hello everybody
First of all I am French and I am 67 yo so my English is a little rusty....
I have a strange behaviour with mido and i put the thing here

import mido

First Time sending the command

mido.get_output_names()
Traceback (most recent call last):
File "", line 1, in
mido.get_output_names()
File "/home/al1/.local/lib/python3.10/site-packages/mido/backends/backend.py", line 179, in get_o
utput_names
devices = self._get_devices(**self._add_api(kwargs))
File "/home/al1/.local/lib/python3.10/site-packages/mido/backends/backend.py", line 167, in get
devices
return self.module.get_devices(**self._add_api(kwargs))
File "/home/al1/.local/lib/python3.10/site-packages/mido/backends/rtmidi.py", line 55, in get_dev
ices
mi = rtmidi.MidiIn(rtapi=rtapi)
File "_rtmidi.pyx", line 820, in _rtmidi.MidiIn.cinit
_rtmidi.SystemError: MidiInAlsa::initialize: error creating ALSA sequencer client object.

Second time sending the command

mido.get_output_names()
['Midi Through:Midi Through Port-0 14:0']

So basically the first time i send the command "mido.get_output_names()" , get an error
but if I repeat the command It's OK .....
It is Python 3.10.12 in Lubuntu

Hi,
Thanks for taking the time to report.
This is a known issue from our dependency SpotlightKid/python-rtmidi#138 already reported in #479.
The fact that the command goes through the second time is new information I believe.
There's unfortunately nothing we can do from our end.
Please see these for a workaround and subscribe if you want to track their proper resolution.


feat: splashscreen

Description

[x] Add splashscreen

The implementation does not follow the Tauri docs.
The difference is that the Tauri docs suggest to add separate splashscreen.html in distDir (src/public/splashscreen.html), and then toggle between splashscreen and main view (src/public/index.html React app) using the Tauri command.
In this PR, the splashscreen is built as another div in the index.html that covers main application. Then, the React app hides the splashscreen by changing its display style to none. This implementation allows to apply fade out animation on the splashcreen.
Motivation and Context
#247
How Has This Been Tested?
https://user-images.githubusercontent.com/11715931/178155406-edc09681-52ff-4807-a282-025a5b604352.mov
https://user-images.githubusercontent.com/11715931/178155443-d6f2b8c1-b684-4a98-b7b9-94a9b4bd5842.mov

looks cool <3


Cli scripts location resolution

When you run your script (as opposite to a system command like curl), there should be a script location resolution.
Open questions:

how to decide whether to resolve a given command/scrip or not. one possible solution is to try to resolve and if it works, use resolved version.
how to specify resolution locations. Ideally it should be an array of locations, but we need to be able to override the value through command line. Should it be a ; delimited string?

Can we not delegate this to the OS and allow one to specify a PATH in cfg?  If we allow PATH, it should probably either use the system delimiter or we allow the PATH to be a list in the cfg.

@tsiq-karold that should work. Thanks for reminding about PATH.


Please add me to the NAACL Beaker organization

Hi, please add me to the NAACL Beaker organization.

My Beaker username is:  Yun-Zhu
The title of my paper is: Improving Multi-Document Summarization through Referenced Flexible Extraction with Credit-Awareness

For admins :point_down:
You can add this user to the Beaker NAACL organization by manually triggering the
Beaker NAACL Add Member workflow.
Just click the "Run workflow" dropdown on the right, fill in the username, and then click the green "Run workflow" button. Once the job has completed you can close this issue.

Added!


Failed to run on window server 2022 datacenter version

The error msg is like:
...\crates\renderer\src\window.rs:155:10:
Could not create interface

Just replace the opengl32.dll in windows/system32 with a bigger size version of it which is 38.2MB.


Cannot read property 'tabs' of undefined

I ran out of sources to open a "test resolver" window:
[85272:1102/074053.940748:INFO:CONSOLE(206)] "%c  ERR color: #f33 Cannot read property 'tabs' of undefined: TypeError: Cannot read property 'tabs' of undefined
    at RemoteTerminalChannelClient.setTerminalLayoutInfo (vscode-file://vscode-app/Users/bpasero/Development/Microsoft/monaco/out/vs/workbench/contrib/terminal/common/remoteTerminalChannel.js:199:30)
    at RemoteTerminalService.setTerminalLayoutInfo (vscode-file://vscode-app/Users/bpasero/Development/Microsoft/monaco/out/vs/workbench/contrib/terminal/browser/remoteTerminalService.js:247:48)
    at TerminalService._onWillShutdown (vscode-file://vscode-app/Users/bpasero/Development/Microsoft/monaco/out/vs/workbench/contrib/terminal/browser/terminalService.js:539:57)
    at vscode-file://vscode-app/Users/bpasero/Development/Microsoft/monaco/out/vs/workbench/contrib/terminal/browser/terminalService.js:128:55
    at Emitter.fire (vscode-file://vscode-app/Users/bpasero/Development/Microsoft/monaco/out/vs/base/common/event.js:435:38)
    at NativeLifecycleService.handleWillShutdown (vscode-file://vscode-app/Users/bpasero/Development/Microsoft/monaco/out/vs/workbench/services/lifecycle/electron-sandbox/lifecycleService.js:90:34)
    at EventEmitter.<anonymous> (vscode-file://vscode-app/Users/bpasero/Development/Microsoft/monaco/out/vs/workbench/services/lifecycle/electron-sandbox/lifecycleService.js:47:28)
    at EventEmitter.emit (events.js:315:20)
    at Object.onMessage (electron/js2c/renderer_init.js:93:1117)", source: vscode-file://vscode-app/Users/bpasero/Development/Microsoft/monaco/out/vs/platform/log/common/log.js (206)

No longer repro's, @meganrogge fixed this in 5fa4c888e648


Running wiremock docker container in K8S with custom port generates "port xxxx is not a recognized option"

Version: Wiremock docker container: wiremock/wiremock:latest-alpine (v2.32)
How starting:
Running wiremock in K8S to act as our service virtualization platform. Architecture is:
Custom Proxy as single endpoint to calling service. This proxy forwards to individual wiremock instances. each responsible for virtualizing a specific remote service (we cannot have one wiremock responsible for 2 remote services due to https://github.com/wiremock/wiremock/issues/1783).
We run this within a single K8S service/pod - our custom proxy container and 2 wiremock containers. Since it is in a single pod each container needs it's own port - we cannot use 8080 for both wiremock containers as they will conflict.
We run one wiremock container on port 8080 and wish to run the other on port 8081 (or anything else really, doesn't matter).
We pass an Args to the second wiremock (--port 8081). Container fails to start with
Exception in thread "main" joptsimple.UnrecognizedOptionException: port 8081 is not a recognized option
	at joptsimple.OptionException.unrecognizedOption(OptionException.java:108)
	at joptsimple.OptionParser.handleLongOptionToken(OptionParser.java:510)
	at joptsimple.OptionParserState$2.handleArgument(OptionParserState.java:56)
	at joptsimple.OptionParser.parse(OptionParser.java:396)
	at com.github.tomakehurst.wiremock.standalone.CommandLineOptions.<init>(CommandLineOptions.java:342)
	at com.github.tomakehurst.wiremock.standalone.WireMockServerRunner.run(WireMockServerRunner.java:49)
	at com.github.tomakehurst.wiremock.standalone.WireMockServerRunner.main(WireMockServerRunner.java:133)

Somehow it looks like port is not being picked up correctly by the docker container though this works fine when running as a plain docker container.
examples:
Works fine:
docker run --name virtualservice ^
  -d -p:9000:9000 ^
  -v C:\dev\local-environment\wiremock\data:/home/wiremock ^
  wiremock/wiremock:latest-alpine --port 9000

fails:
apiVersion: apps/v1
kind: Deployment
metadata:
  namespace: virtual-services
  name: proxyservice
  labels:
    app: proxyservice
spec:
  minReadySeconds: 5
  replicas: 1
  selector:
    matchLabels:
      app: proxyservice
  template:
    metadata:
      labels:
        app: proxyservice
    spec:
      volumes:
        - name: proxyservice-service1-volume
          hostPath:
            path: /run/desktop/mnt/host/c/dev/local-environment/wiremock/data/service1
            type: Directory
        - name: proxyservice-service2-volume
          hostPath:
            path: /run/desktop/mnt/host/c/dev/local-environment/wiremock/data/service2
            type: Directory
      containers:
        - name: proxyservice
          image: proxyservice:latest
          imagePullPolicy: Never
          ports:
            - containerPort: 80
          env:
            - name: service.virtualization.enabled
              value: "false"
        - name: virtualservice1
          image: wiremock/wiremock:latest-alpine
          ports:
            - containerPort: 8080
          volumeMounts:
            - name: proxyservice-service1-volume
              mountPath : "/home/wiremock"
              readOnly: false
        - name: virtualservice2
          image: wiremock/wiremock:latest-alpine
          ports:
            - containerPort: 8081
          args: ["--port 8081"]
          volumeMounts:
            - name: proxyservice-service1-volume2
              mountPath : "/home/wiremock"
              readOnly: false
---

In K8S it's my understanding that the "args" are passed to the ENTRYPOINT in the underlying docker container.
Alternative ARGS (e.g. --verbose) appear to work fine so it seems that "port" specifically has an issue somehow

Since this is a question rather than a bug report, please can you post it to the mailing list.

@tomakehurst I can raise it there but since port is an expected option but this appears to be rejected with an error, why is this not a bug? Is K8S not a supported environment?


Standalone Mode

Can you make an QT Version ? or Standalonw without a Browser needed ?

I have also been thinking about this, but it's a lot of work. I will try it when I have time.

see https://github.com/zanllp/sd-webui-infinite-image-browsing/releases/tag/v0.0.1


[Alizer] Enable all default golangci-lint linters and fix errors reported

Which area/kind this issue is related to?
/area alizer
Issue Description
https://github.com/devfile/alizer/pull/34 (part of #1257) introduced golangci-lint [1] as a linter aggregator, using the depguard linter to enforce that the deprecated io/ioutil package could not be used anymore.
golangci-lint comes with a set of default linters enabled by default, which currently report a few and relevant issues. Fixing those issues was actually outside of the scope of #1257 (focusing on the io/ioutil package); so they were disabled in https://github.com/devfile/alizer/pull/34. But it makes sense to actually enable those default linters and fix the relevant issues reported.

Example of issues reported by `golangci-lint`
golangci-lint run ./... --timeout 15m
pkg/utils/detector.go:149:3: Error return value is not checked (errcheck)
	}()
	 ^
pkg/utils/detector.go:361:5: Error return value is not checked (errcheck)
			}()
			 ^
pkg/utils/logger_test.go:86:14: Error return value is not checked (errcheck)
				GenLogger("info")
				         ^
pkg/utils/langfiles/languages_file_handler.go:187:3: S1011: should replace loop with `excludedFolders = append(excludedFolders, langItem.ExcludeFolders...)` (gosimple)
		for _, exclude := range langItem.ExcludeFolders {
		^
test/check_registry/check_registry.go:113:3: Error return value is not checked (errcheck)
	}()
	 ^
pkg/apis/enricher/framework/dotnet/dotnet_detector.go:81:3: Error return value is not checked (errcheck)
	}()
	 ^
pkg/apis/enricher/framework/javascript/nodejs/nuxt_detector.go:48:2: ineffectual assignment to ports (ineffassign)
	ports := []int{}
	^
pkg/apis/enricher/framework/javascript/nodejs/vue_detector.go:49:2: ineffectual assignment to ports (ineffassign)
	ports := []int{}
	^
pkg/apis/enricher/enricher.go:134:5: Error return value is not checked (errcheck)
			}()
			 ^
pkg/apis/enricher/docker_enricher.go:42:2: S1021: should merge variable declaration with assignment on next line (gosimple)
	var ports []int
	^
pkg/apis/enricher/docker_enricher.go:35:2: S1023: redundant `return` statement (gosimple)
	return
	^
pkg/apis/enricher/docker_enricher.go:47:2: S1023: redundant `return` statement (gosimple)
	return
	^
pkg/apis/recognizer/devfile_recognizer.go:250:3: Error return value is not checked (errcheck)
	}()
	 ^
test/apis/utils.go:27:3: Error return value is not checked (errcheck)
	}()
	 ^

Acceptance Criteria

[ ] it should enable all default linters in golangci-lint config file
[ ] it should fix all issues reported by golangci-lint
[ ] make lint should pass

PR was opened here. @thepetk and I have been talking back and forth about fixing issues related to the code coverage check failing. More details about the conversation can be found inside the PR!


This can work on PI

This software can work with Raspberry PI, if yes then give the steps how to run.

Unfortunately not really, as the I/O logic is all based around the Arduino "stdlib".


Incorrect bounds checks in PeerConnections.h

Problem
The code added in https://github.com/project-chip/connectedhomeip/pull/3673 uses <= for all its bounds checks, instead of <.
Proposed Solution
Could just fix the bounds checks.
That said, the begin arguments are unused, and untested.  Are they actually needed?  If not, this code can be made much simpler and safer with ranged for loops.  @gjc13

Ah, @pan-apple pointed out that the begin functionality is used in SecureSessionMgrBase::HandleNodeIdResolve


Tracing not compatible with C99

Tracing is not compatible with C99.
On the other hand, as already discussed in some PR with @nopeslide I think we should also simplify tracing. We have lots of functions and macros, making it complex to use and enforce its correct use.

Tracing uses a feature which is NOT C99 so I can't test any changes (any definition of trace level won't compile).

Originally posted by @Coderitter-GmbH in https://github.com/alrevuelta/cONNXr/issues/80#issuecomment-756782633
could you be more specific than that?
all files are compiled with -std=c99, no standard errors/warning are thrown. do you refer to some gcc extension?

Tracing uses a feature which is NOT C99 so I can't test any changes (any definition of trace level won't compile).

Originally posted by @Coderitter-GmbH in https://github.com/alrevuelta/cONNXr/issues/80#issuecomment-756782633
could you be more specific than that?
all files are compiled with -std=c99, no standard errors/warning are thrown. do you refer to some gcc extension?

I am not an expert in macros, but https://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros.html states, that VA_OPT got introduced with C++2a. If you use an older version of gcc, it wont compile with the -std=c99 flag. With my tool chain for cross compiling to riscv i am stuck at gcc version 7.1.1

I am not an expert in macros, but https://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros.html states, that VA_OPT got introduced with C++2a. If you use an older version of gcc, it wont compile with the -std=c99 flag. With my tool chain for cross compiling to riscv i am stuck at gcc version 7.1.1

I am not an expert in macros, but https://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros.html states, that __VA_OPT__ got introduced with C++2a. If you use an older version of gcc, it wont compile with the -std=c99 flag. With my tool chain for cross compiling to riscv i am stuck at gcc version 7.1.1
Edit: I just read it is indeed a standard of c99, but I use -std=c99 and it wont compile.

There is a historic alternative for commas via the concat operator ##, which has special meaning if used in combination with __VA_ARGS__.
Could you try if your cpp/gcc can run this? If so, we can propably switch
#define TEST(X, ...) X,##__VA_ARGS__

TEST(1,2,3,4)

expected output would be
1,2,3,4

I am not an expert in macros, but https://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros.html states, that __VA_OPT__ got introduced with C++2a. If you use an older version of gcc, it wont compile with the -std=c99 flag. With my tool chain for cross compiling to riscv i am stuck at gcc version 7.1.1
Edit: I just read it is indeed a standard of c99, but I use -std=c99 and it wont compile.

There is a historic alternative for commas via the concat operator ##, which has special meaning if used in combination with __VA_ARGS__.
Could you try if your cpp/gcc can run this? If so, we can propably switch
#define TEST(X, ...) X,##__VA_ARGS__

TEST(1,2,3,4)

expected output would be
1,2,3,4

#include <stdio.h>
#include <stdlib.h>
#define LOG(msg, ...) printf(msg, ##__VA_ARGS__)
int main(void) {
  LOG("test %d\n", 5);
  LOG("test\n");
  return EXIT_SUCCESS;
}

This works! It looks like older gcc can't handle VA_OPT correctly. But if it is okay to use ## instead VA_OPT I could provide a pull request.

#include <stdio.h>
#include <stdlib.h>
#define LOG(msg, ...) printf(msg, ##__VA_ARGS__)
int main(void) {
  LOG("test %d\n", 5);
  LOG("test\n");
  return EXIT_SUCCESS;
}

This works! It looks like older gcc can't handle VA_OPT correctly. But if it is okay to use ## instead VA_OPT I could provide a pull request.


Differences between FasterVLM and LLaVA-PurMerge

Thanks for your great work, I want to know the idea that using [cls] token in ViT to prune visual token is similar to LLaVA-PurMerge, what are the differences between them?

Thanks for your interest in our work.😊 The main contributions of our work, as well as the differences from LLaVA-PurMerge, are summarized as follows:

We identify the inaccurate visual-text attention within the LLM decoder of VLMs and explain it from two perspectives of attention shift and attention dispersion, analyzing the relevant reasons.
Our work focuses on training-free VLM inference acceleration and highlights that some techniques that perform well during training do not show significant benefits in training-free scenarios.

More specifically, as demonstrated in our ablation studies, operations such as token merging do not improve performance in training-free settings and may even lead to performance degradation. In contrast, LLaVA-PurMerge primarily targets scenarios requiring further training. Our empirical evaluation shows that it performs poorly in training-free conditions. Below is a comparison between our FasterVLM and LLaVA-PurMerge under the LLaVA-1.5-7B model:

Method
Reduction Ratio
# Token
VQAv2
GQA
VisWiz
SQA-IMG
TextVQA
POPE
MME
MMB
MMB-CN
MM-Vet
Average

LLaVA-1.5-7B
0%
576
78.52
61.94
50.06
69.51
58.21
85.87
1506.47
64.69
58.08
31.30
100.00%

LLaVA-PruMerge
25%
432
77.06
59.06
51.37
68.37
55.21
85.60
1459.46
63.49
56.53
33.10
98.71%

LLaVA-PruMerge+
25%
432
77.04
59.35
50.88
67.77
55.43
84.33
1484.42
63.66
58.25
31.20
98.34%

FasterVLM
25%
432
78.39
61.51
50.01
68.57
57.91
85.92
1501.10
65.12
58.51
32.40
100.18%

LLaVA-PruMerge
50%
288
75.60
57.21
52.03
69.16
55.16
81.63
1423.53
62.29
56.53
35.00
98.18%

LLaVA-PruMerge+
50%
288
75.15
57.69
52.44
69.31
55.26
81.08
1396.86
61.17
56.87
29.40
96.18%

FasterVLM
50%
288
77.86
60.64
50.45
68.37
57.90
86.20
1471.96
63.83
56.70
34.80
100.12%

LLaVA-PruMerge
75%
144
74.70
56.79
52.44
68.77
54.92
79.56
1389.63
61.43
55.67
32.10
96.31%

LLaVA-PruMerge+
75%
144
74.66
57.61
53.41
69.26
54.99
81.18
1420.50
60.40
54.98
29.50
96.00%

FasterVLM
75%
144
76.19
58.34
51.97
67.92
57.07
83.46
1433.76
62.54
57.13
34.20
98.75%

LLaVA-PruMerge
90%
58
71.05
54.08
53.52
69.31
54.52
71.71
1316.01
59.71
53.52
28.20
92.35%

LLaVA-PruMerge+
90%
58
71.25
55.35
54.32
69.01
53.63
74.85
1328.35
59.79
52.75
28.90
93.09%

FasterVLM
90%
58
71.92
54.91
53.01
68.91
55.28
75.85
1348.63
60.57
54.90
30.10
94.24%

LLaVA-PruMerge
95%
29
65.70
50.91
52.94
69.56
52.05
62.91
1265.30
56.62
49.05
23.80
86.64%

LLaVA-PruMerge+
95%
29
65.44
52.27
52.93
68.57
51.65
67.54
1198.16
54.98
45.96
24.10
86.01%

FasterVLM
95%
29
66.75
51.51
52.67
69.56
53.09
67.24
1254.80
58.51
51.98
27.50
89.41%

Our proposed FasterVLM is simple yet effective, and we hope this work provides some insights into understanding the interactions between visual inputs and language instructions in VLMs. Further exploration of this part is also ongoing as our future work.


Time machine

Fixed the api endpoint and added support for historic data via time_machine

Use the forecast-ruby gem. If you'd like to open a PR for the time_machine work there, that'd be 👍


Bookmarks

This pull request corrects and adds missing options according to the spec.
The only breaking change is, that the default autojoin value is now set to false.

Thanks!


Upgrade CodeClimate to engine based analysis

The Code Climate integration is still using the classic analysis. Code Climate has since rolled out their engine based analysis which has various improvements over the classical analysis.
https://docs.codeclimate.com/v1.0/docs/switching-to-code-climate-platform
In addition to rubocop and other engine support, it would allow for using the Code Climate chrome extension for browsing the results within Github.

This was merged with https://github.com/drapergem/draper/pull/794.


Revert "Moves some devDependencies to dependencies."

Reverts GoogleChrome/selenium-assistant#47
cc @addyosmani @jeffposnick
Reasons these were Dev dependencies.
 If you only want to test on chrome you'll now have 2 extra binaries.
The opera driver regularly fails to install which I'm not sure how this will affect installing of selenium assistant.
This ties selenium releases to driver versions which I'm not sure if that's a good idea or bad idea.
Happy to be convinced otherwise, but my gut is this is a bad change.

operadriver being flaky is not good. How about we mark them as optionalDependencies instead of moving them back to devDepdendencies?
Since selenium-assistant installs a specific version of selenium-webdriver being used, I'd think it would be a good idea for it to also control the version used of each of the browser drivers. It would protect against downstream packages from installing their own browser drivers that aren't compatible with the given selenium-webdriver version.
I don't know how sympathetic I am to the use case where you only want to test in, e.g., Chrome. The point of this project is to simplify running tests in multiple browser, right?

The selenium webdriver API is needed for this project to do anything at all.
The drivers are not needed.
Regarding forcing version of driver, it blocks the use of future browsers.
Selenium webdriver, browser drivers and browsers all update independently.
selenium-assistant uses selenium-webdriver and changes to that API surface could break selenium-assistant, hence it being a dependency.


Support test result output formats like JUnit

It would be great to be able to output test results in a standard format (e.g. JUnit). That way, it would be possible to integrate Soda Core test results into a CI/CD pipelines using Azure DevOps (with the "Publish Test Results" task).
Azure DevOps seem to expect one of the following test result formats: JUnit, NUnit, VSTest, XUnit or CTest.

SODA-1224


[pom] Use property for log4j2 version to reduce renovate PRs

bom usage might have also worked.  used this since we have 2 items only and one is only due to some javadoc consideration per notes.

coverage: 86.604% (+0.009%) from 86.595% when pulling 14886e4234387725aff488ded40523f6ea7239f9 on hazendaz:master into 9e61f4f9a94bf939204adadb32e8b78e5a9309c2 on mybatis:master.


Gildlager empty bottle fix

About the PR

Micro fix of #23223
Renamed Golschlager empty bottle to Gildlager
Media

Before

After

[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

Changelog

:cl: Dezzzix

tweak: Goldschlager empty bottle renamed to Gildlager empty bottle

the change is so small that shouldnt has a changelog

the change is so small that shouldnt has a changelog

just a formality, idc


Browserify-specific fix for #29

Fix for #29, trying to optimize browserify modules, in a very specific way.
This fix will optimize function expressions that are:

an element of an array,
which in turn is a value of an object literal,
which has a numeric name in the object literal,
where the object literal is an argument to a function call,
and the function call is an IIFE.

Added both positive and negative test cases. I did some basic testing against the PouchDB benchmark, and this PR makes it a lot faster.

This looks fantastic! One thing I was momentarily confused on was:

browserify-style function call that has non-numeric object indices shouldn't be optimized

I thought this referred to Browserify with the bundle-collapser plugin vs without, but I tested manually and confirmed that both bundle-collapser style and regular style are covered (i.e. parens are correctly added). I'll add some additional tests on the way in to make this clearer.
BTW just a quick remark that these PRs are incredibly thorough and well-written, and I'm extremely grateful that you're improving my little weekend project so much. 🙇  optimize-js is suddenly turning into a very nice general-purpose tool!

BTW just a quick remark that these PRs are incredibly thorough and well-written

Aw shucks, my pleasure. Thanks for accepting the PRs!

It seems this update is not included in the release v1.0.2 yet. (not avail via npm neither)
Could you please check (and make it available if possible)
Thank you!

I'm going to work on a large rewrite of the benchmarks to include better stats, and then re-run them to ensure there are no regressions. Unfortunately I've been swamped, hence why this has sat for so long.


add checksum/config in deployment.yaml and service monitor

Added checksum/config in deployment.yaml to restart pod if config file changes
Added servicemonitor for Prometheus Operator

@braedon this PR seems good and would help me too.

@braedon this PR seems good and would help me too.

It will also help me and I would like to add service account creation to this Helm Chart as well.


how much minimum vram needed to run the 768p and 384p model locally

The 384p version requires around 26GB memory, and the 768p version requires around 40GB memory (we do not have the exact number because the cache mechanism on 80GB GPU)

will it get optimized to like upto 12 or 16gb vram in future

buying new GPU probably easier than to bring VRAM use down lol

buying new GPU probably easier than to bring VRAM use down lol

i thank @SAT431  is asking about any quantization would be possible in future so it could be loaded on colab easily ?

We need quantization and optimizations
Flux fine tuning is down to as low as 6 gb atm.
Yes entire model training not inference 12b params

Thanks to @Ednaordinary's contribution, our model now supports CPU offloading to allow inference with less than 12GB of GPU memory by adding a cpu_offloading=True parameter. See https://github.com/jy0205/Pyramid-Flow/pull/23 for details.

Can this work on a dual 3090?

Can this work on a dual 3090?

Yes, when cpu_offloading=True is enabled.

Can this work on a dual 3090?

Yes, when cpu_offloading=True is enabled.

That would push the model to CPU, no? I am trying to do the opposite, by pushing the model over two GPUs to avoid CPU offloading.

Can this work on a dual 3090?

Yes, when cpu_offloading=True is enabled.

That would push the model to CPU, no? I am trying to do the opposite, by pushing the model over two GPUs to avoid CPU offloading.

@jy0205 is working on multi-gpu inference. We hope to share the progress within a few days.

on a single V100-SXM2-32GB, with cpu_offloading=True , 384p still OOM


TypeError: abi.map is not a function

I am trying to use the useContractFunction to call a method on my contract.

I have imported the ABI file that was generated from Hardhat.
import contractABI from '../contracts/MyContract.json';

I have setup a const to create a new interface.
const contractInterface = new utils.Interface(contractABI);

I have setup a const to access the contract instance.
const contract = new Contract(contractAddress, contractInterface);

When my react application reloads, I get this error. This is my first time using useDApp.

Before I would use ethers directly by doing the following with no problems.
export const getContractSigner = () => {
    try {
        const _provider = new ethers.providers.Web3Provider(ethereum);
        const _signer = _provider.getSigner();
        const _contractSigner = new ethers.Contract(contractAddress, contractABI, _signer);
        return _contractSigner;
    } catch (e) {
        console.log("No provider is available");
    }
}

Is there something different with how I import the hardhat generated ABI file that I need to do when using the useContractFunction?

Found the solution. I was trying to use the entire ABI file import. Instead I only imported the abi array within the file.
import { abi } from '../contracts/MyContract.json';
const contractInterface = new utils.Interface(abi);


Withings-sync in Docker and token

When I run app in docker I need to obtaining Withings authorisation (generate a new token) every time when a container is down and up. Is there a way to save the token in an environment variable so that the container can start after shutdown without my intervention?

Yes, but do it with mounting .withings_user.json (see https://docs.docker.com/engine/storage/)

Thank You. It works!


"flutter config --analytics" does not set enabled:true in config file

The enabled boolean in the .flutter file does not seem to be updated when opting-in to analytics:
dantup-macbookpro:~ dantup$ flutter config --no-analytics
Analytics reporting disabled.
dantup-macbookpro:~ dantup$ cat /Users/dantup/.flutter
{
  "firstRun": false,
  "clientId": "0571b884-4694-4ee5-a50d-7b00aeed87d5",
  "enabled": false
}

dantup-macbookpro:~ dantup$ flutter config --analytics
Analytics reporting enabled.
dantup-macbookpro:~ dantup$ cat /Users/dantup/.flutter
{
  "firstRun": false,
  "clientId": "0571b884-4694-4ee5-a50d-7b00aeed87d5",
  "enabled": false
}

This turned out to be user error... I ended up not being on a branch (even though GitHub desktop shows me as being on master and the latest changeset):
dantup-macbookpro:flutter_gallery dantup$ git rev-parse --abbrev-ref --symbolic @{u}
fatal: HEAD does not point to a branch

Flutter therefore considers me on a "user branch" and disables all analytics. I checked out the mater branch again:
dantup-macbookpro:flutter_gallery dantup$ git checkout master
Previous HEAD position was 72cacb404 Keep Flutter.framework binaries writable so they can be code signed (#39539)
Switched to branch 'master'
Your branch is ahead of 'origin/master' by 886 commits.
  (use "git push" to publish your local commits)
dantup-macbookpro:flutter_gallery dantup$ git rev-parse --abbrev-ref --symbolic @{u}
origin/master

And now it all works as expected.


Save Table Data When...

Removing and adding same row and/or column back: When a row and/or column is removed and added back, the row and/or column data removed will be replaced will all zeros when the same row and/or column is added right after removing it.
In this case, maybe add an "Undo" button?

Could we make the remove like the visibility button. So when you check another checkbox it removes it from the graph, but if you re-check it, it adds it back. Possibly separate checkboxes, possibly joined into one.

The regular checkbox already does exactly that. I changed it from making the line transparent to making the line nonexistent in the data set in order to make the graph resize correctly.

Is there a way to have it update the table when the line is removed that way we don't need the remove button next to the check box?

I think we still need the remove button since it's mainly for the table, but maybe rename it to "Remove Row" or something instead.

SlickGrid does work with an undo option
https://github.com/mleibman/SlickGrid/wiki/Examples

A different approach to this would be to keep the original set of data, and have a cloned set that the user can modify. That way the integrity of the original data can be maintained for undo functions, and maybe even a reset function.
That would also eliminate the need to set entire rows of data to undefined in the graph which is currently causing problems in my scatterplot code; instead, we simply pass the new dataset with the consolidated data.

I think that would be good. We can just add a reminder on the initial page to download any changes

I think this could be closed, we now have undo and redo buttons


examples: Add forward and elastic operators using compact formulation

This PR is an implementation of forward and adjoint elastic operators in a compact formulation. In this PR, we did an implementation based on the explicit sffiness matrix.

Fixed the problem, and also put the commit messages into a proper standard (no dot in the end of a commit message).


Development 3rd PR

#226
#227
#228
#229
#230
#231

@pranotoism please review the PR after comment from @gilangdarmawan


Fix and update GQA tests

Fix torch GPU CI failure

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

Project coverage is 60.02%. Comparing base (660da94) to head (0cf2846).

:exclamation:  There is a different number of reports uploaded between BASE (660da94) and HEAD (0cf2846). Click for more details.
HEAD has 6 uploads less than BASE

Flag
BASE (660da94)
HEAD (0cf2846)

keras
4
1

keras-torch
1
0

keras-tensorflow
1
0

keras-jax
1
0

Additional details and impacted files
@@             Coverage Diff             @@
##           master   #20522       +/-   ##
===========================================
- Coverage   82.10%   60.02%   -22.08%
===========================================
  Files         515      515
  Lines       47790    47790
  Branches     7486     7486
===========================================
- Hits        39238    28686    -10552
- Misses       6738    17349    +10611
+ Partials     1814     1755       -59

Flag
Coverage Δ

keras
60.02% <ø> (-21.94%)
:arrow_down:

keras-jax
?

keras-numpy
60.02% <ø> (ø)

keras-tensorflow
?

keras-torch
?

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

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

🚨 Try these New Features:

Flaky Tests Detection - Detect and resolve failed and flaky tests


Split Pane Deep Linker Support

Ionic version:  (check one with "x")
[ ] 1.x
[x ] 2.x
I'm submitting a ...  (check one with "x")
[ ] bug report
[ x] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:
When using Split Pane, Deep Linking initially works fine, enabling the browser back button as you navigate from within one of your panes:

However, as soon as I hit the refresh button, simulating opening the app from that url, both panes are given the component matching the url:

Expected behavior:
I would expect that only the main content pane would be updated based on the url. It seems currently the deep linker has no knowledge of the split pane, and only tries to retrieve the active nav, however I don't know why that would cause both panes to update like they do.
Steps to reproduce:
Modify the starter side menu app to use the split pane similar to how the blog post demonstrates it, moving the menu logic into a new side-menu component. Add the deep linker config to the app module. I have a sample of this here: https://github.com/roblouie/split-panel-demo
In the left pane menu, click 'Page 2' to navigate to the list page, then click on one of the items in the list. This should update the url to 'item/:itemId' as shown in the images attached.  Now hit the refresh button on the browser and watch as both panes get the component from 'item/:itemId'.
Other information:
The SidePane class has both a sideContent and a mainContent. It would be nice if the SidePane let you choose which of those was the "true" root of the project, with the default being mainContent. Only that nav would be affected by the deep linked url. It would also be nice to have access to each pane's nav, so that navigation in one could be triggered by the other.
Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):
 ordova CLI: 6.3.1
Ionic Framework Version: 2.0.1-201702161925
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
Ionic App Scripts Version: 1.1.3
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Windows 10
Node Version: v6.9.5
Xcode version: Not installed

Thanks, we will look into this.

Also hit this and spent an hour trying to understand if I do something wrong.
I would categorize it as a bug, not a feature request.

I'm seeing this too. And yea, definitely a bug not a feature.

Hy I'm having the same issue, both panes load with the same view after refresh. I have two nav instead of a nav and a menu. Is that ok?
<ion-content>
  <ion-split-pane (ionChange)="ionChange($event)">
    <ion-nav [root]="side"></ion-nav>
    <ion-nav [root]="content" main></ion-nav>
  </ion-split-pane>
</ion-content>

I am building a PWA that needs to take advantage of the side pane as the amount of info is very big. I am wondering how to move forward..
It use to work alright without the deep linking urls. I am thinking, can I disable the deep url system in order to keep having a stable split pane? I have been looking for a way to do that in Ionic's git repository but I couldn't find a way to do it..
I would be very grateful if someone could show me a workaround for this or if the bug gets solved. Which options do we have right now?
Victor


Remove opencensus and various other dependencies from the serverless agent.
Motivation

Reduce as much as possible the size and init duration of the serverless agent
Additional Notes

Here is the import graph before this change, importing go.opentelemetry.io/collector/component/componenttest indirectly imports dozens of dependencies, that are really not used at all by the Serverless agent, since we are only using a single function from that package:

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

Closing as it doesn't seem like we're going to remove the otlp tag from serverless in the end


long press event, suggested feature

Hello, I am using your library on a tablet oriented project, so I rely on touch gestures.
I would like to use a context menu, but on mobile i cannot make a "right click".
On mobile often a right click is performed via long press so this would be a possible way for having that.
Is there already available something for a context menu on mobile that I am missing?
Thank you and best regards.

Hi @violent-boomerang,
When I was fixing #44, I did a slight update to the event processing. As a result, the node:contextmenu, view:contextmenu events are now fired by the long press operation.  This is made possible by the browser's default event handling. It seems that this was unintentionally suppressed until this update.
Does this behavior satisfy your requirements?
Best Regards,

Hello,
It satisfies my requirement, though I noticed using the Capture all events example that after node:context has fired also view:context is fired, is this the desired behaviour?
Many Thanks

Thank you for pointing this out! Sorry for repeating.
Fixed in v0.5.7
Best Regards,


Missing HTTP Basic Authentication for REST Proxy

What is currently missing?
As documented in https://docs.confluent.io/platform/current/kafka-rest/production-deployment/rest-proxy/security.html, Confluent supports HTTP Basic Authentication for communication between a client and REST Proxy. However, I cannot find anything related to that being mentioned in Readme or this repo. I am wondering is there a plan to add this kind of authentication for communication between a client and REST Proxy. Is this feature in your roadmap?
How could this be improved?
Add this feature to enable Basic Authentication for communication between a client and REST Proxy.
Is this a feature you would work on yourself?
No.

I am wondering is there a plan to add this kind of authentication for communication between a client and REST Proxy.

At the moment this is not implemented, for the time a solution is to use a reverse proxy with basic auth support

Okay, thanks a lot for answering.


Fix fastparquet tests to work with HDFS

Fixes #9545.
This commit fixes the fastparquet tests to run on Spark clusters where the fs.default.name does not point to the local filesystem.
Before this commit, the fastparquet tests assumed that the parquet files generated for the tests were written to local filesystem, and could be read from both fastparquet and Spark from the same location.  However, this fails when run against clusters whose default filesystem is HDFS. fastparquet can only read from the local filesystem.
This commit changes the tests as follows:

For tests where data is generated by Spark, the data is copied to local filesystem before it is read by fastparquet.
For tests where data is generated by fastparquet, the data is copied to the default Hadoop filesystem before reading through Spark.

Build

I've merged this change.  With any luck, this should unblock the CDH builds.

Alternative:
fastparquet uses fsspec that provides a bunch of implementations out of the box https://github.com/fsspec/filesystem_spec/tree/master/fsspec/implementations .
This includes WebHDFS that can be enabled on CDH.


Schematic needed

hello abuharsky, I love BBQing just like you probably, so I was glad reading your comment on arduino project hub, but honestly I'm a real beginner building a controller like this. Is it possible to have a schematic  for the electronics? Next will be the programming, but I hope I will get help with that one :) thanks a lot, Balázs

Ok, no problem I will add schematic very very soon

👍

hi there, schematic is more professional, but even if you could pull apart the boards little bit to see the wiring better would be helpful, thanks&regards, Balázs

Im sorry for long answer, I tried some schematic tools, but they dont have a lot of used components, so, I can make a video

actually - as I'm still learning - found that it is pretty much well defined in the source code, but a video might be helpful


Update player.h

Added setter and getter function prototypes

I'll accept this time, but please remember the rule states +5/-2 as your change limit.
This commit is +7 −2

I think that this is okay even with the +5/-2, it seems like the lines are unchanged and simply moved downwards.


Update addon to Ember-CLI 3.4 blueprint; other related updates/cleanup

update addon using ember-cli-update (includes removal of files like bower.json which should no longer be necessary following addition of Slick to package.json)
update Ember module import syntax and clear linting issues
remove cached yarn.lock (had been previously added to .gitignore)

These updates (primarily the module syntax updates) are necessary for an app that I work on that uses ember-cli-slick to be able to run on Ember 3.x, as the old Ember.Component syntax raises an error.

I'd like to start using ember-cli-slick but I need to make sure it's still maintained. I'm using Ember 2.18 right now, but I do plan on upgrading soon. Hope this PR gets merged soon.


executableJobs: Handle updates to avoid race conditions

The ExecutableJob objects can be in 2 threads (worker pool and main thread). Our current update process typically refreshes once in a while, changes a value, and saves the whole object.
This makes it prone to race conditions, for example when the main threads changes the status (cancel) and the workerpool adds a checkpoint. While we can reduce the probabilities of this happening by refreshing just before saving, there's still a non-0 probability that an update query gets done between the refresh and update.

Our objects should be able to detect which fields were updated exactly, so we can avoid saving the entire object
The refresh/update operation should be atomic instead of done by the consumers of the class. That requires refactoring the ExecutableJob's code.

instead of being atomic, we can also add a lock...


Use zlib-ng directly instead of through zlib-sys

This means that it is no longer nessesary to make sure that zlib-stock
is anywhere in the dependency to make sure it is used instead of
zlib-ng.
For more information see: https://internals.rust-lang.org/t/psa-flate2-now-supports-zlib-ng-natively-via-libz-ng-sys/16706

Is this still up to date?

After a look through flate2 it is not, zlib-ng is preferred


BPF host routing can't be enabled if the devices include the wildcard option

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
Cilium checks if all given network interfaces have L2 addr here if option.Config.EnableHostLegacyRouting is false, but the devices haven't been expanded at this point, and the check fails.
https://github.com/cilium/cilium/blob/v1.13.0-rc4/daemon/cmd/kube_proxy_replacement.go#L354
The devices are expanded here after initKubeProxyReplacementOptions that checks the interfaces' L2 addr is called
https://github.com/cilium/cilium/blob/v1.13.0-rc4/daemon/cmd/daemon.go#L954
initKubeProxyReplacementOptions is called here. DeviceManager.Detect hasn't been called yet.
https://github.com/cilium/cilium/blob/v1.13.0-rc4/daemon/cmd/daemon.go#L457
Cilium Version
v1.13.0-rc4
Kernel Version
$ uname -a
Linux rack2-cs4 5.15.77-flatcar #1 SMP Tue Dec 6 22:49:50 -00 2022 x86_64 AMD EPYC 7413 24-Core Processor AuthenticAMD GNU/Linux
Kubernetes Version
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.9", GitCommit:"c1de2d70269039fe55efb98e737d9a29f9155246", GitTreeState:"clean", BuildDate:"2022-07-13T14:26:51Z", GoVersion:"go1.17.11", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.9", GitCommit:"c1de2d70269039fe55efb98e737d9a29f9155246", GitTreeState:"archive", BuildDate:"2022-08-02T02:58:28Z", GoVersion:"go1.17.12", Compiler:"gc", Platform:"linux/amd64"}
Sysdump
No response
Relevant log output
$ cilium config set enable-host-legacy-routing false
✨ Patching ConfigMap cilium-config with enable-host-legacy-routing=false...
♻  Restarted Cilium pods

level=info msg="BPF host routing is currently not supported with devices without L2 addr. Falling back to legacy host routing (enable-host-legacy-routing=true)." subsys=daemon

$ cilium config view | grep device
devices                                        eth+ eno1+ eno2+
direct-routing-device                          eth+

$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1460 xdp qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 52:54:00:73:c0:35 brd ff:ff:ff:ff:ff:ff
    prog/xdp id 8654
    altname enp0s3
    altname ens3
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1460 xdp qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 52:54:00:8b:21:90 brd ff:ff:ff:ff:ff:ff
    prog/xdp id 8665
    altname enp0s4
    altname ens4
4: node0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether f6:78:90:df:82:dc brd ff:ff:ff:ff:ff:ff
5: cilium_net@cilium_host: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether 62:2f:b9:35:c2:0c brd ff:ff:ff:ff:ff:ff
6: cilium_host@cilium_net: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether 1e:91:cf:58:2e:3b brd ff:ff:ff:ff:ff:ff
7: vetha592be56cda@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1460 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether 12:7e:12:8f:fb:0e brd ff:ff:ff:ff:ff:ff link-netns cni-d7cafb86-3f39-4d45-a5d0-ff7255007fcf
    alias COIL:default:73cd4e34a2500232eaeb8b252dd13cbd117bc799add3a8ea1747a03e0362fd7a:eth0
10: cilium_geneve: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether b6:d4:6f:1b:ac:72 brd ff:ff:ff:ff:ff:ff

Anything else?
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Nice find @ysksuzuki! Are you planning to submit a fix for it?

Absolutely, I will get it done.


feat(development) add the ability to setup a Kong development environment

Per the readme updates to test this run:
make development

and proceed with normal development tasks double check anything else needs to be called out in the readme / anything that's missing etc
NB: first build will take time subsequent runs are heavily cached (~20 min vs ~2min)

I get this:
Error: ./kong/cmd/start.lua:50: nginx: [error] init_by_lua error: ./kong/init.lua:402: error loading plugin schemas: on plugin 'myplugin': myplugin plugin is enabled but not installed

was that something that was expected to happen?

damn git submodules 😠
@bungle when cloning a repo with submodules git clone --recursive or git clone && git submodule init

@hutchic, yes that was it!

Tested hitting :8001/. Got the expected response. Would it be worth adding git submodule update --init --recursive as a step in the README?

@jeveleth I nuked the submodule in favour of just having the kong-plugin code live in this repository


FZF native support

Is it possible to allow use of fzf native (https://github.com/nvim-telescope/telescope-fzf-native.nvim) instead of fzy-native? I used fzf-native this with telescope-frecency.nvim, but smart-open looks promising to address some of the pain points I had with telescope-frecency.

I don't use it so I'm not sure.  I could look into it though, and I'm willing to take a PR to this effect.  Thanks for the feedback.  Out of curiosity, is fzf better than fzy?

I mainly like it because it seems a bit more robust to typos :) and it seems find the right thing more often when the word order is wrong. Say you type in "bar foo" when searching for "foobar.py"

I created an experimental branch that introduces match_algorithm as an option.  Set it to fzf and it uses fzf instead.  If you're willing to try it, the branch is name fzf.  Thanks for the idea.

Looks like the branch you sent is working great! Thank you! Minor thing, but show_scores = true doesn't seem to be working on either branch for me.

Thanks.  Weird, it does for me.  Although there's too much info in there now and it's just so cryptic I don't know if it would give you much useful info anyway :-(  If I could find a way to make the information more useful and presentable, I'd do that, but as it is, I'm considering doing away with the option altogether.  I'm open to further ideas on that front, and PRs too.  Especially PRs ;-)

This is now on the main branch.


sc-7102: implement the multi organization log in feature in UI

Scope of changes
implement the multi-organization log in feature in UI
Type of change

[ ] bug fix
[x] new feature
[ ] documentation
[x] other (describe)

Acceptance criteria
https://app.shortcut.com/rotational/story/10906/add-orgid-to-login-endpoint
Author checklist

[ ] I have manually tested the change and/or added automation in the form of unit tests or integration tests
[ ]  I have updated the dependencies list
[ ]  I have recompiled and included new protocol buffers to reflect changes I made
[ ]  I have added new test fixtures as needed to support added tests
[ ]   Check this box if a reviewer can merge this pull request after approval (leave it unchecked if you want to do it yourself)
[ ]  I have moved the associated Shortcut story to "Ready for Review"

Reviewer(s) checklist

[ ] Any new user-facing content that has been added for this PR has been QA'ed to ensure correct grammar, spelling, and understandability.

Codecov Report
Base: 44.53% // Head: 37.96% // Decreases project coverage by -6.56% :warning:

Coverage data is based on head (40f4c19) compared to base (9d4ccad).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #913      +/-   ##
==========================================
- Coverage   44.53%   37.96%   -6.57%
==========================================
  Files         678      168     -510
  Lines       24412     2568   -21844
  Branches     1526      667     -859
==========================================
- Hits        10872      975    -9897
+ Misses      12151     1409   -10742
+ Partials     1389      184    -1205

Flag
Coverage Δ

unittests
37.96% <ø> (-6.57%)
:arrow_down:

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

Impacted Files
Coverage Δ

web/gds-user-ui/src/application/routes/routes.ts

...r-ui/src/components/ChooseAnOrganization/index.tsx

...ser-ui/src/components/Loader/TransparentLoader.tsx

...eb/gds-user-ui/src/modules/auth/callback/index.tsx

...gds-user-ui/src/modules/auth/login/auth.service.ts

...b/gds-user-ui/src/modules/auth/login/user.slice.ts

...ules/dashboard/organization/SwitchOrganization.tsx

web/gds-user-ui/src/utils/auth0.helper.ts

web/gds-user-ui/src/utils/constants.ts

...com/trisacrypto/directory/pkg/bff/announcements.go

... and 499 more

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

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


Propose to provide live playground in killercoda

on https://killercoda.com/

/kind feature

Supported killercoda playgroud: https://killercoda.com/kubean


1.X Supervisor update

test this please

@agherzan if you change to v5.0.1 it should work well now in staging, and as soon as we deploy resin-api it will work in production too. i.e. Depends on https://github.com/resin-io/resin-api/pull/349

Update: I'm releasing supervisor v5.1.0 - please use that one instead

And with 5.1.0 you can also switch aarch64 to use aarch64-supervisor

For reference about the aarch64 supervisor change, Pablo already did it for master: https://github.com/resin-os/meta-resin/pull/725/commits/4b3cdb76a3059bf63a8f31a7c32258ca0d37c12b

@floion @pcarranzav Updated. Please review.

"None of the commits in the PR have a Change-Type tag" we don't have versionist yet in 1.X line.

test this please

There is a circular dependency on https://github.com/resin-os/resin-qemu/pull/63. Merging this without builds.


Benkuhn/build instructions update

This adds a note about required SDK version to the source build instructions.

I'll put both in. 1809 is the official name on the download page.

From: Harry Pierson<EMAIL_ADDRESS>Sent: Saturday, October 27, 2018 10:21:10 PM
To: Microsoft/xlang
Cc: Ben Kuhn; Author
Subject: Re: [Microsoft/xlang] Benkuhn/build instructions update (#69)
@devhawk commented on this pull request.

In src/readme.mdhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fxlang%2Fpull%2F69%23discussion_r228734716&data=02|01|benkuhn%40microsoft.com|0a2c8978fd0b4cee1e7208d63c952c48|72f988bf86f141af91ab2d7cd011db47|1|0|636763008730156432&sdata=dC%2F5PpyWq1AjmMFIb%2Bxs%2FIuSDc4OUMWx08M5OBMp4YM%3D&reserved=0:

Visual Studio 2017, version 15.8.7 or later.

Visual Studio's Desktop Development with C++ workload installation is required.
CMake, version 3.9 or later

Visual Studio's Desktop Development with C++ workload includes CMake 3.11

Ninja, version 1.8 or later

Visual Studio's Desktop Development with C++ workload includes Ninja 1.8.2
+* Windows 10 SDK, Version 1809 or later

I think we should specify SDK by build number, 10.0.17763.0, since that's how it's specified in VS Installer
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fxlang%2Fpull%2F69%23pullrequestreview-169078879&data=02|01|benkuhn%40microsoft.com|0a2c8978fd0b4cee1e7208d63c952c48|72f988bf86f141af91ab2d7cd011db47|1|0|636763008730166441&sdata=sqqQbbFYusDJ9jk%2FXAXwH44x%2BgvDhdr4SPL5OF%2BWbwo%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FALm_oaqUPvEWN6U5oJhBMKEageJyFu7kks5upT7GgaJpZM4X9ygF&data=02|01|benkuhn%40microsoft.com|0a2c8978fd0b4cee1e7208d63c952c48|72f988bf86f141af91ab2d7cd011db47|1|0|636763008730166441&sdata=0Tn1xlRosEoFKEb9kABj8hpMuiRahF%2BiQvq71j4XQBU%3D&reserved=0.


textarea inside setItemsDetailForm

I want to use textarea inside setItemsDetailForm(), but I cannot find how to pass value to textarea in item detail form.
If I use  inside block #detail template, there is no possible way how to pass default value (value is only for input element) and I cannot find callback where to pass value.
And putting {$item->field} inside  in template cannot work (dg describes this as feature and point to setDefaultValue, but where I can put it?)
Thnx for help.

Current solution is to manually create the whole textarea without using n:name or {input}:
        <textarea name="items_detail_form[items_detail_form_{$item->id}][popis]"
                  id="frm-manageJobCatalogGrid-grid-filter-items_detail_form-items_detail_form_{$item->id}-popis"
                  class="form-control redactor" rows="10">{$item->popis|noescape}</textarea>

This is not systematic and I need to include many internals (form name, item detail name etc.) directly in template.


[Doc] Add pure python mode to parallelism.rst

This PR adds pure python mode to parallelism.rst. Several minor improvements were added:

Examples were improved, ensured that example can be compiled and multiple fixes were introduced,
Example was moved to a file to be checked by CI,
Minor improvements to text formatting.

Related: #4187

CI tests are failing converting to draft until CI is not green.

@scoder @da-woods could you give me a helping hand? I tried to move following example from the docs to file to be checked by CI:
from cython.parallel import prange

def func(double[:] x, double alpha):
    cdef Py_ssize_t i

    for i in prange(x.shape[0]):
        x[i] = alpha * x[i]

But compiling fails with following error:
Error compiling Cython file:
------------------------------------------------------------
...
from cython.parallel import prange

def func(double[:] x, double alpha):
    cdef Py_ssize_t i

    for i in prange(x.shape[0]):
                   ^
------------------------------------------------------------

memoryview_sum.pyx:6:19: prange() can only be used without the GIL

When I tried to mark the function as `nogil` the compilation is successfull:
```cython
from cython.parallel import prange

cdef void func(double[:] x, double alpha) nogil:
    cdef Py_ssize_t i

    for i in prange(x.shape[0]):
        x[i] = alpha * x[i]

$ cythonize -3i memoryview_sum.pyx
Compiling /Users/matus/dev/cython/docs/examples/userguide/parallelism/memoryview_sum.pyx because it changed.
[1/1] Cythonizing /Users/matus/dev/cython/docs/examples/userguide/parallelism/memoryview_sum.pyx
warning: memoryview_sum.pyx:7:24: Use boundscheck(False) for faster access
warning: memoryview_sum.pyx:7:9: Use boundscheck(False) for faster access
running build_ext
building 'memoryview_sum' extension
creating /Users/matus/dev/cython/docs/examples/userguide/parallelism/tmpib_kb51k/Users
creating /Users/matus/dev/cython/docs/examples/userguide/parallelism/tmpib_kb51k/Users/matus
creating /Users/matus/dev/cython/docs/examples/userguide/parallelism/tmpib_kb51k/Users/matus/dev
creating /Users/matus/dev/cython/docs/examples/userguide/parallelism/tmpib_kb51k/Users/matus/dev/cython
creating /Users/matus/dev/cython/docs/examples/userguide/parallelism/tmpib_kb51k/Users/matus/dev/cython/docs
creating /Users/matus/dev/cython/docs/examples/userguide/parallelism/tmpib_kb51k/Users/matus/dev/cython/docs/examples
creating /Users/matus/dev/cython/docs/examples/userguide/parallelism/tmpib_kb51k/Users/matus/dev/cython/docs/examples/userguide
creating /Users/matus/dev/cython/docs/examples/userguide/parallelism/tmpib_kb51k/Users/matus/dev/cython/docs/examples/userguide/parallelism
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -I/usr/local/include<EMAIL_ADDRESS>-I/usr/local/opt/sqlite/include -I/Users/matus/dev/cython39/include<EMAIL_ADDRESS>-c /Users/matus/dev/cython/docs/examples/userguide/parallelism/memoryview_sum.c -o /Users/matus/dev/cython/docs/examples/userguide/parallelism/tmpib_kb51k/Users/matus/dev/cython/docs/examples/userguide/parallelism/memoryview_sum.o
/Users/matus/dev/cython/docs/examples/userguide/parallelism/memoryview_sum.c:5426:28: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
  if (((__pyx_v_c_mode[0]) == 'f')) {
       ~~~~~~~~~~~~~~~~~~~~^~~~~~
/Users/matus/dev/cython/docs/examples/userguide/parallelism/memoryview_sum.c:5426:28: note: remove extraneous parentheses around the comparison to silence this warning
  if (((__pyx_v_c_mode[0]) == 'f')) {
      ~                    ^     ~
/Users/matus/dev/cython/docs/examples/userguide/parallelism/memoryview_sum.c:5426:28: note: use '=' to turn this equality comparison into an assignment
  if (((__pyx_v_c_mode[0]) == 'f')) {
                           ^~
                           =
/Users/matus/dev/cython/docs/examples/userguide/parallelism/memoryview_sum.c:3321:13: warning: unused function '__pyx_f_14memoryview_sum_func' [-Wunused-function]
static void __pyx_f_14memoryview_sum_func(__Pyx_memviewslice __pyx_v_x, double __pyx_v_alpha) {
            ^
2 warnings generated.
clang -bundle -undefined dynamic_lookup -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk /Users/matus/dev/cython/docs/examples/userguide/parallelism/tmpib_kb51k/Users/matus/dev/cython/docs/examples/userguide/parallelism/memoryview_sum.o -L/usr/local/lib<EMAIL_ADDRESS>-L/usr/local/opt/sqlite/lib -o /Users/matus/dev/cython/docs/examples/userguide/parallelism/memoryview_sum.cpython-39-darwin.so

But CI is failing in this example because CI defines CYTHON_REFNANNY - here is the output when I manually compile .c file:
$ clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -DCYTHON_REFNANNY=1 -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -I/usr/local/include<EMAIL_ADDRESS>-I/usr/local/opt/sqlite/include -I/Users/matus/dev/cython39/include<EMAIL_ADDRESS>-c memoryview_sum.c -o memoryview_sum.o
memoryview_sum.c:3403:29: error: use of undeclared identifier '__pyx_refnanny'; did you mean '__Pyx_RefNanny'?
                            __Pyx_GOTREF(__pyx_parallel_exc_type);
                            ^
memoryview_sum.c:1582:51: note: expanded from macro '__Pyx_GOTREF'
  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
                                                  ^
memoryview_sum.c:1551:35: note: '__Pyx_RefNanny' declared here
  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
                                  ^
memoryview_sum.c:3453:15: error: use of undeclared identifier '__pyx_refnanny'; did you mean '__Pyx_RefNanny'?
              __Pyx_GIVEREF(__pyx_parallel_exc_type);
              ^
memoryview_sum.c:1583:52: note: expanded from macro '__Pyx_GIVEREF'
  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), (__LINE__))
                                                   ^
memoryview_sum.c:1551:35: note: '__Pyx_RefNanny' declared here
  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
                                  ^
memoryview_sum.c:5414:28: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
  if (((__pyx_v_c_mode[0]) == 'f')) {
       ~~~~~~~~~~~~~~~~~~~~^~~~~~
memoryview_sum.c:5414:28: note: remove extraneous parentheses around the comparison to silence this warning
  if (((__pyx_v_c_mode[0]) == 'f')) {
      ~                    ^     ~
memoryview_sum.c:5414:28: note: use '=' to turn this equality comparison into an assignment
  if (((__pyx_v_c_mode[0]) == 'f')) {
                           ^~
                           =
1 warning and 2 errors generated.

Am I doing something wrong or there is a bug in cython?

The refnanny thing definitely seems like a bug - it's probably a mistake where something doesn't bring in the right utility code.
I suspect you don't want to mark the whole function as nogil. Instead you just want to release the GIL for the prange similar to the example above it
    for i in prange(x.shape[0], nogil=True):

Putting nogil=True  fixed the issue. PR ready for review.

I have fixed all comments. Please do another round of review.

This looks good to me. I'm going to leave it another couple of days just in case anyone else has any comments. But I'll merge it shortly otherwise

Thanks