Migrate - can it manage change into Primary Key row ?

Hi all,
Hope you can support me on this Migrate question
I have question about Migrate - which is sucessfully installed.
Just I want to change Primary key in a table and it generates error below.
Just wanted to know if Migrate can mange change of Primary Key ?
now:
class User(db.Model, UserMixin):
     id = db.Column(db.Integer, primary_key=True)
     username = db.Column(db.String(50))
     password = db.Column(db.String(64))
    company = db.Column(db.String(64))
before:
class User(db.Model, UserMixin):
      username = db.Column(db.String(50), primary_key=True)
      password = db.Column(db.String(64))
      company = db.Column(db.String(64))
flask db migrate -> working fine
flask db upgrade -> issue below
I got error below:
/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/flask_sqlalchemy/init.py:833: FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future.  Set it to True or False to suppress this warning.
warnings.warn(FSADeprecationWarning(
INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
INFO  [alembic.runtime.migration] Running upgrade  -><PHONE_NUMBER>3e, empty message
Traceback (most recent call last):
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1276, in _execute_context
self.dialect.do_execute(
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 609, in do_execute
cursor.execute(statement, parameters)
sqlite3.OperationalError: Cannot add a NOT NULL column with default value NULL
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/pedro/Courses/Flask/actif/TP6/abc/bin/flask", line 8, in
sys.exit(main())
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/flask/cli.py", line 967, in main
cli.main(args=sys.argv[1:], prog_name="python -m flask" if as_module else None)
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/flask/cli.py", line 586, in main
return super(FlaskGroup, self).main(*args, **kwargs)
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/click/decorators.py", line 21, in new_func
return f(get_current_context(), *args, **kwargs)
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/flask/cli.py", line 426, in decorator
return __ctx.invoke(f, *args, **kwargs)
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/flask_migrate/cli.py", line 134, in upgrade
_upgrade(directory, revision, sql, tag, x_arg)
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/flask_migrate/init.py", line 96, in wrapped
f(*args, **kwargs)
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/flask_migrate/init.py", line 271, in upgrade
command.upgrade(config, revision, sql=sql, tag=tag)
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/alembic/command.py", line 298, in upgrade
script.run_env()
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/alembic/script/base.py", line 489, in run_env
util.load_python_file(self.dir, "env.py")
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/alembic/util/pyfiles.py", line 98, in load_python_file
module = load_module_py(module_id, path)
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/alembic/util/compat.py", line 184, in load_module_py
spec.loader.exec_module(module)
File "", line 783, in exec_module
File "", line 219, in call_with_frames_removed
File "migrations/env.py", line 96, in
run_migrations_online()
File "migrations/env.py", line 90, in run_migrations_online
context.run_migrations()
File "", line 8, in run_migrations
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/alembic/runtime/environment.py", line 846, in run_migrations
self.get_context().run_migrations(**kw)
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/alembic/runtime/migration.py", line 522, in run_migrations
step.migration_fn(**kw)
File "/home/pedro/Courses/Flask/actif/TP6/1tuto-flask-ongoing/migrations/versions/77435978433e.py", line 21, in upgrade
op.add_column('user', sa.Column('id', sa.Integer(), nullable=False))
File "", line 8, in add_column
File "", line 3, in add_column
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/alembic/operations/ops.py", line 1929, in add_column
return operations.invoke(op)
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/alembic/operations/base.py", line 373, in invoke
return fn(self, operation)
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/alembic/operations/toimpl.py", line 132, in add_column
operations.impl.add_column(table_name, column, schema=schema, **kw)
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/alembic/ddl/impl.py", line 238, in add_column
self._exec(base.AddColumn(table_name, column, schema=schema))
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/alembic/ddl/impl.py", line 141, in _exec
return conn.execute(construct, *multiparams, **params)
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1011, in execute
return meth(self, multiparams, params)
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/sqlalchemy/sql/ddl.py", line 72, in _execute_on_connection
return connection._execute_ddl(self, multiparams, params)
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1068, in _execute_ddl
ret = self._execute_context(
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1316, in _execute_context
self.handle_dbapi_exception(
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1510, in handle_dbapi_exception
util.raise(
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 182, in raise
raise exception
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1276, in _execute_context
self.dialect.do_execute(
File "/home/pedro/Courses/Flask/actif/TP6/abc/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 609, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) Cannot add a NOT NULL column with default value NULL
[SQL: ALTER TABLE user ADD COLUMN id INTEGER NOT NULL]
(Background on this error at: http://sqlalche.me/e/13/e3q8)
Thanks

I don't really know, but this sounds like a really hard change to implement so my guess is that it would not work. This is more about Alembic and your database engine. Flask-Migrate is just a wrapper for Alembic. I suggest you post your question on Stack Overflow.

I don't really know, but this sounds like a really hard change to implement so my guess is that it would not work. This is more about Alembic and your database engine. Flask-Migrate is just a wrapper for Alembic. I suggest you post your question on Stack Overflow.


API request "UploadFile" fails to automatically attach file to node.

Bug Description
Hello Deep-Lynx Devs! I came across a potential bug with the Deep-Lynx processing system, and I was wondering if there was a simple fix to this issue. This has to do with the API request “UploadFile” in the Deep-Lynx API documentation in https://gitlab.software.inl.gov/b650/Deep-Lynx/-/blob/master/API Documentation/Core.swagger_collection.yaml.
The “UploadFile” description states that “Once Deep Lynx generates nodes and edges from that data, any files attached will automatically be attached to the resulting nodes/edges as well.” This request is able to upload both file and JSON metadata, but will not automatically attach the file to the new node in the graph tab.
Is there a simple solution to fix this issue? Let me know if you need any additional information!
Steps to Reproduce
Using the Python requests library, I have uploaded a ZIP file and JSON metadata in one POST request, however, when the Deep-Lynx system processes the JSON data and creates the node, it fails to attach the ZIP file to the newly created node on the graph visualization tool. I have confirmed that the JSON metadata and the ZIP file are both within the Deep-Lynx database and can be downloaded using the “DownloadFile” request.
Impact
We would like to see if we can use this to import data quickly using less requests and avoid too much internet traffic.

@alkuexan  Thank you for reporting this bug! We will look into it as soon as possible and get back to you if we cannot recreate it. Most likely it will be an easy fix :)
Thank you for being a DeepLynx user!

Also @alkuexan could I ask you a little about what you're using DeepLynx for and where you're located? If you'd rather not share those, or not share those publicly you can email me at<EMAIL_ADDRESS>We are extremely interested in our outside users and want to make sure we're doing all we can to make your experience a good one!


Create snap package

It would be great to have this as a snap. I can work on this when the service is considered feature-complete and has jobs setup in Jenkins

@tonyespy, what are next steps for the app-service-configurable snap creation in EdgeX?


Revert "Revert "Re-enable arm64 ngen (#3931)" (#3948)"

Make up your mind 😁

To be, or not to be...


Finally ended up with this:

A totally inscrutable error message.  I copied our src directory into a brand new CRA generated from scratch, and got the same error. I'm giving up for now.

But if you want to try, please do!


Question regarding "Down-the-Rabbit-Hole"

In your article https://github.com/brettwooldridge/HikariCP/wiki/Down-the-Rabbit-Hole you are saying

The invokevirtual call is replaced with a invokestatic call that is more easily optimized by the JVM.

Could you please point to some documentation regarding "more easily optimized by the JVM"?

You can read this article from the excellent Mechanical Symphathy blog, Invoke Interface Optimisations, to understand more.  Or Google "invokevirtual" and "on-stack replacement".

@doom369 In short, even if the JVM assumes a monomorphic callsite and inlines the invocation (which it probably will), it still must install a trap in case another implementation shows up and transforms the callsite to bimorphic or megamorphic.  This trap setting and clearing adds slightly more overhead to the invocation.
Additionally, a static invocation will require one less stack slot and therefore one less push/pop operation at runtime, which further boosts performance.

Thanks for reply. I read it before, but it seems a bit outdated. Also have a look here - http://stackoverflow.com/questions/30454904/large-difference-in-speed-of-equivalent-static-and-non-static-methods

@doom369 Hi Dmitriy, I assume you are participating in this discussion.  I registered on the site, but I am still "read-only" so I was not able to reply directly.
First I would like to comment on @odnoklassniki comment that their pool is 4x faster.  I have added their pool to the JMH benchmark and committed the changes for anyone to run.  Here is the result vs. HikariCP:
./benchmark.sh clean quick -p pool=one,hikari ".*Connection.*"

Benchmark                       (pool)   Mode  Cnt      Score      Error   Units
ConnectionBench.cycleCnnection     one  thrpt   16   4991.293 ±   62.821  ops/ms
ConnectionBench.cycleCnnection  hikari  thrpt   16  39660.123 ± 1314.967  ops/ms

This is showing HikariCP at 8x faster than one-datasource.
Keep in mind that not only has HikariCP changed since that wiki page was written, but the JMH test harness itself has changed.  In order to recreate the results I got at that time, I checked out HikariCP source with that specific commit, and checked out the source just before that commit.  I ran both using the benchmark harness available at that time:
Before static proxy factory methods:
Benchmark                             (pool)   Mode   Samples         Mean   Mean error    Units
ConnectionBench.testConnectionCycle   hikari  thrpt        16     9303.741       67.747   ops/ms

After static proxy factory methods:
Benchmark                             (pool)   Mode   Samples         Mean   Mean error    Units
ConnectionBench.testConnectionCycle   hikari  thrpt        16     9436.699       71.268   ops/ms

It shows a minor improvement after the change that is above the mean error.
Typically, every change is checked with the benchmark before being committed, so it is doubtful that we would have committed that change unless the benchmark showed improvement.

@brettwooldridge Exactly =). Thank you for detailed answer. I'll repost on our topic, until we find invitation.

@doom369 I don't know why I'm even commenting on [one-datasource], because it looks horrible, but I'll note these things, just looking at the source:

Does not track Statement objects.  So calling Connection.close() does not close open statements.
Does not test connections for validity at all.
Closes idle connections when getConnection() is called, rather than asynchronously.
Has no concept of maximum lifetime, which will cause problems with MySQL, or stateful firewalls between the server and database.
Reuses connection proxies, so if Thread A calls Connection.close(), but then continues to use the Connection it will corrupt transactions of another thread (Thread B) which has borrowed the connection.
Does not reset any connection state.  So, if Thread A calls setTransactionIsolation(READ_UNCOMMITTED), then closes the connection, another thread will be given the connection in READ_UNCOMMITTED isolation mode -- rather than the default isolation mode.  The same is true for setReadOnly(), setAutoCommit(), setNetworkTimeout(), and setCatalog().
Provides no timeout guarantees.  If a call to DataSourceImpl.getConnection() needs to create a new connection, and the getConnection() call to the real driver blocks, the user's thread will be blocked indefinitely until that call returns.
Calling Statement.getConnection() returns the real connection rather than the proxy Connection.  The same is true for ResultSet.getConnection().
Too many more ... I'm tired.

=))). Thank you very much for your time and great product! I updated post accordingly.
So let's see what author of one-datasource will reply.

@doom369
@brettwooldridge
give that project sometime. It is not even a day old on github :) compare when it matures in stability and features

@doom369 @odnoklassniki
Hi Dmitriy
I added a new microbenchmark repo.  I was curious myself about the claim that using the try-catch was slower than using a conditional.  I remembered benchmarking that when I wrote it, but lost the benchmark.
Here is the interesting result.  I have two identical FastList classes, except one uses the try-catch in the add() method, and the other uses a conventional conditional.
On Java 7 (jdk1.7.0_60):
java -jar target/benchmarks.jar -p listImpl=new,orig

Benchmark               (listImpl)   Mode  Cnt      Score    Error   Units
FastListBench.testList  new          thrpt   18  39662.960 ± 54.309  ops/ms
FastListBench.testList  orig         thrpt   18  14180.402 ± 78.944  ops/ms

On Java 8 (jdk1.8.0_60):
java -jar target/benchmarks.jar -p listImpl=new,orig

Benchmark               (listImpl)   Mode  Cnt      Score     Error   Units
FastListBench.testList  new          thrpt   18  25961.563 ±  90.275  ops/ms
FastListBench.testList  orig         thrpt   18  25448.721 ± 561.764  ops/ms

Clearly, the code with the try-catch is much faster on Java 7.  On Java 8 it seems to be a tie (and interestingly lower than Java 7).

I disagree with you.

I repeated tests on MacBook

java 8
Benchmark               (initCapacity)  (listImpl)   Mode  Cnt      Score     Error   Units
FastListBench.testList              32         new  thrpt   18  24749,979 ± 376,647  ops/ms
FastListBench.testList              32        orig  thrpt   18  24520,606 ± 158,518  ops/ms

java 7
Benchmark               (initCapacity)  (listImpl)   Mode  Cnt      Score      Error   Units
FastListBench.testList              32         new  thrpt   18  20756,450 ± 1053,567  ops/ms
FastListBench.testList              32        orig  thrpt   18  22265,491 ±  206,853  ops/ms

if we try look in asm the code (cut for describe only general path when all work without exception):
FastList
  0x000000010552b3c0: mov    %eax,-0x14000(%rsp)
  0x000000010552b3c7: push   %rbp
  0x000000010552b3c8: sub    $0x30,%rsp         ;*synchronization entry
                                                ; - com.zaxxer.microbench.FastList::add@-1 (line 76)

  0x000000010552b3cc: mov    %rsi,%r9
  0x000000010552b3cf: mov    0x18(%rsi),%r10d   ;*getfield size
                                                ; - com.zaxxer.microbench.FastList::add@6 (line 76)

  0x000000010552b3d3: mov    0x20(%rsi),%r11d   ;*getfield elementData
                                                ; - com.zaxxer.microbench.FastList::add@1 (line 76)

  0x000000010552b3d7: mov    %r10d,%r8d
  0x000000010552b3da: inc    %r8d
  0x000000010552b3dd: mov    %r8d,0x18(%rsi)    ;*putfield size
                                                ; - com.zaxxer.microbench.FastList::add@12 (line 76)

;  implicit range check on array for prevent overflow
  0x000000010552b3e1: mov    0xc(%r12,%r11,8),%r8d  ; implicit exception: dispatches to 0x000000010552b4d1
  0x000000010552b3e6: cmp    %r8d,%r10d
  0x000000010552b3e9: jae    0x000000010552b4ad
  0x000000010552b3ef: mov    0x8(%rdx),%r8d     ; implicit exception: dispatches to 0x000000010552b4ed
  0x000000010552b3f3: mov    0x8(%r12,%r11,8),%ecx
  0x000000010552b3f8: movabs $0x0,%rsi
  0x000000010552b402: lea    (%rsi,%r8,8),%rsi
  0x000000010552b406: movabs $0x0,%r8
  0x000000010552b410: lea    (%r8,%rcx,8),%r8
  0x000000010552b414: mov    0xe8(%r8),%rax
  0x000000010552b41b: mov    0xc(%rax),%ecx
  0x000000010552b41e: movslq %ecx,%r8
  0x000000010552b421: mov    (%rsi,%r8,1),%r8
  0x000000010552b425: cmp    %r8,%rax
  0x000000010552b428: jne    0x000000010552b460
  0x000000010552b42a: mov    %rdx,%r9
  0x000000010552b42d: shr    $0x3,%r9           ;*aastore
                                                ; - com.zaxxer.microbench.FastList::add@16 (line 76)

  0x000000010552b431: shl    $0x3,%r11          ;*getfield elementData
                                                ; - com.zaxxer.microbench.FastList::add@1 (line 76)

  0x000000010552b435: lea    0x10(%r11,%r10,4),%r10
  0x000000010552b43a: mov    %r9d,(%r10)
  0x000000010552b43d: shr    $0x9,%r10
  0x000000010552b441: mov    $0x1,%eax
  0x000000010552b446: movabs $0x111149000,%r11
  0x000000010552b450: mov    %r12b,(%r11,%r10,1)  ;*putfield size
                                                ; - com.zaxxer.microbench.FastList::add@12 (line 76)

  0x000000010552b454: add    $0x30,%rsp
  0x000000010552b458: pop    %rbp
  0x000000010552b459: test   %eax,-0x214945f(%rip)        # 0x00000001033e2000
                                                ;   {poll_return}
  0x000000010552b45f: retq

FastList2
  0x000000010a561dc0: mov    %eax,-0x14000(%rsp)
  0x000000010a561dc7: push   %rbp
  0x000000010a561dc8: sub    $0x30,%rsp         ;*synchronization entry
                                                ; - com.zaxxer.microbench.FastList2::add@-1 (line 73)

  0x000000010a561dcc: mov    0x20(%rsi),%ebx    ;*getfield elementData
                                                ; - com.zaxxer.microbench.FastList2::add@5 (line 73)

  0x000000010a561dcf: mov    0xc(%r12,%rbx,8),%r11d  ;*arraylength
                                                ; - com.zaxxer.microbench.FastList2::add@8 (line 73)
                                                ; implicit exception: dispatches to 0x000000010a561ee5
  0x000000010a561dd4: mov    0x18(%rsi),%ebp    ;*getfield size
                                                ; - com.zaxxer.microbench.FastList2::add@1 (line 73)

;  explicit range check on array for prevent overflow
  0x000000010a561dd7: cmp    %r11d,%ebp
  0x000000010a561dda: jge    0x000000010a561ec5  ;*if_icmpge
                                                ; - com.zaxxer.microbench.FastList2::add@9 (line 73)

  0x000000010a561de0: mov    %ebp,%r8d
  0x000000010a561de3: inc    %r8d
  0x000000010a561de6: mov    %r8d,0x18(%rsi)    ;*putfield size
                                                ; - com.zaxxer.microbench.FastList2::add@24 (line 74)

  0x000000010a561dea: cmp    %r11d,%ebp
  0x000000010a561ded: jae    0x000000010a561ead
  0x000000010a561df3: mov    0x8(%rdx),%r10d    ; implicit exception: dispatches to 0x000000010a561ef5
  0x000000010a561df7: mov    0x8(%r12,%rbx,8),%r11d
  0x000000010a561dfc: movabs $0x0,%rsi
  0x000000010a561e06: lea    (%rsi,%r10,8),%rsi
  0x000000010a561e0a: movabs $0x0,%r10
  0x000000010a561e14: lea    (%r10,%r11,8),%r10
  0x000000010a561e18: mov    0xe8(%r10),%rax
  0x000000010a561e1f: mov    0xc(%rax),%r11d
  0x000000010a561e23: movslq %r11d,%r10
  0x000000010a561e26: mov    (%rsi,%r10,1),%r10
  0x000000010a561e2a: cmp    %r10,%rax
  0x000000010a561e2d: jne    0x000000010a561e68
  0x000000010a561e2f: mov    %rdx,%r10
  0x000000010a561e32: shr    $0x3,%r10          ;*aastore
                                                ; - com.zaxxer.microbench.FastList2::add@28 (line 74)

  0x000000010a561e36: lea    (%r12,%rbx,8),%r11  ;*getfield elementData
                                                ; - com.zaxxer.microbench.FastList2::add@5 (line 73)

  0x000000010a561e3a: lea    0x10(%r11,%rbp,4),%r11
  0x000000010a561e3f: mov    %r10d,(%r11)
  0x000000010a561e42: mov    %r11,%r10
  0x000000010a561e45: shr    $0x9,%r10
  0x000000010a561e49: mov    $0x1,%eax
  0x000000010a561e4e: movabs $0x11617e000,%r11
  0x000000010a561e58: mov    %r12b,(%r11,%r10,1)  ;*synchronization entry
                                                ; - com.zaxxer.microbench.FastList2::add@-1 (line 73)

  0x000000010a561e5c: add    $0x30,%rsp
  0x000000010a561e60: pop    %rbp
  0x000000010a561e61: test   %eax,-0x217ce67(%rip)        # 0x00000001083e5000
                                                ;   {poll_return}
  0x000000010a561e67: retq

as you see we always have range check in main path, other code equivalent

and YES, code incorrect
      if (size < elementData.length) {
         elementData[size++] = element;
      }

because after increment we can create ArrayIndexOutOfBoundsException, it's reason why in array version we keep second range check

Alexey,
I'm not sure how you got your results, but I have tested on 3 different
Macs now (2012 iMac i7, 2013 MacBook Pro i7, 2014 iMac i5).  All produce
similar results for Java 7 and Java 8.
Here is a video of two of them:
https://youtu.be/xY-MLjSJvaY
On Tue, Oct 20, 2015 at 5:39 AM, Alexey<EMAIL_ADDRESS>wrote:

and YES, code incorrect
  if (size < elementData.length) {
     elementData[size++] = element;
  }

because after increment we can create ArrayIndexOutOfBoundsException, it's
reason why in array version we keep second range check
—
Reply to this email directly or view it on GitHub
https://github.com/brettwooldridge/HikariCP/issues/464#issuecomment-149340561
.

On Tue, Oct 20, 2015 at 5:39 AM, Alexey<EMAIL_ADDRESS>wrote:

and YES, code incorrect
  if (size < elementData.length) {
     elementData[size++] = element;
  }

because after increment we can create ArrayIndexOutOfBoundsException, it's
reason why in array version we keep second range check

I don't think you are reading that code correctly.  For example, suppose:
size=4
elementData.length=5
Then if (size < elementData.length) evaluates to true.
elementData[size++] is equivalent to elementData[4], with size
incremented to 5 after the array dereference.
Now, adding another element...
size=5
elementData.length=5
Then if (size < elementData.length) evaluates to false, so flow
continues in the else.
There is no ArrayIndexOutOfBoundsException after the increment.  FastList
is well covered by a junit test in the main HikariCP repository, and all
edge cases are handled.

I don't think you are reading that code correctly.  For example, suppose:
size=4
elementData.length=5
Then if (size < elementData.length) evaluates to true.
elementData[size++] is equivalent to elementData[4], with size incremented to 5 after the array dereference.
Now, adding another element...
size=5
elementData.length=5
Then if (size < elementData.length) evaluates to false, so flow continues in the else.
There is no ArrayIndexOutOfBoundsException after the increment.  FastList is well covered by a junit test in the main HikariCP repository, and all edge cases are handled.

yes, sorry, it's my mistake

we used different version of java 7, I repeated tests with your version of java (1.7.0_55)
java version "1.7.0_80"
Benchmark               (initCapacity)  (listImpl)   Mode  Cnt      Score      Error   Units
FastListBench.testList              32         new  thrpt   18  22236,544 ±  224,159  ops/ms
FastListBench.testList              32        orig  thrpt   18  21034,102 ± 1354,033  ops/ms

java version "1.7.0_55"
Benchmark               (initCapacity)  (listImpl)   Mode  Cnt      Score     Error   Units
FastListBench.testList              32         new  thrpt   18  37570,587 ± 340,437  ops/ms
FastListBench.testList              32        orig  thrpt   18  13698,785 ±  90,650  ops/ms

@doom369
Hi Dmitriy,
This is my last comment on the matter of FastList ... I still cannot comment on the website.
HikariCP has thousands of users with Java 6 and Java <7u80.
7u80 is not even publicly available from Oracle.  For Java 6
and Java < 7u80 FastList with try-catch logic is 2.5x faster.
For Java 7u80+ and Java 8 they are equal over the common range
of use.
FastList is optimized specifically for HikariCP, it is not a
replacement for any other purpose.  The default size of 32 means
that a single thread/connection can have 32 open Statements before
the list is expanded.  99.9% (or more) of applications never exceed
this limit.  If the limit is exceeded, it expands to 64 and remains
so for the life of the connection.
Trying to compare FastList for uses other than Statement tracking
is a pointless exercise.  I'll say it again, it is 2.5x faster for all
publicly available Oracle versions of Java 6 and Java 7, and equal
in performance on Java 8 -- for the range of use for which it was
designed.
HikariCP тысячи пользователей с Java 6 и Java <7u80. 7u80 даже не доступны из Oracle. Для Java 6 и Java <7u80 FastList с логикой Try-Catch является 2.5x быстрее. Для Java 7u80 + и Java 8 они равны по общему диапазоне использования.
FastList оптимизирован специально для HikariCP, это не является заменой для других целей. По умолчанию размер 32 означает, что один поток / соединение может иметь 32 открытых заявлений, прежде чем список расширяется. 99,9% (или более) из приложений не превышает этот предел. Если лимит превышен, то расширяется до 64 и остается таким по жизни соединения.
Попытка сравнить FastList для других, чем себе отслеживания использования является бессмысленным занятием. Я скажу это снова, это в 2,5 раза быстрее, для всех общедоступных Oracle версий Java 6 и Java 7, и равными в производительности на Java 8 - для диапазона использования, для которого он был разработан.

@brettwooldridge no problem. Thank you for your time. For me your decision is totally clear. I suppose @xhumanoid had some concerns. But for Hickary use cases it is not a case.

1.7.0_80 public available
http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jdk-7u80-oth-JPR

main problem on Java <7u80 it's not inlining add method, in other cases all work the same

Some changes of benchmark, delete .remove() invocation and change setup code for prevent realloc on invocation
   @Setup(Level.Invocation)
   public void setupIter(){
      switch (listImpl) {
         case "base":
            this.fastList = new ArrayList<>(initCapacity);
            break;
         case "new":
            this.fastList = new FastList<>(String.class, initCapacity);
            break;
         case "orig":
            this.fastList = new FastList2<>(String.class, initCapacity);
            break;
      }
   }

   @Setup(Level.Trial)
   public void setup()
   {
      this.strings = new String[31];
      for (int i = 0; i < strings.length; i++) {
         strings[i] = String.valueOf(i);
      }
   }

7 (update 55)
Benchmark               (initCapacity)  (listImpl)   Mode  Cnt      Score     Error   Units
FastListBench.testList              32         new  thrpt   18  19143,115 ± 288,729  ops/ms
FastListBench.testList              32        orig  thrpt   18  10785,437 ±  83,438  ops/ms

8
Benchmark               (initCapacity)  (listImpl)   Mode  Cnt      Score     Error   Units
FastListBench.testList              32         new  thrpt   18  17699,308 ± 168,998  ops/ms
FastListBench.testList              32        orig  thrpt   18  16591,881 ± 654,025  ops/ms

by asm code we can see than FastListBench.testList (origin) slow because they don't did inlining.
I can say more, if you try run with
java -XX:+UnlockDiagnosticVMOptions -XX:+PrintInlining -jar target/benchmarks.jar -p listImpl=new,orig

you will crash your JVM with error  ;)
#  Internal Error (compile.hpp:420), pid=11015, tid=18947
#  Error: ShouldNotReachHere()

on 1.7u80 & 1.8u60 all work correct without crash.
@doom369  =) no, main problem it's benchmark, not a code, because benchmark incorrect and not cover why problem happens. benchmark without explanations what happens it's crap

@xhumanoid Are you suggesting using @Invocation?  That is not recommended.  According to Alexsey Shipilev, "Level.Invocation is usually a bad idea as well, as stated in its Javadoc."
Using @Trial provides the lowest overhead.  Given that remove() is identical between both FastList.java and FastList2.java it provides an identical baseline.
If you are testing FastList without remove() you are inserting tens of thousands of elements, which as I commented before, is way outside of the intended use-case.  Connections with more than 32 active unclosed statements are extremely rare, so testing FastList with thousands of items is unrealistic compared to how it is used in HikariCP.

yes, remove() identical, but what we test?

difference between try-catch vs explicit range check
difference of fully implementation.

if we do first point then we must localize work in add(), if we test second point then we cat keep remove().
Given that remove() is identical between both FastList.java and FastList2.java
it provides an identical baseline.

baseline maybe identical, but real world disagree with you =(
because on java < 1.7.0_80 we have not very correct JIT optimization, as result:

FastList (new) have  inline add() and inline remove()
FastList2 (origin) have invocation add() and invocation remove()

as result we have fully incorrect results.
p.s. my claim not in hikaricp code, i disagree with benchmark, because he work incorrectly and we can't use his for make decisions

@xhumanoid Ok, I can accept that reasoning.
I have committed my best shot at a fair JMH benchmark (in github now)
The benchmark uses the SingleShotTime mode with a large batchSize (100k) to get the most accurate result possible.  100k items will be inserted, but the FastList will be expanded during the warmup iterations.
@State(Scope.Benchmark)
@Warmup(iterations=6, batchSize=10_000)
@Measurement(iterations=20, batchSize=100_000)
@BenchmarkMode(Mode.SingleShotTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)

And the core of the code:
@Benchmark
public boolean testList() {
   return fastList.add(listImpl);
}

@Setup(Level.Trial)
public void trialSetup() {
   switch (listImpl) {
   case "base":
      this.fastList = new ArrayList<>(initCapacity);
      break;
   case "new":
      this.fastList = new FastList<>(String.class, initCapacity);
      break;
   case "orig":
      this.fastList = new FastList2<>(String.class, initCapacity);
      break;
   }
}

@Setup(Level.Iteration)
public void iterationSetup() {
   fastList.clear();
}

The result is nano-seconds per operation (ns/op), but the displayed result must be divided by the batchSize (100k).
Java 7 (7u60):
java -Xms1024m -Xmx1024m -jar target/benchmarks.jar -p listImpl=orig,new

Benchmark               (listImpl)  Mode  Cnt       Score       Error  Units
FastListBench.testList        orig    ss  200  529150.000 ± 25414.297  ns/op
FastListBench.testList         new    ss  200  508435.000 ± 24569.995  ns/op```

new  = 5.08 ns/op
orig = 5.29 ns/op

Java 8 (8u60):
java -Xms1024m -Xmx1024m -jar target/benchmarks.jar -p listImpl=orig,new

Benchmark               (listImpl)  Mode  Cnt        Score        Error  Units
FastListBench.testList        orig    ss  200   911417.670 ± 126689.301  ns/op
FastListBench.testList         new    ss  200   965170.075 ± 123119.717  ns/op

new  = 9.65 ns/op
orig = 9.11 ns/op

If this bencmark is to be trusted, and I believe it is the closest I can get, the try-catch is faster < 7u80, and the straight conditional is faster on > 7u80.

Yes, in this version of benchmark I'm not see any mistakes and I agree with result.
Also results very similar on real numbers.


Update pom to reflect license

Single point of truth for Akka/Circe versions
Remove unused dependencies
Scalastyle now emits warnings, but maven still knows to fail if
scalastyle reports any warning.

closes #35
Authored-by: Julian Zucker<EMAIL_ADDRESS>

Resolves #31


Better Error Messages, Support for React on Rails Pro

Errors raised are of type ReactOnRailsError.
Unused server_render_method was removed from the configuration.
Removed ReactOnRails::Utils.server_bundle_file_name and
ReactOnRails::Utils.bundle_file_name.

This change is

Coverage remained the same at ?% when pulling 49401b2b48aaf397de625f988ab0617ed4499fc4 on misc-changes into a781bc029944af0d931ac68ed7ae5aedf935d80f on master.

Coverage remained the same at ?% when pulling 49401b2b48aaf397de625f988ab0617ed4499fc4 on misc-changes into a781bc029944af0d931ac68ed7ae5aedf935d80f on master.

-(review needed)
+(approved for merge)
+@mapreal19

Reviewed 23 of 24 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved, some commit checks broke.

Comments from Reviewable

Reviewed 14 of 24 files at r1, 59 of 60 files at r2.
Review status: all files reviewed at latest revision, all discussions resolved, some commit checks broke.

Comments from Reviewable

Reviewed 25 of 61 files at r2, 143 of 145 files at r3, 8 of 63 files at r4.
Review status: all files reviewed at latest revision, all discussions resolved, some commit checks failed.

lib/react_on_rails/react_on_rails_helper.rb, line 233 at r3 (raw file):

      result = ReactOnRails::ServerRenderingPool.server_render_js_with_console_logging(wrapper_js)

      # IMPORTANT: To ensure that Rails doesn't auto-escape HTML tags, use Exception in rendering!the 'raw' method.

I think this comment should go to the docs. Like it's written now I don't understand it

spec/dummy/Gemfile, line 11 at r3 (raw file):

gem "webpacker"

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'

this comment should be before gem "rails" or just delete it since is not really helpful

Comments from Reviewable

@justin808 let me know for the final review

Review status: 155 of 157 files reviewed at latest revision, 2 unresolved discussions, some commit checks broke.

spec/dummy_no_webpacker/client/package.json, line 78 at r5 (raw file):

    "build:server": "webpack --config webpack.server.rails.build.config.js",
    "hot-assets": "babel-node server-rails-hot.js",
    "install-react-on-rails": "rm -rf node_modules/react-on-rails && npm i 'file:../../..'"

CI fails bc can't run this one that you removed here

Comments from Reviewable

Review status: 152 of 157 files reviewed at latest revision, 3 unresolved discussions, some commit checks failed.

lib/react_on_rails/react_on_rails_helper.rb, line 233 at r3 (raw file):
Previously, mapreal19 (Mario Pérez) wrote…
I think this comment should go to the docs. Like it's written now I don't understand it

me too...
must be something old

spec/dummy/Gemfile, line 11 at r3 (raw file):
Previously, mapreal19 (Mario Pérez) wrote…
this comment should be before gem "rails" or just delete it since is not really helpful

done

spec/dummy_no_webpacker/client/package.json, line 78 at r5 (raw file):

  "install-react-on-rails": "rm -rf node_modules/react-on-rails && npm i 'file:../../..'"

and no postinstall!

Comments from Reviewable

Reviewed 26 of 61 files at r2, 7 of 63 files at r4, 1 of 2 files at r5, 3 of 4 files at r6, 3 of 3 files at r7.
Review status: all files reviewed at latest revision, all discussions resolved, some commit checks failed.

Comments from Reviewable

Reviewed 8 of 8 files at r8.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


feat: Include logs of all containers in error message

This PR

improves the debugging experience by including all logs of all containers in a pod when reporting back the logs (related to #123)
adds the failure reason and message / exit code of a container to the error log

Solves

#124
#125

Just by quickly looking at the code: I am not sure we want to include always the full logs of all containers all the time (think about the successful runs the would include logs from the init container every time) because the output could become polluted.
I would prefer to have the logs of the container that failed (init or main container) in case of failure and only the logs of the main container in case of success... What do you think @christian-kreuzberger-dtx ?

@pchila, I believe this is exactly how @Raffy23 implemented it! (Or did he force push some changes :D?)

Log Example:
Task 'Run helm' failed: job job-executor-service-job-cba897ca-b3d1-4840-8407-aa77-1 failed. Reason: BackoffLimitExceeded, Message: Job has reached the specified backoff limit

Logs:
Container init-job-executor-service-job-cba897ca-b3d1-4840-8407-aa77-1 of pod job-executor-service-job-cba897ca-b3d1-4840-8407-aa77-1-fthxr:
2022/05/05 11:53:25 successfully moved file /charts/helloservice.tgz to /keptn/charts/helloservice.tgz

Container job-executor-service-job-cba897ca-b3d1-4840-8407-aa77-1 of pod job-executor-service-job-cba897ca-b3d1-4840-8407-aa77-1-fthxr terminated with an error (Reason: Error, ExitCode: 1):
Release "helloservice" does not exist. Installing it now.
Error: rendered manifests contain a resource that already exists. Unable to continue with install: Service "helloservice" in namespace "podtato-head-production" exists and cannot be imported into the current release: invalid ownership metadata; annotation validation error: key "meta.helm.sh/release-name" must equal "helloservice": current value is "podtato-head-production-helloservice"


fix: rules_cc is not a dev_dependency

Since the tools/file_concat program is written in C++ and exposed to users of proto_descriptor_set, we depend on rules_cc at runtime.
Fixes #203

ping @comius

ping @alexeagle

Removed the comment - good to merge now?

i missed this one and submitted with lockfile and workspace changes too https://github.com/bazelbuild/rules_proto/pull/215, doesn't matter which is merged but it would be nice to see 1 land

@meteorcloudy could you merge please? I'm sad to start the precedent of BCR diverging from the repo it's published from, only because the former has active maintainers with commit access

Closing as a duplicate of https://github.com/bazelbuild/rules_proto/pull/215


[ISSUE #838] Removed redundant code

Fixes ISSUE #<838>.
Motivation
First time contributor working on another starter issue.
Modifications
Removed unused code blocks from files listed in the issue.

@RSTdefg Hi, this issue #838 is good first issue and the change points required are very simple and are set up for new contributors. We do not recommend that one person be responsible for multiple good first issues. So I'll merge this pr and close the #841. I hope you can understand, and will have the opportunity to participate in more challenging tasks later, thanks.

@RSTdefg Hi, this issue #838 is good first issue and the change points required are very simple and are set up for new contributors. We do not recommend that one person be responsible for multiple good first issues. So I'll merge this pr and close the #841. I hope you can understand, and will have the opportunity to participate in more challenging tasks later, thanks.

I see, thanks!


ID and processes fields in edit view should not be editable

You know: https://github.com/mozilla-services/react-jsonschema-form#disabled-fields ?

Did not know it... Looks very useful! But would require too much rewiring at the moment...


Change recommendations and office programs

If you copy some text from an office text program, It sometimes generates overloaded html:

The problem is, that the style attribute color: #000000; overrides the color set by the class insert and delete. This just happens, if you change complete paragraphs.
When changing just a word, the tags <ins> and <del> are used. my proposal: Do not use the classes insert and delete but put the tags around every changed text, because every color specified by office gets overridden.
If the html view is correct, the pdf should be fixed, too.

I wonder what the correct behavior should be. It would be relatively easy to just remove the color attribute here, but then, intended changes in the colors would not be displayed. Just removing color-attributes that are black, as here?

If this is easier to remove the attribute, this is great! At least black should be removed.
I was also thinking about that. IMHO we should override the color, to be consistent and it is not irretating having different colors for test and the strike. @emanuelschuetze My give his opinion.

@CatoTH From Issue #3243

expected: added/removed lines should be override all custom text colors by using red/green color

@CatoTH ping, this issue is important. Hope you can fix this asap. Ask me if you need more information. Thanks.

The pull request cancels out any inline color-styles inside of inserted or deleted paragraphs.
It does not fix the unnecessary massively nested SPAN-soup in the example shown above, though.


Chat QnA UI does not connect to the backend

Hi @ShankarRIntel would you elaborate more about how to reproduce this issue? Thanks.

Thanks @ShankarRIntel for submitting this.
This one is for React UI and the error we are getting from the backend is:
 File "/home/user/.local/lib/python3.11/site-packages/requests/adapters.py", line 700, in send
llm-vllm-server                      |     raise ConnectionError(e, request=request)
llm-vllm-server                      | requests.exceptions.ConnectionError: HTTPConnectionPool(host='<PUBLIC_IP>', port=4318): Max retries exceeded with url: /v1/traces (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f4ab67373d0>: Failed to establish a new connection: [Errno 111] Connection refused'))

Hi @jaswanth8888, it seems that the React version cannot display the response info normally. Can you help fix this problem? By the way, the React version should also include end-to-end testing similar to Playwright and start the scripts in the CI tests, so every time other developers submit their code, the entire process will be tested thoroughly, ensuring the front-end code works properly or allowing you to make necessary adjustments in a timely manner.

Hi @jaswanth8888, this is high priority, we will target the fix into v0.8.1 patch release.

Hi @chensuyue , we are working on the fix and will raise a PR for the same

fixed the issue with PR


watch-build potential pitfall

Operation System: macOS
Beaker version: github master branch
Using fritter as an example...
https://github.com/beakerbrowser/fritter/blob/46866621f23e0219d1a9ac6466fb4eace8bc344a/package.json#L12
If you have beaker 0.8 open when you run npm run build-prod, the change in the folder will be detected and build-watch.
So, if you want to create a production build you would need to:

Exit beaker,
run npm run build-prod, and
copy the files generated by the build process elsewhere, probably to a prerelease dat
before you reopen beaker.
If you don't exit beaker first, you will see the output from npm run build-prod be generated only to be replaced moments later by watch-build being run.

It would be more natural, and in line with other watch processes, if build-watch was only run when a change in the source files was detected. This will need some configuration by the user, to specify a pattern for the source files.

Good catch. We might need something more sophisticated to configure this. I'll think about this and see what other toolsets do.

One option is to use some dat.json fields:
{
  "build": {
    "watch": true,
    "exec": "npm run build", // whatever shell command you need
    "filter": "*.build.js\n*.css" // optional newline separated list of files that should not trigger build (if not specified uses dat.json)
  }
}

Not sure, wouldn't it be more natural to define a pattern of what to watch?
Rather than using a string with \n to separate values, use an list/array (a single value could still be a string)? The filter example would become "filter": ["*.build.js", "*.css"]. Maybe use minimatch to do the filtering?

Another pitfall that I'm worried about is malicious script execution. I could easily imagine someone duplicating a site, reading the readme, hitting the "build button" (or triggering a watch) without ever actually opening up the dat.json.

@webdesserts You're right, an open exec field could do damage. Hum. I'm going to have to think about that.

I decided to disable this feature until we have a safe exec environment for build scripts. Good catch @webdesserts

@pfrazee That will make me feel a bit better. For reference, what reasons where you wanting to implement this? From the outside I can see two reasons:

To avoid the need to implement a "watch" task and just reuse the "build" task for most projects
To tell Beaker to wait for the build task to complete before reload, rather than reloading multiple times as a project is building.

@webdesserts Right on both points. It's not vital but I wanted to make the DX as good as possible


Bug: Issue deleting and renaming files/folders only with syntax-mcfunction extension.

What type of issues are you dealing with?
Other (please specify)
What happened?
I’m encountering an issue while using the “syntax-mcfunction” extension in VS Code. When I try to rename, delete, or move files in Minecraft datapack folders, I receive the “failed to delete using recycle bin” error. I’ve tried various solutions, including checking file permissions, disabling other extensions, and updating VS Code. The problem persists only when the “syntax-mcfunction” extension is enabled. Any assistance would be appreciated.
Which text editors are you seeing the problem on?
VSCode
Include a code snippet
No response

This can't be possibly related to this extension. I'm not sure why this is something you encounter with this extension.


can't process the date-time

input date-time likes:
2022-03-03
2022/03/03

got output:
零三分之两千零二十二 零三
二零二二 零三 零三

这是来自QQ邮箱的假期自动回复邮件。

您好，我最近正在休假中，无法亲自回复您的邮件。我将在假期结束后，尽快给您回复。

Thanks for the report. Current code doesn't cover these cases, no plan to add rules to handle them in near future.  Feel free to open a PR to fix it.


Creating a pointer to a struct with multi-dimensional array member

N00b question: I'm using ffigen to generate the Dart bindings for my C struct:
class Matrix4x4 extends ffi.Struct {
  @ffi.Array.multi([4, 4])
  external ffi.Array<ffi.Array<ffi.Float>> data;
}

Which I'm trying to use in this function:
void use_my_matrix(ffi.Pointer<Matrix4x4> matrix) {...}

How do I construct the ffi.Pointer<Matrix4x4> and fill it with data?
Poking around a bit it seems like something like this, but I'm clearly doing things wrong:
Pointer<Matrix4x4> matrixPtr = Allocator()..allocate<Matrix4x4>();
matrixPtr.ref.data[0][0] = 1.0;
...

I'm new to Dart and I haven't been able to find examples of exactly what I'm trying to do. If there are samples or documentation I'm missing, please let me know!

Use calloc from package:ffi
import "package:ffi/ffi.dart";

class Matrix4x4 extends Struct {
  @Array.multi([4, 4])
  external Array<Array<Float>> data;
}

void main() {
  final matrixPointer = calloc<Matrix4x4>();
  matrixPointer.ref.data[0][0] = 1.0;
  // Use matrix.
  calloc.free(matrixPointer);
}

or the arena:
void main() {
  using((Arena arena) {
    final matrixPointer = arena<Matrix4x4>();
    matrixPointer.ref.data[0][0] = 1.0;
    // Use matrix.
  });
  // matrixPointer has been freed.
}

Ah, thank you!!


Throughput Rate Exceeded error

Hi.
All our accounts are set with 30 SMS per second cap. Except US and Canada with long virtual numbers limited to 1 SMS per second. Or we'll see:
Throughput Rate Exceeded - please wait [ 978 ] and retry

About it: https://help.nexmo.com/hc/en-us/articles/203993598-What-is-the-Throughput-Limit-for-Outbound-SMS-
Please, add support of queue for sending sms.
Thank you.

Hi, I have a wait of 1 sms in my code for a long number but still get this error message.  please advise.

Hi @danilvalov (really sorry for the crazy delay you've seen to get a reply). Hi @sma202.
I'm sorry to say that this isn't something related to nexmo-node. It's an error response from the API and thus a platform question. The best way to get an answer to this question is by email<EMAIL_ADDRESS>That's because they can look at your account and work out why you may be seeing this error.

Do you guys provide (or recommend) any solutions to be able to que up requests to nexmo? I'm setup so that on an individual request the requests to nexmo won't exceed 1 per second however if I have multiple threads running multiple of these requests I get the "Throughput Rate Exceeded - please wait [ 993 ] and retry" message.
Thanks


Import performance cops

I copied over all the performance cops from RuboCop, including the
recent changes in https://github.com/rubocop-hq/rubocop/pull/6070
rubocop/cop/performance_cops matches rubocop/cop/rspec_cops: in rubocop-rspec
I am open to suggestion about the call to remove_const. My thought was
that we would deprecate the performance cops maybe in rubocop version
0.58.0 or 0.59.0. Adding the rubocop-performance gem would be enough
to make those deprecation warnings go away. Then once rubocop 1.0.0 is
out for a bit we could do another release of rubocop-performance that
gets rid of the call to remove_const.

@koic @bbatsov I'll keep an eye on https://github.com/rubocop-hq/rubocop/tree/master/lib/rubocop/cop/performance for any changes after this gets merged. If you see changes before I do feel free to ping me and I can bring them over.

My thought was
that we would deprecate the performance cops maybe in rubocop version
0.58.0 or 0.59.0. Adding the rubocop-performance gem would be enough
to make those deprecation warnings go away. Then once rubocop 1.0.0 is
out for a bit we could do another release of rubocop-performance that
gets rid of the call to remove_const.

Yeah, that sounds like a good approach. Likely we'll just make all the performance cops in RuboCop no ops to encourage people to update faster.

@koic @bbatsov I'll keep an eye on https://github.com/rubocop-hq/rubocop/tree/master/lib/rubocop/cop/performance for any changes after this gets merged. If you see changes before I do feel free to ping me and I can bring them over.

Me too. I won't be accepting new performance cops until you manage to release the first version of the new gem, only bug fixes. Same goes for Rails cops until @koic is ready with the initial release of rubocop-rails.


PEFT adapters with continuous batching

Potentially implement in vLLM. Implementation would be tricky but I think doable.

vLLM already implemented


[QUESTION]: how does ignoreSilentMode work?

[x] I have checked the FAQ and it doesn't solve my problem.
[x] I have checked the documentation and it doesn't solve my problem
[x] I have searched for already open issues which desribe my problem.
[x] The issue I'm having is related to and caused by wavesurfer.js, not by other software (which maybe packages and uses wavesurfer incorrectly) – In that case you should open the issue on the respective project pages.

Wavesurfer.js version(s): 6.0.2
Browser and operating system version(s): iOS
Code needed to reproduce the issue:
this.wave.instance = WaveSurfer.create({
  container: document.querySelector(`#wave-${this.message.uuid}`),
  backend: 'WebAudio',
  ignoreSilenceMode: true,
  ...this.wave.options
})

Related to: https://github.com/katspaugh/wavesurfer.js/issues/1864
Problem:  When I try to play sound on my iPhone it still does not play the sound when the muted toggle is on.
Question: There does not seem to be an example regarding this exact problem, and my question is basically if my code is wrong. I am trying to play a m4a file while the muted toggle is switched on.

how does ignoreSilentMode work?

take a look at the discussion in the pull request: #2176

Hey, thanks for the response, problem is I have already tried the things talked about in the thread. Also I have tried to unmute the context via unmutejs and it doesent work somehow. Guess I keep experimenting till it works 🤷.

@pascbeck What was the fix?


show title id in uppercase in library

when in the library view the value of title id is not uppercase like the other tabs

fix is available in the latest build under the Action tab here on GitHub

fix is included in the 1.9.0 release


Scan: swap return values and change cursor type.

I would like to add high level iterators for all scan commands, to simplify their use. I'll submit a PR

Okay, waiting for your PR, but keep in mind that this change is for v4 that I am going to keep in alpha/beta state for at least a month :)


[Bug]: pipeline""towhee/image-embedding-3ways-ensemble-large-v1"vector data type is not as described in the documentation

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior

Actual test results for tensor：
>>> embedding_pipeline = pipeline('towhee/image-embedding-3ways-ensemble-large-v1')
>>> embedding = embedding_pipeline(img_path)
/Users/binbin/.towhee/operators/towhee/embeddings_ensemble_head/main
>>> embedding
tensor([0.2866, 1.0398, 0.3912,  ..., 0.1153, 0.6523, 0.0877],
       grad_fn=<LeakyReluBackward1>)

Expected Behavior
data type should be numpy.ndarray
Steps To Reproduce
No response
Environment
- Towhee version(e.g. v0.1.3 or 8b23a93):0.4.1.dev75
- OS(Ubuntu or CentOS):macos
- CPU/Memory:
- GPU:
- Others:

Anything else?
No response

Operator most likely needs to be changed from
finetuned_feat = self.model.pred_feat(concated_feat)
to
finetuned_feat = self.model.pred_feat(concated_feat).detach().numpy()

@filip-halt
hi，filip，how is the fix now, and could you paste your PR link on this issue when you fix this, and then we will verify it. If it is fixed, and then we will close this issue.
Thanks.

/assign @filip-halt

Ill try to fix it tomorrow. This isnt my operator, might be better for the creator to fix it.

so who owns the operator this pipeline uses? Could you help to assign the owner?
Thanks.

I believe this is the owner: wxywb. Not sure who that is.

@binbinlv hi, the operator EmbeddingsEnsembleHead's type is changed to numpy.ndarray.

/assign tester verify

@jingkl
Could you help to verify it? Thanks.

@jingkl
Could you help to verify it? And please close this issue if it is fixed. Thanks.

Already verified, no more problems


Double click on canvas results in error

Stack from console after double click to add text.
SyntaxError: An invalid or illegal string was specified main.ec845674.chunk.js:1
    V textWysiwyg.tsx:24
    onDoubleClick index.tsx:1122

Can't repro :/. What's browser are you using?

Firefox 72.0.1 (64-bit)

Cool, can repro. Thanks.

@dwelle I'm getting the same error when attempting to add text. Same browser version.

Gonna push a hotfix for this in a bit.


Node Pro device cannot start code 10

getting this on windows 11. Arduino IDE 2.0.3 on multiple Pro Micros

Please close/delete


RFC: Local snapshot file format

Rendered

@GalRogozinski
It is up to the nodes from where they get the data from for the snapshot files but they will read it from the database mainly. Have a look at the implementation in Hornet if you're interested in an implementation.

I am not sure I actually understand your ideas completely
In my imagination there should be one static snapshot file that represents the global snapshot and another one that just has the diff from the global that shouldn't change.

That is what this RFC is describing, two files. One containing a full ledger and one only being deltas for after that state. A global snapshot and full snapshot are equivalent.

I understand that you want people to share both files?

You need to share both files if a node needs to bootstrap for the first time, as the delta files of course do not contain all the information needed for a node to bootstrap.

I suppose the node will only generate the diff file upon some api calls, or every interval according to configuration? Because it probably will be better to usually update data in db that takes care of edge cases for data dumps?

This is an implementation detail. Nodes will probably create these files up on request (trigger by an API call) and/or by defined interval. Please check out the Hornet code if you're interested in an implementation detail.

Maybe it is time we start thinking about an authentication mechanism for shared snapshot files. Something that always bothered me is that people can just start spreading cooked snapshot files around. Now that we are redefining the snapshot file maybe it is a good idea to think of some solution! Maybe add a signature field to it? And the node can verify it against a configurable public key? (just the simplest idea in my mind)

A node operator should download the snapshot files from a trusted source. I believe if you really want to ensure the data is correct, you'd have to expand the mechanism to compare multiple snapshot files from different sources.
Perhaps a tool where a user defines a list of nodes can request snapshot data from them and then compare them against each other would work.
In any case, faulty snapshots will cause the nodes to crash if the inclusion Merkle proof are off.

Thanks for clarifying
What worries me about people that can create their own full snapshot files (rather than having a static global snapshot file) is that they can be mixed up with the wrong delta files. From what we had in the past with spent-addresses this is what I expect to happen.

In any case, faulty snapshots will cause the nodes to crash if the inclusion Merkle proof are off.

Hmm, I think you meant that this what will happen after snapshot is loaded and fresh milestones will come in, thus making the situation same as before. However, what if we add the entire milestone (it is 560 byte assuming it has 3 signatures) to the diff file?
So node syncing can validate the milestones and proof of inclusion to make sure the ledger state is indeed correct.
If I am not mistaken this will add ~1.76 GB to the file per year. In my opinion it is a small price to pay and it is much better than the other alternatives we mentioned here.

We need to change the snapshot file format to following:

Include the entire milestone per diff
The merkle root will be computed out of the output IDs instead of the message IDs
The outputs within the snapshot file have to be ordered in the same order as they were for the merkle root computation

We switch away from message IDs, so one can compute whether the outputs within a milestone diff actually correspond to the milestone for that cone.

We need to change the snapshot file format to following:

Include the entire milestone per diff
The merkle root will be computed out of the output IDs instead of the message IDs
The outputs within the snapshot file have to be ordered in the same order as they were for the merkle root computation

We switch away from message IDs, so one can compute whether the outputs within a milestone diff actually correspond to the milestone for that cone.

merged due to TIP refactor


Error: No such object: dockerinspect.json

When I send inspect output to a json file and then use rekcod, I get empty output and then it complains about no such object.
This is using the docker installation with an alias.
phillijw@computer:~$ ls *.json
dockerinspect.json
phillijw@computer:~$ rekcod dockerinspect.json
[]

Error: No such object: dockerinspect.json

phillijw@computer:~$

I suspect this is because you'd have to mount pwd in order for the rekcod container to be able to read a file in the current working directory.
Try something like this instead:
$ docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -v $(pwd):/home nexdrew/rekcod /home/dockerinspect.json

That fixes it, thanks

Cool, no problem, thanks for reporting!


Update work-with-horizontal-autoscaler.md

Adding description for how to manually enable autoscaling on an existed node pool.
When users enabled autoscaling on an existing cluster, it won't enable autoscaling on existing node pools, as it only affects node pools created afterwards. Cluster autoscaling won't work if users decide to test the feature right away without creating new node pools. Therefore, I think we should tell users how to manually enable it.

@sethmanheim
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Thank you @johnliu55-msft! #sign-off


Sigma date format different than ISO 8601

Hi everyone!
According to the Sigma Rules Specification, the date format in Sigma rule files must follow the ISO 8601 standard, using the separator format (YYYY-MM-DD instead of YYYY/MM/DD).
I’ve made a change in the main...wikijm:LOLRMM:patch-1 branch, but I’m not entirely sure if I modified the correct part of the code. Additionally, I’m uncertain if this change might affect other mechanisms in your GitHub repository or on the lolrmm.io website.
The reason for this change is that when I try to transform, with that repo,  your Sigma rules to SentinelOne Power Query using sigma-cli through GitHub Actions, I encounter the following error message: “Error occurred while processing […]_sigma.yml: Rule date ‘YYYY/MM/DD’ is invalid, must be yyyy-mm-dd”:

If this request makes sense, I can create a pull request accordingly.
Thank you for this project; I’m happy to use it for Threat Hunting! 😃

Hi @wikijm
Thanks for this issue, and yes, you can open a PR with your fix its fine.
Just FYI I already have some tuning to the sigma gen script that i'm gonna push to fix some other issues.

Hi @nasbench,
Wonderful, thanks a lot!
Closing this ticket as #34 was created.
Have a nice sunday.


LICENSE.txt

I found that generating a 2.e68cc420.chunk.js.LICENSE.txt in the js directory, how to prohibit it from being generated?

Do you have a License file in your src directory?

webpack terser plugin generates LICENSE.txt files for the libraries that have license comment in them. Usually libraries are licenced under licenses such as MIT that require you to include their licence in your app.
E.q. react.js license contains following

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

This can be disabled in the webpack configuration. CRA doesn't provide a builtin way to modify it. You can eject or use something like craco to modify webpack config.

@Zycon42 I probably know what's going on, thanks.

Usually libraries are licenced under licenses such as MIT that require you to include their licence in your app.

@Zycon42 , Does this requirement apply to commercial private projects which don't permit others to use their source code as well?


define name of buildpack on download to determine order of use

I think it's necessary for "multi-build" because on this loop the detection is made in alphabetic order (e.g. in a "multi build" with golang build and apt build the slugbuilder detects a golang build before detects the "multi-build")

Thanks for the contribution! Please ensure your commits follow our style guide. This code will be tested once a Deis maintainer reviews it.

While this is good, I'd alphabetize the language-specific buildpacks. Heroku has it in alphabetical order as well, so users have come to expect this (e.g. python buildpack is run before ruby).

Also the commit message is missing a colon. Should be:
 fix(download_buildpack): define name of buildpack

That way deisrel can properly parse the commit into the release notes.

I can alphabetize others buildpacks without problem since "multi" remains in first, what you think @bacongobbler ?
(I'll fix the commit message, thank you for point this)

SGTM

I made an amend (to don't create unnecessary commits) can you review again @bacongobbler ?

LGTM! @mboersma would you mind taking a look as well when you have time?

This looks good, but we should run the "All Buildpacks" test to make sure it is backward-compatible. There isn't currently a CI job doing that, so I'll try to do that manually as soon as I can get to it.

I finally got around to testing this via ginkgo --focus="all (buildpack|dockerfile) apps" tests. Works just fine. Thanks @drgarcia1986!

you're welcome @mboersma


Add 'List Teams' Action to Pulumi Service REST API docs

Fixes #1495

@susanev I'm not sure where the default/components directory came from. Good catch. Was that a left-over from something that was removed a longtime ago, possibly? My pulumi-hugo branch was way out of date, until I updated yesterday.


WIP: Fix #92: Problems with weird null-timestamps

Have been able to reproduce the problem. Next step will be to fix the problem.

Requires some documentation what happens here:

[ ] In the Code
[ ] Architecture documentation


Error MissingPackageName: Invalid or missing package.json file at ''. If not using a package.json, pass in a packageName.

Hi,
Receiving the following erorr When executing generate:
MissingPackageName: Invalid or missing package.json file at ''. If not using a package.json, pass in a packageName.
Executed Command:
sfdx jayree:manifest:generate -u org-alias

@ilanbalink could you please try the latest release v2.3.9 and check if you still see this issue?


ApiAiSDK.AIServiceException: You are not authorized for this operation

I was just trying out the sample code.
I'm using Xamarin.Forms for the UI, when I click a button a dependency service calls the StartListening method of AIService. It starts listening but at the end I'm getting this error....
ApiAiSampleiOS[4248:24136] SpeaktoitRecognitionService: StartVoiceRequest - Exception ApiAiSDK.AIServiceException: You are not authorized for this operation. ---> ApiAiSDK.AIServiceException: You are not authorized for this operation.
at ApiAiSDK.AIDataService.CheckForErrors (ApiAiSDK.Model.AIResponse aiResponse) [0x00022] in :0
at ApiAiSDK.AIDataService.VoiceRequest (System.IO.Stream voiceStream, ApiAiSDK.RequestExtras requestExtras) [0x00132] in :0
--- End of inner exception stack trace ---
at ApiAiSDK.AIDataService.VoiceRequest (System.IO.Stream voiceStream, ApiAiSDK.RequestExtras requestExtras) [0x0014b] in :0
at ApiAi.Common.BaseSpeaktoitRecognitionService.DoServiceRequest (System.IO.Stream audioStream) [0x00000] in :0
at ApiAi.iOS.SpeaktoitRecognitionService.StartVoiceRequest () [0x00010] in :0

Hi, @oloer2014 ,
It seems the problem in the voice recording.
Did you give your app access to voice recording?
Thanks!

I resolved the issue. Previously I wasnt invoking the actions on Background/Main threads.
Now I changed the class to extend ViewController and everything works just fine!

Thanks, @oloer2014!


Disable RWS client logging

Disabled logging in librws to get rid of excessive screen output
https://nomagic.atlassian.net/browse/RMSTRNG-867

Invalid target repo, sorry.


Fixed dockerhub env vars

Coverage remained the same at 94.475% when pulling 19b80b9625950965947384fc396b2567c32f3282 on cody-fix-docker-env-vars2 into 5814c713076c2547da1943a552155a072649a77b on main.


Tidying the Docker image to be more usually and readable to the public

No.

Let me elaborate why:

You changed the maintainer, that's a flat out no.  If it changes it will be to my name, as I am technically the only maintainer, but as it stands it belongs to the Jekyll project so they remain the maintainer.
You removed Docker Template, we use that, you didn't make it more readable, you made it less extensible and buildable across the many different types of setups we support.

I'm sorry to reject your pull but it's unacceptable.
Thanks though!


Disposing Individual Nodes

It would be nice if you could dispose of nodes individually instead of closing the entire filesystem.

Nodes are cached for a period of time and then eventually flushed if they're no longer referenced. Why do you need to dispose of a node manually? If you don't want Nodes to be cached you can change the FileSystemManager to use a NodeCache that doesn't cache :-)

I was concerned about memory leaks, but I wasn't aware that they cleaned up, eventually. I was storing a bunch in a list where they could be added and removed, so calling CloseAllFileSystems wasn't an option for me. Thanks for clearing that up for me.
By the way, do you have an example of changing the node cache?

Problem solved!


Add myself as maintainer

@conda-forge-admin, please add user @jan-janssen

@conda-forge-admin, please add user @jan-janssen

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I added user @jan-janssen in conda-forge/yfinance-feedstock#6.


Demo: Code error

Code error in index.html file. Code not executed.

@Suyash2810 can you elaborate more on this? What is your file, what error you get etc., so we can reproduce the issue.

In the demo folder, there is index.html file and demo.js which on opening clearly is showing execution failure.
There is a list of errors being shown. They are as follows :

_default.css:1 Failed to load resource: the server responded with a status of 404 (Not Found)
highlight.pack.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
%3C%=%20style.path%20%%3E:1 Failed to load resource: the server responded with a status of 400 (Bad Request)
demo.js:29 Uncaught ReferenceError: hljs is not defined
at HTMLDivElement. (demo.js:29)
at Function.each (jquery-2.1.1.min.js:2)
at n.fn.init.each (jquery-2.1.1.min.js:2)
at selectCategory (demo.js:22)
at HTMLLIElement. (demo.js:80)
at HTMLLIElement.dispatch (jquery-2.1.1.min.js:3)
at HTMLLIElement.r.handle (jquery-2.1.1.min.js:3)
at Object.trigger (jquery-2.1.1.min.js:3)
at HTMLLIElement. (jquery-2.1.1.min.js:3)
at Function.each (jquery-2.1.1.min.js:2)
Failed to load resource: the server responded with a status of 404 (Not Found)
Failed to load resource: the server responded with a status of 404 (Not Found)
I hope this helps.

@Suyash2810 Please see demo/readme.md:

To view this demo in browser, please follow the build instructions with browser as the target, and then open the generated build/demo/index.html.

Hi all,
I have similar error with tools/developer.html after building enviro with tools/build.js -t node
The developer.html page looking for ../build/highlight.pack.js.
When I change path to built file highlight.js in lib folder, I have 'require' not defined.
What I'm doing wrong ?
Thanks for your help.
Regards
Nicolas DUPRE

@neooblaster For developer.html build with nodejs tools/build.js -n.

Hi egor-rogov,
I do not want to floot this thread but that works perfectly .I want to make a review for a pull request.
My file highlighjs/build/demo/index.html works without error with language that I want to review.
Thanks a lot.

@neooblaster, you are welcome.

Looks like the issue can be closed. Feel free to reopen if something remained unanswered.


added resources to package

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

4 of 4 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.005%) to 91.859%

Totals

Change from base Build<PHONE_NUMBER>:
0.005%

Covered Lines:
1433

Relevant Lines:
1560

💛  - Coveralls


Test. 1.5.5. upgrade for LZ1/Assembly

Describe the Issue
See ticket #2295
SEA will be upgraded, what triggers the upgrade test suite
It needs to be applied to each LZ
Acceptance Criteria

Execute test cases
Ensure there are no open bugs
.

Test results for ASEA upgrade 1.5.5 for assembly can be found at


join: remove crash! macro

This is related to issue https://github.com/uutils/coreutils/issues/5487. Removes the crash! macro from join.

Thanks!


Problems with pre-training

Hello, I would like to ask how to load this pre-training? Can you give me an example, because I'm only doing tests and not training when I'm loading with Resume? Thank you

@jackroos Can you give me a hand？

I also meet the same problem with you.

A tip here: if you have only test evaluation and after that no training, it probably happens because the start_epoch, which is taken from a pretrained checkpoint is set to a higher value, than the epoch, thus training is not started. Try to set a higher value for epoch parameter.

A tip here: if you have only test evaluation and after that no training, it probably happens because the start_epoch, which is taken from a pretrained checkpoint is set to a higher value, than the epoch, thus training is not started. Try to set a higher value for epoch parameter.

Ok, thank you very much.

@mei123456789 Have you trained the model with pre-training yet? I have followed all instructions but it also meets an error!
I tweaked pre-training a bit (below).

@ducvuuit, I think you should add the last line here:
    checkpoint = torch.load("pretrained/r50_deformable_detr_single_scale-checkpoint.pth", map_location='cpu')
    del checkpoint["model"]["class_embed.0.weight"]
    del checkpoint["model"]["class_embed.0.bias"]
    del checkpoint["model"]["class_embed.1.weight"]
    del checkpoint["model"]["class_embed.1.bias"]
    del checkpoint["model"]["class_embed.2.weight"]
    del checkpoint["model"]["class_embed.2.bias"]
    del checkpoint["model"]["class_embed.3.weight"]
    del checkpoint["model"]["class_embed.3.bias"]
    del checkpoint["model"]["class_embed.4.weight"]
    del checkpoint["model"]["class_embed.4.bias"]
    del checkpoint["model"]["class_embed.5.weight"]
    del checkpoint["model"]["class_embed.5.bias"]
    torch.save(checkpoint,"pretrained/detr-r50_no-class-head.pth")
    model_without_ddp.load_state_dict(checkpoint['model'], strict=False)


[BULK] - DocuTune remediation - Sensitive terms with GUIDs (part 14)

Applying sensitive terms with GUID changes as part of Content SFI and outlined in Overview - Writing content securely - Platform Manual. Changes are part of the Microsoft-wide SFI effort. Point of contact: @CelesteDG
DocuTune v<IP_ADDRESS>
CorrelationId: ac15aa43-4e2b-437f-ab1c-fdd7e79cd4db
#docutune

#docutune-review

LGTM


can't compile, "fatal error: mupdf/fitz.g and much other things

Git version. Any idea ?
mupdf.c: In function ‘doc_draw’:
mupdf.c:22:8: error: too many arguments to function ‘fz_new_pixmap_from_page_number’
pix = fz_new_pixmap_from_page_number(doc->ctx, doc->pdf, p - 1, &ctm, fz_device_rgb(doc->ctx), 0);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/mupdf/fitz.h:58:0,
from mupdf.c:3:
/usr/include/mupdf/fitz/util.h:22:12: note: declared here
fz_pixmap *fz_new_pixmap_from_page_number(fz_context *ctx, fz_document *doc, int number, const fz_matrix *ctm, fz_colorspace *cs);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mupdf.c:30:43: error: ‘fz_pixmap {aka struct fz_pixmap_s}’ has no member named ‘stride’; did you mean ‘storable’?
unsigned char *s = &pix->samples[y * pix->stride];
^~
Makefile:8 : la recette pour la cible « mupdf.o » a échouée
make: *** [mupdf.o] Erreur 1

I get same errors:
cc -c -Wall -O2 -I./include mupdf.c
mupdf.c: In function ‘doc_draw’:
mupdf.c:22:8: warning: implicit declaration of function ‘fz_new_pixmap_from_page_number’ [-Wimplicit-function-declaration]
  pix = fz_new_pixmap_from_page_number(doc->ctx, doc->pdf, p - 1, &ctm, fz_device_rgb(doc->ctx), 0);
        ^
mupdf.c:22:6: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
  pix = fz_new_pixmap_from_page_number(doc->ctx, doc->pdf, p - 1, &ctm, fz_device_rgb(doc->ctx), 0);
      ^
mupdf.c:30:43: error: ‘fz_pixmap {aka struct fz_pixmap_s}’ has no member named ‘stride’
   unsigned char *s = &pix->samples[y * pix->stride];
                                           ^
Makefile:8: recipe for target 'mupdf.o' failed
make: *** [mupdf.o] Error 1

Thirding, I have the same issue on ubuntu 18.

same issue in Ubuntu 18.04 :(
incompatible type for argument 1 of 'fz_scale' or too few arguments to function 'fz_scale'

I encountered the 'fz_scale' issue on Debian 9 which only comes much older version of muPdf. So given there was changes as marked for v1.14 I manually built from source. That resolved the 'fz_scale' issues but I now get
/usr/bin/ld: cannot find -lmupdf-pkcs7
/usr/bin/ld: cannot find -lmupdf-threads

kalpha2<EMAIL_ADDRESS>wrote:

I encountered the 'fz_scale' issue on Debian 9 which only comes much older version of muPdf. So given there was changes as marked for v1.14 I manually built from source. That resolved the 'fz_scale' issues but I now get
/usr/bin/ld: cannot find -lmupdf-pkcs7
/usr/bin/ld: cannot find -lmupdf-threads

Edit the Makefile and remove these options for the fbpdf
target.  Do you get any other linker errors?
Ali

then I get a lot of undefined refs, nothing flagged as error as such and final two lines are
collect2: error: ld returned 1 exit status
make: *** [fbpdf] Error 1
mybuild.txt

kalpha2<EMAIL_ADDRESS>wrote:

mybuild.txt

The options passed to the linker depend on the version of the mupdf
library (try 'git whatchanged -p Makefile' to see previous versions
of fbpdf's Makefile):
Add -lmupdfthird instead of -lmupdf-third.
If that does not work, replace -lmupdfthird with
-lmujs -lfreetype -ljbig2dec -ljpeg -lz -lopenjpeg.
Ali

think I started with snapshot download not git, could start over if think worth it?
changing the links no joy. I tried in order you gave.
I then changed -lopenjpeg to -lopenjp2 for this system but I'm stuck on lmujs not found.

do you recommend a particular version of mujs to use with fbpdf and what url would you recommend to get source for mujs from?

kalpha2<EMAIL_ADDRESS>wrote:

do you recommend a particular version of mujs to use with fbpdf and what url would you recommend to get source for mujs from?

mujs comes with mupdf itself.  However, the library was removed (merged
into -lmupdf) at some point after mupdf-1.4.
What is the version of mupdf library installed on your system?
Also note that, regardless of the version of mupdf installed
on your system, you can compile its latest version and copy
the resulting *.a files to the directory specified with linker'ss -L
and copy the header files (include/mupdf) to the directory
specified with compiler's -I.
Ali

I started with mupdf v1.9a as from Deb 9 Repos but got the fz_scale errors. So I went to the
https://mupdf.com/ site and because fbpdf changelog had ref to v1.14 I pulled that source version and built according to the instructions. There is no --version so I can't check if the make install worked but given the fz_scale errors went away presume it did.
I copied libfreeglut.a, libmupdf-pkcs7.a, libmupdf-third.a, and libmupdf~reads.a  to fbpdf/lib/ and the contents of mupdf/include into the fbpdf/include folder but perceptible differnce on the make... maybe I have to tweak the makefile.

kalpha2<EMAIL_ADDRESS>wrote:

I started with mupdf v1.9a as from Deb 9 Repos but got the fz_scale errors. So I went to the
https://mupdf.com/ site and because fbpdf changelog had ref to v1.14
I pulled that source version and built according to the instructions.
There is no --version so I can't check if the make install worked but
given the fz_scale errors went away presume it did.
I copied libfreeglut.a, libmupdf-pkcs7.a, libmupdf-third.a, and
libmupdf~reads.a to fbpdf/lib/ and the contents of mupdf/include into
the fbpdf/include folder but perceptible differnce on the make...
maybe I have to tweak the makefile.

Please revert your changes to the linker options in the Makefile
and report any problem you encounter.
Ali

with the makefile reverted to original see attached. ends with
collect2: error: ld returned 1 exit status
make: *** [fbpdf] Error 1
mybuild2.txt

kalpha2<EMAIL_ADDRESS>wrote:

with the makefile reverted to original see attached. ends with
collect2: error: ld returned 1 exit status
make: *** [fbpdf] Error 1
mybuild2.txt

What does the following commands return?
$ ls lib/
$ nm lib/libmupdf.a | grep fz_hb_free
Ali

lib only had I only
libfreeglut.a  libmupdf-pkcs7.a  libmupdf-third.a  libmupdf-threads.a
so I copied libmupdf.a in there too
nm lib/libmupdf.a | grep fz_hb_free
0000000000000000 T fz_hb_free
now I get
cc -c -Wall -O2 -I./include djvulibre.c
djvulibre.c:4:30: fatal error: libdjvu/ddjvuapi.h: No such file or directory
#include <libdjvu/ddjvuapi.h>
^
compilation terminated.
Makefile:8: recipe for target 'djvulibre.o' failed
make: *** [djvulibre.o] Error 1

kalpha2<EMAIL_ADDRESS>wrote:

lib only had I only
libfreeglut.a  libmupdf-pkcs7.a  libmupdf-third.a  libmupdf-threads.a
so I copied libmupdf.a in there too
nm lib/libmupdf.a | grep fz_hb_free
0000000000000000 T fz_hb_free

Then I guess you are done.  You can now use the fbpdf binary.

now I get
cc -c -Wall -O2 -I./include djvulibre.c
djvulibre.c:4:30: fatal error: libdjvu/ddjvuapi.h: No such file or directory
#include <libdjvu/ddjvuapi.h>
^
compilation terminated.
Makefile:8: recipe for target 'djvulibre.o' failed
make: *** [djvulibre.o] Error 1

This is for fbdjvu, for viewing Djvulibre files.  You do
not need it, if you want fbpdf only.
Ali

I've installed libdjvulibre-dev from deb repos so builds no errors. Now to test on unit with no X installed. thankyou

I also encountered this errors, but finally managed to get it working with a mix of your help and other sources. Here are the steps for any future readers:
lsb_release -a

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.4 LTS
Release:        22.04
Codename:       jammy

gcc --version

gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0

Install mupdf-1.14:

git clone https://github.com/ArtifexSoftware/mupdf.git && cd mupdf
git checkout 1.14.0
git submodule update --init
sudo apt install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev libxi-dev
pyenv install 2.7.18 && pyenv local 2.7.18  # install python 2 and set it as the repository python version
cd thirdparty/freeglut/
curl -X GET 'https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/freeglut/files/freeglut-3.2.1-gcc10-fno-common.patch?id=f9102571b69d9fc05471a592fda252681fdfdef1' | git apply
make prefix=/usr/local install -j $($(nproc) + 1)

Install fbpdf:

git clone https://github.com/aligrudi/fbpdf.git
sudo apt install libdjvulibre-dev
cd mupdf
mkdir ../fbpdf/lib
cp ./build/release/{libfreeglut,libmupdf-pkcs7,libmupdf-third,libmupdf-threads,libmupdf}.a ../fbpdf/lib/
make -j $($(nproc) + 1)

nymius @.***> wrote:

I also encountered this errors, but finally managed to get it working with a mix of your help and other sources. Here are the steps for any future readers:
lsb_release -a

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.4 LTS
Release:        22.04
Codename:       jammy

gcc --version

gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0

Install mupdf-1.14:

git clone https://github.com/ArtifexSoftware/mupdf.git && cd mupdf
git checkout 1.14.0
git submodule update --init
sudo apt install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev libxi-dev

You do not actually need these, unless you want to build the mupdf viewer.

pyenv install 2.7.18 && pyenv local 2.7.18  # install python 2 and set it as the repository python version
cd thirdparty/freeglut/
curl -X GET 'https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/freeglut/files/freeglut-3.2.1-gcc10-fno-common.patch?id=f9102571b69d9fc05471a592fda252681fdfdef1' | git apply
make prefix=/usr/local install -j $($(nproc) + 1)

2. Install `fbpdf`:
```bash
git clone https://github.com/aligrudi/fbpdf.git
sudo apt install libdjvulibre-dev
cd mupdf
mkdir ../fbpdf/lib
cp ./build/release/{libfreeglut,libmupdf-pkcs7,libmupdf-third,libmupdf-threads,libmupdf}.a ../fbpdf/lib/
make -j $($(nproc) + 1)

Thank you very much for sharing it.  Maybe we can add a link from
the README file.
Ali


Little language tweak

Before
The cluster upgrade of default/f4rti on <installation> has begun, this upgrade will include replacing of nodes.

After
The cluster upgrade of default/f4rti on <installation> has begun. This upgrade will include replacing of nodes.

Pinging some native speakers for review


Create an MdH-OpenSearch docker container

User story

As a user
I need MdHOS to be fully contained in a docker container
So that i have an easy way of installing it on any host machine without having to mess complex install procedures.

Acceptance criteria

Read OpenSearch Docker
Create a dockerfile for our MdHOS and initialize it with everything we need to start

Definition of done (DoD)

Added only after week 5
The same for all features
Here goes the project specific part

DoD general criteria

Feature has been fully implemented
Feature has been merged into the mainline
All acceptance criteria were met
Product owner approved features
All tests are passing
Developers agreed to release

First version online. Please let us know, if you need something more

I have just cloned the project, and need to run the command docker compose up, right?

exact

Works fine!


Taskpaper and support for notes?

I use the taskpaper-syntax for my tasks. According to the "TaskPaper’s File Format" (http://imissmymac.com/wp-content/uploads/2013/02/TaskPaper-Users-Guide.pdf) there are not only projects, tags and todos, but also notes:

A note is any line that doesn't match the task or project rules.

It would be helpful if notes were colored in a more subtle tone. I helped myself with this little piece in my styles.less:

atom-text-editor::shadow, atom-text-editor {

  .todo {
    // Notes
    color: @text-color-subtle;
  }

  .tasks {
    // Tasks
    &.text { color: @text-color-highlight; }
    // Projects
    &.header { color: @text-color-warning; }
  }

}

Although I'm totally fine with that solution I think it would be cool if the tasks-package supported it out of the box.

What sort of behavior happens to the notes when you complete/cancel a task? Does the highlighting change? When archiving a task with a note, what would the expected behavior be there? Your solution is a great start, thanks!

I can answer how notes work on the PlainTasks plugin:

What sort of behavior happens to the notes when you complete/cancel a task? Does the highlighting change?

No, the notes always have the same style, no matter the status of the task it's related to.

When archiving a task with a note, what would the expected behavior be there?

The note is linked to the task. If the task is archived, the note is moved to the archive too, always keeping it's position on the line after the task.

Thanks, @barmatal! I'll have to take a look at this. Can't make any promises quite yet :)

I added a basic support for notes in a fork if some people are interested.
I define a note as a block of text on the next line(s) following a task and not containing empty lines. It does what you would expect when archiving a task, it simply copy the note (if available) associated to this task.
Definitely not the most advanced implementation but it does the job and fits my needs.

@HiDeoo: You should consider a pull request so we can review and maybe merge this in! Get it to a state where you think it's really solid and submit the request if you are interested :)

Here's an example of how Notes are styled in the Taskpaper app.

Have there been any updates regarding this feature in the Atom tasks package?

+1 for this comments/notes feature. Any updates?


06/11/2018 02:08 : Create Pull Request for branch master -> prTesting1_2018061102

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestCon1.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Enable caught exception reporting

Please add this API, useful for things such as network timeouts, etc.

This is a duplicate of #2 so it's on the road map. Pull requests are gladly accepted!


Fix start() and shutdown() of DefaultMessagingProcessor

Which Issue(s) This PR Fixes

Fixes #7837
Brief Description

Complete ReceiptHandleProcessor's start() and shutdown()
Complete DefaultMessagingProcessor‘s start() and shutdown()

How Did You Test This Change?

UT

Codecov Report
Attention: Patch coverage is 50.00000% with 1 lines in your changes are missing coverage. Please review.

Project coverage is 42.95%. Comparing base (7dc0e5a) to head (c8638f6).
Report is 3 commits behind head on develop.

Files
Patch %
Lines

...tmq/proxy/processor/DefaultMessagingProcessor.java
0.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             develop    #7838   +/-   ##
==========================================
  Coverage      42.95%   42.95%
- Complexity      9909     9914    +5
==========================================
  Files           1190     1190
  Lines          85984    86016   +32
  Branches       11079    11079
==========================================
+ Hits           36932    36946   +14
- Misses         44472    44490   +18
  Partials        4580     4580

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

any update?


Issue with Image Retrieval from data.json

Hi!
I noticed in your README.md that you're facing an issue with retrieving images from the data.json file. I’d love to help fix this problem by ensuring the images are displayed properly in the app. Could you please assign me to this issue?
Thank you.

yes, for sure

Thanks!
I'll get started and submit a PR soon.

you know what i've added you as a contributor on the repo as well so you can make direct changes

I appreciate it and will make the changes when I can.

Hi!
I submitted a PR to fix the image retrieval issue from data.json. Please check it out when you can.

yayyy!! it worked thanks a million

great to hear. happy to contribute!

If you need any help in the future, feel free to reach out.


Add nox to requirements?

📰 Custom Issue

Now that nox is the recommended way to run the tests should it be in the yml files under "Test dependencies"?

Huh, I see that nox creates its own environments so I guess not.


Admin LTE Licence

Please for more understanding. Can i modify AdminLTE and sell it? For example:

convert it at laravel Admin template ?
convert to boostrap 4 ?

See here https://github.com/almasaeed2010/AdminLTE/blob/master/LICENSE


Support for nested React components?

Hi,
How can I use this library when I need to equalize heights of elements that are in separate children React component(s)? It seems to support only the scenario when all the markup is inside one React component, which is not really usable for most of the scenarios. Or did I understand the documentation wrong?
Thank you!
BR,
Jiri

Hi @thiemeljiri
Of course it is possible.
Important is that you need all element wrap into component EqualHeight and all elements for which you want the same height need have the same name.
Here you have example of code.
const ComponentOne = () => {
  return (
    <EqualHeightElement name="ExampleName">

            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin nibh augue, suscipit a, scelerisque sed, lacinia in, mi. Cras vel lorem.

    </EqualHeightElement>
  )
}

const ComponentTwo = () => {
  return (
    <EqualHeightElement name="ExampleName">

            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin nibh augue, suscipit a, scelerisque sed, lacinia in, mi. Cras vel lorem.

    </EqualHeightElement>
  )
}

const App = () => {
  return (
    <EqualHeight>
      <ComponentOne />
      <ComponentTwo />
    </EqualHeight>
  )
}

You're right, thank you! (I was getting an error when I tried to do this. But now I realised it was because of Storybook - when I tried to view the isolated child component. It actually worked for the parent story. And for the child I can use a decorator.)
I have a suggestion. Do you think it would be possible to add an option to match the height per row? This of course would be possible only if the Y position of the top of the elements on the same row would be the same already (achievable via CSS). This would be very useful until CSS subgrid is widely implemented.
Let's imagine the following quite common example. You want the content to start on the same Y position on the each row, but as close to the heading as possible. It's possible with CSS subgrid, but that is not yet implemented in most browsers, so some JS is necessary. With simple height matching of all the elements with the same name it won't work. When one very long heading appears in the list, then the heights of all the headings are unnecessarily large and it's a waste of space and not looking OK.
The solution would be to internally calculate "row groups" from the set of EqualHeightElement instances with the same name (for each height calculation) by the Y position of the top of that elements. (Maybe some tolerance could be also a prop, but it shouldn't be needed.) Then finding the tallest element in each group separately and applying it to all the items in that group only.
┌────────────────────┐  ┌────────────────────┐  ┌────────────────────┐
│┌──────────────────┐│  │┌──────────────────┐│  │┌──────────────────┐│
││                  ││  ││                  ││  ││                  ││
││                  ││  ││                  ││  ││                  ││
││      Image       ││  ││      Image       ││  ││      Image       ││
││                  ││  ││                  ││  ││                  ││
││                  ││  ││                  ││  ││                  ││
│└──────────────────┘│  │└──────────────────┘│  │└──────────────────┘│
│ Short heading      │  │ Longer heading     │  │ Short heading      │
│                    │  │ on two rows        │  │                    │
├────────────────────┤  ├────────────────────┤  ├────────────────────┤
│ Content....        │  │ Content...         │  │ Content...         │
│                    │  │                    │  │                    │
│                    │  │                    │  │                    │
│                    │  │                    │  │                    │
│                    │  │                    │  │                    │
└────────────────────┘  └────────────────────┘  └────────────────────┘

┌────────────────────┐  ┌────────────────────┐  ┌────────────────────┐
│┌──────────────────┐│  │┌──────────────────┐│  │┌──────────────────┐│
││                  ││  ││                  ││  ││                  ││
││                  ││  ││                  ││  ││                  ││
││      Image       ││  ││      Image       ││  ││      Image       ││
││                  ││  ││                  ││  ││                  ││
││                  ││  ││                  ││  ││                  ││
│└──────────────────┘│  │└──────────────────┘│  │└──────────────────┘│
│ Short heading      │  │ Longer heading     │  │ Very long heading  │
│                    │  │ on two rows        │  │ that wraps to      │
│                    │  │                    │  │ three rows         │
├────────────────────┤  ├────────────────────┤  ├────────────────────┤
│ Content....        │  │ Content...         │  │ Content...         │
│                    │  │                    │  │                    │
│                    │  │                    │  │                    │
│                    │  │                    │  │                    │
└────────────────────┘  └────────────────────┘  └────────────────────┘

┌────────────────────┐  ┌────────────────────┐  ┌────────────────────┐
│┌──────────────────┐│  │┌──────────────────┐│  │┌──────────────────┐│
││                  ││  ││                  ││  ││                  ││
││                  ││  ││                  ││  ││                  ││
││      Image       ││  ││      Image       ││  ││      Image       ││
││                  ││  ││                  ││  ││                  ││
││                  ││  ││                  ││  ││                  ││
│└──────────────────┘│  │└──────────────────┘│  │└──────────────────┘│
│ Short heading      │  │ Short heading      │  │ Extremely long     │
│                    │  │                    │  │ heading that wraps │
│                    │  │                    │  │ to more than three │
│                    │  │                    │  │ rows               │
├────────────────────┤  ├────────────────────┤  ├────────────────────┤
│ Content....        │  │ Content...         │  │ Content...         │
│                    │  │                    │  │                    │
│                    │  │                    │  │                    │
└────────────────────┘  └────────────────────┘  └────────────────────┘

I will deeply check your comment and reply when I go back from vacation. I need 2 weeks :)

I would like to close this issues because the main issue was resolved but "equal per row" I wiould like to develop based on this report: https://github.com/loba-b/react-equal-height/issues/9