add time synchronization and flow control to adapter sources and sinks

This proposal was originally suggested by @mccanne in an internal design document.
The current juttle computation model is entirely data-driven and uncoordinated. Sources fetch or generate data autonomously according to their own rate control policy (if any) which may be as fast as possible, then push that data into the flowgraph. As points arrive, procs process them and make decisions about doing stuff. Marks and ticks communicate batching and timing information between nodes in a data-driven fashion.
This model has certain problems and limitations:
Flow control: There is no way for feedback from the flowgraph or sinks to slow down senders.  If sources are faster than sinks, the memory buffers fill up (until they hit a limit).
Livelock: Because senders are unconstrained, they may generate a large batch of points that need to be processed by a downstream consumer. This can cause the (single-threaded) node.js runtime to become busy for unacceptably large amounts of time.
Merge / Join Buffering: When multiple sources produce data at different rates, the fanin logic will use an ever increasing amount of memory to account for the rate difference in order to merge the streams to preserve time order.  This problem can be more and more apparent when mixing and matching different sources using various backend adapters.
Approaches
Various approaches to fix this problem have been discussed during the development of Juttle that have significant downsides:
One approach would be to do hop-by-hop flow control.  This would involve a fair amount of new code in the procs and complex dynamics to debug, especially when it comes to fanout and fanin.
Another idea is to get rid of marks and ticks and drive everything off time using a scheduler, which would schedule all of the point arrivals at each proc in a sort of discrete event simulation.  This would add processing overhead for each point (insert/delete into a heap) and seems like overkill.
Instead, Juttle should adopt a hybrid approach:
Keep the data driven model and communicate timing information between flowgraph nodes using the existing tick and mark abstractions, but add a scheduler to precisely control how and when points are sent into the flowgraph. Flow control can be managed by interacting with the scheduler to start and stop certain sources in response to whole program signaling.
In this approach, we need only modify the existing sources and sinks and don't have to change any of the other proc implementations. The internal procs are still all data driven and run off the arrival of points, ticks, and marks, and don't know if they're running in "historical" or "live" mode.
Sources
The gist of the scheduling algorithm is that in steady-state, each source adapter manages a bounded buffer of points that are ready to be sent into the flowgraph based on shared logic that processes the time bounds of the query (i.e. the -from and -to arguments to read). On startup, the adapter starts filling the buffer and schedules itself to emit based on the timestamp at the head of the queue.
Historical
The scheduler interacts with common logic across all of the adapters that follows an earliest-deadline algorithm to allow a configurable burst of points to be emitted from each one, and then reschedules it at the time indicated by the new point at the head of the queue.
This Juttle runtime scheduler and any external event loop (e.g., the nodejs event loop) can peacefully coexist by having the external event loop call the Juttle scheduler on a regular basis (e.g., do when idle) until the flowgraph computation completes.
In order for sources to synchronize across each other, they must each maintain a backlog of points that are always ready to send.  This backlog can be maintained in an IO-driven fashion where the source issues requests of the backend system in a pipelined fashion (for historical queries).  As the scheduler drains points from the source's queue, the available space can be refilled by issuing additional requests to the backend thereby maintaining a backlog in a data-driven fashion.
If the buffer is empty because the backend cannot keep up with the system, the source stalls the scheduler (with a STOP request) until the backlog is restored, at which time, the source restarts the scheduler (with a START request). The scheduler is stalled whenever one more STOP requests are pending and resumes whenever all such STOP requests are canceled.
For historical processing, there is no need to involve real time (except for the case that we replay history in real time, see below).
Live
For live or pseudo-live processing, the model is very similar except the source maintains its backlog by asking the scheduler to maintain a "retiming delay" between scheduler's virtual time and real time. The difference between real time and the scheduler's virtual time is the source's "cushion".  The scheduler takes the maximum of all cushion requests and ensures that real time is always ahead of virtual time by the cushion amount.  Each source's cushion time should be configurable from Juttle.
When live points arrive "late" (i.e., their timestamp is smaller than the scheduler's virtual time), they must be dropped and recorded as "late drops" since flowgraph computational semantics rely upon in-order sequences.   Similarly, the input queue for a live source can overrun when the system cannot keep up with the arrival rate of points.  In this case, points also must be dropped and recorded as "overflow drops".
When points arrive on time and with space in the queue, they are buffered for processing.  The live source ensures that there is a pending scheduling request for the virtual time of the point at the head of its queue.  When a live source runs, it sends all points that it can up to the burst size in conformance with the retiming delay invariant, inclusive of a small fudge factor to avoid having to schedule the source for a large number of points that are very close in time (this fudge factor could be 50ms or so, large enough to amortize the cost of multiple scheduler calls but small enough to be insignificant compared to typical and practical cushion times).
This cushion time needs to be adjustable based on the semantics of the back end. For instance, when reading timestamped data from elasticsearch in a pseudo-live manner, the adapter needs to wait for enough time to pass in order for the data points to arrive at elasticsearch and be indexed before asking for them. On the other hand when tapping into a true live stream using an adapter to something like kafka or kinesis, then the source needs to only wait for a small propagation delay before emitting the points.
Sinks
Sinks also need to be involved to avoid memory overflow when data points can be read into the flowgraph faster than they can be written out, either via an adapter or to a client-side view.
Thus the sink is responsible for tracking how much data is outstanding and if it exceeds a configurable maximum, send a STOP request to the scheduler until the buffer can drain. This would have the effect of stopping all the sources until the slow sink can catch up.
Note that it would be possible to do a flowgraph computation and figure out the subset of sources in the particular dataflow that lead to the slow sink, this is a future enhancement that need not be part of the initial implementation.

The implementation breaks down to following, somewhat separate features:

[ ] currently, the reads only enqueue all points and every 200ms flow control empties the queue completely. The queue limit should be set dynamically by the scheduler, based on space left in the queue.
[ ] the points are emitted in the order in which the reads were registered - i.e. no deadline-first scheduling algorithm.
[ ] sinks don't stop the flow control when blocking
[ ] empty queue does not block other reads.
[ ] flow control emits ticks every second regardless of whether read returned any points or not.
[ ] flow control and the read / source do not handle named outputs - this would require a queue and enforcing limit per named output.


an error(?) in README.md

The code for Win10 in README.md is for Custom, and Custom is for Win10.

Thanks, I'll fix this right away.


Rdb2RdfTests D0014 Postgresql unique constraint fails for ontop-bnode creation (INT treated as TEXT)

Description
Similar to #564 (also for Postgreql INT treated as TEXT without explicit cast)
Rdb2RdfTest D0014 creates three tables (DEPT, EMP, and LIKES).
DEPT.deptno is defined as INTEGER UNIQUE (as opposed to INTEGER PRIMARY KEY) which causes Ontop to generate b-nodes for each DEPT row/entity in the database.

DEPT Table Only SUCCESS - appears to post-process the query results to generate b-nodes; does not use REPLACE().
EMP Table Only SUCCESS - no b-nodes, does not use REPLACE().
DEPT+EMP Tables FAILURE - appears to try to include the ontop-bnode-1 statement in the query, uses SELECT ('ontop-bnode-1' || ... REPLACE(v17."deptno", '%', '%25') - since deptno is INTEGER, Postgres reports an error: function replace(integer, unknown, unknown) does not exist

If I change DEPT.deptno INTEGER UNIQUE to DEPT.deptno INTEGER FRIMARY KEY, no b-nodes are generated and the query works.

DEPT + EMP Tables with PK - SUCCESS - no b-nodes (since both EMP and DEPT have primary keys)

If I remove the EMP.job VARCHAR(30) column from the schema, the query works. Strange, since b-nodes are for the DEPT table.

DEPT + EMP Tables no Job - SUCCESS - b-nodes are generated but doesn't use REPLACE(), instead query keeps INTs (SELECT v3."deptno" AS "deptno1m10", CAST(NULL AS INTEGER) AS "deptno1m17"...

Problem Summary:
It appears that at some level of complexity, Ontop switches from implicitly adding b-nodes to explicitly including the 'ontop-bnode-N' statement in the query. At that point, the INTEGER fields shouldn't be treated as TEXT (e.g., remove all the REPLACE functions), or INTEGER fields should be cast to TEXT (although this would be less ideal).

 You might need to add explicit type casts.
  Position: 596
it.unibz.inf.ontop.exception.OntopQueryEvaluationException: ERROR: function replace(integer, unknown, unknown) does not exist
  Hint: No function matches the given name and argument types. You might need to add explicit type casts.
  Position: 596
	at it.unibz.inf.ontop.answering.connection.impl.SQLQuestStatement.executeConstructQuery(SQLQuestStatement.java:232)
	at it.unibz.inf.ontop.answering.connection.impl.QuestStatement.executeConstructQuery(QuestStatement.java:155)
	at it.unibz.inf.ontop.answering.connection.impl.QuestStatement.executeConstructQuery(QuestStatement.java:147)
	at it.unibz.inf.ontop.answering.connection.impl.QuestStatement$QueryExecutionThread.run(QuestStatement.java:100)
org.eclipse.rdf4j.query.QueryEvaluationException: it.unibz.inf.ontop.exception.OntopQueryEvaluationException: ERROR: function replace(integer, unknown, unknown) does not exist
  Hint: No function matches the given name and argument types. You might need to add explicit type casts.
  Position: 596
	at it.unibz.inf.ontop.rdf4j.query.impl.OntopGraphQuery.evaluate(OntopGraphQuery.java:51)
	at RDB2RDFTestBase.runTestWithoutIgnores(RDB2RDFTestBase.java:462)
	at RDB2RDFTestBase.runTest(RDB2RDFTestBase.java:430)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at org.junit.runners.Suite.runChild(Suite.java:128)
	at org.junit.runners.Suite.runChild(Suite.java:27)
	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:93)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:529)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:756)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:452)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)
Caused by: it.unibz.inf.ontop.exception.OntopQueryEvaluationException: ERROR: function replace(integer, unknown, unknown) does not exist
  Hint: No function matches the given name and argument types. You might need to add explicit type casts.
  Position: 596
	at it.unibz.inf.ontop.answering.connection.impl.SQLQuestStatement.executeConstructQuery(SQLQuestStatement.java:232)
	at it.unibz.inf.ontop.answering.connection.impl.QuestStatement.executeConstructQuery(QuestStatement.java:155)
	at it.unibz.inf.ontop.answering.connection.impl.QuestStatement.executeConstructQuery(QuestStatement.java:147)
	at it.unibz.inf.ontop.answering.connection.impl.QuestStatement$QueryExecutionThread.run(QuestStatement.java:100)

DEPT + EMP Tables with PK

LOG: rdb2rdf-D0014-psql-emp-table-pk.txt
DEPT + EMP Tables no Job

LOG: rdb2rdf-D0014-psql-emp-table-no-job.txt
Repeats DEPT + EMP Tables but removes the job column from the EMP table. This query succeeds.
This is strange, as I would expect this test to also fail, leading me to believe that Ontop changes behavior for more complex queries/schemas.

D0014 Full Test Case

LOG: rdb2rdf-D0014-psql-full.txt
The full D0014 test case also fails (adding the extra table LIKES to the database). Adds an additional ontop-bnode-2 to the query for the LIKES table (no PK, no UNIQUE index).
CREATE TABLE "DEPT" (
      "deptno" INTEGER UNIQUE,
      "dname" VARCHAR(30),
      "loc" VARCHAR(100));
INSERT INTO "DEPT" ("deptno", "dname", "loc") VALUES (10, 'APPSERVER', 'NEW YORK');

CREATE TABLE "EMP" (
      "empno" INTEGER PRIMARY KEY,
      "ename" VARCHAR(100),
      "job" VARCHAR(30),
	  "deptno" INTEGER REFERENCES "DEPT" ("deptno"),
	  "etype" VARCHAR(30));
INSERT INTO "EMP" ("empno", "ename", "job", "deptno", "etype" ) VALUES (7369, 'SMITH', 'CLERK', 10, 'PART_TIME');

CREATE TABLE "LIKES" (
      "id" INTEGER,
      "likeType" VARCHAR(30),
      "likedObj" VARCHAR(100));
INSERT INTO "LIKES" ("id", "likeType", "likedObj") VALUES (7369, 'Playing', 'Soccer');
INSERT INTO "LIKES" ("id", "likeType", "likedObj") VALUES (7369, 'Watching', 'Basketball');

Steps to Reproduce

Start Postgres
docker run --rm --name ontop-postgres -p 7777:5432 -e POSTGRES_PASSWORD=postgres2 postgres:13
Run RDB2RDFTestPostgres.java for D014

Expected behavior:
Ontop should produce results matching D014/directGraph.ttl
Actual behavior:
Postgres Error:
Caused by: it.unibz.inf.ontop.exception.OntopQueryEvaluationException: ERROR: function replace(integer, unknown, unknown) does not exist
  Hint: No function matches the given name and argument types. You might need to add explicit type casts.
  Position: 623
	at it.unibz.inf.ontop.answering.connection.impl.SQLQuestStatement.executeConstructQuery(SQLQuestStatement.java:232)
	at it.unibz.inf.ontop.answering.connection.impl.QuestStatement.executeConstructQuery(QuestStatement.java:155)
	at it.unibz.inf.ontop.answering.connection.impl.QuestStatement.executeConstructQuery(QuestStatement.java:147)
	at it.unibz.inf.ontop.answering.connection.impl.QuestStatement$QueryExecutionThread.run(QuestStatement.java:100)

Versions
Ontop:version5 (5.0.2-SNAPSHOT)
Docker: postgres:13
JDBC: org.postgresql:postgresql:42.5.0
Additional Information
It appears that RDB2RDF Tests D014, D022 and D025 all produce the same behavior (Postgres ERROR function replace(int, unk, unk) does not exist). D022 and D025 are more complex than this reported issue D014.
The debug log only for these failures:  rdb2rdf-D014-D022-D025-failures.txt
All test code and test cases are in my branch r2rml-pgsql

Comparing DEPT + EMP with DEPT + EMP no Jobs, it looks like the SQLGeneratorImpl - After lifting the post-processable function symbols may be causing an issue... this is the first place in the logs that the queries noticeably differ (other than the Jobs field).
In the SUCCESS (no Jobs) query, the ontop-bnode functions are included in the s/RDF statement:
s/RDF(DB_IDX_9(v0,http://example.com/base/EMP/empno={}(INTEGERToTEXT(empno1m6)),ontop-bnode-1{}/{}/{}(deptno1m10,dname1m11,loc1m12),http://example.com/base/EMP/empno={}(INTEGERToTEXT(empno1m13)),http://example.com/base/EMP/empno={}(INTEGERToTEXT(empno1m14)),http://example.com/base/EMP/empno={}(INTEGERToTEXT(empno1m15)),http://example.com/base/EMP/empno={}(INTEGERToTEXT(empno1m16)),ontop-bnode-1{}/{}/{}(deptno1m17,dname1m18,loc1m19),ontop-bnode-1{}/{}/{}(deptno1m20,dname1m21,loc1m22),ontop-bnode-1{}/{}/{}(deptno1m23,dname1m24,loc1m25)),RDF_TYPE{0=IRI,1=BNODE}(v7)),
...

While the FAILURE query isn't rewritten (the sRDF statement stays the same as the previous step).
s/RDF(v16,RDF_TYPE{0=IRI,1=BNODE}(v8)),

The SUCCESS (no Jobs) query:
CONSTRUCT [s, p, o] [p/RDF(v22,IRI), s/RDF(DB_IDX_9(v0,http://example.com/base/EMP/empno={}(INTEGERToTEXT(empno1m6)),ontop-bnode-1{}/{}/{}(deptno1m10,dname1m11,loc1m12),http://example.com/base/EMP/empno={}(INTEGERToTEXT(empno1m13)),http://example.com/base/EMP/empno={}(INTEGERToTEXT(empno1m14)),http://example.com/base/EMP/empno={}(INTEGERToTEXT(empno1m15)),http://example.com/base/EMP/empno={}(INTEGERToTEXT(empno1m16)),ontop-bnode-1{}/{}/{}(deptno1m17,dname1m18,loc1m19),ontop-bnode-1{}/{}/{}(deptno1m20,dname1m21,loc1m22),ontop-bnode-1{}/{}/{}(deptno1m23,dname1m24,loc1m25)),RDF_TYPE{0=IRI,1=BNODE}(v7)), o/RDF(v36,RDF_TYPE{0=IRI,2=xsd:integer,3=xsd:string}(v16))]
   UNION [v22, v36, v7, v16, v0, empno1m6, deptno1m10, dname1m11, loc1m12, empno1m13, empno1m14, empno1m15, empno1m16, deptno1m17, dname1m18, loc1m19, deptno1m20, dname1m21, loc1m22, deptno1m23, dname1m24, loc1m25]
      CONSTRUCT [v22, v36, v7, v16, v0, empno1m6, deptno1m10, dname1m11, loc1m12, empno1m13, empno1m14, empno1m15, empno1m16, deptno1m17, dname1m18, loc1m19, deptno1m20, dname1m21, loc1m22, deptno1m23, dname1m24, loc1m25] [v7/"0"^^BIGINT, empno1m13/NULL-INTEGER(), deptno1m17/NULL-INTEGER(), empno1m16/NULL-INTEGER(), loc1m12/NULL-VARCHAR(), loc1m22/NULL-VARCHAR(), loc1m25/NULL-VARCHAR(), dname1m21/NULL-VARCHAR(), empno1m14/NULL-INTEGER(), empno1m15/NULL-INTEGER(), dname1m11/NULL-VARCHAR(), deptno1m23/NULL-INTEGER(), dname1m24/NULL-VARCHAR(), deptno1m10/NULL-INTEGER(), deptno1m20/NULL-INTEGER(), loc1m19/NULL-VARCHAR(), dname1m18/NULL-VARCHAR(), v22/"http://www.w3.org/1999/02/22-rdf-syntax-ns#type"^^TEXT, v36/"http://example.com/base/EMP"^^TEXT, v16/"0"^^BIGINT, v0/"0"^^BIGINT]
         EXTENSIONAL "EMP"(0:empno1m6)
...

The FAILURE query:
CONSTRUCT [s, p, o] [p/RDF(v25,IRI), s/RDF(v16,RDF_TYPE{0=IRI,1=BNODE}(v8)), o/RDF(v41,RDF_TYPE{0=IRI,2=xsd:integer,3=xsd:string}(v18))]
   UNION [v16, v25, v41, v8, v18]
      CONSTRUCT [v16, v25, v41, v8, v18] [v18/"0"^^BIGINT, v8/"0"^^BIGINT, v16/http://example.com/base/EMP/empno={}(INTEGERToTEXT(empno1m1)), v25/"http://www.w3.org/1999/02/22-rdf-syntax-ns#type"^^TEXT, v41/"http://example.com/base/EMP"^^TEXT]
         EXTENSIONAL "EMP"(0:empno1m1)
...
    CONSTRUCT [v16, v25, v41, v8, v18] [v18/"2"^^BIGINT, v8/"1"^^BIGINT, v16/ontop-bnode-1{}/{}/{} (deptno1m8,dname1m8,loc1m8), v25/"http://example.com/base/DEPT#deptno"^^TEXT, v41/INTEGERToTEXT(deptno1m8)]
         FILTER AND3(IS_NOT_NULL(deptno1m8),IS_NOT_NULL(dname1m8),IS_NOT_NULL(loc1m8))
            EXTENSIONAL "DEPT"(0:deptno1m8,1:dname1m8,2:loc1m8)

So, issues appear to be:

the SQLGeneratorImpl - lifting the post-processable function symbols - isn't working the same across both queries.
the SQL Native query expansion isn't working properly for the ontop-bnode statements.

Failing query: Ontop Query Fragment (before Native SQL transform)
CONSTRUCT [v16, v25, v41, v8, v18] [v18/"0"^^BIGINT, v8/"1"^^BIGINT, v16/ontop-bnode-1{}/{}/{}(deptno1m7,dname1m7,loc1m7), v25/"http://www.w3.org/1999/02/22-rdf-syntax-ns#type"^^TEXT, v41/"http://example.com/base/DEPT"^^TEXT]
      FILTER AND3(IS_NOT_NULL(deptno1m7),IS_NOT_NULL(dname1m7),IS_NOT_NULL(loc1m7))
         EXTENSIONAL "DEPT"(0:deptno1m7,1:dname1m7,2:loc1m7)

Failing query: Native SQL Query Fragment
(SELECT ('ontop-bnode-1' || REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(v3."deptno", '%', '%25'), ' ', '%20'), '!', '%21'), '"', '%22'), '#', '%23'), '$', '%24'), '&', '%26'), '''', '%27'), '(', '%28'), ')', '%29'), '*', '%2A'), '+', '%2B'), ',', '%2C'), '/', '%2F'), ':', '%3A'), ';', '%3B'), '<', '%3C'), '=', '%3D'), '>', '%3E'), '?', '%3F'), '@', '%40'), '[', '%5B'), '\', '%5C'), ']', '%5D'), '^', '%5E'), '`', '%60'), '{', '%7B'), '|', '%7C'), '}', '%7D') || '/' || REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(v3."dname", '%', '%25'), ' ', '%20'), '!', '%21'), '"', '%22'), '#', '%23'), '$', '%24'), '&', '%26'), '''', '%27'), '(', '%28'), ')', '%29'), '*', '%2A'), '+', '%2B'), ',', '%2C'), '/', '%2F'), ':', '%3A'), ';', '%3B'), '<', '%3C'), '=', '%3D'), '>', '%3E'), '?', '%3F'), '@', '%40'), '[', '%5B'), '\', '%5C'), ']', '%5D'), '^', '%5E'), '`', '%60'), '{', '%7B'), '|', '%7C'), '}', '%7D') || '/' || REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(v3."loc", '%', '%25'), ' ', '%20'), '!', '%21'), '"', '%22'), '#', '%23'), '$', '%24'), '&', '%26'), '''', '%27'), '(', '%28'), ')', '%29'), '*', '%2A'), '+', '%2B'), ',', '%2C'), '/', '%2F'), ':', '%3A'), ';', '%3B'), '<', '%3C'), '=', '%3D'), '>', '%3E'), '?', '%3F'), '@', '%40'), '[', '%5B'), '\', '%5C'), ']', '%5D'), '^', '%5E'), '`', '%60'), '{', '%7B'), '|', '%7C'), '}', '%7D')) AS "v16", 0 AS "v18", 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type' AS "v25", 'http://example.com/base/DEPT' AS "v41", 1 AS "v8"

It appears that the Ontop query fragment (above)

v16/ontop-bnode-1{}/{}/{}(deptno1m7,dname1m7,loc1m7) should be
v16/ontop-bnode-1{}/{}/{}(INTEGERToTEXT(deptno1m7),dname1m7,loc1m7).

In this case, this ontop-bnode statement is added during the first steps of query processing in the QuestQueryProcessor - Start the unfolding...

It may be that the SQLPPMapping extracted by the DirectMappingBootstrapper is where the initial ontop-bnode statement is added.
I see EMP_empno is cast to TEXT: s/RDF(http://example.com/base/EMP/empno={}(TmpToTEXT(EMP_empno)),IRI)
but I don't see the same thing happening for DEPT_deptno: o/RDF(ontop-bnode-1{}/{}/{}(DEPT_deptno,DEPT_dname,DEPT_loc),BNODE)
[id: MAPPING-ID1
target atoms: triple(s,p,o) with s/RDF(http://example.com/base/EMP/empno={}(TmpToTEXT(empno)),IRI), p/<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>, o/<http://example.com/base/EMP>, triple(s,p,o) with s/RDF(http://example.com/base/EMP/empno={}(TmpToTEXT(empno)),IRI), p/<http://example.com/base/EMP#empno>, o/RDF(empno,xsd:integer), triple(s,p,o) with s/RDF(http://example.com/base/EMP/empno={}(TmpToTEXT(empno)),IRI), p/<http://example.com/base/EMP#ename>, o/RDF(ename,xsd:string), triple(s,p,o) with s/RDF(http://example.com/base/EMP/empno={}(TmpToTEXT(empno)),IRI), p/<http://example.com/base/EMP#job>, o/RDF(job,xsd:string), triple(s,p,o) with s/RDF(http://example.com/base/EMP/empno={}(TmpToTEXT(empno)),IRI), p/<http://example.com/base/EMP#deptno>, o/RDF(deptno,xsd:integer), triple(s,p,o) with s/RDF(http://example.com/base/EMP/empno={}(TmpToTEXT(empno)),IRI), p/<http://example.com/base/EMP#etype>, o/RDF(etype,xsd:string)
source query: SELECT * FROM "EMP", id: MAPPING-ID2
target atoms: triple(s,p,o) with s/RDF(http://example.com/base/EMP/empno={}(TmpToTEXT(EMP_empno)),IRI), p/<http://example.com/base/EMP#ref-deptno>, o/RDF(ontop-bnode-1{}/{}/{}(DEPT_deptno,DEPT_dname,DEPT_loc),BNODE)
source query: SELECT "EMP"."empno" AS "EMP_empno", "DEPT"."deptno" AS "DEPT_deptno", "DEPT"."dname" AS "DEPT_dname", "DEPT"."loc" AS "DEPT_loc" FROM "EMP", "DEPT" WHERE "EMP"."deptno" = "DEPT"."deptno", id: MAPPING-ID3
target atoms: triple(s,p,o) with s/RDF(ontop-bnode-1{}/{}/{}(deptno,dname,loc),BNODE), p/<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>, o/<http://example.com/base/DEPT>, triple(s,p,o) with s/RDF(ontop-bnode-1{}/{}/{}(deptno,dname,loc),BNODE), p/<http://example.com/base/DEPT#deptno>, o/RDF(deptno,xsd:integer), triple(s,p,o) with s/RDF(ontop-bnode-1{}/{}/{}(deptno,dname,loc),BNODE), p/<http://example.com/base/DEPT#dname>, o/RDF(dname,xsd:string), triple(s,p,o) with s/RDF(ontop-bnode-1{}/{}/{}(deptno,dname,loc),BNODE), p/<http://example.com/base/DEPT#loc>, o/RDF(loc,xsd:string)
source query: SELECT * FROM "DEPT", id: MAPPING-ID4
target atoms: triple(s,p,o) with s/RDF(ontop-bnode-2{}/{}/{}(id,likeType,likedObj),BNODE), p/<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>, o/<http://example.com/base/LIKES>, triple(s,p,o) with s/RDF(ontop-bnode-2{}/{}/{}(id,likeType,likedObj),BNODE), p/<http://example.com/base/LIKES#id>, o/RDF(id,xsd:integer), triple(s,p,o) with s/RDF(ontop-bnode-2{}/{}/{}(id,likeType,likedObj),BNODE), p/<http://example.com/base/LIKES#likeType>, o/RDF(likeType,xsd:string), triple(s,p,o) with s/RDF(ontop-bnode-2{}/{}/{}(id,likeType,likedObj),BNODE), p/<http://example.com/base/LIKES#likedObj>, o/RDF(likedObj,xsd:string)
source query: SELECT * FROM "LIKES"]

Thanks @thomasjtaylor for reporting the issue. It should have been fixed by https://github.com/ontop/ontop/pull/657 . If it is not the case, feel free to reopen the issue.


[Protected Var Request] - report 6653 "Combine Return Receipts"

We would like to be able to use them in an OnOpenPage trigger extension
protected var
    PostingDateReq: Date;
    DocDateReq: Date;
    CalcInvDisc: Boolean;
    PostInv: Boolean;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


ref.listen don't listen to first state of state notifier provider

Discussed in https://github.com/rrousselGit/riverpod/discussions/1380
Originally posted by thisisyusub April 26, 2022
I want to call some api when provider is initialized. This is the following:

When I write await Future.delayed(Duration.zero) it works, listener working and dialog showing

UI code looks like this:

But when delay is removed, listener is not working anywhere.
Otherhand, when I listen to postFrameCallback it is working as an expected.

How can I handle this situation in other way? I think these solutions are not good one. I think, ref.watch, ref.listen should take the latest state and move it to ui link bloc state management.

Closing since there's already a discussion about it.


TextVectorization does not convert Cyrillic characters to lowercase

Issue type
Support
Have you reproduced the bug with TensorFlow Nightly?
Yes
Source
source
TensorFlow version
2.8
Custom code
Yes
OS platform and distribution
Windows 10
Mobile device
No response
Python version
3.9
Bazel version
No response
GCC/compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current behavior?
keras.layers.TextVectorization does not convert Cyrillic characters to lowercase with 'lower_and_strip_punctuation'.
Deprecated keras.preprocessing.text.Tokenizer does this.
Standalone code to reproduce the issue
from tensorflow.keras.layers import TextVectorization

tokenizer = TextVectorization(split='character', standardize='lower_and_strip_punctuation')

tokenizer.adapt(["Zz, Aa"])   # Latin
vocab = tokenizer.get_vocabulary()
print(vocab)   # ['', '[UNK]', 'z', 'a', ' ']

tokenizer.adapt(["Яя, Аа"])   # Cyrillic
vocab = tokenizer.get_vocabulary()
print(vocab)   # ['', '[UNK]', 'я', 'а', 'Я', 'А', ' ']

from tensorflow.keras.preprocessing.text import Tokenizer  # deprecated
tokenizer = Tokenizer(char_level=True)
tokenizer.fit_on_texts(["Яя, Аа"])   # Cyrillic
print(tokenizer.index_word)   # {1: 'я', 2: 'а', 3: ',', 4: ' '}

Relevant log output
['', '[UNK]', 'z', 'a', ' ']
['', '[UNK]', 'я', 'а', 'Я', 'А', ' ']
{1: 'я', 2: 'а', 3: ',', 4: ' '}

Hi @Ybisalt ,

Thank you for your issue, I replicated the issue in colab 2.16.1 and faced the same issue. Please find the gist for reference.
Please post this issue on keras-team/keras repo.
To know more see;
https://discuss.tensorflow.org/t/keras-project-moved-to-new-repository-in-https-github-com-keras-team-keras/1999.

Thank you!


Refactoring (May 2024 planning meeting) - Survey Type System Architecture

Description
Redesign of the survey classification system to support different types of mobility data collection.
Objectives

Enable flexible survey type configuration
Support for mobile, personal and object surveys
Ensure backward compatibility with existing data

Tasks

[ ] Analyze current survey types
[ ] Design new data schema
[ ] Develop configuration interfaces
[ ] Create data migrations
[ ] Implement validations

Acceptance Criteria

Historical data remains accessible
Admin interface for type management
Complete system documentation

My thesis for datawarehouse:
https://publications.polymtl.ca/2116/1/2016_PîerreLeoMongeonBourbonnais.pdf


reorganize examples module structure.

What this PR does / why we need it?
Any background context you want to provide?
reorganize examples module structure.
What are the relevant tickets?

Fixes #
Checklist

[x] Added relevant tests or not required
[x] Didn't break anything

@skhugh Thanks for your contribution.
Wouldn't it be easier for new uers to see the examples if they were completely separated into separate folders? 🤔

It is still separated, I just removed unecessary app folder.


feat: add Red Hat OpenShift Application Services logo

This is not the icon you were asking for - this one is for the statuspage. I'll add yours today.


Update Alpine package libacl to acl-libs

Was updated in https://gitlab.alpinelinux.org/alpine/aports/-/commit/0824e5bc4c0d1fb9aac2f133a4c0a92f1f0bb5b4.
Resolves #159.
I haven't tested this other than to ensure it builds.

New build tested successfully on two VM's.
Thank you for this!


Duplicate 'annotate from JSDoc' suggestion'

Was this with "strict": true ? Where exactly was your cursor?

Repros even with noImplicitAny: false, so it's not the codefix combined with refactor causing the duplication.
Doesn't repro on tide, which I believe uses a different method to get refactorings. (Or maybe just de-dupes them itself?)
Repros when the cursor is anywhere in the function.
Both entries work.


[Feature] begin using startupProbe

With startupProbe introduced in Kubernetes 1.17, and the current version being 1.27, can CNPG begin using this feature?
Folks running Kubernetes older than 1.17 are unlikely to be updating CNPG at this point.

I explored the possibility of adding a startupProbe implementation and it resulted more complex than needed without adding enough benefits.
I think we can revisit the opportunity to add the startupProbe once we simplify the operator <> instance interactions.
cc @mnencia @gbartolini

closing since it was the wontfix label


Refactor video player for event detail

Use hook to handle youtubeURL
Rename MeetupYoutubeVideo component to VideoPlayer

Great @beltranrengifo ! I'll take a look later, thanks a lot!

@Stephy6 I'm merging this, let's improve things in another pr so this won't grow too much.
Feel free to suggest changes by creating an issue in the repo. Thxs!


Add .ts files in create-svelte/shared to both +typescript and -typescript (as .js files)

Alternative to #4365. With this PR, instead of needing to maintain parallel test/test.ts and test/test.js files (or whatever other stuff gets added in future), we can just have a .ts file in a shared directory that doesn't specify typescript, and it will get added to both +typescript and -typescript variants, appropriately converted in the latter case.
fixes https://github.com/sveltejs/kit/issues/4341. closes #4365
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[ ] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpx changeset and following the prompts. All changesets should be patch until SvelteKit 1.0

re tests — maybe, though I kinda feel like that applies to the package as a whole. one day


[FR]: Integration of Reth

Describe your idea
Integration of Reth as an execution client.
Considered Alternatives?

Additional Context
No response
Acknowledgment

[X] I looked through the feature requests/enhancements planned for this project before submitting a new idea

Here are the logos for inside of Stereum:

@daGscheid they don't look centered?


[chip dv] Add pinmux sleep ret test to testplan

This commit adds the pinmux sleep retention test to the testplan.
This is discussed in issue #12816.
Signed-off-by: Srikrishna Iyer<EMAIL_ADDRESS>

Filed #14352 to track the development of this test.

lgtm.


restore some 'Expected value' content that was lost in MIxS v6.2.0

MIxS v6.2.0 is based on the following input: https://github.com/GenomicsStandardsConsortium/mixs/raw/issue-610-temp-mixs-xlsx-home/mixs/excel/mixs_v6.xlsx
See the mixs6.2_release_candidate repo's project.Makefile for elaboration
The following spreadsheet was used to convert MIxS Value syntaxes and Expected values into LinkML ranges and patterns: https://github.com/GenomicsStandardsConsortium/mixs6.2_release_candidate/blob/main/config/mixs-valsyns-expvals-to-linkml-ranges-patterns.tsv
Some content may have been lost, like

The material displaced by the entity at time of sampling. Recommend subclasses of environmental material [ENVO:00010483]

for env_medium/MIXS:0000014

To what extent do the Expected values need to be reiterated verbatim in one of the SlotDefinition metaslots?
hysterectomy has this Expected value: 'hysterectomy status'
After the range/pattern conversion, that Expected value is not present anymore.
  hysterectomy:
    description: Specification of whether hysterectomy was performed
    title: hysterectomy
    examples:
      - value: 'no'
    slot_uri: MIXS:0000287
    range: boolean

I would like a partner to help me with this. I can show some tricks for finding cases where the "Expected value" was lost between 6.0 and 6.2, but it would be nice to have somebody look with a new fresh set of eyes and even suggest a prioritized list of which ones to add back in.

getting started again!
MIxS 6.2 is based on
https://github.com/GenomicsStandardsConsortium/mixs/raw/issue-610-temp-mixs-xlsx-home/mixs/excel/mixs_v6.xlsx
which is in a longstanding branch (@turbomam elaborate)
This makefile target in the mixs6.2_release_candidate converts that Excel file into the YAML file that is now https://github.com/GenomicsStandardsConsortium/mixs/blob/v6.2.0/src/mixs/schema/mixs.yaml but it also stashes a harmonized but otherwise unchanged  view of the two worksheets in that XLSX file as https://github.com/GenomicsStandardsConsortium/mixs6.2_release_candidate/blob/main/GSC-excel-harmonized-repaired/mixs_v6.xlsx.harmonized.tsv
generated-schema/mixs_6_2_rc.yaml:
	$(RUN) write-mixs-linkml \
		 --gsc-excel-input 'https://github.com/GenomicsStandardsConsortium/mixs/raw/issue-610-temp-mixs-xlsx-home/mixs/excel/mixs_v6.xlsx' \
		 --gsc-excel-output-dir downloads \
		 --classes-ssheet config/build-test-only/schema-for-classes-schemasheet.tsv \
		 --classes-ssheet config/build-test-only/prefixes-for-classes-schemasheet.tsv \
		 --classes-ssheet config/classes-schemasheet.tsv \
		 --non-ascii-replacement ' ' \
		 --schema-name $(RC_PREFIX) \
		 --textual-key 'Structured comment name' \
		 --linkml-stage-mods-file config/linkml-stage-mixs-modifications.yaml \
		 --range-pattern-inference-file config/mixs-valsyns-expvals-to-linkml-ranges-patterns.tsv \
		 --tables-stage-mods-file config/mixs-tables-stage-modifications.tsv \
		 --harmonized-mixs-tables-file GSC-excel-harmonized-repaired/$(LEGACY_PREFIX).harmonized.tsv \
		 --repaired-mixs-tables-file GSC-excel-harmonized-repaired/$(RC_PREFIX).repaired.tsv \
		 --extracted-examples-out extracted-data/$(RC_PREFIX).extracted-examples.yaml \
		 --repair-report conflict-reports/conflict-repair-report.tsv \
		 --unmapped-report other-reports/un-handled-stringsers-expvals.tsv \
		 --schema-file-out $@

See

mixs_v6.xlsx.harmonized-google-sheet-copy (a reshaped but otherwise unaltered version of the MIxS XLSX fie that served as the input into the MIxS 6.2 YAML generation)

@turbomam use this file from Ubuntu 24 NUC
/home/mark/gitrepos/mixs/mixs-schemasheets-template.tsv


Fix bug for add Trigger

Codecov Report

Merging #587 (2890255) into master (be20ec7) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master     #587   +/-   ##
=======================================
  Coverage   67.91%   67.91%
=======================================
  Files          99       99
  Lines        6172     6172
  Branches     1066     1066
=======================================
  Hits         4192     4192
  Misses       1980     1980

Impacted Files
Coverage Δ

src/pipeline/wizard.ts
73.75% <100.00%> (ø)

Continue to review full report at Codecov.

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


Databricks inference adapter

We want to setup Databricks as a remote inference provider for llama-stack. Databricks Foundation Model APIs are OpenAI compatible and we suggest using the OpenAI client to query Databricks model serving endpoints.

Hi @prithu-dasgupta -- thank you for the contribution!
I do have a question: does Databricks have a raw tokens API into the model? This way we can control exactly how we format the incoming request and send it to the provider.
See https://github.com/meta-llama/llama-stack/blob/main/llama_stack/providers/adapters/inference/tgi/tgi.py#L107-L109
This was needed because otherwise tool calling for llama3.1 would not work correctly.

@ashwinb good call. added max tokens to the api call. i had some issues rebasing on latest refactor, so started a new pull request here https://github.com/meta-llama/llama-stack/pull/83. closing this one.


[Feature] Add the Australian Mouse Brain Mapping Consortium Atlas

The Australian Mouse Brain Mapping Consortium released a fantastic 15um resolution population average MRI atlas.
https://imaging.org.au/AMBMC/
The template is great but the labels are a bit limited, not covering the whole brain. It is in Waxholm Mouse Space
It could be a good resource for those working with MRI. It is available under a Creative Commons Attribution 3.0 Australia Licence so is open source just requiring attribution.
The recommended citation is the following conference paper
Janke AL, Ullmann J, Kurniawan N, Paxinos G, Keller M, Yang Z, Richards K, Egan G, Petrou S, Galloway G, Reutens D. (2012) 15μm average mouse models in Waxholm space from 16.4T 30μm images. In 20th Annual ISMRM Scientific Meeting and Exhibition, Melbourne, Australia.
However I cant find this online. It is also described in the following papers that I can see.
A segmentation protocol and MRI atlas of the C57BL/6J mouse neocortex
An ontologically consistent MRI-based atlas of the mouse diencephalon
Segmentation of the C57BL/6J mouse cerebellum in magnetic resonance images
Segmentation of the mouse hippocampal formation in magnetic resonance images
An MRI atlas of the mouse basal ganglia

This looks nice. I'm not super familiar with the Waxholm mouse space. Are there other atlases in this space with better annotations?
BTW I think there's just the abstract for ISMRM meetings, and it's here.

There are other annotations such as https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2930145/ which is shared https://www.nitrc.org/projects/incfwhsmouse but I don't think they are better.
I haven't checked to see whether these two templates align with each other but I would hope so.
I don't know how much utility these have but I will still integrate them into the api soon.


py2many test cases

I am looking for a python to JS implementation to run within or alongside https://github.com/adsharma/py2many , and running pj on the tests in https://github.com/adsharma/py2many/tree/main/tests/cases I found some issues, that I thought worth sharing.  See https://github.com/metapensiero/metapensiero.pj/issues/61 for the same in an alternative project.
I initially tried with the PyPI release, and found it doesnt support AnnAssign very well.  Using master works a bit better, but still fails https://github.com/adsharma/py2many/blob/main/tests/cases/rect.py with "Cannot convert AnnAssign nodes with no assignment!" due to using dataclasses.
Another set of tests fail due to no "Set", which is already raised as https://github.com/flexxui/pscript/issues/24 .
https://github.com/adsharma/py2many/blob/main/tests/cases/exceptions.py is an interesting one -- most Python transpilers dont handle this, and pscript does quite well, except it doesnt detect the divide-by-zero, as this returns Infinity on JavaScript, not an exception.
Also a special mention, bitops.py works correctly, where most Python->JavaScript transpilers cant do this (and often wontfix it).
Other failures:

comb_sort.py, Cant import math.floor
byte_literals.py: "No Bytes in JS".  Isnt https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer good enough?
coverage.py: len(Dict) is converted to object.length, which returns undefined
infer_ops.py: Cant import ctypes.  Could be ignored like typing. e.g. https://github.com/flexxui/pscript/blob/d239a23b56f43fae481719e302ef27d9cf0ba39a/pscript/parser1.py#L853

PScript does not claim or try to be fully compliant with Python. E.g. annotations and imports are out of scope.

Well, most Python-to-JS transpilers do not try to be compliant, wontfixing various incompatibilities at the whim of the main developers preference, and the ones which do have a stated goal of compatibility are still no where near PyPy in terms of compatibility, and either emit horrid JS or have a huge runtime layer.  So far, pscript looks closest to my needs, which are a subset of py2many's capabilities, and pscript handles many parts of Python syntax/semantics better than py2many currently does.
The lack of set is a deal breaker for me, but https://github.com/flexxui/pscript/issues/24 suggests that you are open to set being implemented.
The other item in the Caveats which may effect me is "Keys in a dictionary are implicitly converted to strings", but I havent investigated this sufficiently to know whether the current implementation breaks my use-case, and/or whether I can work around this in a way that is reasonable.
The docs cover the div-by-zero being JS Infinity.  I can live with that, but I would be happy to attempt fixing it if possible.  The reason is that Python code doesnt have infinity, so it is hard to write PScript code which is valid Python and JS and handles div-by-zero.
As the PScript is already using Math.floor, and other functions which are common between math and Math, it seems like a subset of math might be supported without any need for real imports.  But it looks like I could support these in a pscript wrapper if pscript doesnt want these.
I dont need bytes at the moment, but I will in the future.  If you agree ArrayBuffer is close enough to use as a base, we can create an issue about it.  Otherwise I can handle bytes in a pre-processor.
The len(Dict) problem I found appears to be a bug, or an omission from Caveats if it is a minefield to solve it.  I am not using this feature, so it isnt high on my priority list, but I would be willing to try fixing it unless it is already known to be a hard nut to crack.  This would solve the py2many coverage.py test case, which is quite important if I was to make pscript the official implementation of JS for py2may.  Alternatively, I could move len(Dict) to a separate test case.
I raised ctypes not because I think pscript should support imports or annotations, but because ctypes has a bunch of attributes which are often imported only to be used as part of annotations, and the import node can simply be ignored, as the annotations are already being ignored.  Again this can be done in a pre-process phase if you are opposed to it being part of pscript.
fwiw, there are other parts of py2many test suite which fail, but were not raised here because the test suite is designed to have each language supporting only a subset of the test cases, so each language transpiler can develop separately, and skip various functionality which is hard to translate or undesirable.

Well, most Python-to-JS transpilers do not try to be compliant,

To be more precise, I see PScript more as a way to write JS with a Python syntax. Some incompatibilities are "deliberate", e.g. 1/0 producing inf. And then there is performance. In Pscript I don't want to go all the way in terms of compatibility if it goes at cost of performance. Of course this is usually a compromise.
These two "guidelines" have resulting into a tool that is relatively useful. Relatively Pythonic while still being fast. It has also resulted in a tool that can be confusing, tries to be Pythonic but you have to remember where it's not  :)  Personally, I have grown to believe that running Python in the browser will always be awkward one way or another.

The lack of set is a deal breaker for me, but #24 suggests that you are open to set being implemented.

Yes, I having a set makes sens, though it will be limited in functionality.

The other item in the Caveats which may effect me is "Keys in a dictionary are implicitly converted to strings",

This is something that JS does with object. Would be hard to solve unless you completely re-implement dict.

I dont need bytes at the moment, but I will in the future. If you agree ArrayBuffer

Yeah, I think we could convert literal bytes to ArrayBuffer or Uint8Array and e.g. implement encode/decode.

The len(Dict) problem I found appears to be a bug, or an omission from Caveats if it is a minefield to solve it.

It should be in the caveats, but it appears that it's not. This is a performance thing. Though I am open to considering overloading len() so that we can fix it. We always have PSCRIPT_OVERLOAD=False where needed.


Change markup of notation elements (bold) to align with PICA elements

By now the show in bold the last element of a hierarchy. This information can already be seen by the hierarchy indicators at the left. Better mark bold which elements can be used to construct the full notation e.g.<PHONE_NUMBER>7471 is build from:
7--------------
--0.9044-------
---.----074----
---.-------7471

Note the facet indicator not included.

the 2nd "-" is free -> error!

the 2nd "-" is free -> error!

The second "-" would be filled by the facet indicator which is not included because it is no semantic element and it will not be stored in PICA.

Highlight base number in every analysis

User interface and PICA field has different definition of base number.

Bold elements now correspond to elements in PICA data.


Better sizing of Table columns

I know the support in matplotlib for tablulation is pretty poor, but I would love to improve the visual output of Tables (at least a little!). Consider:
Table(['example-filename.png'])

If the first column is called 'Row' and contains small integers (e.g. 0) then the first column could be made a lot narrower so that the second column (containing the filename) could then be wider. This would really help make Tables more legible (i.e bigger font size), addressing one of my biggest problems when working with this class.

Since commit be90a54bd43 Tables take into account the maximum number of characters in each column when computing widths. This should be an improvement but I'm not entirely sure how it interacts with font sizing, so there might be more scope for improvement.

I think we can close this issue now - the sizing is still not perfect but it is certainly a lot better than before!
If anyone has a better sizing policy to suggest, they can either comment below (and we can reopen the issue) or they can file a new issue...


vCheck Functions --> Modules

Reading through so many of the checks seems to include functions.  Can we start to think about consolidating all these disparate functions into more 'generic' advanced functions as vCheck modules.  Feels like there might be lots that can be consolidated and shared among plug-in builders.  Thoughts?

Marking this as an enhancement and closing it out. This request should be handled in a future release as we move towards converting vCheck, itself, and all plugins to one main Module, with sub-modules for each plugin.

@vScripter : Did you ever manage to get anywhere in converting this to modules/sub-modules?


Cli macros

This make administering the cluster a little easier when I have to forcefully take nodes from users. I have made it admin only at the moment. Might make sense to let regular users run it too.

Travis needs to be fixed, but once that's done I'm happy.

I fixed the errors in #1061 since those are unrelated to this PR. I'll rebase this PR once that one is merged.

Sounds good; I've approved both prs.

Just need a rebase and then we can merge.


New EEG-Inception architecture for motor imagery

I realized that the there are two papers proposing models called EEGInception in the recent literature: one for ERP classification (which is already implemented in braindecode) and another for motor imagery. This PR renames the existing EEG-Inception model for ERP to raise the ambiguity and implements the other architecture for motor-imagery tasks.

Let me know if this is what you had in mind @agramfort

@bruAristimunha @sliwy feel free to merge

Great thanks! I'll merge it then!


[Feature request] Support for LLama3.1

Llama 3.1 has been released, and it includes a small change in the model's forward part that makes the current version of TensorRT-LLM unable to run it.
I'm a member of homebrew/jan. Currently, we support the Llama 3 model, and now I'm planning to update the model execution part of TensorRT-LLM to support Llama 3.1 for integration into our project at  cortex.tensorrt-llm.

Hi @nguyenhoangthuan99 , llama 3.1 is supported. Please check the latest news: https://github.com/NVIDIA/TensorRT-LLM?tab=readme-ov-file#latest-news


when i strat have this issue showed.

i have install the ltxvideo brach, but still have this prompt.

There is currently something wrong with updating via manager, better do a manual git clone to update the LTXV comfy node. If that still doesn't work, what worked for me, was to uninstall the node, and reinstall it via manager.


Add months to typespec for Timex.shift

Summary of changes
The option list typespec didn't allow months despite it clearly working. Sorry for not noticing this when I changed this earlier.

Coverage increased (+0.08%) to 64.732% when pulling f174381cbedd17a7a01910fbf7a842f8eb19dfc5 on obrok:shift-months-typespec into e98e04af5bc83a3d0a208261103aa8111a9cc39a on bitwalker:master.

Thanks!


Feature/angular12 attempt

Update to Angular 12. Probably going to update a lot of other random things later.
This should also fix https://ucsc-cgl.atlassian.net/browse/SEAB-2524

Does the new high severity issue this introduces apply to us? https://app.snyk.io/org/denis-yuen/project/2fb26a6b-c753-4608-b78e-95b808dfb51d/pr-check/39712553-501d-46b5-bbb0-f539a3bd18a0

Does the new high severity issue this introduces apply to us? https://app.snyk.io/org/denis-yuen/project/2fb26a6b-c753-4608-b78e-95b808dfb51d/pr-check/39712553-501d-46b5-bbb0-f539a3bd18a0

It fixes ajv one and adds one. I think it's fairly ini will get fixed before the next release


Resource group name fails common-types pattern when creating resources

Creating a Microsoft.Bing resource fails for existing resource groups with special characters in the name, such as Japanese 西日本, due to pattern validation on the resource group name.
{"code":"DeploymentFailed","message":"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.","details":[{"code":"Pattern","message":"String does not match pattern ^[-\\w\\._\\(\\)]+$: 西日本. Paths in payload: '.path.resourceGroupName'"}]}

It is using the common ResourceGroupNameParameter which has that pattern:
https://github.com/Azure/azure-rest-api-specs/blob/c2ea3a3ccd14293b4bd1d17e684ef9129f0dc604/specification/common-types/resource-management/v1/types.json#L553
Note that this is the same problematic regex as in #13136 but in a different file.

Fix has been merged


Typo "helpdesk<EMAIL_ADDRESS>

Bold with escape characters
https://docs.microsoft.com/en-us/skype-sdk/trusted-application-api/docs/keyterms

Docs Build status updates of commit 4cd42d3:
:warning: Validation status: warnings

File
Status
Preview URL
Details

Skype/Trusted-Application-API/docs/KeyTerms.md
:warning:Warning

Details

Skype/Trusted-Application-API/docs/KeyTerms.md

Line 1, Column 1: [Warning-title-missing] Missing required attribute: 'title'. Add a title string to show in search engine results.
Line 7, Column 1: [Warning-hard-coded-locale] Link 'https://msdn.microsoft.com/en-us/skype/appsdk/skypeappsdk' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
Line 7, Column 1: [Warning-hard-coded-locale] Link 'https://msdn.microsoft.com/en-us/skype/websdk/skypewebsdk' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
Line 33, Column 1: [Warning-hard-coded-locale] Link 'https://msdn.microsoft.com/en-us/library/office/dn454984.aspx' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
Line 37, Column 1: [Warning-hard-coded-locale] Link 'https://msdn.microsoft.com/en-us/skype/websdk/skypewebsdk' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
Line 1, Column 1: [Suggestion-description-missing] Missing required attribute: 'description'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Refs #25705 -- Added Queryset.executed_query

Trac ticket number

ticket-25705
Branch description
Based on the discussion with @charettes it was agreed to follow the path of adding Queryset.executed_query. To solve the ticket.
No tests done yet. I'll like to know first if the approach I did is valid.
Since the DB connections are per-thread as far as I know, this approach should not have any race condition issues. And since it's done before the prefetch, it should pick the Queryset query. Also, since queries are only logged if DEBUG is enabled, this approach requires that too.
My discarded approach was to to get it somehow in the return of self._result_cache = list(self._iterable_class(self)), or stored in the QuerySet.
However, it's much more complicated, because as far as I see the flow is something like
QuerySet when evaluating calls the IterableClass which then  executes the query which then gets the connection cursor, which is wrapped in the previous mentioned one that can log the query.
So the a way would be to make all 4 SqlCompiler.execute_sql return the result and the SQL query. Then you have to adapt all 6 Iterable.__iter__ to also return the query. Then you can store it in the Queryset. Since these methods are part of the public API, this would be a breaking change in both methods. Also I'm not 100% sure how to get the query in the wrapper since the Cursor.execute is wrapped in a context manager which is the one logging the query.
Checklist

[X] This PR targets the main branch.
[X] The commit message is written in past tense, mentions the ticket number, and ends with a period.
[ ] I have checked the "Has patch" ticket flag in the Trac system.
[ ] I have added or updated relevant tests.
[ ] I have added or updated relevant docs, including release notes if applicable.
[ ] I have attached screenshots in both light and dark modes for any UI changes.

I like the non-invasive approach you have taken but I wonder if we could avoid coupling QuerySet with .queries and setting.DEBUG by adding a new last_query property

I agree on checking whether there are queries in the list instead of checking settings.DEBUG .
However, could you expand on what are the benefits of adding the last_query property? Is it that with the property you can use the internal queries_log property? Isn't it still kinda coupled?
Also, by using queries_log you skip this warning
https://github.com/django/django/blob/bc9b6251e0b54c3b5520e3c66578041cc17e4a28/django/db/backends/base/base.py#L176
I guess it's not relevant in this case since we're picking always the last one, but in the future there could be other checks or warnings. Wouldn't it make sense to use the more public queries property?

This will also require tests and docs.
100% agree, but I wanted to wait until I was sure the approach was acceptable. I'll start work on them soon.

Implementation is done and I added a test. The only missing thing is the documentation.
I'm not sure if there's any other case that should be tested. I tried an async test, but in async connection.queries always seems to be None

With the API of executed_query, it limits the queries that are executed when a QuerySet to the main query. However, the prefetch_related queries are also being executed. That information, depending on the scenario, may be useful to a developer. It may be worth another round of consideration before finalizing implementation.
I do recognize that this would mean we'd have to map the queries being run to the QuerySet that's being evaluated. Some possibilities are a context manager or a global-eque state via contextvars.ContextVar. The latter would require some sort of key for each QuerySet, which may also be a new concept.


Install

Hi, how to install please?
Thank you for your help.

get the release and click the xpf from firefox, it'll give you a window asking if you want to install it


Show vote count in dialog before sending votes.

Resolves #1044

@rrenkert Plesae resolve the conflict. Then you can merge.


Alternate mock data strategy

At a meeting next week, we may get endorsement for changing our DITA strategy to one that users higher-level chunks of data.
If that is the case then we'll have to switch our mock data.
Focus on large scale logical blocks of content across the whole document set.
Some summary tables are actually DITA Maps of their children, so hopefully we can add the properties to these elements, to keep the table as-is.

[x] Include paragraphs of text in "signature & characteristics"
[x] include <h1> headings in propulsion narrative
[x] include animated gifs in propulsion narrative
[ ] image links to page of images (as in #225)

This strategy is now live, and I'm pleased with the new direction.


Switch to the Metal rendering backend on iOS.

Based on guidance from the Skia team, the Metal backend is ready for integration into Flutter. This is a meta-bug listing the various tasks that need to be undertaken for the switch to be completed.
The Skia Metal backend is currently only available on iOS versions 11.0 and above. It is unlikely that the minimum supported version will be lowered all the way down to 8.0 (the current minimum supported by Flutter). The recommended approach is to compile both the OpenGL and Metal backends in the iOS engine and use runtime checks to only use the Metal backend on versions 11.0 and above. OpenGL will still be used on older iOS versions till support for the same persists.
Tasks

[ ] Add the enable-metal GN flag to existing builds of the iOS engine and re-baseline benchmarks that measure binary size. Binary sizes are expected to regress by around 220 Kbytes uncompressed.
[ ] Enable the Metal backend on iOS versions 11.0 and above.
[ ] Add an enable-metal shell flag that allows overriding the rendering backend to use without needing version checks. Duplicate all existing benchmarks to run the same with the Metal backend in addition to the OpenGL backend.
[ ] Ensure plugins that that provide pixel buffers to to the engine for inline composition have the appropriate compatibility flags set.
[ ] Ensure platform views are wired up.

References:

Notice of OpenGL deprecation on iOS: https://developer.apple.com/ios/whats-new/
Notice of OpenGL deprecation on Mac: https://developer.apple.com/macos/whats-new/
Related Flutter issues: https://github.com/flutter/flutter/issues/32569, https://github.com/flutter/flutter/issues/18208

Is it a time to release?

Next step here is an opt-in preview. @chinmaygarde estimates at least 2 weeks to get this finished.

It's entirely possible today to build the engine with the metal backend for testing... Although a bit challenging.  Are you looking for something where we provide a binary that works without locally building the engine?

I split platform views into its own bug, and an implemenation is at flutter/engine#11070
I've also opened #38754 to track getting screen rotation wired up properly.

FYI I just got told that there is an issue running applications using Metal in an emulator. Xcode 11 will enable it but there will be still an extra problem of running such apps in an emulator inside of a VM (e.g. in Cirrus). Anka folks are adding support for Metal inside of VMs and I'll keep you posted.

We use the software backend on simulators already (with OpenGL on devices). We don't expect to change this behavior with the migration to Metal.

Closing as duplicate of https://github.com/flutter/flutter/issues/18208.


#530 - updated qulice to 0.15.4

#530 - updated qulice to 0.15.2, fixed checkstyle bugs, created puzzle to fix PMD and xml bugs

@davvd please find reviewer for this one

@exper0 Thanks, someone will review your pull request soon

@carlosmiranda this pull request is for you, please review

@rultor merge please

@rultor merge please

@carlosmiranda Thanks for your request. @yegor256 Please confirm this.

@rultor merge

@rultor merge

@yegor256 OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@exper0 @yegor256 Oops, I failed. You can see the full log here (spent 2min)
gpg: armor header:
gpg: CAST5 encrypted data
gpg: encrypted with 1 passphrase
gpg: original file name='curl-appveyor.cfg'
gpg: WARNING: message was not integrity protected
+ rm -rf curl-appveyor.cfg.enc
+ rm -rf .gpg
+ cd repo
+ git remote add fork git@github.com:exper0/takes.git
+ git remote update
Fetching origin
Fetching fork
From github.com:exper0/takes
 * [new branch]      254        -> fork/254
 * [new branch]      481        -> fork/481
 * [new branch]      482        -> fork/482
 * [new branch]      492        -> fork/492
 * [new branch]      498        -> fork/498
 * [new branch]      530        -> fork/530
 * [new branch]      533        -> fork/533
 * [new branch]      gh-pages   -> fork/gh-pages
 * [new branch]      master     -> fork/master
+ args=
+ '[' default == default ']'
+ args=' --ff'
+ '[' default == no ']'
+ '[' default == only ']'
+ export BRANCH=__rultor
+ BRANCH=__rultor
++ wc -l
++ git show-branch __rultor
+ '[' 0 -gt 0 ']'
+ git checkout fork/530
Note: checking out 'fork/530'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at 1dd4014... #530 - updated qulice to 0.15.2
+ git checkout -b __rultor
Switched to a new branch '__rultor'
+ git checkout master
Switched to branch 'master'
+ '[' false == true ']'
+ '[' false == true ']'
+ git merge --ff __rultor
Auto-merging src/test/java/org/takes/rq/RqMultipartTest.java
Auto-merging src/test/java/org/takes/facets/hamcrest/HmRsHeaderTest.java
Auto-merging src/main/java/org/takes/rq/RqMultipart.java
Auto-merging src/main/java/org/takes/facets/hamcrest/HmRsHeader.java
CONFLICT (content): Merge conflict in src/main/java/org/takes/facets/hamcrest/HmRsHeader.java
Automatic merge failed; fix conflicts and then commit the result.
'cid' file is absent, container wasn't started correctly

@exper0 There are some merge conflicts, please resync.

@carlosmiranda @yegor256 resolved merge  conflict, please try one more time

@rultor merge

@rultor merge

@carlosmiranda Thanks for your request. @yegor256 Please confirm this.

@rultor merge

@rultor merge

@yegor256 OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@yegor256 Done! FYI, the full log is here (took me 15min)

@ypshenychka please, check this issue for QA compliance, as per par.24

@rultor please deploy

@rultor please deploy

@davvd OK, I'll try to deploy now. You can check the progress here

@rultor please deploy

@davvd Done! FYI, the full log is here (took me 13min)

@carlosmiranda
According to our QA Rules:

The code reviewer found at least three problems in the code.

No issues were found during code review.
Please confirm that you'll try to find at least three problems while future reviews.

@exper0 The titile states "updated qulice to 0.15.4" and description states "updated qulice to 0.15.2". Please correct description by providing actual version number for qulice.

@ypshenychka done(changed description to actual version 0.15.4)

@ypshenychka confirmed

@exper0 @carlosmiranda Thank you!

@davvd Quality is acceptable.

@davvd Quality is acceptable.

@ypshenychka thanks for the review, we'll try better next time

@carlosmiranda 10 mins was added to the account of @ypshenychka (for QA review), in transaction 75970967. I added 19 mins to your account, many thanks for working with the project (75970980)! The completion time here was 170 hours and 20 mins.. you're getting extra minutes here (c=4). +19 added to your rating, at the moment it is: +2579


Table not properly rendered in notices

Describe the bug
In the PR for #1624, @qcdyx  corrected a table used as an example for the route_long_name_contains_short_name notice so it was properly rendered in report.html.
@qcdyx noticed at that time that there was at least one another table not properly rendered https://github.com/MobilityData/gtfs-validator/issues/1624#issuecomment-1938910089
We should review tables and other text for all notices to make sure they are properly rendered.
List of notices:

duplicate_route_name
fast_travel_between_consecutive_stops
route_long_name_contains_short_name (SOLVED)

Steps/Code to Reproduce
If you look at the example report from #1624 (https://gtfs-validator-results.mobilitydata.org/c01332bb-3040-4f79-9bd4-48ea89925f54/report.html), you will notice that there is a table for notice fast_travel_between_consecutive_stops tht is not properly displayed.

Expected Results
A properly rendered table.
Actual Results
See screenshot above
Screenshots
No response
Files used
No response
Validator version
4.2.0
Operating system
irrelevant
Java version
No response
Additional notes
No response

Tasks:

Review table references on notices documentation
Fix formatting in notices
Test generated documentation on the report and the rules documentation(QA)


HAV导入有些数据会导入不成功

版本号
~
什么问题
~在Fiddler中抓包导出HAV文件保存，在YAPI中导入无法导入
如何复现此问题
~ 手机连接fiddler，操作应用。


strongly type data

I work with XML Soap calls quite a bit. So all the data comes back as strings. I was wondering if you would like your code to support strongly typing an object or if that would be better to do spin off. Or if some other library would be better suited for this?

Found what I was looking for, schemasaurus will do what I need.

I was focussing on implementing JSON-Schema standart that schemasaurus does only partially...
You can check the benchmark to see which parts of the standart are not supported in different validators.

Thanks. It looks like your library is very good. I was just wondering about a more general purpose tool that is very similar to what json-schema validators already do. It looks like schemasaurus was built with general purpose in mind. I'll evaluate yours for validation though. It looks good!

Thanks! Yes, you are right - schemasaurus allows you to create your own tools based on json documents, essentially creating your own processing standard - json validation is almost a side-effect :)


WIP Put more things in type_fwds

cc @fsaintjacques @bkietz
This goes on the assumptions that (1) all arrowExports.cpp needs are **/type_fwd.h and (2) that doing so would speed up compile time. My understanding is that (1) is true, assuming the type_fwd headers are complete enough, but IDK how much of an effect changing this has on (2).

Alright, I'll tinker a bit more with this.

I did a little bit more--and judging from the size of the arrowExports.o file, it had an effect--but could use some help going beyond this. I don't know how to forward declare things like arrow::ipc::Message::Type since Message is a class and not a namespace, for example.

I can help with this

@github-actions rebase

@bkietz would you mind finishing this up and merging? Looks like there's Windows C++ test failures and an odd lint failure.

appveyor is broken on master, not sure if this patch caused it

Maybe so; odd that Appveyor appears not to have run on the last commit here. It looks like the failures are compression related, and Ben's last commit seems to be trying to address that area.

I opened https://issues.apache.org/jira/browse/ARROW-9085


Improving User Experience: Relocating the "+ Add Parameter" Button and Introducing Checkbox Functionality for Parameter Management

To optimise the user experience when working with parameters in application, I propose the following suggestions:
Relocating the "+ Add Parameter" Button: Currently positioned at the bottom of the page, the button requires users to go down to the screen, which can be inconvenient, especially for users with portrait screens. To address this issue, we recommend relocating the button to a more accessible position below the parameter fields. This adjustment allows users to add new parameters without going down to the screen again and again.
Automatic Row Addition: Additionally, we suggest introducing an automatic row addition feature to simplify parameter input. Instead of relying solely on the "+ Add Parameter" button, users can start typing in a single text field located above the parameter list. As they type, a new empty row will automatically be added below, facilitating the effortless addition of new parameters. This streamlines the process and eliminates the need for users to manually click the button for each new parameter.
Checkbox Functionality for Parameter Management: Furthermore, I recommend incorporating checkboxes before each parameter. This feature empowers users to easily enable or disable specific parameters when testing their API. By checking or unchecking the corresponding checkbox, users can conveniently include or exclude specific parameters. This functionality provides greater flexibility and customization options for API testing.
For visual reference, please refer to the attached photo.

By implementing these suggested enhancements, we significantly enhance the user experience by reducing navigation efforts, streamlining parameter management, and providing a more intuitive and flexible application.

Hi @sherazahmad720
Thank you for your wonderful suggestions. We definitely add these features to our roadmap.

@animator i can do this if you want

Sure @sherazahmad720 please feel free to work on this issue. As you suggested, a new empty row that automatically gets added below is the most intuitive way to go. Also checkbox functionality will also be very useful for API testing.

Can I work on this??

Sure @sam-shot !

Hi sir, I was thinking about solving this problem, one way seems to be using records to show multiple types of rows using DaviModel<(NameValueModel, RequestParamCustomisationEnum)> instead of DaviModel and then we can add custom rows to our model, enums for which exist in RequestParamCustomisationEnum.
Another way can be stop using NameValueModel here altogether and create a class UrlParamsModel which would have a member of class NameValueModel as well as RequestParamCustomisationEnum with an either or fashion.
Are there better ways I should figure out? or should I continue with one of those?
I apologize if I am asking for too much, I am thinking to prefer the second method, as it seems cleaner.

Introducing Checkbox Functionality for Parameter Management has now been merged (#97) so it is no longer an issue and is being removed from the title of this issue.

Buttons feature is now being tracked in https://github.com/foss42/apidash/issues/304


Bootstrap tooltip not showing complete text of a very long word(without space)

For the below line of code
//</ a href="#" tooltip="thisisaverylongwordwhichneedstobeshownastooltiptext" tooltip-placement="bottom">Check me out!
the tool tip only shows "thisisaverylongwordwhichneedstob" when we hover over the link.
please check this plnkr link
http://plnkr.co/edit/FmcxznrivN60Dva5ocxR?p=preview

This is due to Boostrap's CSS, nothing to do with this project:
.tooltip-inner {
  max-width: 200px;


Cleaned up unused import call to ansible.module_utils.connection

One file needed to be modified.
There was an unnecessary import call to ansible.module_utils.connection.
I commented out the line and added an inline comment regarding the modification made.

Closing PR due to minor changes.


API for saving data from editor to data?

Hi all,
I didn't find any documents about api for saving data.
I want to make online docs editor with real time databases.
Thanks for any helps.
Dinh

Check out the image example source, it has stub code for save handling.
The hard part (for me) is the whole exporter stuff. Because I didn't need any images/files, I ended up simply saving the internal JSON representation:
class SaveHandler {
    saveDocument(params) {
        return new Promise((resolve) => {
            const doc = params.editorSession.getDocument();
            const value = JSON.stringify(doc.toJSON());
            // send "value" to the server, store it in localStorage or whatever.
            resolve();
        });
    }
}

You can then load that state by doing:
// fixture is your "default" document definition, each example has one
let doc = cfg.createDocument(fixture);
try {
    console.info('Importing document');
    const json = JSON.parse(/* recovered value */);
    const converter = new JSONConverter();
    converter.importDocument(doc, json);
} catch(err) {
    console.warn('Cannot import document from the given input');
}

let editorSession = new EditorSession(doc, {
        configurator: cfg,
        // other options...
});

Thanks @kilburn.
We are working on documentation for the 1.0 release. This topic will be covered.

I'm interested to know if this ever got documented anywhere? I'm interested in the same question.

Obsolete.


PancakePainter 1.4.0 security and bugfix full release

Simple upgrades and fixes for 1.4.0 release

Just a request for a 17.5x8.5 ruler area for better size management of pancakes/drawing.


update help and agree-terms

Updating the help commands
Changing terms of use naming
Updating example code to updates

I will take these changes in: https://github.com/lukso-network/tools-lukso-cli/pull/48


ashafir/porting python 3

I pulled this and ran:
python setup.py test
with success for both 2.7 and 3.6
I manually did the example Rsign in the README using both python 2.7 and python 3.6.5 and matched the results in the README.
LGTM - I recommend submitting the PR to ciena-blueplanet/rsign in place of the others.


Some symbols are missing in database after save

Some symbols are missing in database after save, they are replaced with underscore symbol.
Binary Ninja Version: 3.1.3469 Personal and 3.1.3740-dev Personal
Platform: Windows 11 Version 2009
File:
mach_kernel.zip
Steps to reproduce:

Open attached file for analysis
Wait until analysis is done
Save database
Close database
Open saved database

Symbols window during analysis

Symbols window after you re-open database

This reproed for me on a recent macOS dev build as well with the test file.

Fixed in build 3951


Problem with running the sample project

Failure to fill out this information will result in this issue being closed.
Hello
when i try to run the sample project in visual studio 2017 i get this error
Error	CS0006	Metadata file 'D:\SettingsPlugin-master\samples\SettingsSample\SettingsSample\bin\Debug\SettingsSample.dll' could not be found		Active
Bug Information
Version Number of Plugin: <IP_ADDRESS>
Device Tested On: Visual Studio
Simulator Tested On:Visual Studio
Version of VS: 2017

Couldn't reproduce and you didn't fill in enough information about what project you were even trying to run. I can only assume you didn't restore nugets.


Permission denied (publickey)

When trying to download Schematica using Git, I get an error stating that the remote repository could not be read, and that the permission to access it was denied.  What should I do to get around this?
Output of $ git clone git@github.com:Lunatrius/Schematica.git
Cloning into 'Schematica'...
Warning: Permanently added the RSA host key for IP address '<IP_ADDRESS>' to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

You most likely forgot to add your public ssh key to GitHub. You can avoid this error by using the HTTPS method to clone the repository, but that will require you to type your username and password every session.

Okay, I'm fine with using the HTTPS. Thank you.


GH-39855: [Python] ListView support for pa.array()

WIP
Rationale for this change
Add pa.array() instantiation support for ListView and LargeListView formats.
What changes are included in this PR?

pa.array() supports creating ListView and LargeListView types
ListArray, LargeListArray now have their size initialized before adding elements during python-to-arrow conversion. This allows these types to be convertible to ListViewArray and LargeListViewArray types.

Are these changes tested?
WIP
Are there any user-facing changes?
Yes, new feature added.

Closes: #39855

>>> import pyarrow as pa
>>> pa.array([[1, 2], [3, 4], None], type=pa.list_view(pa.int8()))
<pyarrow.lib.ListViewArray object at 0x13df6e740>
[
  [
    1,
    2
  ],
  [
    3,
    4
  ],
  null
]


Add support for 3.0-preview7

c.f. https://github.com/TechEmpower/FrameworkBenchmarks/pull/4955

Fixed by https://github.com/redhat-developer/kestrel-linux-transport/pull/80.
Included in myget packages 3.0.0-190910-1110+.


(PUP-10524) Address spec failures when running with facter 4

Fixes still required

[x] $CHILD_STATUS returns nil
[x] trace logging

CLA signed by all contributors.

@melissa this is great!
The trace problem was fixed today in https://github.com/puppetlabs/facter-ng/pull/527/files
The test that fail with the $CHILD_STATUS error mock texecute or execute from execution.rb. Since the execution is mocked, a new process is never created and there is no exit status. It was just a coincidence that Facter 2 spawned a new process and it's exit status was interpreted as the exit status from texecute or execute
In order to fix the test we can add a before block to the test e.g
  before(:all) do
    `(exit 0)`
  end

With the changes from this branch, the $CHILD_STATUS fix and Facter 4 master branch, the unit test pass
Finished in 9 minutes 53 seconds (files took 8.71 seconds to load)
25800 examples, 0 failures, 39 pending

@melissa I pushed the changes for $CHILD_STATUS on your branch and released Facter 4.0.23 today (with the trace fix). Puppet test should pass with those changes.

CLA signed by all contributors.


fix: set concurrency limit to 1 for build-definitions repo

https://issues.redhat.com/browse/STONEBLD-2386

/lgmt

/lgtm

/lgtm


Uses B3 single for non-remote spans (2.2.x)

This makes sure there cannot be JMS problems related to use of
hyphenated headers unless someone overrides the Propagation.Factory.
To avoid this, we set non-remote spans to B3 single format as done on
the 3.x branch here:
https://github.com/spring-cloud/spring-cloud-sleuth/pull/1607/files#diff-db43b7e91bd69d063333c20b947c902bR83-R84
Fixes #1643

oops forgot about this stuff for messaging:

	static {
		LEGACY_HEADER_MAPPING.put(TRACE_ID_NAME, TraceMessageHeaders.TRACE_ID_NAME);
		LEGACY_HEADER_MAPPING.put(SPAN_ID_NAME, TraceMessageHeaders.SPAN_ID_NAME);
		LEGACY_HEADER_MAPPING.put(PARENT_SPAN_ID_NAME,
				TraceMessageHeaders.PARENT_ID_NAME);
		LEGACY_HEADER_MAPPING.put(SAMPLED_NAME, TraceMessageHeaders.SAMPLED_NAME);
		LEGACY_HEADER_MAPPING.put(FLAGS_NAME, TraceMessageHeaders.SPAN_FLAGS_NAME);
	}

it was counting on the old header names existing so it would re-map them to lowercase also.. I'll sort this out somehow..

ok so I left the legacy header mapping there as it is useful on the read side.


Set a max window size

Used the code from Issue #10 to get max size supported by monitor. Then used the generated width and height in the glfwSetWindowSizeLimits function to replace the last two arguments which were earlier GLFW_DONT_CARE.

Great solution! Thank you for your participation on the project!
A small bug was introduced when I was testing the PR (not your fault, I made it myself on #10, but it wasn't really triggered).
The window couldn't go back to windowed mode after fullscreen.

Great solution! Thank you for your participation on the project!
A small bug was introduced when I was testing the PR (not your fault, I made it myself on #10, but it wasn't really triggered).
The window couldn't go back to windowed mode after fullscreen.


Pass the kwargs to _convert method when converting an url file

I found my customized mlm_prompt cannot be applied properly, and I found out the reason is the kwargs hasn't been passed to _convert method. And I fixed it.
Before:

After:

@microsoft-github-policy-service agree


Remove cko from maintainers

Description of changes
#316769
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

I believe the public notice period used to remind them was long enough. This PR should be able to be merged directly.

Yeah, we've been waiting for over a month in #316769.


chore(Mathlib/NumberTheory/NumberField/*): rename completion -> Completion

We have UniformSpace.Completion so it should surely also be AbsoluteValue.Completion v : Type* and NumberField.InfinitePlace.Completion v : Type* (currently they are both completion and both types).

https://leanprover-community.github.io/mathlib4_docs/Mathlib/Analysis/Normed/Ring/WithAbs.html#AbsoluteValue.completion
https://leanprover-community.github.io/mathlib4_docs/Mathlib/NumberTheory/NumberField/Completion.html#NumberField.InfinitePlace.completion

Can you please fix the conflict? Thanks!
bors d+

Sorry for the delay, I'm travelling right now. Let's see if I can get this compiling again.

bors merge


patch parseInt bug

Hi simenkid and amer,
We wrote this patch to avoid a problem where UUIDs staring with numeric digits used for oid would be incorrectly interpreted as integers
We did this in May but unfortunately I have not created the PR until now and I see that this is now conflicting. Please use at your convenience.
Similar patches we created on lwm2m-id
I am glad to see this module maintained again. Thank you!

@jpalao thank you for the patch. I'll fix the conflicts and merge the PR.


Should a VM even have a notion of 'syscall'?

I'm curious if you considered making each syscall a first-class opcode.
What I've observed is that every new namespace gives you more room to add features. If the goal is stability, it might be useful to eliminate namespaces as far as possible to minimize temptations to add features.
A single namespace of opcodes might be easier for people to learn.
Real processors sometimes introduce a 'syscall' instruction for ease of implementation, but that seems irrelevant for a VM.
I'm curious if there are other considerations here I haven't thought of.

I'm obviously not Maxime, so I can't speak for her, but I do have some thoughts on this.
If the plan is to embed UVM into different computer systems(think a 6502 in a c64, and a 6502 in a NES), then a syscall makes sense. That way it creates a boundary between the CPU and the computer interface.

There's a few reasons why I went with a syscall instruction.
At the moment, there are less than 80 opcodes, that makes it possible to encode all opcode into a single byte. The idea being that the most commonly used instructions would be just one byte long. This might seem trivial, but the size of the generated code does matter for transmission over a network, for example, and for cache performance. In general, the opcode space is fairly precious if we care about optimizing for size. We can have a special opcode that is an "extended length instruction", but that adds a little bit of complexity to the decoding.
The other thing is, at the moment, the syscalls are organized into different subsystems (window, audio, network, etc). This is in part done because eventually I want to have a permission model for different operations. For example, by default, programs running on UVM won't have read/write access to your filesystem. You'll have to explicitly grant permission. The reason this is done is so that UVM can eventually have something like an app store (or app catalog), where you can safely run programs you find on said app store. If we just stuff all the syscalls into the opcode space, that doesn't really work anymore.
A third reason is that, generally speaking, the interpreter (and eventual JIT) will be optimized to run instructions fast. Syscalls, however, typically represent more complex operations that have to call into a function to run. So there's kind of a distinction between primitive operations you can expect to run fast, and more complex, potentially more expensive operations that may also require special permissions.
Then, there's the question of supported features and evolution. Kind of what @neauoire was hinting at. Not every system is necessarily going to support all UVM features. UVM will guarantee that all opcodes are always available, but some syscalls may not be available on some machines. For example, on a machine with no display, you may not be able to create a window.
There's also the question of evolution. I'd like to more or less freeze the instruction set, but I expect that the amount of functionality supported by UVM will grow over time. I'd like to have a MIDI subsystem eventually so we can connect to MIDI device. That subsystem doesn't exist yet though because it's not a high priority at this time. It will be easy to add a new subsystem for it later though.

Thanks both! I better understand the design goals here.
Having to support multiple devices makes a lot of sense. There's a space here between "write once, run anywhere" and "write once for device X, and it'll always work for device X." The variable getting modulated is how much fragmentation across devices you're willing to tolerate. Your blog post at https://pointersgonewild.com/2023/02/24/building-a-minimalistic-virtual-machine is pointing out that we live in a world of extreme fragmentation where it's very difficult to tell if two computing stacks expose the same interfaces. And the players in this world don't have an incentive to combat fragmentation. Your answer helps clarify that you're not aiming all the way at the other end at the spectrum, but perhaps somewhere near uxn.
From my perspective the other reasons feel like implementation details that users of the VM won't care about. It's easy to set aside a contiguous range of opcodes for screen, memory, etc. The VM can still choose to manage tables of function pointers for such ranges of opcodes, permission them differently, ignore them for JIT'ing purposes and so on.
I think controlling binary size is a solved problem in UVM since you're open to variable-length opcodes. And even that seems far away. You've used 80 opcodes, you have 176 single-byte opcodes left. So there's a lot of room for maneuver yet. If you got to 256 opcodes along with a similar number of syscalls, it becomes harder to make a case that this is a minimalistic VM.
Like I said, I better understand your reasons. I'm happy to close this issue.

There's a space here between "write once, run anywhere" and "write once for device X, and it'll always work for device X."

Yeah. Realistically, at the moment, UVM targets mostly laptops and desktops. If the project succeeds, we'll probably add touch APIs as well to support tablets and cellphones. My expectation is that most devices would support the core functionality of window/mouse/audio APIs. But obviously, some software can't run anywhere. For example, if your software needs 16GB of RAM to run or very fast compute for graphics, it won't run well on an older machine.

It's easy to set aside a contiguous range of opcodes for screen, memory, etc.

Sure, but IMO it's also like... What does that gain you? What do you really gain by saying "everything is an opcode"? UVM. has a syscall instruction, and the implementation is still very small. If everything is an opcode and I want to have a permission system, then I need to have logic to manage permissions on a per-opcode basis. Does that really simplify anything?
To me, it feels a bit like the Smalltalk idea that "everything is an object". Having implemented a VM for JavaScript and Ruby, I can tell you that's BS. The VM has to play all kinds of games and there's all kinds of complexity hidden the surface to try to maintain the charade that everything is an object, but no, integers are not objects, they're a core primitive, you have to give them special treatment if you have any hope of having decent performance.

I think controlling binary size is a solved problem in UVM since you're open to variable-length opcodes. And even that seems far away. You've used 80 opcodes, you have 176 single-byte opcodes left. So there's a lot of room for maneuver yet. If you got to 256 opcodes along with a similar number of syscalls, it becomes harder to make a case that this is a minimalistic VM.

Yeah I think that I'll probably have ~110 opcodes once I have 32-bit integer support and 32-bit float support more fleshed out. Leaves some room for 64-bit floats eventually and a few more optimized opcodes.
In addition to variable-length opcodes, I'm thinking it could also make sense to support gzipped images (or some other kind of compression, e.g. have the VM be able to run myprogram.uvm.gz files directly.

68k Macintosh would execute an unimplemented or illegal instruction to do a "syscall" (or "A-trap," as they called them) by causing a fault, and the OS would use the fault handler interrupt it had already set up to figure out what code to run.
https://en.wikipedia.org/wiki/Macintosh_Toolbox#On_68k_systems

68k Macintosh would execute an unimplemented or illegal instruction to do a "syscall" (or "A-trap," as they called them) by causing a fault, and the OS would use the fault handler interrupt it had already set up to figure out what code to run.
https://en.wikipedia.org/wiki/Macintosh_Toolbox#On_68k_systems

Cool trick :)

It's easy to set aside a contiguous range of opcodes for screen, memory, etc.

Sure, but IMO it's also like... What does that gain you? What do you really gain by saying "everything is an opcode"?

Just to answer this, my idea is that a single namespace imposes some additional self-discipline to keep things minimalist over time.
Basically, I look at past platforms and see a bunch of smart people with good intentions. The fact that they fell into this trap suggests that it's a very easy trap to fall into. So I tend to look for external help in resisting temptations.


Sample Receiver

Contains all stories related to creating a sample receiver.

Closing this issue since I am changing the system for organizing stories into epics.


chore: bdd-spring-1576616009 to 0.0.1

chore: Promote bdd-spring-1576616009 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment