DB2 on AS400: An unexpected token "ISOLATION" was found on ibm_db_sa/ibm_db.py

[Environment]
Database Server: DB2 on AS400 with DB2 Connect installed to allow TCP/IP connections (connection tested using ibm_db and the default port number)
Application Server: Linux server running Python 3 + Flask application, using ibm_db, ibm_db_sa and SQLAlchemy.
[Problem]
Trying to run a simple query to test that the connection from the application server to the test server is working when using SQLAlchemy + ibm_db_sa adapter:
# Tried using two different adapter names
engine = sqlalchemy.create_engine('ibm_db_sa://user:secret@database_server.host.com:446/database1')
engine = sqlalchemy.create_engine("db2+ibm_db://user:secret@database_server.host.com:446/database1')
result = engine.execute("select USER from USERS")
for row in result:
    print("USER:", row['USER'])

This produces the following error:
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/ibm_db_dbi.py", line 1235, in _set_cursor_helper
    num_columns = ibm_db.num_fields(self.stmt_handler)
Exception: SQLNumResultCols failed: [IBM][CLI Driver][AS] SQL0104N  An unexpected token "ISOLATION" was found following "".  Expected tokens may include:  "SERVER CLIENT_ACCTNG CLIENT_APPLNAME CLIENT_PROGRAMID CLIE".  SQLSTATE=42601 SQLCODE=-104

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 2158, in _wrap_pool_connect
    return fn()
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/pool.py", line 403, in connect
    return _ConnectionFairy._checkout(self)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/pool.py", line 791, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/pool.py", line 532, in checkout
    rec = pool._do_get()
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/pool.py", line 1196, in _do_get
    self._dec_overflow()
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/langhelpers.py", line 66, in __exit__
    compat.reraise(exc_type, exc_value, exc_tb)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/compat.py", line 187, in reraise
    raise value
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/pool.py", line 1193, in _do_get
    return self._create_connection()
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/pool.py", line 350, in _create_connection
    return _ConnectionRecord(self)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/pool.py", line 477, in __init__
    self.__connect(first_connect_check=True)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/pool.py", line 684, in __connect
    exec_once(self.connection, self)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/event/attr.py", line 274, in exec_once
    self(*args, **kw)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/event/attr.py", line 284, in __call__
    fn(*args, **kw)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/langhelpers.py", line 1334, in go
    return once_fn(*arg, **kw)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/strategies.py", line 183, in first_connect
    dialect.initialize(c)
  File "/usr/local/lib/python3.5/dist-packages/ibm_db_sa/base.py", line 695, in initialize
    super(DB2Dialect, self).initialize(connection)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/default.py", line 274, in initialize
    self.get_isolation_level(connection.connection)
  File "/usr/local/lib/python3.5/dist-packages/ibm_db_sa/ibm_db.py", line 135, in get_isolation_level
    cursor.execute('SELECT CURRENT ISOLATION FROM sysibm.sysdummy1')
  File "/usr/local/lib/python3.5/dist-packages/ibm_db_dbi.py", line 1355, in execute
    self._set_cursor_helper()
  File "/usr/local/lib/python3.5/dist-packages/ibm_db_dbi.py", line 1238, in _set_cursor_helper
    raise self.messages[len(self.messages) - 1]
ibm_db_dbi.ProgrammingError: ibm_db_dbi::ProgrammingError: SQLNumResultCols failed: [IBM][CLI Driver][AS] SQL0104N  An unexpected token "ISOLATION" was found following "".  Expected tokens may include:  "SERVER CLIENT_ACCTNG CLIENT_APPLNAME CLIENT_PROGRAMID CLIE".  SQLSTATE=42601 SQLCODE=-104

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "test_sqla.py", line 12, in <module>
    result = engine.execute("select USER from USERS")
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 2074, in execute
    connection = self.contextual_connect(close_with_result=True)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 2123, in contextual_connect
    self._wrap_pool_connect(self.pool.connect, None),
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 2162, in _wrap_pool_connect
    e, dialect, self)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1476, in _handle_dbapi_exception_noconnection
    exc_info
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/compat.py", line 203, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/compat.py", line 186, in reraise
    raise value.with_traceback(tb)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 2158, in _wrap_pool_connect
    return fn()
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/pool.py", line 403, in connect
    return _ConnectionFairy._checkout(self)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/pool.py", line 791, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/pool.py", line 532, in checkout
    rec = pool._do_get()
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/pool.py", line 1196, in _do_get
    self._dec_overflow()
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/langhelpers.py", line 66, in __exit__
    compat.reraise(exc_type, exc_value, exc_tb)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/compat.py", line 187, in reraise
    raise value
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/pool.py", line 1193, in _do_get
    return self._create_connection()
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/pool.py", line 350, in _create_connection
    return _ConnectionRecord(self)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/pool.py", line 477, in __init__
    self.__connect(first_connect_check=True)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/pool.py", line 684, in __connect
    exec_once(self.connection, self)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/event/attr.py", line 274, in exec_once
    self(*args, **kw)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/event/attr.py", line 284, in __call__
    fn(*args, **kw)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/langhelpers.py", line 1334, in go
    return once_fn(*arg, **kw)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/strategies.py", line 183, in first_connect
    dialect.initialize(c)
  File "/usr/local/lib/python3.5/dist-packages/ibm_db_sa/base.py", line 695, in initialize
    super(DB2Dialect, self).initialize(connection)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/default.py", line 274, in initialize
    self.get_isolation_level(connection.connection)
  File "/usr/local/lib/python3.5/dist-packages/ibm_db_sa/ibm_db.py", line 135, in get_isolation_level
    cursor.execute('SELECT CURRENT ISOLATION FROM sysibm.sysdummy1')
  File "/usr/local/lib/python3.5/dist-packages/ibm_db_dbi.py", line 1355, in execute
    self._set_cursor_helper()
  File "/usr/local/lib/python3.5/dist-packages/ibm_db_dbi.py", line 1238, in _set_cursor_helper
    raise self.messages[len(self.messages) - 1]
sqlalchemy.exc.ProgrammingError: (ibm_db_dbi.ProgrammingError) ibm_db_dbi::ProgrammingError: SQLNumResultCols failed: [IBM][CLI Driver][AS] SQL0104N  An unexpected token "ISOLATION" was found following "".  Expected tokens may include:  "SERVER CLIENT_ACCTNG CLIENT_APPLNAME CLIENT_PROGRAMID CLIE".  SQLSTATE=42601 SQLCODE=-104 (Background on this error at: http://sqlalche.me/e/f405)

I also tried using table models instead of using my own query, tried using Python 2.7 as well. Everything returned the same error code
sqlalchemy.exc.ProgrammingError: (ibm_db_dbi.ProgrammingError) ibm_db_dbi::ProgrammingError:
SQLNumResultCols failed: [IBM][CLI Driver][AS] SQL0104N  An unexpected token "ISOLATION" was found following "".
Expected tokens may include:  "SERVER CLIENT_ACCTNG CLIENT_APPLNAME CLIENT_PROGRAMID CLIE".
SQLSTATE=42601 SQLCODE=-104 (Background on this error at: http://sqlalche.me/e/f405)

Hi,
Can you please use adapter like below
engine = sqlalchemy.create_engine('ibm_db_sa+pyodbc400://user:secret@database_server.host.com:446/database1')
this should resolve your issue.
Let us know if issue still persist.
Thanks,
Abhinav

Hi @abhi7436 ,
Thanks for your quick response, I tested it on Python 3 without luck, it seems that pyodbc is not fully supporting the new syntax on Python 3.
File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/__init__.py", line 424, in create_engine
    return strategy.create(*args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/strategies.py", line 92, in create
    (cargs, cparams) = dialect.create_connect_args(u)
  File "/usr/local/lib/python3.5/dist-packages/ibm_db_sa/pyodbc.py", line 147, in create_connect_args
    connectors.extend(['%s=%s' % (k,v) for k,v in keys.iteritems()])
AttributeError: 'dict' object has no attribute 'iteritems'

I'll try it on a different environment using Python 2.7 to verify if the suggested adapter fixes the problem.

I am still testing it on Python 3, I made some code changes on the pyodbc.py file to support the iteritems function, after that I was able to connect to the database.
The following are the extra steps I had to do in order to set the connection:

I had to configure an ODBC connection on my Linux environment.
The driver name of the ODBC connection must be "iSeries Access ODBC Driver"

After a successful connection I tried running a query
result = engine.execute("select USER from USERS")
for row in result:
    print("USER:", row['USER'])

The following is the error I got:
Traceback (most recent call last):
  File "test_sqla.py", line 12, in <module>
    result = engine.execute("select USER from USERS")
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 2074, in execute
    connection = self.contextual_connect(close_with_result=True)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 2123, in contextual_connect
    self._wrap_pool_connect(self.pool.connect, None),
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 2158, in _wrap_pool_connect
    return fn()
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/pool.py", line 403, in connect
    return _ConnectionFairy._checkout(self)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/pool.py", line 791, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/pool.py", line 532, in checkout
    rec = pool._do_get()
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/pool.py", line 1196, in _do_get
    self._dec_overflow()
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/langhelpers.py", line 66, in __exit__
    compat.reraise(exc_type, exc_value, exc_tb)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/compat.py", line 187, in reraise
    raise value
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/pool.py", line 1193, in _do_get
    return self._create_connection()
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/pool.py", line 350, in _create_connection
    return _ConnectionRecord(self)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/pool.py", line 477, in __init__
    self.__connect(first_connect_check=True)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/pool.py", line 684, in __connect
    exec_once(self.connection, self)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/event/attr.py", line 274, in exec_once
    self(*args, **kw)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/event/attr.py", line 284, in __call__
    fn(*args, **kw)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/langhelpers.py", line 1334, in go
    return once_fn(*arg, **kw)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/strategies.py", line 183, in first_connect
    dialect.initialize(c)
  File "/usr/local/lib/python3.5/dist-packages/ibm_db_sa/base.py", line 695, in initialize
    super(DB2Dialect, self).initialize(connection)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/default.py", line 268, in initialize
    self._get_default_schema_name(connection)
  File "/usr/local/lib/python3.5/dist-packages/ibm_db_sa/base.py", line 706, in _get_default_schema_name
    return self._reflector._get_default_schema_name(connection)
  File "/usr/local/lib/python3.5/dist-packages/ibm_db_sa/reflection.py", line 69, in _get_default_schema_name
    u'SELECT CURRENT_SCHEMA FROM SYSIBM.SYSDUMMY1').scalar()
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 942, in execute
    return self._execute_text(object, multiparams, params)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1104, in _execute_text
    statement, parameters
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1200, in _execute_context
    context)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1416, in _handle_dbapi_exception
    util.reraise(*exc_info)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/util/compat.py", line 187, in reraise
    raise value
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
    context)
  File "/usr/local/lib/python3.5/dist-packages/sqlalchemy/engine/default.py", line 508, in do_execute
    cursor.execute(statement, parameters)

TypeError: The first argument to execute must be a string or unicode query.

Any thoughts about the issue?

Hi @abhi7436
In the following  commit under my own repository, I added some fixes that allowed me to run the select query I was trying to run. I haven't tested using models or any other CRUD action yet, but it's a progress, please check the fixes and let me know your thoughts.
Thanks

Samir Silva

Hi @SSRico ,
I saw your code changes and it is very much similar to the changes what I have made.
I am in process of testing and reviewing it. Will push code shortly in repository.
Thank you for sharing the code.
Thanks,
Abhinav

Fix merged in Git. Will close this issue.

Hi @abhi7436 ,
I downloaded the updated source code and installed it using $python3 setyp.py install and verified the issue is not occurring anymore, Thanks a lot for your help.
Quick question: This updated module is not available on pypi.org, is it? When is it going to be available?
Best regards

Samir Silva


Task 4: Delete all objects except tables in old database

I am upgrading from BC CU2 to the spring release and I am getting this errror when performing task 4:

Microsoft Dynamics NAV Development Environment
You do not have permission to delete the 'Version Triggers' Codeunit.
Contact your system administrator to have your permissions changed.
OK

I am spotting this line in our dev licence:
Product Version	        : 13
That should probably be 14?

Hi, this repo is for report documentation issues and bugs. Please contact your usual support channel to get help resolving this.


Basemap EOL

Basemap will be replaced by Cartopy and "All new software development should try to use Cartopy whenever possible". Pysteps currently uses Basemap. If there are no major barriers, pysteps should probably aim to switch to Cartopy to avoid using deprecated modules.
While not all Basemap features are yet implemented in Cartopy, I've been using it for over a year without major issues. Also for visualizing radar products.

Since commit 425f1c0, the user can choose between two backends: basemap and cartopy. Basemap will be removed in a future release.


Transaction issue when integrating with entgql

Describe the bug
When integrating with entgql and using Transactional Mutation:
srv := handler.New(resolver.NewSchema(entClient))
srv.Use(entgql.Transactioner{TxOpener: entClient})
srv.Use(entgql.Transactioner{TxOpener: entClient})

An entity configured with enthistory getting a mutation is throwing an error:
sql: transaction has already been committed or rolled back
To Reproduce
WIP
Expected behavior
Operations on history tables should not be interfering with entity mutations.
Additional context
sql driver used: pgx (this might not be relevant).
Before diving any further, is this a known limitation of using enthistory with entgql?

This is not an issue. I was able to solve it. Please delete this issue.

This will be review by the support team. Visit the live support page to initiate a chat with an agent for further assistance via here  LIVE CHAT SUPPORT Regards


Rebase inhibit_fullscreen onto 1.6

Similar to the previous 2 PRs here, this rebases onto a more recent version of sway.
I moved the is_fullscreen and inhibit_fullscreen bools from the sway_container to the sway_container_state struct, since fullscreen_mode is also there. All accesses to these fields are now via container->pending.
I've created an AUR package off my branch so other people can conveniently install this as well: https://aur.archlinux.org/packages/sway-inhibit-fullscreen-git/
I'd like to point it to this branch instead after this PR is merged.

While I did accept a rebase of this PR 3 years ago, I am not maintaining forks or stale PRs in this tree.
You are of course free to maintain a fork.

Oh right, yes indeed I pushed to my own fork that is the upstream for a corresponding AUR package. I didn't realise it's still linked to this PR. Will close to reduce noise.


Get return value question？

why not equals？ This is bug ?

Please explain how to reproduce the problem.

I load mapper on my first visit after startup, which may occur when multithreaded access occurs

Please create a small demo project so that we can replicate the issue on our end.

I've uploaded it。see  https://github.com/huan0huan/all-problem.git

Thank you very much for the repro, @huan0huan !
You are right. The javadoc says:

Multiple objects may be instantiated at run-time to represent a given type variable. Even though a type variable is created only once, this does not imply any requirement to cache instances representing the type variable. However, all instances representing a type variable must be equal() to each other. As a consequence, users of type variables must not rely on the identity of instances of classes implementing this interface.

The fix is in the latest 3.5.4-SNAPSHOT.
Please let me know if you noticed anything!


Update from colors to chalk

Colors is older and not used. Let's get on Chalk asap.

Done in 1.4.1 release


Make server.initServer method public

Change server.initServer method to server.InitServer so we have the option to embed ImgurGo in an application instead of a standalone service.

This is something we want to do. Along with this change I believe we need a callback where your application can access the data (location and meta-data of the image) that is returned from an upload. Does this sound helpful as well?

I may only want to embed ImgurGo in an application to ease development, eg: setup server in testcase.
For production I'm not mind to deploy it separately.

@yinhm This is now available, note the function has been renamed to server.Start() now though.
you can use the main.go file as a reference (https://github.com/Imgur/mandible/blob/master/main.go)

Great work, many thanks.


Provide support for running ElasticSearch with X-Pack

Importing files when X-Pack is configured results in a success message and no imported data.
Under investigation.

XPack is a paid feature. closing.


GIC common code for V1V2 and V3

GIC V1 V2 V3 driver are refactored to use the common GICD code.
This reduces the code base to a good extent. There are few #if  but I feel its manageable considering the benefit of code sharing.
There are few abstractions eg: the SGI generation API and cpu id extraction. These can be useful in future if someone adds SMP
support.

@stephanosio  This change set was dangling in my workspace during V3 implementation . Before I loose it I though to push. Please have a look if this will help. I have re-based and tested on 'qemu'.

Superseded by https://github.com/zephyrproject-rtos/zephyr/pull/26681


correct set-key subcommand

make sure it sends public and private key in the expect order of setKey() in drone client.

great catch :)


bug: Rotating from portrait to landscape breaks scanner on ipad

Plugin(s)

[X] Barcode Scanning
[ ] Face Detection
[ ] Face Mesh Detection
[ ] Selfie Segmentation
[ ] Translation

Version
6.1.0
Platform(s)

[ ] Android
[X] iOS
[ ] Web

Current behavior
On most devices when opening the barcode scanner in portrait mode and then turning to landscape mode the picture in the scanner window turns correctly.
On Ipad10 when turning the barcode scanner window from portrait to landscape the picture doesnt turn and the window is cut on the right side.
So our app itself and the overlay turns correctly to landscape mode but the scanner stays in portrait mode.
// Portrait Mode

// Broken Landscape Mode after rotating

Interesting:
Starting the scanner in landscape mode works correctly. The issue only occurs when turning the scanner from portrait to landscape while running and only on our ipad test device.
Expected behavior
When turning to landscape mode the scanner turns correctly on ipad.
Reproduction
The bug lies withing the scanner itself
Steps to reproduce
Run BarcodeScanner.startScan on Ipad 10
Turn from Portrait Mode to Landscape -> The picture from camera is rotated incorrectly and black bar occurs.
Other information
No response
Capacitor doctor
I currently cannot run this command but can provide the next days.
Before submitting

[X] I have read and followed the bug report guidelines.
[X] I have attached links to possibly related issues and discussions.
[X] I understand that incomplete issues (e.g. without reproduction) are closed.

Unfortunately, I don't have access to an iPad 10. Feel free to create a PR.

are we progressing in this?


missing very small numbers

Lightweight Charts™ Version:
"lightweight-charts": "^4.2.0",
Steps/code to reproduce:
import React, { useEffect, useRef } from "react";
import "./App.css";
import { createChart } from "lightweight-charts";

function App() {
  const containerRef = useRef<HTMLDivElement>(null);

  useEffect(() => {
    if (!containerRef?.current) return;
    const chart = createChart(containerRef.current, {
      height: 400,
      width: 400,
    });
    const series = chart.addCandlestickSeries({});

    // Cryptocurrencies have less precision( > 1e18)
    series.setData([
      {
        time:<PHONE_NUMBER>000,
        open: 0.00000259156993297133,
        close: 0.00000270062606671658,
        high: 0.00000271419321101925,
        low: 0.00000258994313782098,
        value: 181690.2,
      },
      {
        time:<PHONE_NUMBER>000,
        open: 0.00000270062606671658,
        close: 0.00000273456803891399,
        high: 0.00000276439570539845,
        low: 0.00000264702985918424,
        value: 153514.3,
      },
      {
        time:<PHONE_NUMBER>000,
        open: 0.00000273456803891399,
        close: 0.00000272255080043839,
        high: 0.00000277857035163983,
        low: 0.00000268630291292406,
        value: 15966.9,
      },
      {
        time:<PHONE_NUMBER>000,
        open: 0.00000272255080043839,
        close: 0.00000279213164316431,
        high: 0.00000279213164316431,
        low: 0.00000272255080043839,
        value: 43375.5,
      },
      {
        time:<PHONE_NUMBER>000,
        open: 0.00000279213164316431,
        close: 0.00000278222472467185,
        high: 0.00000285469467700814,
        low: 0.00000272695091763052,
        value: 157521.3,
      },
      {
        time:<PHONE_NUMBER>000,
        open: 0.00000278222472467185,
        close: 0.00000275678487508767,
        high: 0.00000278222472467185,
        low: 0.00000270339339114587,
        value: 36381.4,
      },
      {
        time:<PHONE_NUMBER>000,
        open: 0.00000275678487508767,
        close: 0.00000274014820763413,
        high: 0.00000275678487508767,
        low: 0.00000268562824034948,
        value: 20389.2,
      },
      {
        time:<PHONE_NUMBER>000,
        open: 0.00000274014820763413,
        close: 0.00000272325608959985,
        high: 0.00000274141793578471,
        low: 0.00000267333463370322,
        value: 14105.3,
      },
      {
        time:<PHONE_NUMBER>000,
        open: 0.00000272325608959985,
        close: 0.00000267647064539773,
        high: 0.00000273084516135978,
        low: 0.0000026697981155535,
        value: 10385.5,
      },
      {
        time:<PHONE_NUMBER>000,
        open: 0.00000267647064539773,
        close: 0.00000277372035519743,
        high: 0.00000277372035519743,
        low: 0.00000267647064539773,
        value: 6688.7,
      },
      {
        time:<PHONE_NUMBER>000,
        open: 0.00000277372035519743,
        close: 0.0000027537541408779,
        high: 0.00000280808163037818,
        low: 0.00000271013369822416,
        value: 11307.1,
      },
      {
        time:<PHONE_NUMBER>000,
        open: 0.0000027537541408779,
        close: 0.00000284961846512869,
        high: 0.00000285654818653974,
        low: 0.0000027537541408779,
        value: 90542.1,
      },
      {
        time:<PHONE_NUMBER>000,
        open: 0.00000284961846512869,
        close: 0.0000027984540457049,
        high: 0.00000287328567714431,
        low: 0.00000278344384120351,
        value: 63199.5,
      },
      {
        time:<PHONE_NUMBER>000,
        open: 0.0000027984540457049,
        close: 0.00000287714913920343,
        high: 0.00000287762058767082,
        low: 0.00000279274530959931,
        value: 35651.8,
      },
      {
        time:<PHONE_NUMBER>000,
        open: 0.00000287714913920343,
        close: 0.0000028107421473334,
        high: 0.00000287714913920343,
        low: 0.0000028107421473334,
        value: 12985.4,
      },
      {
        time:<PHONE_NUMBER>000,
        open: 0.0000028107421473334,
        close: 0.00000290277077857219,
        high: 0.00000290277077857219,
        low: 0.00000280962627955995,
        value: 59419.5,
      },
      {
        time:<PHONE_NUMBER>000,
        open: 0.00000290277077857219,
        close: 0.00000278838140074049,
        high: 0.00000290488339369962,
        low: 0.00000278838140074049,
        value: 74716.2,
      },
      {
        time:<PHONE_NUMBER>000,
        open: 0.00000278838140074049,
        close: 0.00000281500311348989,
        high: 0.00000283771909642947,
        low: 0.00000275689652356568,
        value: 40572.5,
      },
      {
        time:<PHONE_NUMBER>000,
        open: 0.00000281500311348989,
        close: 0.00000276175272680401,
        high: 0.00000282104905121399,
        low: 0.00000275659616859176,
        value: 11104.1,
      },
      {
        time:<PHONE_NUMBER>000,
        open: 0.00000276175272680401,
        close: 0.00000275544872739402,
        high: 0.00000282438646244086,
        low: 0.00000275544872739402,
        value: 12041.3,
      },
    ]);

    chart.timeScale().fitContent();
  }, []);

  return (

  );
}

export default App;

Actual behavior:

Expected behavior:

Screenshots:

CodeSandbox/JSFiddle/etc link:
[]]
https://codesandbox.io/p/devbox/cold-browser-7xx2rf

Hi, could you pls explain more of what you are trying to achieve? From the code you submitted, there is no issue it is just how it works. your value is around 1e-22  and in priceFormatter  you have a .toFixed(2) which is '0.00' for such small numbers

Hi, could you pls explain more of what you are trying to achieve? From the code you submitted, there is no issue it is just how it works. your value is around 1e-22 and in priceFormatter you have a .toFixed(2) which is '0.00' for such small numbers

Yes, there is no problem with the code.
But when value is extremely small, rightPriceScale is no longer displayed.
I hope the final format is
0.0000000001 => 0.0{9}1

Hi, could you pls explain more of what you are trying to achieve? From the code you submitted, there is no issue it is just how it works. your value is around 1e-22 and in priceFormatter you have a .toFixed(2) which is '0.00' for such small numbers

Yes, there is no problem with the code. But when value is extremely small, rightPriceScale is no longer displayed.
I hope the final format is 0.0000000001 => 0.0{9}1

I tried to enlarge its precision, turn it into an integer, and then reduce its precision through
localization.priceFormatter, and achieved my purpose.
But it has a new problem.
The height of the candlestick chart is very small and there are negative numbers.

Did you specify minMove https://tradingview.github.io/lightweight-charts/docs/next/api/interfaces/PriceFormatCustom for the series? I tried  to modify your original code in code sandbox and added formatting and I can't reproduce case with negative numbers. Could you provide more detailed example of how to reproduce your issue? C

you need to specify the series' priceFormat https://codesandbox.io/p/devbox/cocky-murdock-gq5kwh?file=%2Fsrc%2FApp.tsx%3A18%2C12  Please check the docs https://tradingview.github.io/lightweight-charts/docs/api/interfaces/PriceFormatBuiltIn and https://tradingview.github.io/lightweight-charts/docs/api/interfaces/PriceFormatCustom

Did you specify minMove https://tradingview.github.io/lightweight-charts/docs/next/api/interfaces/PriceFormatCustom for the series? I tried to modify your original code in code sandbox and added formatting and I can't reproduce case with negative numbers. Could you provide more detailed example of how to reproduce your issue?

Thanks for your quick answer.
The negative numbers are another solution I tried,
but the problem I have now is that the price on the right disappears. As shown in the sandbox

did you check the https://codesandbox.io/p/devbox/cocky-murdock-gq5kwh?file=%2Fsrc%2FApp.tsx%3A18%2C12 ?

您检查过https://codesandbox.io/p/devbox/cocky-murdock-gq5kwh?file=%2Fsrc%2FApp.tsx%3A18%2C12吗？

Thanks for your idea, I have solved the problem.


Create anypoint-monitoring-visualizer.md

@alejandrorascovan and @federicoboerr , docs editing is complete. Would you please review so I can merge this PR?


Fix floating point conversions and comparisons; fix immediate value parsing

Conversions from floating-point to integer and vice-versa were incorrect.
Floating-point extension and truncation were incorrect.
Floating-point comparisons were performed without interpreting the values as floating point.
Implemented BitCast instruction.
Reading immediate values with a negative exponent was not handled.

Hello Sacusa,
Just wanted to let you know I have verified your branch and it will be merged in soon. I wanted to let you know in advance that in the next few days the master branch is going to be updated to the new gem5-SALAMv2 code base, which has a completely new parser written using the LLVM API and updated to version 9. It also supports internal function calls, which was a major limiting factor of the old parsing method. Additionally the new version can be compiled to support AP data types or standard data types, all still using the LLVM API codebase. We will continue to provide support for the old version as we work towards finalizing the new version, and in the future the transition to v2 should be very straight forward, as we are working to automate and formalize as much of the setup process as possible.

Hi Josh, thanks for the update! I didn't realize at the time of creation of this pull request that there is a dev branch which seems to have taken care of most of the bugs I mentioned. Looking forward to v2 of the simulator!


Add aliases function to the index module

This function works with the Indices API to be able to add and remove aliases on existing indexes.
https://www.elastic.co/guide/en/elasticsearch/reference/7.2/indices-aliases.html

I think this should be in a new, separate alias module, so the API would look like this:  Elastix.Alias.create(http://localhost:9200", actions). Could you make that change?
Thanks for writing some tests and the documentation :heart:

Thank you :heart:


rulebase overwriting object that weren't pulled

I'm using version 0.6.6 and Python3
Is it normal that when you are pulling the security rule
rulebase = pandevice.policies.Rulebase()
fw.add(rulebase)
current_security_rules = pandevice.policies.SecurityRule.refreshall(
rulebase)
You are performing modification on the ruleset and then you rulebase.apply() and fw.apply()
That you are loosing all the other configuration that you didn't pull into the current rulebase ?
I got a case where I did a lot of modification to the security rule and then all the nat rule disappeared from the firewall.

Hello,
Yes that’s expected. apply() replaces the configuration at that node with the pandevice objects. Security rules and NAT rules share the same Rulebase parent, so an apply() on the rulebase will replace all rules including Security, NAT, decryption, etc.
Instead, try using the apply_similar() method on the SecurityRule object (not the Rulebase object). apply_similar() applies all objects of the same type with the same parent, so it will apply all SecurityRules without touching the NAT rules.
Sent with GitHawk

Hi,
Thanks for the precision.  There is almost no explanation of theses differences.  Or I'm not looking at the correct documentation.
Some good howto would really prevent theses kind of misunderstanding.

Agreed. Documentation needs an overhaul. We added a lot of functionality but it’s mostly “documented” via issues and Gitter chats.  We are working on improving this.
Something that might help but isn’t well known right now is these tutorial notebooks we made for Ignite. Will try to tie those into the documentation better.
https://github.com/PaloAltoNetworks/pandevice-tutorial?files=1
Sent with GitHawk

Yes I went trough the notebook for some of that documentation for another project and it has been useful !
But I think it would really be a good idea to do a short summary with some of the method like apply() and the fact that it overwrite everything under it's parent object where it's used should be mentioned on page one.
One example with modifying a bunch of Firewall rules would be great for other engineer using the library. That at least the issues this created will not impact other users that need to guess how it works.

Sounds good, thanks for the feedback. We’ll keep this issue open to track the documentation change.


Training cost?

May I ask how many GPU times you used for training?

I also want to know the training process takes how many gpu days ?

What?
Have you send it?
What is the tracking number?
Nisso Hayon
346 368-4040
On Wed, Nov 29, 2023 at 08:41 田运杰 @.***> wrote:

I also want to know the training process takes how many gpu days ?
—
Reply to this email directly, view it on GitHub
https://github.com/guoyww/AnimateDiff/issues/207#issuecomment-1832025817,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJQAZF4GYTE3OX7JL5X4ZMDYG5CSBAVCNFSM6AAAAAA6355M7GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMZSGAZDKOBRG4
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Use High dpi pixmaps

This makes Spyder (even more) beautiful, especially with the new icon theme.

With PyQt4, this has no effect.

:+1:


Online demo parameters

I'd like to get the same results with Omni model as demonstrated in huggingface demo using the inference code in this repo.
Could you share what parameters like anchor/grid, input resolution etc. you use under the hood? Is there any other pre- or postprocessing for the query or the input image that is absent from the inference code?
For example, with an image that says:
MAKE TEXT
STAND OUT FROM
BACKGROUNDS

I've got the following results:
With inference code:
from docowl_infer import DocOwlInfer

model_path = 'mPLUG/DocOwl1.5-Omni'
docowl=DocOwlInfer(ckpt_path=model_path, anchors='grid_9', add_global_img=True)
query = "Parse texts in the image."
answer = docowl.inference(image_path, query)

Output:
<doc>     MAKE TEXT FROM IEX
    STAOKOROUNDLICKGRIUINI </doc>

While the demo gives outputs:
[doc] TEXT MAKE
STAND OUT FROM
BACKGROUNDS [/doc]

EDIT: Added example

Hi, @MayStepanyan there are no parameter differences between online demo and inference code. However, I found that the web code (gradio) of the demo will resize the input image. For example, an 1890x1352 image will be resized to 559x400 before being fed to the model. This may influence the prediction.

@HAWLYQ thanks for your prompt response.
Could you please specify the DocOwlInfer instance arguments from the demo too, specifically:

anchors
add_global_img

Also, it seems that model.generate from the demo uses sampling, while the inference script clearly doesn't (do_sample is set to False`. If not, whats the top P from the left toolbar in the demo? Could you clarify this too?
Thanks.

@MayStepanyan ，for online demo，ahchors is grid_9 and add_global_image is true. Actually，the sample and top p are not used in our demo，you can find details in the files of our hf space

Thanks!


Add Hummingbird endpoint

https://datacatalogue.sodanet.gr/oai?verb=ListIdentifiers&set=HumMingBird_Data&metadataPrefix=oai_ddi

url: https://datacatalogue.sodanet.gr/oai
code: HumMingBird
validationGate: BASIC
metadataPrefixes:
- metadataPrefix: oai_ddi
setSpec: HumMingBird_Data
ddiVersion: DDI_2_5
validationProfile: https://cmv.cessda.eu/profiles/cdc/ddi-2.5/latest/profile.xml

What friendly name should be used?

I cannot see HMB as a Publisher in staging (English or Greek). I am guessing that the (currently) 10 records in the HumMingBird_Data set are also included in the main catalogue and are therefore discarded as duplicates. I will check with EKKE.

From: John Shepherdson
Date: Wed, 8 May 2024 at 17:09
Subject: Re: [Hummingbird] Follow-up from CESSDA team call on 22 January 2024
To: Nikos Klironomos
Cc: Dimitra Kondyli, Panagiota Starida
Nikos,
Thanks for this.
We have attempted to harvest these datasets and tag them as being published by Hummingbird, but they don't show up, as they are regarded as duplicates of the records in your main catalogue.
The problem is that the record identifiers are based on the canonical OAI-PMH URL of the endpoint and OAI-PMH record identifier (see https://datacatalogue.cessda.eu/documentation/oai-pmh-identifiers.html), which are the same in this case, regardless of the set spec.
So the only way for this to work is to either:

create a new set containing all your existing records (except the Hummingbird ones), then we can harvest both as there are no duplicates in the combined sets
create a new (virtual) endpoint that has a different canonical URL and serve the Hummingbird records from there - we can harvest both endpoints and ignore the duplicates, as they will have different identifiers and appear to be different to the CDC indexer

I suspect the first option is preferable, as it means other clients can choose to either harvest all your records, or one/both subsets from the same endpoint.
Regards,
John

From: Nikos Klironomos
Date: Wed, 8 May 2024 at 17:36
Subject: Re: [Hummingbird] Follow-up from CESSDA team call on 22 January 2024
To: John Shepherdson
Cc: Dimitra Kondyli, Panagiota Starida
Dear John,
Thank you very much for your reply.
Yes, it seems that the first solution is preferable for me too.
I will work it out and we will be in touch.
Regards,
Nikos

Dear John,
I hope this message finds you well.
I am writing to inform you about the current status of our OAI-PMH endpoints and to seek clarification on the management of the HumMingBird data within the CDC.
We now have two OAI-PMH endpoints available:
An endpoint dedicated exclusively to the HumMingBird data. (  https://datacatalogue.sodanet.gr/oai?verb=ListIdentifiers&set=SoDaNet_Minus_HumMingBird_Data&metadataPrefix=oai_ddi  )
An endpoint that encompasses the sum of the data projects in our repository, excluding the HumMingBird data. (  https://datacatalogue.sodanet.gr/oai?verb=ListIdentifiers&set=HumMingBird_Data&metadataPrefix=oai_ddi  )
However, we have encountered a challenge with the second endpoint. We are currently unsure if it will automatically refresh when a new data project is published. Unfortunately, we cannot test this functionality at the moment due to the absence of any new data projects to publish.
Additionally, we would like to understand how the HumMingBird data will be managed within the CDC. Specifically:
Will the HumMingBird data be available as a separate collection apart from the main catalogue?
How will these data be visible to end-users? At present, the HumMingBird data are accessible through the main CDC. Will this remain the same, or are there plans for any changes?
As we are approaching the deadline for the D11.5 deliverable, it is essential that we inform the HumMingBird team about these details. Your insights on the above matters will be invaluable for our report.
Thank you very much for your assistance.
Best regards,
Dimitra

Dimitra,
Thanks for getting in touch with the latest details. I have CCd Kristina (the CDC Service Owner) as she needs to be in the loop regarding what happens next.
For testing purposes, we have added a new endpoint for the HumMingBird data in the staging environment and the HumMingBird metadata appears among with all the other metadata and can be filtered so only the HumMingBird data is shown, like this:
https://datacatalogue-staging.cessda.eu/?publisher.publisher[0]=HumMingBird
If Kristina is in agreement, this could be done in the production environment too then you would be able to use this URL
https://datacatalogue.cessda.eu/?publisher.publisher[0]=HumMingBird
in D11.5 to show that the metadata is published and available to researchers.
(We would also need to update the SoDaNet endpoint specification to exclude the HumMingBird metadata.)
In the medium term, we are planning to turn CDC into a thematic portal, so that various data collections have their own URL and their own look and feel (though similar to the current CDC one). Users would be able to easily switch between the themes to explore different collections. HumMingBird could be one of them.
I hope this helps.
Regards,
John

Kristina,
Are you OK with this?
Regards,
John

Hi,
Yes, I think this is ok!
Kristina

@matthew-morris-cessda can you push this change to production soon? Thanks

Push this changes to production for 3.7.0


[fix][build] Mongo is fixed for 2.10.5

Motivation
After updating the branch to 2.10.5 to prepare for release cycle the build fails.
Modifications
Update the missed change to pulsar-io/mongo/pom.xml
Verifying this change

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

[ ] doc

[ ] doc-required

[x] doc-not-needed

[ ] doc-complete

I'm going to merge this since it is necessary, but the CI is in bad shape and there is a lot of work to do to fix the branch.


Bug: rounding error with negative numbers

There is an issue because of this line of code:
https://github.com/socraticorg/mathsteps/blob/master/lib/simplifyExpression/arithmeticSearch/index.js#L52
Negative numbers go into the if statement right now, which keeps only 4 significant digits
e.g. -1953125 becomes -1953000
That line should be changed to if (-1 < result < 1), which means if the number is 0. .... or  -0. .... it will round to only 4 digits after the decimal, which was my original intention (but I forgot about negative numbers 😅)
This is a one line code change (plus adding a test to make sure it's not broken anymore), which is great for a first PR!
to read more about how we found this issue, see #72

Hi, I would love to take on this issue.  I have been lurking the mailing list for a while, this seems like a good first step.

Also see #160

Hi @starside ! I'm so excited that you're wanting to get involved with mathsteps!
Unfortunately, for the next few weeks I'm planning to block changes to this project, because there are some people working on a huge change to the codebase that'll probably change almost every line of code here, haha - so I wanna wait until that's done before making any other changes (and I'll need to update open issues and everything once it's done too). You can check out what's going on by looking at the porting branch or reading the open pull requests, or chatting with @aliang8 :)
So so sorry that the moment you expressed interest is one when it's hard for you to contribute, but I'd love for you to get involved as soon as this big reshuffle is done! (Or maybe @aliang8 can find some small tasks to get you started in helping with porting, if you're interested 😄 )
Let me know if you have any questions

Thanks!  I guess I will have to wait, unless @aliang8 has something for me to do.  You are moving to a custom parser correct?

Yes! It's going to be awesome. We're also changing the way you define simplifying rules to be more intuitive and easier to write. I'm hoping it'll make contributing to mathsteps much easier, and that it'll also make it easier to implement more complicated cool things soon!!

Hey @starside!!! Sorry for not responding on this thread. I've been somewhat busy with graduation related events. But regardless, I'm super excited for you to join and if you are interested, I do have some tasks for you to do. Maybe we can move away from this thread and chat privately on gitter?

Gitter works for me

Hi @starside ! feel free to make this change now, Socratic has decided to postpone the refactor. It should be just a one line fix. Are you still interested?
Let me know if you need help with anything!

Hey! I would like to do it if it is still available.  I did not notice your message until now.

go for it!

Ok, I fixed it and wrote a test.  I thought using abs might be a nice solution.  I can use only conditionals if you prefer.  Let me know if I did something not in the spirit of the project, then I issue a pull request?
function evaluateAndRound(node) {   let result = evaluate(node);   if ( Math.abs(result) < 1) {     result  = parseFloat(result.toPrecision(4));   }   else {     result  = parseFloat(result.toFixed(4));   }   return result; }
I also wrote a test
describe('evaluate arithmeticSearch', function () {   const tests = [     ['2+2', '4'],     ['2*3*5', '30'],     ['6*6', '36'],     ['9/4', '9/4'], //  does not divide     ['---1953125', '-1953125'], // verify large negative number round correctly   ];   tests.forEach(t => testArithmeticSearch(t[0], t[1])); });

looks good! feel free to make a pull request even when you're not sure if it's right - it's easier to comment on those than here :)
I think the test would be nicer as 16 - 1953125 since it's more likely to be input than ---1953125
looking forward to the PR and excited about this bug fix! thanks so much for taking it on :)

OH and I really like the use of abs - good call :)


Method 'save' not described in Illuminate\Contracts\Auth\Authenticatable

Method updateRememberToken() calls save() method on an object that implements Illuminate\Contracts\Auth\Authenticatable interface but this method is not described there and object may not contain such method.
Illuminate/Auth/EloquentUserProvider.php:
    public function updateRememberToken(UserContract $user, $token)
    {
        $user->setRememberToken($token);

        $user->save();
    }

it also assigns new remember token twice, setRememberToken() is also called before updateRememberToken():
Illuminate/Auth/Guard.php:
    protected function refreshRememberToken(UserContract $user)
    {
        $user->setRememberToken($token = Str::random(60));

        $this->provider->updateRememberToken($user, $token);
    }

Ah, we're just assuming if you're using the Eloquent provider ->save() is available.

but if you use custom auth driver and that driver implements only UserContract and don't have method save() there will be error

UserContract should have save() method defined or better implementation...

@taylorotwell These assumptions make it hard for other developers to replace your code, which is the primary reason for using the contract.
Adding the save() method would mean a major breaking change, but at least that is a break that can easily be detected, whereas this error will only be detected if / when someone finally calls updateRememberToken().

save() is only being used in EloquentUserProvider class, if let say you're using DatabaseUserProvider it never requires that (https://github.com/laravel/framework/blob/5.2/src/Illuminate/Auth/DatabaseUserProvider.php#L86).
Let's say one day someone wants to create DoctrineUserProvider, it doesn't depends that Authenticatable have save() method available.

@crynobone Then why not create another contract, or at least check if the given object has the save method... And then throw a proper exception describing that this user provider requires the save() function to be present.

If we pass in a different typehint (child of Authenticatable contract), would that break the UserProvider::updateRememberToken() contract https://github.com/laravel/framework/blob/5.2/src/Illuminate/Contracts/Auth/UserProvider.php#L31?

Even better, since EloquentUserProvider has the name of the model, it could do the save without breaking the contract; the contract specified getAuthIdentifierName() and getAuthIdentifier() giving me unique identifiers that I can use to find the Eloquent model, call setRememberToken() on it and then save() it.
That way I can pass in another implementation while still using it with EloquentUserProvider and in case I pass an actual Eloquent model instance than the query can be skipped and we save it directly.
Thereby you code against the interface you publish, you guarantee it works with any implementation of the interface, but you still get the optimization in case you pass in a specific type.

@crynobone  Yes it would, so I understand not doing that directly for this one case. Also if the save() is hardly ever required then adding it would be a burden to all implementors.
I'm just disagreeing with the implicit requirement that will never show up in testing, especially since there is a way to make it always work at a very minor cost of 1 query for cases where it does not work at all now, and the cost of 1 instanceof check for the situation where it currently works.

If there is a requirement, it should actually just check ($user instanceof Illuminate\Database\Model\Eloquent) and throws an exception if it's not. Since EloquentUserProvider is really just meant to be used with Eloquent.

I agree, but my point is there is an easy implementation that just works and obeys the contract... why not use that instead?
Like so:
public function updateRememberToken(UserContract $user, $token)
    {
        $user->setRememberToken($token);
        if ($user instanceof Illuminate\Database\Model\Eloquent) {
            $user->save();
        } else {
            // Taken from createModel()
            $model = $this->createModel()->newQuery()->find($user->getAuthIdentifier());
            $model->setRememberToken($token);
            $model->save();
    }

Some improvements still remaining, for example checking against the type $this->model instead of the base eloquent model. Also I don't know if this behavior is better than throwing an exception as you suggested. Either of those is better than just calling a function blindly though!
By the way, scrutinizer also detects these kinds of errors:
https://scrutinizer-ci.com/g/laravel/framework/code-structure/master/class/Illuminate\Auth\EloquentUserProvider#inspectioncomment-700653667

but my point is there is an easy implementation that just works and obeys the contract... why not use that instead?

Wouldn't that seem like allowing hacks to be implemented (hack here refer to sending  Authenticatable other than Eloquent instance).
if anything it should be.
    public function updateRememberToken(UserContract $user, $token)
    {
        $user->setRememberToken($token);
        if (! $user instanceof \Illuminate\Database\Model\Eloquent) {
            throw new \InvalidArgumentException('Expecting $user to be an instance of Eloquent');
        }

        $user->save();

        // ...
    }

That's fair enough; that is a decision that is outside of the purely technical scope and I'm not familiar enough with Laravel to go into that. However by doing this check you at least make the requirement on $user a bit more explicit.
Considering other scenarios where $user might be passed around internal functions several times and one of them could call save() this will make the life of a developer much simpler!

Considering other scenarios where $user might be passed around internal functions several times and one of them could call save() this will make the life of a developer much simpler!

This is what I mean by opening the possibility for hacks. Guard contract would retrieve the user using UserProvider contract, if you are set to use the EloquentUserProvider this would always return an eloquent instance.
The only times where this could change is for some reason you're using e.g LdapUserProvider and probably get a GenericUser, then during the request lifecycle you change the configuration to "eloquent" (not sure if this even possible) and then the code request "logout" which would update the remember token.
Now, the EloquentUserProvider accept the GenericUser, which my properly, this would throw an exception because it not possible to update the user using "eloquent" for LDAP users, which your suggestion it detect it's not an Eloquent and then still attempt to write the "eloquent".
Would you want to allow such hacks?

No, I don't see any use cases for those kinds of hacks, so exception seems like a great improvement to what is done currently.


Having "show input" off make enter after alt tab create a new line instead of sending

Checklist

[X] I'm reporting a problem with Chatterino
[X] I've verified that I'm running the most recent nightly build or stable release
[X] I've looked for my problem on the wiki
[X] I've searched the issues and pull requests for similar looking reports

Describe your issue
While "Show input when it's empty" is off, alt-tabbing to chatterino from another window cause pressing enter to create new line instead of sending it
Screenshots
https://user-images.githubusercontent.com/80816433/175144716-1dc85686-b55e-4088-8fbc-a8418920177a.mp4
OS and Chatterino Version
Chatterino Nightly 7.3.5 (commit 72396bfe modified) built on 2022-06-19 with Qt 5.15.2, Windows SDK, MSVC 193231329 Running on Windows 10 Version 1909, kernel: 10.0.18363

cc: #3619 #2844 etc


Massive Disk I/O Traffic Catalina

I'm new here -I've had a quick look at outstanding issues and couldn't see this one. I came because I noticed keybase was responsibkle for a of disk traffic on my Mac/Catalina. It's been 12 days since I rebooted and Activity Monior is showing disk usage of 179.69 GB written and 152.19 GB read - during that time keybase has sent 1.1 MB over the network and received 96 MB, memory usage looks sane, cumpaltive CPU usage is OK, although as type this, keybase is accounting for 80-120% of a CPU. This seems crazy to me.
I'm on 5.0.0-20191114182642+f73f97dac6 and MacOS 10.15.1

Sorry seems like this is the same issue as #21376 - I'll close this and add something to #21376


WebUSB support and Client trait

(this text will be edited, further discussion needed)
currently this PR adds support for something that is vaguely shaped like WebUSB, however:
- the actual WebUSB-specific part isn't done inside this repo (and maybe shouldn't be) - the implementation is rather generic and can probably be merged with nusb
- there is a dependency on dioxus::spawn which violates separation of concerns in 2 ways - 1. dioxus should IMHO not be a dependency of prpc, even behind a feature gate, 2. Dioxus is orthogonal to WebUSB. WASM prpc apps without Dioxus are totally possible, but Dioxus apps require to run inside the Dioxus scope. The solution to that would probably be something like a generic Spawner field on HostClient. But I don't want to start working on that before we've answererd the question of how to use async traits instead of HostClient::new_manual.
this PR adds a Client trait to implement a wire protocol backend, associated helper functionality for HostClient, and a WebUSB implementation of Client.

@dingari cool! My most recent commit also adds a wire implementation to relieve users of that implementation burden 😬
The dioxus dependency is required iff one is using dioxus, but the good news is that spawning can easily be delegated to a feature flag. However I'm not 100% happy with the way spawning is handled now (as per my latest commit, which moves prpc towards more code reuse regarding different wire backends), and have already raised this with James.

Awesome, works great!

good news, we don't need Dioxus anymore after all! an old version of my driver was using Dioxus signals to store state and that's probably what required the global Dioxus context. All gone now!


Allow custom constraints on UUID resource routes generated by jsonapi_resources

What?
At the moment, the routing method jsonapi_resources completely overrides
options[:constraints] if the resource's resource_key_type is :uuid.
This makes it impossible to define advanced custom constraints that would apply
to those routes, be them related to the :id param or not.
How?
I'm suggesting here to set options[:constraints][:id] in the only case that
no custom constraint was specified on :id. This allows to set a custom
constraint on :id (see below why), as well as others (such as :ip).
Why?
My personal reason to request this feature is to allow myself a way to define
shortcut API endpoints such as /api/users/me, where me will stand for the
current user's UUID. This is actually already possible when ids are numeric
(because options[:constraints] is not overridden).
Example
#config/routes.rb
jsonapi_resources :users, constraints: {id: /[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}|me/}

#app/controllers/application_controller.rb
class ApplicationController < JSONAPI::ResourceController
  before_action :_load_me, only: %w(get_related_resource get_related_resources)

  def _load_me key = "user_id"
    return unless current_user && params[key] == "me"
    params[key] = current_user.id
  end
end

#app/controllers/users_controller.rb
class UsersController < ApplicationController
  before_action :_load_me, except: %w(index create)

  def _load_me
    super("id")
  end
end

@davidstosik Thanks!


Illuminate\Events\Dispatcher::fire() removed in 5.8

In Laravel 5.8, the Illuminate\Events\Dispatcher::fire() method has been deprecated removed from the codebase, meaning that whenever this package triggers and event it throws a fatal error:

Call to undefined method Illuminate\Events\Dispatcher::fire()

This can be fixed by replacing::fire() with ::dispatch(). I'm happy to put a pull request together if you're okay with that?

Yes, for sure it's okay and if you aren't free I will do so very soon

Fab, I've created a pull request which should fix the problem. I've not been able to test it properly though. You can see my comment on the pull request.

Thank you!


Error: uninitialized constant Teaspoon::Framework

Error on trying to execute rails generate teaspoon:install (tested with bundle exec as well)
I looked at https://github.com/modeset/teaspoon/issues/370 , but all checked and errors persists.
Checked in gemfile.lock and  teaspoon-mocha is there.
Any ideas?
thanks

[WARNING] Could not load generator "generators/teaspoon/install/install_generator". Error: uninitialized constant Teaspoon::Framework.
/Users/mariohmol/.rvm/rubies/ruby-2.0.0-p598/lib/ruby/gems/2.0.0/gems/teaspoon-1.1.5/lib/generators/teaspoon/install/install_generator.rb
:14:in `<class:InstallGenerator>'
/Users/mariohmol/.rvm/rubies/ruby-2.0.0-p598/lib/ruby/gems/2.0.0/gems/teaspoon-1.1.5/lib/generators/teaspoon/install/install_generator.rb
:6:in `<module:Generators>'
/Users/mariohmol/.rvm/rubies/ruby-2.0.0-p598/lib/ruby/gems/2.0.0/gems/teaspoon-1.1.5/lib/generators/teaspoon/install/install_generator.rb
:5:in `<module:Teaspoon>'

/Users/mariohmol/.rvm/rubies/ruby-2.0.0-p598/lib/ruby/gems/2.0.0/gems/teaspoon-1.1.5/lib/generators/teaspoon/install/install_generator.rb
:4:in `<top (required)>'
/Users/mariohmol/.rvm/rubies/ruby-2.0.0-p598/lib/ruby/gems/2.0.0/gems/railties-4.0.1/lib/rails/generators.rb:280:in `block (2 levels) in
lookup'
/Users/mariohmol/.rvm/rubies/ruby-2.0.0-p598/lib/ruby/gems/2.0.0/gems/railties-4.0.1/lib/rails/generators.rb:276:in `each'
/Users/mariohmol/.rvm/rubies/ruby-2.0.0-p598/lib/ruby/gems/2.0.0/gems/railties-4.0.1/lib/rails/generators.rb:276:in `block in lookup'
/Users/mariohmol/.rvm/rubies/ruby-2.0.0-p598/lib/ruby/gems/2.0.0/gems/railties-4.0.1/lib/rails/generators.rb:275:in `each'
/Users/mariohmol/.rvm/rubies/ruby-2.0.0-p598/lib/ruby/gems/2.0.0/gems/railties-4.0.1/lib/rails/generators.rb:275:in `lookup'
/Users/mariohmol/.rvm/rubies/ruby-2.0.0-p598/lib/ruby/gems/2.0.0/gems/railties-4.0.1/lib/rails/generators.rb:137:in `find_by_namespace'
/Users/mariohmol/.rvm/rubies/ruby-2.0.0-p598/lib/ruby/gems/2.0.0/gems/railties-4.0.1/lib/rails/generators.rb:154:in `invoke'
/Users/mariohmol/.rvm/rubies/ruby-2.0.0-p598/lib/ruby/gems/2.0.0/gems/railties-4.0.1/lib/rails/commands/generate.rb:11:in `<top (required
)>'
/Users/mariohmol/.rvm/rubies/ruby-2.0.0-p598/lib/ruby/gems/2.0.0/gems/railties-4.0.1/lib/rails/commands.rb:48:in `<top (required)>'
bin/rails:4:in `require'
bin/rails:4:in `<main>'

Sorry guys, i figure it out, this worked RAILS_ENV=test bundle exec rails g teaspoon:install
wouldnt be good to have this rails_env with bundle in readme?
bests


[Admin] Publish

Learn Build status updates of commit 9783b48:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/develop/application-specific-api-model.md
:white_check_mark:Succeeded
View

docs/outlook/use-rest-api.md
:white_check_mark:Succeeded
View

docs/testing/runtimes.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


2 Factor enabled JAMF issue

Testing the tool for the first time, I tried and succeeded in updating 205 records in JAMF. However, because of the two-factor auth, I had 205 DUO prompts for authorization. Not sure if there's any way around this.

Interesting, I can't say as I've ever seen that.
What version of MUT were you using? Also, is this perhaps an LDAP user and your DUO setup is through LDAP? If you try creating a new local user for Jamf Pro, and using that, do you see the same behavior?

I believe its 5.2 I was using. And I think our auth is through active directory with DUO.

Understood. Yeah, I am guessing that prompt came from AD. Perhaps try creating an API user in Jamf Pro, and see if you see the same behavior. This will also allow you to be granular with the permissions you want for that API user, and to turn it on/off as you see fit for additional security.

Thanks. I'll see what's possible there.


Update utility.py

add rotate function as augmentation

Not looking to add specific functions, I want to keep this very general and open.


Ability to pass any class

Why classes are limited to size-only? Passing any class (or multiple classes) could be much more flexible!

yes for now, it works in conjunction with the new laravel panel to set the size of the fields, I do not know a way to do otherwise. @mpanius


Update formula: kerl

kerl moved from spawngrid's to yrashk's (which is probably the same person)

No idea why the CI fails

Still no clue

@BrewTestBot test this please

The CI failed because… it’s a head-only formula :smile:
Thank you for your contribution to Homebrew, @fenollp; We appreciate it!


Icon issues

This will become a super-issue for all issues relating to icon bugs and features.

Same here for Arch on Gnome 3
It's the one to the right of the Bitcoin

on Windows 10 the taskbar icon looks super fuzzy as well

Clicking on Franz's dock icon launches a second icon in my Fedora 28 with gnome (the problem is related by another user in AppImage/AppImageKit/issues/260). I solved it by adding the line StartupWMClass=franz in the app .desktop file.

on Kubuntu 18.04, it looks like this.


Add new github-actions container

Adding a new docker image explicitly for github actions to use.

Codecov Report

Merging #345 (7449544) into main (a14af13) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #345   +/-   ##
=======================================
  Coverage   88.42%   88.42%
=======================================
  Files          77       77
  Lines        1685     1685
  Branches       94       94
=======================================
  Hits         1490     1490
  Misses        167      167
  Partials       28       28

Flag
Coverage Δ

unittests
88.42% <ø> (ø)

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

Continue to review full report at Codecov.

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

You're right, we don't need sagemaker ARG stuff. We use the R container because R is required for both pre-commit and the testing workflow (mostly due to scran).


⚠ 366.ru has degraded performance

In 2be5a5e, 366.ru (https://366.ru) experienced degraded performance:

HTTP code: 200
Response time: 1508 ms

Resolved: 366.ru performance has improved in b1a71b2.


save/update inverses before record

Fixes #117
Before, inverses were being treated as any other relationship, thus being saved/updated after the model. If the model had any inverses, that had not been previously saved, the operation would fail, as the inverse is not saved but required to exist in the database.
Now, inverses are saved first, then the model, and, finally, the other relationships.

@smola the transaction is automatically done by kallax if it has to save more than one record (the case of relationships, for example)


Updated Julian date doc

Fixes #3944
Made JulianDate constructor arguments julianDayNumber and  secondsOfDay optional in the documentation.

Thanks @likangning93, looks good!

Very nice, thanks @likangning93 for your first PR!


UX changes in the login page

Removes branding redundancy
Welcoming should happen post-login, not before
Phrasing login session persistence from user's point of view
Fixed a spacing typo

@debloper  :+1:


test ci config

checking scala files...
error: missing Scalafmt configuration file.
Consider creating '/home/runner/work/github-action-test/github-action-test/.scalafmt.conf'
with the following (other parameters may also be required):
version = 3.8.3


Regression test for issue 6884

Added regression test for github issue 6884
https://github.com/doctrine/doctrine2/issues/6884

@javabudd this seems to test a closed issue that got fixed in 2.6.0 - can you rebase the branch so we can merge it? I'd gladly see this test merged in if that's the case :+1:

sorry for the delay, branch has been rebased with master

not sure why scrutinizer is failing when the unit tests pass, @Ocramius any ideas?

Don't worry about that specific failure: if scrutinizer picks up new issues (can happen if lines are moving) then it fails.


Bevy drawing behavior changes based on the window-size.

Bevy version
"0.4.0" - Crates.io
Operating system & version
Windows 10 -19042.782
What you did
If you draw images next to each-other with Bevy, it seems that if the window size is odd, they are not placed as expected. As an example, I created an image that is 10 x 10 pixels. I then set them next to each-other.

See Code
use bevy::{prelude::*, transform};

fn main() {
    App::build()
        .add_resource(ClearColor(Color::BLACK))
        .add_resource(WindowDescriptor{
            width: 799.0,
            height: 600.0,
            title: String::from("Draw"),
            ..Default::default()
        })
        .add_plugins(DefaultPlugins)
        .add_startup_system(setup.system())
        .run();
}

fn draw_thing(commands: &mut Commands, asset_server: &Res<AssetServer>,texture_atlases: &mut ResMut<Assets<TextureAtlas>>,pos_x: f32, pos_y: f32,index: u32) -> Option<Entity> {
    let texture_handle = asset_server.load("images/draw.png");
    let texture_atlas = TextureAtlas::from_grid(texture_handle,Vec2::new(10.0,10.0),10,1);
    let texture_atlas_handle = texture_atlases.add(texture_atlas);
    Some(commands
        .spawn(SpriteSheetBundle{
            texture_atlas: texture_atlas_handle,
            sprite: TextureAtlasSprite {
                color: Color::WHITE,
                index: index,
            },
            transform: Transform {
                translation: Vec3::new(pos_x,pos_y,0.0),
                ..Default::default()
            },
            ..Default::default()
        }).current_entity().unwrap())
}

fn setup(
    commands: &mut Commands,
    asset_server: Res<AssetServer>,
    mut texture_atlases: ResMut<Assets<TextureAtlas>>,
) {
    commands.spawn(Camera2dBundle::default());
    for i in 1..20 {
        draw_thing(commands,&asset_server,&mut texture_atlases,i as f32 *10 as f32,0.0, 0);
    }
}

What you expected to happen
I expect that the images will be lined up perfectly next to each other despite window size.
What actually happened
What happens is depending on the size of the window, the display is different.

Here is a reproduction of draw.png:

I haven't tested the reproduction code, but it does appear that it should draw the correct thing
@visualcode-t what is your monitor scale factor? This seems likely to be a result of window scaling

Here is a sample image for draw.png

Originally, I was running this at 2560x1440. I am not currently at that location, at my current location I am running 1920x1080. But, I was able to make a sample image (seen above) and use the source previously posted to reproduce the issue. Both systems are using the same operating system.

I've tested this on more PCs (all Windows). None of them have had correct results for this example.

Despite having previously tested this on multiple computers, I am no longer able to duplicate this issue using the code and image samples in this post. I am marking this closed.


Upgrade terraform-provider-ct to v0.3.0 to provide ignition schema v2.2.

Warning
It is not safe to upgrade the terraform-provider-ct plugin between
minor versions on existing managed clusters. Minor version upgrades of this
plugin will re-provision your cluster because the Ignition config output has
changed.
However Typhoon explicitly encourages using a replacement strategy rather than inplace upgrades, which could make it acceptable to upgrade the terraform-provider-ct plugin with a proper warning in documentation.
Changes
Upgraded documentation. The user must upgrade the plugin manually by overwriting the old plugin.
Testing
terraform-provider-ct v0.3.0 is upgraded to using container-linux-config-transpiler v0.8.0. Ran the config transpiler on the raw cl templates, and got the following warnings. The errors in bare-metal is due to the transpiler not understanding the terraform template language (the plugin passes the result from a rendered template to the transpiler.)
./aws/container-linux/kubernetes/cl/controller.yaml.tmpl
warning at line 126, column 7
mode unspecified for file, defaulting to 0644

./aws/container-linux/kubernetes/workers/cl/worker.yaml.tmpl
warning at line 96, column 7
mode unspecified for file, defaulting to 0644

./bare-metal/container-linux/kubernetes/cl/controller.yaml.tmpl
error: yaml: unmarshal errors:
  line 167: cannot unmarshal !!str `${netwo...` into types.Networkd
Failed to parse config

./bare-metal/container-linux/kubernetes/cl/install.yaml.tmpl
./bare-metal/container-linux/kubernetes/cl/worker.yaml.tmpl
error: yaml: unmarshal errors:
  line 100: cannot unmarshal !!str `${netwo...` into types.Networkd
Failed to parse config

./digital-ocean/container-linux/kubernetes/cl/controller.yaml.tmpl
warning at line 132, column 7
mode unspecified for file, defaulting to 0644

./digital-ocean/container-linux/kubernetes/cl/worker.yaml.tmpl
warning at line 102, column 7
mode unspecified for file, defaulting to 0644

./google-cloud/container-linux/kubernetes/cl/controller.yaml.tmpl
warning at line 127, column 7
mode unspecified for file, defaulting to 0644

./google-cloud/container-linux/kubernetes/workers/cl/worker.yaml.tmpl
warning at line 97, column 7
mode unspecified for file, defaulting to 0644

Removing the terraform variable also renders the rest of the bare-metal cl templates without errors.
./bare-metal/container-linux/kubernetes/cl/controller.yaml.tmpl
warning at line 133, column 7
mode unspecified for file, defaulting to 0644

./bare-metal/container-linux/kubernetes/cl/worker.yaml.tmpl
warning at line 94, column 7
mode unspecified for file, defaulting to 0644

This isn't safe or complete.
I wrote a full warning for plugin versioning with terraform-provider-ct a while ago. Clusters created when using the v0.2.x plugins should continue using the v0.2.x plugins, those created using the v0.3.x plugins should continue using the v0.3.x version. terraform-provider-ct is an unofficial plugin. As such, Terraform treats it globally - each cluster isn't allowed to have its own version of the dependency (as you'd expect with say the aws provider). Use of blue/green deployment does not save you from this problem.
Here, you're updating a single cluster. That's fine. Its the simple case. But users who have existing clusters created using the v0.2.x plugin, if they update to v0.3.0, that means running terraform apply again for any of those clusters managed on the same system is a change. It violates an important invariant - if cluster's definition hasn't changed (i.e. no change to source=..., no change to fields) a terraform apply is a NoOp. That also means if they did have a legitimate change (e.g. add new workers) they can't apply it until all bare-metal clusters use the new plugin (recreation) - its a non-starter and serious risk for impacting all managed clusters at one.
Ultimately, this will require a much better migration story (here was the plan just for v0.2.0 to v0.2.1). Likely, in upcoming releases, bare-metal clusters will ignore post-creation alterations to user-data. Then enough time must pass that most existing clusters are on a version with that change. Then we'll be able to write docs on updating the global plugin without affecting all managed clusters. Alternately, Terraform allows custom plugins to be treated non-globally like official plugins, but that's pretty unlikely.
Regarding the templating issue - templates should be fully evaluated before being used by ct_config. I think this is an artifact of how you're testing, since it should be the case when using the module.
However: If you're a new user, you may feel free to start out using terraform-provider-ct v0.3.0 though. It doesn't contain much that's new, but its not harmful.


support for ARM

Hi,
Now there are M6G instances, and EKS for ARM available - will an ARM64v8 build be available?

ARM support is available in v1.1.9. This is the first multi-arch image with support for

linux/amd64
linux/arm64
For further details, please refer to https://github.com/kubernetes-sigs/aws-alb-ingress-controller/releases/tag/v1.1.9

We need features (group.name) from 1.2.0. just wondering when 1.2.0 build for arm64 will be released?

ARM support and Ingress group support is available in the the new v2.0.0 release.


JAVA-2633: Add execution profile argument to DAO factory method

@GregBestland jenkins build is not finishing because of the revapi change:
https://jenkins-drivers-old.build.dsinternal.org/view/java-dse-driver/job/datastax.java-driver.java2633.commit/3/CASSANDRA_VERSION=4.0,JABBA_VERSION=oracle_jdk8,OS_VERSION=ubuntu%2Fbionic64%2Fjava-driver/console

@GregBestland jenkins build is not finishing because of the revapi change:
https://jenkins-drivers-old.build.dsinternal.org/view/java-dse-driver/job/datastax.java-driver.java2633.commit/3/CASSANDRA_VERSION=4.0,JABBA_VERSION=oracle_jdk8,OS_VERSION=ubuntu%2Fbionic64%2Fjava-driver/console

I think the revapi change was added yesterday.... I ran it locally and it was fine. I restarted the build. Let's wait for that to finish.

I think everything should be good to go now.


VersionId parsing from headers in Spark.Web does not support the Weak ETags specified in FHIR API

Describe the bug
Per HL7 R4 documentation, Resource VersionId values, when included in headers, are considered "weak ETags" (source).
In the reference FhirController implementation, the header value is simply extracted as-is (without stripping off W/" and trailing "). Reference Spark.Web source.
NOTE: This is not a bug in the Spark package itself; rather it's a problem in the reference Spark.Web implementation.
This results in errors when performing version-aware updates. Spark rejects the request because the version from the request contains the weak ETag formatting.
To Reproduce
Steps to reproduce the behavior:

Create a new FHIR resource of any desired type in your Spark FHIR server.
Retrieve its current version.
Modify it.
Use Hl7.Fhir.R4 NuGet package and its FhirClient.UpdateAsync with versionAware parameter set to true to HTTP PUT the updated version (requires the server to use the Spark.Web code linked above).
Receive a FHIR exception.

Expected behavior
Expectation is that the update will be accepted if the submitted resource version matches current on the server.
Spark version

Version: 2.1.0

Operating system + Database

OS: Linux and Windows tested
Database: MongoDB

Container service / Cloud infrastructure:

Container service: Docker and AWS ECS tested
Cloud provider: Local and AWS tested
Cloud infrastructure: Containers
Database as a service: local MongoDB and AWS DocumentDB with Mongo API tested

Additional context
I have successfully verified that Spark handles the version correctly if the header parsing is corrected. E.g., via use of a """^W/"(\d+)"$""" Regex to extract the id from the weak ETag.

Thanks for the report @JeremiahSanders, do you have a fix already in place that could be PR'ed?

@kennethmyhra : Unfortunately, no, I don't have a PR-able fix.
However, after testing, I discovered that there is a problem with version-aware updates within FHIR transaction requests. (I submitted that separately, under #714 .) I mention that because there may be some aspect of that issue's resolution which might impact how this issue is resolved. I.e., my workaround of stripping the prefix and suffix from the header's value before submission to IFhirService.UpdateAsync(IKey,Resource) might conflict with whatever resolution is identified for #714 .


Postfixfx tests

Include tests for PostfixFX

Even though TestFX throws exceptions on travis (and seemingly random ones locally), It does provide an accurate indication as to when tests fail and pass


[React library] Add custom index for svgr

As discussed in this PR, we want to have a custom index file for svgr to use for generating nicer types that can be used in Typescript.
Describe the solution you'd like to have
A custom index.js file that svgr uses to generate the files in ~/packages/iconoir-react/src/.

Thanks @PianoManDanDan! Just adding this quote as a quick reference:

Note: While the automatically generated types definition aren't ideal, it does work for now. I think it should be changed to something similar as the current definition - this would mean we have to create a custom index.js template for svgr.


Account for new fields in Prismic filled image type

Who is this for?
Devs, TS
What is it doing for them?
From 7.3.0, Prismic's type for FilledImage has two new keys that aren't documented for at all yet.
This breaks our tests and anything using mock data, and we don't want to add random data in those fields as it's unclear what they are for. So we chose to Omit them. I thought about Picking instead but I think for now it's quite readable... Opinions welcomed.
See https://github.com/prismicio/prismic-client/pull/326
See Slack convo

I juste (😄) noticed it was a draft, what's missing?

I've juste created it so I usually wait for tests to pass before I make it available for review. Feel free to have a snoop and approve, though!


SIGSEGV upon incoming UDP packet

When YaNFD version e12c57105546d5e8bb1c005fdecfb5f150c4c298 receives an incoming UDP packet, it crashes with the following error:
  INFO[0003] [UnicastUDPTransport, FaceID=0, RemoteURI=udp4://<IP_ADDRESS>:6363, LocalURI=udp4://<IP_ADDRESS>:6363] state: Down -> Up
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x5f97c2]

goroutine 61 [running]:
github.com/Link512/stealthpool.(*Pool).tryPop(0x0)
        /go/pkg/mod/github.com/zjkmxy/stealthpool@v0.2.1/pool.go:128 +0x42
github.com/Link512/stealthpool.(*Pool).Get(0x0)
        /go/pkg/mod/github.com/zjkmxy/stealthpool@v0.2.1/pool.go:76 +0x4b
github.com/named-data/YaNFD/face.(*NDNLPLinkService).handleIncomingFrame(0xc00061e3c0, {0xc00039a500, 0x3d, 0x0?})
        /app/face/ndnlp-link-service.go:383 +0x36
github.com/named-data/YaNFD/face.(*UDPListener).Run(0xc0004b0240)
        /app/face/udp-listener.go:105 +0x5f1
created by github.com/named-data/YaNFD/executor.(*YaNFD).Start
        /app/executor/yanfd.go:203 +0x17aa

The cause is:

In NDNLPLinkService type, l.stealthPool is initialized in Run method and used in handleIncomingFrame method.
In UDPListener type, handleIncomingFrame is called before Run.

Any idea why handleIncomingFrame is called before Run?

Reversing the order won't help because Run is in a new goroutine.
You need to create l.stealthPool in MakeNDNLPLinkService so that it's always there.

@zjkmxy any idea why handleIncomingFrame is called before Run?

UDP face is created upon reception of a packet. Thus that packet must be submitted to the face.
In current implementation, Run() is run as a coroutine, and there is no way to wait until the creation of l.stealthPool without refactoring the interface.

Reversing the order won't help because Run is in a new goroutine. You need to create l.stealthPool in MakeNDNLPLinkService so that it's always there.

Actually they did this at the beginning. But they wanted to defer the destruction of stealthpool.
Currently, there is no function such as LinkService.Close(), so they moved the function into Run().

You still can defer l.stealthPool.Close() in the Run function.

I think a couple of solutions:
1/ Make the stealthpool create on first use. As long as Run() is called at some point, we don't have a memleak.
2/ Get rid of it altogether. It's really meant to reduce just one copy, not sure it makes too big a difference.

The stealthPool has nothing to do with "to reduce one copy".
It's for reducing GC overhead.
I think you can just use a global sync.Pool.


fix unjustified uploads on P1 reading errors

resolves https://trello.com/c/bjadHLXr

Changes have been merged in PR #30.


Serialization breaks on NetworkInterfaceMetrics.networkInterfaceid

Can't serialize value (/system/networkInterfaces[0]/metrics/networkInterfaceid) : Invalid UUID string: eth0
It shouldn't be of type UUID. It should be a string.

Expected type 'Int' but was 'NetworkInterfaceSpeed'., Can't serialize value (/history[0]/networkInterfaceMetrics[1]/speed) : Expected type 'Int' but was 'NetworkInterfaceSpeed'


NumberFormatException thrown on server side but not reflected in notebook

Steps to reproduce
I expected Doubles for the sell_value and buy_value. However, some rows contained NA value instead. On the server log, exception was thrown and the record was dropped. However, working on the notebook, I was totally unaware of the data drop.
item_types = {"sell_value": tt.types.DOUBLE, "buy_value": tt.types.DOUBLE}

items_store = session.read_csv(
    "items.csv", keys=["id"], store_name="items_store", types=item_types
)

Expected Result
An exception thrown during store creation to warn users that some data are irregular and have been dropped.
Environment

atoti: 0.4.0
Python: 3.8.2
Operating System: win32

Logs (if relevant)
session.log

Related to https://github.com/activeviam/atoti/issues/266

Hello,
In next release a warning will be issued in the notebook when a loading error occur.
A more complete report about the store loading will be available in store.loading_report


Can't go back to the base layer

I have added a "Game" layer, it is almost exactly like "Base" layer with some minor differences. And then I added &to 4 key in Fn layer and it works - when I press Fn+my-key, it switches to  "Game mode".
I also added &to 0 key right next to it. But for some reason, it doesn't work. Not with Fn key. Even though Fn key &mo 2 is still present in the new layer.
And &to 0 key added directly in the "Game" layer works. But I don't want to waste a whole key, I want to be able to switch to the Base layer via Fn+some-key.
I tried using &tog (instead of &to) but it didn't have the desired effect

Turns out, I just needed to set all the keys that remain unchanged in the new layer as &trans, that way &tog works as expected.


[model support] please add support minicpm

MiniCPM has good effects and small parameters, and can be well combined with chat-RTX, so please support minicpm

As more and more new models enter the market, we have prepared comprehensive instructions for TRT-LLM developers on adapting to new models of interest. We encourage our community developers to expand the range of supported models, fostering an open ecosystem with rapid iterations.
Please try following these instructions and let us know if you encounter any issues during the adaptation process. We greatly appreciate your dedication.


Country input

Since we can't add new countries and their VAT an textinput makes no sense. An spinner like the vat itself would make more sense.

The idea is that the app has up to date liste of countries and their VAT rates, without any need for users to add them. The list of countries and rates is available here, and you are welcome to contribute.
Currently, there are 168 countries with VAT, and a spinner like the one for rates would not make any sense. For that reason TextInput with autocomplete (which actually acts as a spinner with text filtering) is implemented.


Add Control Keys

As a developer, we want to be able to create and get Keys.
Acceptance criteria

[ ] Add new control keys for an MSA ID
[ ] Endpoint should use corresponding types defined in /dtos
[ ] Create a test for the endpoint

The account-service may not need to create keys (mostly because who stores/returns that info and seed phrase for later recovery/control?).
Wouldn't you create new keys in the wallet?

@claireolmstead / @mattheworris I think this was about adding control keys an MSA, not generating the key.
Or did that end up in a different issue?

@claireolmstead / @mattheworris I think this was about adding control keys an MSA, not generating the key.
Or did that end up in a different issue?

I don't see another issue. Modified this one to be more specific (provide REST API for add_public_key_to_msa)

completed in #42


Server-side rendering

Many applications need to be able to render server-side, while an SPA interface is nice for reduced load afterwards... it would be nice to have an example/demo of a hybrid application, where there is an initial rendering server-side (output is HTML that a search engine can see), while then binding to the existing render, and running client-side from there.
I didn't see an option for server-side rendering, and definitely don't want something as big as the full DOM in node.js

This is definitely coming along with other things. Look for the last item on our FAQ for some more future plans: https://muut.com/riotjs/faq.html

+1

+1

+1

+1

+1

Nice. Beginning to see the need for this.

I like the idea of a succinct framework for custom tags, and having that option in the server side too would be great. Here are some interesting ideas:

https://github.com/Matt-Esch/virtual-dom/wiki#vdom-to-html
https://github.com/Swatinem/virtualdom
https://github.com/Raynos/mercury

+1

I have been looking at simple dom that ember guys are working on. Any thoughts about that?

It will be wonderful.

Please take a look into my pull request https://github.com/muut/riotjs/pull/358, my goal is server-side rendering as well. It's not yet there, I just started experimenting with various options how we can require and render a tag on server-side. Please let me know your thoughts. Thanks.

@speier looks fantastic! I started conversation on the PR.

@tipiirai great, thanks. I will comment to your responses on the PR.

@tipiirai i've closed the previous PR in favour to https://github.com/muut/riotjs/pull/368

I have played a bit with simple-dom and it seems the followings are missing at the moment:
document.querySelectorAll
element.innerHTML
element.outerHTML
element.style

Trying to solve by contributing to simple-dom however not sure if they ever want those, so there is a good chance it won't be implemented there, in that case we need to come up with possible workarounds.
Also, more importantly NodeList is not an Array, so can't access elements in childNodes.
Possible solution to change:
var nodes = root.childNodes,
    prev_index = [].indexOf.call(nodes, prev)

to
var nodes = [].slice.call(root.childNodes),
    prev_index = nodes.indexOf(prev)

This last one is really important, what do you think @tipiirai can we make this change?

@tipiirai seems we made good progress with simple-dom, @krisselden kindly merged https://github.com/krisselden/simple-dom/pull/5 which is important for us, see further conversation here https://github.com/krisselden/simple-dom/issues/4

Looks like you can make the above change from [].indexOf to [].slice and your contributions to simple-dom look great. Happy to see they merged your pull request!

+1 for server side rendering! We're looking at using Riot for a fairly large project and the lack of this feature (for indexing, facebook sharing etc.) is our main concern. Would love to know if there is a time-frame for this, and anything we can do to help.

@Avnerus see https://github.com/muut/riotjs/pull/512

@speier Thanks! Looks great. Will give it a shot.

How stable is this? Will this be included into the official Riot.js anytime soon?

@AndreasHeintze well, the implementation is using simple-dom which is a lightweight DOM implementation created for Ember's new FastBoot feature, so basically we are relying on one of their core module, which is pretty stable and will be maintained and improeved in the future as needed.
Regarding to your question about when it will be available, only Riot's maintainers could answer...

If you need to take a dependency on simple-dom or any other library i would hope you can keep it out of riot core and have a riot.serverside or whatever

@dotnetchris it's only extending riot in node/io.js, not affecting the browser builds

Riot + virtualdom would be a great thing!

@timuric riot uses already virtualdom https://github.com/muut/riotjs#custom-tags--concise-syntax--virtual-dom--full-stack--ie8

@GianlucaGuarini According to this "String based vs DOM based" https://muut.com/riotjs/compare.html templates rather similar to reactive templating (such as Blaze) than vdom. Virtual dom would give you ability to render server side templates, as well making more more flexible templates structures.

I am not sure adding a dependency to riotjs would be a good idea. @tipiirai what do you think?

@GianlucaGuarini Btw virtual dom is used by many frameworks https://github.com/Matt-Esch/virtual-dom/wiki
It is very minimal and modular. Basically collection of 3 pure functions – vtree, diff and patch. You can easily swap any of those.
Also it much faster than React http://vdom-benchmark.github.io/vdom-benchmark/ and as community grows around it there is a chance that it would be leading in performance (just a guess).
Personally I think with Riot would become very powerful with a true virtual dom.

@timuric Would you like to try making a pull request? Maybe I could check it out and see if it's worth it. Currently I am still fixing some other core bugs and I have no time for fancy requests :smile_cat:

@GianlucaGuarini I can replace Riot's with VD however it would not be useful enough, since it would be necessary to rewrite template compiler to keep familiar syntax. However I can create a speed benchmark to compare the two :)

@timuric ok 4 the benchmark!

I don't clearly see the benefits of using Matt-Esch virtual dom implementation. I poked around it before I started with Riot 2.0 and it seemed overly complex. Riot does not need "full" diff / patch operations.
The performance bottlenecks are being worked on.
... unless you can prove us all wrong

@tipiirai Is it possible to conditionally render parts of the html? Let say we have two div blocks and one of them conditionally appears in the final DOM tree?

Hi,
I wrote a small attempt for an isomorphic web app using Riot. The entire app code is shared and rendered between the client and the server, including the routing code using Page.js and also SystemJS/JSPM package management. Would be happy if you can check it out here:
https://github.com/ListnPlay/riot-isomorphic/
and suggest improvements so it can be published as an official example.
Thanks!
/Avner

@Avnerus looking really cool, maybe replacing cheerio with a template engine in express would be better, just a suggestion.

@speier Thanks! Yeah that's a good idea. Also I probably don't need to do html parsing and can just replace the string "" with the view.

@speier I've updated the example to use a template engine. Another thing I'm not sure about is my 'hack' to avoid the main tag being rendered twice (once by the server and once by the client). On the main tag's 'premount' event I clear any html rendered by the server.

@Avnerus yes, i'm aware of that, it gets rendered on the client even if the server already rendered. ideally we can have some kind of checksum on the tag(s) to avoid re-rendering. at least that was my first thought about this. i can take a look into this when #512 finally gets merged.

@speier Ok! Cool. So I guess my solution will sufifice for now. I guess the tricky part is that the tags do need to mount in the client so that the virtual dom and everything will be updated, but only the actual insertion to the real dom should be skipped.

@timuric yes, using if attribute:
<div if={ condition }>
  <!-- render this conditionally -->
</div>

with riot 2.0.14 thanks to https://github.com/muut/riotjs/pull/512 we finally got server side rendering
I am closing this bug for now


Repost Angular 17.1.* | nf | webComponents

Is there a repo example for usage of nf with web components both at angular 17.1.* version?
And is there a way to inherit stylesheet within another host (different repository host)
Proj A
some shared dependency
shell
basic ui
angular1-17v (host)
modules
Proj B - different repo
angular2-legacy (host)
use of 3rd party components with specific styles (imports / custom )
modules
webcomponents
repost

This here is using 17.1 but no web components:
https://github.com/manfredsteyer/module-federation-plugin-example/tree/nf-standalone-solution
However, the web component story did not change, since v16, so all you find in here should be still valid:
https://www.angulararchitects.io/blog/micro-frontends-with-modern-angular-part-2-multi-version-and-multi-framework-solutions-with-angular-elements-and-web-components/