Inconsistent session data access

Session cookie is always accessible via event.request.headers.get('cookie'), but data is not event.context.sessions (used in useSession).

Sometimes the session data is there, and sometimes it's undefined.
Using a middleware to check sessions (just with an await useSession(event, sessionConfig)) makes it work the route level.

middleware:
import { createMiddleware, useSession } from "@solidjs/start/server";
import { sessionConfig } from "~/lib/session";

export default createMiddleware({
  onRequest: [
    async (event) => {
        await useSession(event, sessionConfig)
    },
  ],
});

route:
import { cache, createAsync, redirect, type RouteSectionProps } from "@solidjs/router";
import { Show } from "solid-js";
import { getRequestEvent } from "solid-js/web";
import { sessionConfig } from "~/lib/session";
import { useSession } from 'vinxi/server'

const getUser = cache(async () => {
  "use server";

  let token;
  try {

    const event = getRequestEvent()!;
    const session = await useSession(event, sessionConfig)

    token = session.data.token;
    console.log(Date.now(), event.request.headers.get('cookie')?.length, token, event.context.sessions)
  } catch (e){
    console.log(e);
  }

  if(!token) {
    console.log('redirect')
    throw redirect('/login')
  }

  return token;
}, "token");

export const route = {
  load: getUser
};

export default function AuthenthicatedRoutes(props: RouteSectionProps) {
  const token = createAsync(getUser, { deferStream: true });

  console.log('--------------')

  return <Show when={token()}>{props.children}</Show>;
}

I think this should be fixed by #121. I wonder if you have a way to try it and confirm that it works. Or @edivados should we add this case in our test so we can confirm its fixed.

lgtm 🚀


Crash when draft is opened from the message list widget

Checklist

[X] I have used the search function to see if someone else has already submitted the same bug report.
[X] I will describe the problem with as much detail as possible.

App version
6.309
Where did you get the app from?
Google Play
Android version
various
Device model
No response
Steps to reproduce

Add the message list widget to the home screen
Save a message as a draft
Include the contents of the drafts folder in the Unified Inbox
Force close the app (to make sure a new instance of MessageList will be created later)
Tap the draft message in the message list widget

Expected behavior
Don't crash
Actual behavior
Crash
Logs
Stack trace (via Google Play Developer Console):
Exception java.lang.RuntimeException:
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3676)
  at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3813)
  at android.app.ActivityThread.handleRelaunchActivityInner (ActivityThread.java:5791)
  at android.app.ActivityThread.handleRelaunchActivity (ActivityThread.java:5682)
  at android.app.servertransaction.ActivityRelaunchItem.execute (ActivityRelaunchItem.java:71)
  at android.app.servertransaction.ActivityTransactionItem.execute (ActivityTransactionItem.java:45)
  at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:135)
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:95)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2308)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loopOnce (Looper.java:201)
  at android.os.Looper.loop (Looper.java:288)
  at android.app.ActivityThread.main (ActivityThread.java:7898)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:548)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:936)
Caused by java.lang.IllegalStateException: Required value was null.
  at com.fsck.k9.activity.MessageList.showMessageView (MessageList.kt:1251)
  at com.fsck.k9.activity.MessageList.displayViews (MessageList.kt:345)
  at com.fsck.k9.activity.MessageList.onCreate (MessageList.kt:212)
  at android.app.Activity.performCreate (Activity.java:8290)
  at android.app.Activity.performCreate (Activity.java:8269)
  at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1384)
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3657)

Hello @cketti
Can you guide me about step 3 to reproduce the bug. I should copy or Move the message that is in the draft to Unified Inbox?

See https://docs.k9mail.app/en/6.400/settings/folder/#unify

hello @cketti
I also did this scenario (samsung A32, android 13) In version 6.309, the crash happened, but in the new version(6.702), this issue has been resolved.

hello @cketti I also did this scenario (samsung A32, android 13) In version 6.309, the crash happened, but in the new version(6.702), this issue has been resolved.

Hello. I tested this scenario on the latest version. And the bug is not repeated.
And as a result, this bug can be closed. @cketti

Thank you for checking, much appreciated!


Last update 993756e...92f03bd


Artisan migrate doesn't work when specifying environment

I'm using SQLite as the local database for an application. In my app/config/database.php file I have my database set as MySQL (which will work in the production server) and then in app/config/local/database.php I have my database set to be SQLite.
However, when running php artisan migrate:refresh --env=local I get an exception:
[Exception]
SQLSTATE[HY000]: General error: 1 no such table: migrations (SQL: select max("batch") as aggregate from "migrations") (Bindings:
array (
))

What is odd though is when I change the default database to be the SQLite database and then run the migrate function, it works fine. The issue only seems to occur when specifying the environment.
I have tested this with a number of migration functions including migrate:install and migrate:reset.

I remove RefreshDatabase in TestCase and this issue has been solved.


Add io-metrics to topic and broker and fix error-activeController bug

[ ] Breaking change? (if so, please describe the impact and migration path for existing application instances)

What changes did you make? (Give an overview)

Add metrics to topic list. Such as ByteIn /sec, Byteout /sec, Msg /sec, Msg-5min /sec, Fetch /sec, Fetch-5min /sec, Produce /sec, Produce-5min /sec.
Add metrcis to broker list. Such as IN /sec, OUT /sec.
Add fields to metrics class.

Is there anything you'd like reviewers to focus on?
How Has This Been Tested? (put an "x" (case-sensitive!) next to an item)

[ ] No need to
[x] Manually (please, describe, if necessary)
[x] Unit checks
[x] Integration checks
[x] Covered by existing automation

Checklist (put an "x" (case-sensitive!) next to all the items, otherwise the build will fail)

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation (e.g. ENVIRONMENT VARIABLES)
[x] My changes generate no new warnings (e.g. Sonar is happy)
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged

Check out Contributing and Code of Conduct
A picture of a cute animal (not mandatory but encouraged)

There is two failure exists:
a.Frontend failed for
ERROR: Project not found. Please check the 'sonar.projectKey' and 'sonar.organization' properties, the 'SONAR_TOKEN' environment variable, or contact the project administrator
b.E2E failed for aws config
Apart from those configuration issues set by the project manager, everything else has been successfully executed.


Update submodules. Added explicit migration index to data files

Maybe wait for https://github.com/OpenSlides/openslides-datastore-service/pull/139


What's the correct way to create PIXI primitives, such as Container?

I am looking to include Pixi-Particles in my app. To do so, I need to create a PIXI.Container, add it to the stage, and reference it directly.
var emitter = new PIXI.particles.Emitter(
    // The PIXI.Container to put the emitter in
    container,
    ...
)

I thought perhaps I could do
render() {
    const emitterContainer = <Container />
    var emitter = new PIXI.particles.Emitter(emitterContainer, ...)

    return (
      <Stage>
        { emitterContainer }
      </Stage>
    );
}

but of course <Container> is not a PIXI.Container.
Any help appreciated, thank you.
Additional info

@inlet/react-pixi version: 0.5.7
React version: 16.0.11
ReactDOM version: 16.0.11

You can easily create React components from PIXI primitives using Custom Components.

I've created an example here:
https://codepen.io/inlet/pen/feddc8fa71e3b5afc6c3e4eda9cc83df

That's perfect, thank you!


requirements.txt file missing

Hi Llyod!
I am currently learning through your tutorial on Toward Data Science. Its amazing and detailed!
In the "Pre-requisites", item 10, you list some Python libraries used in this project and said "alternatively the requirements.txt file is included in the Git repository" but i could not find this file here.
Can you include the requirements.txt file on this repo?
Thank you for your help.

Hi Joao!
Thanks. I am happy you liked it. More than happy to assist you in any way.
Sorry for the error on my part. I have pushed the requirements.txt file as requested.
Regards,
Lloyd Hamilton


how to compute the global feat for inference

Hi thank you for your work, i find the local feat in Alignedreid_demo.py. But when used for inference  the global feat is good enough, how to compute the global feat?

Check the README please. 'Test with Global'

@michuanhaohao Can you please explain what is global feat. Since I'm new to this, I'm confused with too many variables.


worked on Deploying a SAC within a contract.

@ElliotFriend  @briwylde08 pls check

#625

Almost didn't realize, let's also change the filename to all lowercase, please: deploying-a-sac.mdx

i just made changes @ElliotFriend

i just ran yarn format:mdx and pushed. Pls check

Build error is gone @ElliotFriend

Thank you for your contribution @KoxyG! I'll get this merged and we can take the award conversation back to the corresponding issue. Thanks again!


OnPartitionsAssigned is not called any more.

Description
OnPartitionsAssigned is not called any more after Subscribe is fired.
Three environments(DEV/STAGE/PRODUCTION) share the same Kafka cluster.  The application worked well for more than 1 year and suddenly the application on STAGE environment started to encounter problem recently.

This only happens on STAGE environment even the application has the exact same code on all three environments.
The application worked well before on STAGE environment.
The application of each environment consumes different topics.
I checked Kafka topics in Kafka Tool(http://www.kafkatool.com/),  nothing special.

After several hours investigation, it turns out OnPartitionsAssigned is not called.
Here is the code from application.
consumer.OnError += OnError;
consumer.OnConsumeError += OnConsumerError;
consumer.OnPartitionEOF += OnPartitionEOF;
consumer.OnOffsetsCommitted += OnOffsetsCommitted;

consumer.OnPartitionsAssigned += (_, partitions) =>
{
    if (partitions != null)
    {
        try
        {
            string ids = string.Join(",", partitions.Select(p => p.Partition.ToString()));
            log.InfoFormat("Assigned partitions: [{0}]", ids);
            consumer.Assign(partitions);
        }
        catch (Exception ex)
        {
            log.Error("OnPartitionsAssigned", ex);
        }
    }
    else
    {
        log.InfoFormat("Kafka assigned null partitions");
    }
};

consumer.OnPartitionsRevoked += (_, partitions) =>
{
    string ids = string.Join(",", partitions.Select(p => p.Partition.ToString()));
    log.InfoFormat("Revoked partitions: [{0}]", ids);
    consumer.Unassign();
};

consumer.Subscribe(new List<string>(){ _topic });
log.InfoFormat("KafkaConsumer({0}) subscribed {1}", this._brokerList, _topic);

private void OnPartitionEOF(object sender, TopicPartitionOffset e)
{
    log.InfoFormat("KafkaConsumer reached end of topic {0} partition {1}, next message will be at offset {2}"
        , e.Topic
        , e.Partition
        , e.Offset
        );
}

private void OnError(object sender, Error e)
{
    if( e != null)
    {
        string msg = $"KafkaConsumer({_topic}) encountered an error ({e.Code}) : {e.Reason}";
        if (e.Code == ErrorCode.Local_AllBrokersDown)
            log.ErrorFormat(msg);
        else
            log.WarnFormat(msg);
    }

}

private void OnConsumerError(object sender, Message msg)
{
    log.ErrorFormat("KafkaConsumer({0}) failed to consume error from partition/offset({1}/{2}) : {3}"
        , msg.Topic
        , msg.Partition
        , msg.Offset
        , msg.Error
        );
}

From the log, you can see Subscribe is called successfully.

But after that,  there is no reaction. OnError / OnConsumeError / OnPartitionEOF /  OnPartitionsAssigned , none of these callbacks are fired.  It just failed silently.
There are two instances of application running in STAGE environment and they encounter the same problem.
I tried to change the group.id within these two instances, it does not help.
How to reproduce
I tried to connect to the same Kafka cluster from my local machine, consuming the same topic,  the issue cannot be reproduced.
Checklist
Please provide the following information:

[x ] Confluent.Kafka nuget version: 0.11.5
[x ] Apache Kafka version: 0.10
[x ] Client configuration:

 new Dictionary<string, object>
 {
                { "group.id", "ubs_" + Environment.GetEnvironmentVariable("Cluster.Name") },
                { "bootstrap.servers", brokerList },
                { "enable.auto.commit", "false" },
                { "default.topic.config", new Dictionary<string, object>()
                    {
                        { "auto.offset.reset", "smallest" }
                    }
                }
};

[ x] Operating system: Windows 2016
[ ] Provide logs (with "debug" : "..." as necessary in configuration)
[ ] Provide broker log excerpts
[ ] Critical issue

This might be #603, where timers would wrap after 7+ days (depending on clock freq) of system uptime.
It is fixed in v0.11.6-RC2

@edenhill   #603 is a bug in producer. My problem is in consumer.  (I do see messages in topic in KafkaTool) .      Are they related?

Yep, @edenhill , after upgrading to 0.11.6-RC2,  the issue has gone.


Add pretty_log to astarte_trigger_engine

astarte_trigger_engine should start using pretty_log as log formatter.
Contextually logger metadata should be used and all log levels reviewed.
All http response with a http code != 200 must be carefully logged, including information about the source event.

Closed by #197


Fractal Stores Issue

I'm using the Fractal Stores with @WithSubStore decorators. The main Redux store state is configured using ImmutableJS. The setIn() function call coming from the substore always overrides the main state with a plain object and this is crashing selectors that expecting to use an Immutable store.
The setIn(..) util needs to detect if we are using an immutable JS object otherwise it will always return a plain object even if the state is an ImmutableJS construct.
Needs a check for an Immutable Object
https://github.com/angular-redux/store/blob/master/src/utils/set-in.ts#L15
This works:
https://github.com/angular-redux/store/blob/master/src/utils/get-in.ts#L13

@SethDavenport
Could you advise on the fractal implementation.
The rootFractalReducer uses the setIn utility function.
return fractalKey && localReducer ?
      setIn(
        state,
        fractalPath,
        localReducer(
          getIn(state, fractalPath),
          action)) :
      state;

The setIn function should check if the selected state is an ImmutableJS construct and call the local .setIn or the ImmutableJS .setIn for you.
Thanks.

@adrianromanko yes you're right. I'm a bit pressed for time at the moment but I'd be happy to review a PR if you're willing to submit one.

Anything happening with this issue? It affects me as well and kinda blocks my workflow. I'd be happy to make a PR myself, but I'm afraid I will not find the time in the near future.

OK that was much easier/faster than I thought it was. Could you please merge the PR in and release a version with that fix?

I'll take a look later today.


Text in rowltech site

Please replace Lorem Ipsum to real text.

Hi @luisrox I have some updates in this task. You can take a look in the page and ping me if you need something about it.
Thanks


Backport of #5509 to 5.1.x

This is a backport of #5509

This was cherry-picked in 363b9824c4167c223473e8ea465a63db17514988


Revert "Eagerly move attachable values to the heap. (#809)"

This reverts commit 3a537b8f4b590ae868e563276b7d45d0503034e3.
@grynspan should have done more digging before implementing this change, because it turns out the compiler/runtime already refcounts large existential boxes, so this work is redundant. 🫠
Checklist:

[x] Code and documentation should follow the style of the Style Guide.
[x] If public symbols are renamed or modified, DocC references should be updated.

@swift-ci test

@swift-ci test macOS


node-sass does not compile when used with webpack NPM script

I am trying to compile sass and javascript in one NPM script command.  I want to use node-sass and webkit
In npm's package.json file i have this script defined:
"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "scss": "node-sass --watch src/scss/master.scss dist/css/master-compiled-min.css --output-style compressed",
    "start": "webpack --config webpack.config.js && node-sass --watch src/scss/master.scss dist/css/master-compiled-min.css --output-style compressed"
  },

From command line I am able to run the start script. I don't get error message. It compiles the js with webpack but it doesn't compile / watch for changes in sass.
Anyone know why this happens?

NPM version (npm -v): 6.14.8

Node version (node -v): v12.10.0

Node Process (node -p process.versions): {
node: '12.10.0',
v8: '7.6.303.29-node.16',
uv: '1.31.0',
zlib: '1.2.11',
brotli: '1.0.7',
ares: '1.15.0',
modules: '72',
nghttp2: '1.39.2',
napi: '4',
llhttp: '1.1.4',
http_parser: '2.8.0',
openssl: '1.1.1c',
cldr: '35.1',
icu: '64.2',
tz: '2019a',
unicode: '12.1'
}

Node Platform (node -p process.platform): win32

Node architecture (node -p process.arch): x64

node-sass version (node -p "require('node-sass').info"):
node-sass       4.14.1  (Wrapper)       [JavaScript]
libsass         3.5.5   (Sass Compiler) [C/C++]

npm node-sass versions (npm ls node-sass):
<EMAIL_ADDRESS>

Hey, I think this is a better question for StakeOverflow


SegmentedControl mobile UX

What
The mobile version of the SegmentedControl turns into what appears to be a dropdown/select thing, but when you click it it takes over the whole page and hides all other page content. This feels a bit heavy handed.
Where
What's on with a browser-width of < 600px.
Suggest maybe using something similar to where we have dropdowns elsewhere.

We will be working on new Tabs for Search. I've got their most basic/two tabs only version in Concept right now, but eventually it'll become more complex with a similar behaviour where it becomes a dropdown on mobile. I wonder if, once created, it could replace SegmentedControl?

(@GarethOrmerod do you have the mobile version at hand?)

Closing this, we replaced SegmentedControl with the new tabs, and whilst they need a bit of work, this issue isn't a problem anymore.


CXAI-33 connect to ai proxy via GRPC

adding factory allowing type of connection based on endpoint string

Checkmarx One – Scan Summary & Details – fa2515de-41a4-491f-b569-fa6fad31a3c5
New Issues

Severity
Issue
Source File / Package
Checkmarx Insight

CVE-2023-42818
Go-golang.org/x/crypto-v0.21.0
Vulnerable Package

Denial_Of_Service_Resource_Exhaustion
/pkg/wrapper/wrapper_test.go: 5
Attack Vector


Usability: Help/How to Play Game, Warning Messages (Jorge) - No blackjack help available

Problem: No Blackjack help available. Do not see issue with warning messages since player only needs the count and winner/loser messages.
Potential Solution: Remove from scope or create a web page with how to play or ????

Jorge added help button and instructions..
Kat removed double scroll bar


clean up

This fixes #126 and hopefully makes the rest of the code a bit more consistent.

Re the other dimension:
I would prefer if we allow in our code for this dimension to actually be more than 1 dimensnion.
So we dont split the KData into dynamics, ... by default, but our code works if it is split.
This would, as a start, mean replacing 'other' by '...' in all einops pattern, and counting dimensions from the back for swapaxes etc.
What do you think, Christoph?

I think any change which makes the code more general is a good idea. As this will probably require more changes than a few clean-up ones, I created an issue for this #138


Sign up for public beta testing

I you are interested in paricipating in the beta tests for the pre-merge checks:
Leave a comment on this issue with your Phabricator user name. We will then add you.
For the Phabricator integration and bug reports, please see the user documentation.

jdevlieghere

I'm up :)
joker-eph

Actually it may be more convenient if we could just send you a pull-request to get added to the whitelist?

Done.
@joker-eph your account on phabricator is "disabled", so I used your other account m... instead.
But good point: the signup is a bit clumsy. I'll change it to being a member of this project: https://reviews.llvm.org/project/members/78/ There users can self-register. I already registered the two of you there. I'll also update the documentation in #58.


Move ppec6le changelog entry after backport

This was backported in #6223.
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[x] Commits are signed per the DCO using --signoff
[ ] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Thanks @andrross


Check for LIST-EXTENDED capability before issuing LIST with SPECIAL-USE

See https://github.com/emersion/hydroxide/issues/41

Do we need to run hydroxide to test if this solves the referenced issue or is this safe enough to merge as is? (the code looks quite simple)

It looks like RFC 6154 doesn't explicitly state that servers need to announce the LIST-EXTENDED capability. But my reading is that the SPECIAL-USE capability implies the extended LIST command is supported.

fwiw, I also don't read the spec as SPECIAL-USE capability implying support for EXTENDED-LIST, so this PR improves our spec compliance


[DRAFT] v1 of end-to-end implementation of zql

For a high level overview before diving into the code, read below

The description below is a copy-paste of src/zql/README.md so the links to files are not going to work while this is a PR.

ZQL
./query/EntityQuery.ts is the main entrypoint for everything query related:

building
preparing
running
and materializing queries

Creating an EntityQuery
First, build your schema for rails as you normally would:
const issueSchema = z.object({
  id: z.string(),
  title: z.string(),
  created: z.date(),
  status: z.enum(['active', 'inactive']),
});
type Issue = z.infer<typeof issueSchema>;

Then you can create a well-typed query builder
const query = new EntityQuery<Issue>(context, 'issue');

The first param to EntityQuery is the integration point between the query builder and Replicache. It provides the query builder with a way to gain access to the current Replicache instance and collections. See makeTestContext for an example.
The second param to EntityQuery is the same prefix parameter that is passed to rails generate. It is used to identify the collection being queried.

Note: this'll eventually be folded into a method returned by GenerateResult so users are not exposed to either parameter on EntityQuery.

EntityQuery
./query/EntityQuery.ts
EntityQuery holds all the various query methods and is responsible for building the AST (./ast/ZqlAst.ts) to represent the query.
Example:
const derivedQuery = query
  .where(...)
  .join(...)
  .select('id', 'title', 'joined.thing', ...)
  .asc(...);

Under the hood, where, join, select, etc. are all making a copy of and updating the internal AST.
Key points:

EntityQuery is immutable. Each method invoked on it returns a new query. This prevents queries that have been passed around from being modified out from under their users. This also makes it easy to fork queries that start from a common base.
EntityQuery is a 100% type safe interface to the user. Layers below EntityQuery which are internal to the framework do need to ditch type safety in a number of places but, since the interface is typed, we know the types coming in are correct.
The order in which methods are invoked on EntityQuery that return this does not and will not ever matter. All permutations will return the same AST and result in the same query.

Once a user has built a query they can turn it into a prepared statement.
Prepared Statements
./query/Statement.ts
A prepared statement is used to:

Manage the lifetime of a query
In the future, change bindings of the query
De-duplicate queries
Materialize a query

const stmt = derivedQuery.prepare();

Lifetime - A statement will subscribe to its input sources when it is subscribed or when it is materialized into a view. For this reason, statements must be cleaned up by calling destroy.
Bindings - not yet implemented. See the ZQL design doc.
Query de-duplication - not yet implemented. See the ZQL design doc.
Materialization - the process of running the query and, optionally, keeping that query's results up to date. Materialization can be 1-shot or continually maintained.
Prepared Statement Creation
./ast-to-ivm/pipelineBuilder.ts
When the user calls query.prepare() the AST held by the query is converted into a differential dataflow graph.
The resulting graph/pipeline is held by the prepared statement. The pipelineBuilder is responsible for performing this conversion.
high level notes on dataflow
The pipeline builder walks the AST --

When encountering tables (via FROM and JOIN) they are added as sources to the graph.
When encountering JOIN, adds a JOIN operator to join the two mentioned sources.
When encountering WHERE conditions, those are added as filters against the sources.
When encountering SELECT statements, those are added as map operations to re-shape the results.
ORDER BY and LIMIT are retained to either be passed to the source provider, view or both.

Dataflow Internals: Source, DifferenceStream, Operator, View
Also see: ./ivm/README.md
The components, in code, that make up the dataflow graph are:

ISource

MemorySource
StatelessSource

DifferenceStream

DifferenceStreamReader
DifferenceStreamWriter

Operator

Join (handles JOIN)
Map (handles SELECT as well as function application)
Reduce (handles aggregates like GroupBy)
Filter (handles WHERE and ON statements or HAVING when applied after a reduction)
LinearCount (handles COUNT)
Or
And
Union
Intersect

View

ValueView
TreeView

Conspicuously absent are LIMIT and ORDER BY. These are handled either by the sources or views. A future section is devoted to these two.
The above components would be composed into a graph like so:

Query Execution
Query execution, from scratch, and incremental maintenance are nearly identical processes.
The dataflow graph represents the execution plan for a query. To execute a query is a simple matter of sending all rows from all sources through the graph.

See Statement.test.ts for examples of queries being run from scratch.

Execution can be optimized in the case where a limit and cursor are provided (not yet implemented here).
In other words, if:

the final view has the same ordering as the source and
the query specifies a cursor

We can jump to that set of rows rather than feeding all rows. If a limit is specified we can stop reading rows once we hit the limit.
The limit functionality is implemented by making Multiset lazy. See Multiset.ts for how this is currently implemented. The limited view that is pulling values from a multiset can stop without all values being visited.
Not yet implemented would be index selection. E.g., queries of the form:
Issue.where('id', '=', x);
Issue.where('id', '>', x);

should just be lookups against the primary key rather than a full scan.
If a view's order does not match a source's order, we will (not yet implemented here) create a new version of the source that is in the view's order. This source will be maintained in concert with the original source and used for any queries that need the given ordering.
Incremental Maintenance
Incremental maintenance is simply a matter of feeding each write through the graph as it happens. The graph will produce the correct aggregate result at the end.
The details of how that works are specific to individual operators. For operators that only use the current row, like map & filter, it is trivial. They just emit their result. For join and reduce (not implemented yet) it is more complex.
What has been implemented here lays the groundwork for join & reduce hence why it isn't as simple as a system that only needs to support map & filter.
Sources: Stateful vs Stateless
Sources model tables. A source can come in stateful or stateless variants.
A stateless source cannot return historical data to queries that are subscribed after the source was created.
A stateful source knows it contents. When a data flow graph is attached to it, the full contents of the source is sent through the graph, effectively running the query against historical data.
Views: ValueView, TreeView
There are currently two kinds of views: ValueView and TreeView.
ValueView maintains the result of a count query.
TreeView maintains select queries.

count and select are distinct queries. This implementation does not support returning a count with other selected columns.

TreeView holds a comparator which uses the columns provided to Order By to sorts it contents. If no Order By is specified then the items are ordered by id. Any time an Order By is specified that does not include the id, the id is appended as the last item to order by. This is so we get a stable sort order when users sort on columns that are not unique.
Views can be subscribed to if a user wishes to be notified whenever the view is updated.
Aaron was pretty adamant about using native JS collections, hence the value property on TreeView returns a JS array. This is fine for cases where the view has a limit but for cases where you want a view of thousands+ of items I'd recommend the PersistentTreapView (not available here, but in Materialite).
OR, Parenthesis & Breadth First vs Depth First Computation
This PR does not support OR or nested conditions but does lay the groundwork for it by executing the dataflow graph breadth fist rather than depth first.
This is the reason for the split of dataflow events between enqueue and notify or run and notify for operators.
See the commentary on IOperator in Operator.ts
Transactions
The IVM system here has a concept of a transaction. It enables:

Many sources and values to be written before updating query results
Only notifying query subscribers after all queries have been updated with the results of the writes made in that transaction.

See commentary in ISourceInternal in ISource.ts as well as on IOperator in Operator.ts.

https://github.com/rocicorp/rails/assets/1009003/20060f28-ecea-4c1c-8629-351f9a40e46a

This is just absurdly, mind-numbingly exciting btw. Absolutely on the edge of my seat to start playing with this.

Any advice on reviewing this? Is it better to review commit by commit or just review the final results of the pr?

There is a design doc that covers the concepts you should start with if you
haven’t already:
https://www.notion.so/replicache/WIP-ZQL-add4072bba85476ea7d34800176bcf8d?pvs=4
a (phone)
On Sun, Mar 10, 2024 at 6:38 AM Erik Arvidsson @.***>
wrote:

Any advice on reviewing this? Is it better to review commit by commit or
just review the final results of the pr?
—
Reply to this email directly, view it on GitHub
https://github.com/rocicorp/rails/pull/29#issuecomment-1987289073, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAATUBHR6UA2GRUYKKUI5I3YXSEBNAVCNFSM6AAAAABEOB2XRWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBXGI4DSMBXGM
.
You are receiving this because you commented.Message ID:
@.***>

Any advice on reviewing this? Is it better to review commit by commit or just review the final results of the pr?

Its up to you guys. I can split this up into a PR per commit for review purposes and stack all of those.

A call could be good also to help walk through some of the concepts. Erik:
say what you think would help you come up to speed best.
a (phone)
On Sun, Mar 10, 2024 at 7:27 AM Matt Wonlaw @.***>
wrote:

Any advice on reviewing this? Is it better to review commit by commit or
just review the final results of the pr?
Its up to you guys. I can split this up into a PR per commit for review
purposes and stack all of those.
—
Reply to this email directly, view it on GitHub
https://github.com/rocicorp/rails/pull/29#issuecomment-1987302172, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAATUBBUSU3EOS6XI4GACCDYXSQYTAVCNFSM6AAAAABEOB2XRWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBXGMYDEMJXGI
.
You are receiving this because you commented.Message ID:
@.***>

I see that this is still a Draft. In general I tend to push Draft PRs down the stack. If you want explicit eyes on something during the draft phase we usually ask for it with a comment.

I see that this is still a Draft. In general I tend to push Draft PRs down the stack. If you want explicit eyes on something during the draft phase we usually ask for it with a comment.

Yeah, my intent was to finish the tests and publish today after syncing with you in the morning. Ty for taking a look already though. Lmk if it'd be helpful to hop on a call.

We should define what ZQL stands for too...

Probably a different name altogether. ZQL (zero ql) is only meaningful to us.
I think just calling it the query language makes sense given it exists in the context of Rails.
Other options:

Replicache QL
ReplicacheQuery
RailsQuery

My main question that I want to understand is where, if at all, copies of entity data are happening from the source since it's so important to minimize them for performance. I hope that we can make this work in a zero-copy way, except for creating the final array/map to return to caller. - @aboodman

As you saw, it does create a new object in order to apply the selection set. We could omit this step.
Where I hook it into Replicache it uses experimentalWatch and dumps the data returned by that method into a tree.
Maybe this can be omitted too? Since, presumably, Replicache already has all of this stuff in-memory? I'll need to dive into the Replicache internals to find out or get some pointers from @arv / @grgbkr

As you saw, it does create a new object in order to apply the selection set. We could omit this step.

The ultimate arbiter is going to be framerate in Repliear. Before, you managed to beat our carefully built code using abstractions that I felt would be expensive. So maybe @arv is right and we build it the reasonable way and see how it performs.
But I'm warning you now that I'm likely to keep pestering about taking copies off the read path since I know it will make us faster and it's like free performance.

Where I hook it into Replicache it uses experimentalWatch and dumps the data returned by that method into a tree.

Maybe this can be omitted too? Since, presumably, Replicache already has all of this stuff in-memory? I'll need to dive into the Replicache internals to find out or get some pointers from @arv / @grgbkr

Yes, Replicache maintains a memory cache and is very careful to take the object returned by IDB, stick it in the cache, and pass it to the user with no copies. This is the way we have found is fastest historically.

@arv - lmk if this is close enough to merge.
The big picture should all come together when join is implemented and the integration tests are built out (https://github.com/rocicorp/rails/pull/33).
map & filter aren't too interesting / this is a lot more than needed for just map & filter since it lays groundwork for future iterations. You can make a pipeline that is only map & filter incremental in a few lines of code.
You do start to need all the complications of a graph once you want to:

join different pipelines together
share common sections
introduce or, union, intersect & except to bring different pipelines together

Lets land this. It will be easier to make changes to main in the future

Boo. Ya.
On Thu, Mar 14, 2024 at 3:34 PM Matt Wonlaw @.***>
wrote:

Merged #29 https://github.com/rocicorp/rails/pull/29 into main.
—
Reply to this email directly, view it on GitHub
https://github.com/rocicorp/rails/pull/29#event-12125655393, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAATUBAWVBUHO7QTKOT4OLTYYJF3BAVCNFSM6AAAAABEOB2XRWVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJSGEZDKNRVGUZTSMY
.
You are receiving this because you were mentioned.Message ID:
@.***>


Remove plugin_packages from run-unit-tests.sh

No longer used or needed.

/azp run

Initial push didn't trigger CI for some reason

+1 for deleting dead code


PhantomJS 2.1.1 Crash On FreeBSD 11.1-PRERELEASE

Which version of PhantomJS are you using? Tip: run phantomjs --version.

root:~# phantomjs --version
2.1.1

What steps will reproduce the problem?

Installing PhantomJS:

      root:~# pkg install phantomjs
      Updating FreeBSD repository catalogue...
      FreeBSD repository is up to date.
      All repositories are up to date.
      The following 1 package(s) will be affected (of 0 checked):

      New packages to be INSTALLED:
           phantomjs: 2.1.1_1

      Number of packages to be installed: 1

      The process will require 35 MiB more space.
      10 MiB to be downloaded.

      Proceed with this action? [y/N]: y
      [1/1] Fetching phantomjs-2.1.1_1.txz: 100%   10 MiB 297.3kB/s    00:35
      Checking integrity... done (0 conflicting)
      [1/1] Installing phantomjs-2.1.1_1...
      Extracting phantomjs-2.1.1_1: 100%

Running PhantomJS:

       root:~# phantomjs
       phantomjs>

CTRL+C

      PhantomJS has crashed. Please read the bug reporting guide at
      <http://phantomjs.org/bug-reporting.html> and file a bug report.
      Bus error

Which operating system are you using?

root:~# uname -srm
FreeBSD 11.1-PRERELEASE i386

Did you use binary PhantomJS or did you compile it from source?
Binary installing from pkg(7)

Please provide any additional information below.
Well, I use PhantomJS (phantomjs-1.9.8.txz)  since FreeBSD 9.3-STABLE, I decided to upgrade FreeBSD to FreeBSD 10.3-STABLE with the same version, that's great. After upgrade to FreeBSD 11.1-PRERELEASE i386 and phantomjs-2.1.1_1.txz the problem appears.

This is output dmesg:
root:~# dmesg
pid 1124 (phantomjs), uid 0: exited on signal 10
pid 1526 (phantomjs), uid 0: exited on signal 10
pid 1529 (phantomjs), uid 0: exited on signal 10
pid 1532 (phantomjs), uid 0: exited on signal 10
pid 1581 (phantomjs), uid 0: exited on signal 10
pid 2111 (phantomjs), uid 0: exited on signal 10
pid 2306 (phantomjs), uid 0: exited on signal 10

Output with gdb(1):
root:~# gdb /usr/local/bin/phantomjs
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd"...(no debugging symbols found)...
(gdb) run eth-modem.js
Starting program: /usr/local/bin/phantomjs eth-modem.js
warning: Lowest section in /usr/local/lib/libicudata.so.58 is .hash at 000000b4

Program received signal SIGBUS, Bus error.
0x0a38ca64 in ?? ()
Current language:  auto; currently minimal
(gdb) bt
#0  0x0a38ca64 in ?? ()
#1  0x08433bf3 in QCommandLine::parseError ()
#2  0x08434034 in QCommandLine::parseError ()
#3  0x085959e7 in QCommandLine::parseError ()
#4  0x0857ff4d in QCommandLine::parseError ()
#5  0x0857d840 in QCommandLine::parseError ()
#6  0x0857fbdc in QCommandLine::parseError ()
#7  0x084480a6 in QCommandLine::parseError ()
#8  0x080cb19f in QCommandLine::parseError ()
#9  0x0806784e in ?? ()
#10 0x0805eceb in ?? ()
#11 0x0806099b in ?? ()
#12 0x08081b07 in QtMetaTypePrivate::QMetaTypeFunctionHelper<WebServerResponse*, true>::Construct ()
#13 0x0805e0aa in ?? ()
#14 0x00000002 in ?? ()
#15 0xbfbfec58 in ?? ()
#16 0xbfbfec64 in ?? ()
#17 0xbfbfec64 in ?? ()
#18 0xbfbfec54 in ?? ()
#19 0x00000000 in ?? ()
(gdb) quit
The program is running.  Exit anyway? (y or n) y

PhantomJS maintainer Vitaly is stepping down, he may be coming up with another PhantomJS-like project for headless Chrome. Until then, this is the status of the project and there might be only community support on issues. In the meantime, you may want to check out CasperJS project, a well-documented navigation and testing tool based on PhantomJS, so using it is probably very familiar to a PhantomJS user. The main maintainer is working on adding headless + visible Chrome support now.
Also, I just finished developing TagUI tool base on CasperJS which can automate headless + visible Chrome. So users of the tool can transit to CasperJS easily once it officially supports Chrome. It basically converts natural-language-looking steps into CasperJS JavaScript code to run web automation, while at the same time supporting CasperJS API. It also has a Chrome extension.

PhantomJS maintainer Vitaly is stepping down, he may be coming up with another PhantomJS-like project for headless Chrome. Until then, this is the status of the project and there might be only community support on issues.
In the meantime, you may want to check out CasperJS project, a well-documented navigation and testing tool based on PhantomJS, so using it is probably very familiar to a PhantomJS user. The main maintainer is working on adding headless + visible Chrome support now.
Also, I just finished developing TagUI tool base on CasperJS which can automate headless + visible Chrome. So users of the tool can transit to CasperJS easily once it officially supports Chrome.

I'll add FWIW that i've replicated the issue on 32bit freebsd but it works fine on 64bit / amd64
working:
FreeBSD 11.0-RELEASE-p9 FreeBSD 11.0-RELEASE-p9 #0: Tue Apr 11 08:48:40 UTC 2017     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64
fails:
FreeBSD 11.1-RELEASE-p1 FreeBSD 11.1-RELEASE-p1 #0: Wed Aug  9 11:17:49 UTC 2017     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  i386


Removes Turbolinks

We are seeing inconsistent treatment of scrolling to the top of a page when clicking internal links. This appears to be browser specific. Our idea is to just remove Turbolinks as it isn't really necessary.
https://app.asana.com/0/555089885850811/1206435275960719/f

FYI the JS that lets you click the homepage tabs isn't working on dev-blue @anthonyshull

FYI the JS that lets you click the homepage tabs isn't working on dev-blue @anthonyshull

Which ones? Everything works for me.


Dashboard Fixes

Now that I have the server running in staging, the page is dealing with a ton more data. This PR fixes some bugs that become obvious with more data.

Reduce number of days show by default from 7 -> 3. 7 Days of data is A LOT of data.
Remove unused Spinner object from container page.
Clean up some data boundary issues with selecting date range and converting from locatime to iso time.
use moment(d).startOf("day") and moment(d).endOf("day") since we have moment available and correct implementation is non-trivial.
Remove unused successForDay variable. I originally thought each day may have a different colour, but not required.
Add notice to page about data being in LOCAL TIME.

I'd like to get this reviewed and the fixes in before the the next deploy if possible.

@doug-s-nava I think I addressed all the issues. (Note to anyone following along ticket, we resolved the 508 color issue interactively and changed the colors to use USWDS).


dual license Apache 2

in preparation for eventually removing the Blue Oak license, which is not standard in the Cosmos ecosystem.

Description
This PR adds the Apache 2 license to the repo. Apache 2 is the standard for the ecosystem, and Blue Oak is a needless complication. A later PR will remove the Blue Oak license.
Checklist

[x] I have made sure the upstream branch for this PR is correct
[x] I have made sure this PR is ready to merge
[x] I have made sure that I have assigned reviewers related to this project

Changes

[x] Added LICENSE-2.md file with the contents of https://www.apache.org/licenses/LICENSE-2.0.txt. Note that the copyright date and entity at the end of the file remain blank. A future PR should update those to the correct entity and date.

@jackzampolin no idea why the tests would fail given that this is a pure text change, but can you review and merge this PR soon?


Previous Boardings

Font weight should be medium. Pill text should be 12px and the pill should be larger to accommodate. Date should not be bold. Padding should be 16px. As per https://docs.google.com/document/d/1P3mzpbmd1iaXudXnmArLdawOrDCdmhG4WMwXPC0682c/edit#bookmark=id.rdglysq5v2ji

Text size was already 12 dp. Increased to 13dp


Error on cam.stop();

I tried the capture-jpg.js example, the capture works well, but i have to comment the line cam.stop(), if not an error is thrown in my node.js app:  TypeError: undefined is not a function.  Thanks for any help.

I have the same issue

stop() expects a callback. Giving it a callback fixes.

The callback should be optional.


make it work with go modules

can you run go mod init on this repo? would be good to be able to use it with go modules

Hi !
It's done


remove revision arg from api as it is an etcd abstraction

@mrunalp Review please.
Minor change to omit revision number in API interface.

LGTM


Update install docs to include current version

Update install docs to include Python interpreter information
Add some docs on 'az --version'

OPS Build status updates of commit 87b1630:
:clock10: Preparing: average preparing time is 56 sec(s)

OPS Build status updates of commit 87b1630:
:clock10: Incremental building: average incremental building time is 13 min(s) 40 sec(s)

OPS Build status updates of commit 87b1630:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

docs-ref-conceptual/install-azure-cli-apt.md
:x:Error

Details

docs-ref-conceptual/install-azure-cli-linux.md
:x:Error

Details

docs-ref-conceptual/install-azure-cli-macos.md
:x:Error

Details

docs-ref-conceptual/install-azure-cli-windows.md
:x:Error

Details

docs-ref-conceptual/install-azure-cli-yum.md
:x:Error

Details

docs-ref-conceptual/install-azure-cli-zypper.md
:x:Error

Details

docs-ref-conceptual/install-azure-cli.md
:x:Error

Details

docs-ref-conceptual/install-azure-cli-apt.md

Line 0: [Error] Cannot resolve '../includes/current-version.md' relative to 'docs-ref-conceptual/install-azure-cli-apt.md'.
Line 0: [Error] Cannot resolve '../includes/current-version.md' relative to 'docs-ref-conceptual/install-azure-cli-apt.md'.
Line 0: [Error] Cannot resolve '../includes/current-version.md' relative to 'docs-ref-conceptual/install-azure-cli-apt.md'.

docs-ref-conceptual/install-azure-cli-linux.md

Line 0: [Error] Cannot resolve '../includes/current-version.md' relative to 'docs-ref-conceptual/install-azure-cli-linux.md'.
Line 0: [Error] Cannot resolve '../includes/current-version.md' relative to 'docs-ref-conceptual/install-azure-cli-linux.md'.
Line 0: [Error] Cannot resolve '../includes/current-version.md' relative to 'docs-ref-conceptual/install-azure-cli-linux.md'.

docs-ref-conceptual/install-azure-cli-macos.md

Line 0: [Error] Cannot resolve '../includes/current-version.md' relative to 'docs-ref-conceptual/install-azure-cli-macos.md'.
Line 0: [Error] Cannot resolve '../includes/current-version.md' relative to 'docs-ref-conceptual/install-azure-cli-macos.md'.
Line 0: [Error] Cannot resolve '../includes/current-version.md' relative to 'docs-ref-conceptual/install-azure-cli-macos.md'.

docs-ref-conceptual/install-azure-cli-windows.md

Line 0: [Error] Cannot resolve '../includes/current-version.md' relative to 'docs-ref-conceptual/install-azure-cli-windows.md'.
Line 0: [Error] Cannot resolve '../includes/current-version.md' relative to 'docs-ref-conceptual/install-azure-cli-windows.md'.
Line 0: [Error] Cannot resolve '../includes/current-version.md' relative to 'docs-ref-conceptual/install-azure-cli-windows.md'.

docs-ref-conceptual/install-azure-cli-yum.md

Line 0: [Error] Cannot resolve '../includes/current-version.md' relative to 'docs-ref-conceptual/install-azure-cli-yum.md'.
Line 0: [Error] Cannot resolve '../includes/rpm-warning.md' relative to 'docs-ref-conceptual/install-azure-cli-yum.md'.
Line 0: [Error] Cannot resolve '../includes/current-version.md' relative to 'docs-ref-conceptual/install-azure-cli-yum.md'.
Line 0: [Error] Cannot resolve '../includes/rpm-warning.md' relative to 'docs-ref-conceptual/install-azure-cli-yum.md'.
Line 0: [Error] Cannot resolve '../includes/current-version.md' relative to 'docs-ref-conceptual/install-azure-cli-yum.md'.
Line 0: [Error] Cannot resolve '../includes/rpm-warning.md' relative to 'docs-ref-conceptual/install-azure-cli-yum.md'.

docs-ref-conceptual/install-azure-cli-zypper.md

Line 0: [Error] Cannot resolve '../includes/current-version.md' relative to 'docs-ref-conceptual/install-azure-cli-zypper.md'.
Line 0: [Error] Cannot resolve '../includes/rpm-warning.md' relative to 'docs-ref-conceptual/install-azure-cli-zypper.md'.
Line 0: [Error] Cannot resolve '../includes/current-version.md' relative to 'docs-ref-conceptual/install-azure-cli-zypper.md'.
Line 0: [Error] Cannot resolve '../includes/rpm-warning.md' relative to 'docs-ref-conceptual/install-azure-cli-zypper.md'.
Line 0: [Error] Cannot resolve '../includes/current-version.md' relative to 'docs-ref-conceptual/install-azure-cli-zypper.md'.
Line 0: [Error] Cannot resolve '../includes/rpm-warning.md' relative to 'docs-ref-conceptual/install-azure-cli-zypper.md'.

docs-ref-conceptual/install-azure-cli.md

Line 0: [Error] Cannot resolve '../includes/current-version.md' relative to 'docs-ref-conceptual/install-azure-cli.md'.
Line 0: [Error] Cannot resolve '../includes/current-version.md' relative to 'docs-ref-conceptual/install-azure-cli.md'.
Line 0: [Error] Cannot resolve '../includes/current-version.md' relative to 'docs-ref-conceptual/install-azure-cli.md'.

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

OPS Build status updates of commit 2eeb55b:
:clock10: Preparing: average preparing time is 56 sec(s)

OPS Build status updates of commit 2eeb55b:
:clock10: Incremental building: average incremental building time is 13 min(s) 40 sec(s)

OPS Build status updates of commit 2eeb55b:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs-ref-conceptual/includes/current-version.md
:warning:Warning
View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid) View (azure-cli-latest)
Details

docs-ref-conceptual/includes/rpm-warning.md
:warning:Warning
View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid) View (azure-cli-latest)
Details

docs-ref-conceptual/get-started-with-azure-cli.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)

docs-ref-conceptual/includes/linux-install-requirements.md
:white_check_mark:Succeeded

docs-ref-conceptual/index.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)

docs-ref-conceptual/install-azure-cli-apt.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)

docs-ref-conceptual/install-azure-cli-linux.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)

docs-ref-conceptual/install-azure-cli-macos.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)

docs-ref-conceptual/install-azure-cli-windows.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)

docs-ref-conceptual/install-azure-cli-yum.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)

docs-ref-conceptual/install-azure-cli-zypper.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)

docs-ref-conceptual/install-azure-cli.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)

docs-ref-conceptual/includes/current-version.md

Line 8: [Warning] Invalid file link:(~/docs-ref-conceptual/includes/release-notes-azure-cli.md).
Line 8: [Warning] Invalid file link:(~/docs-ref-conceptual/includes/release-notes-azure-cli.md).
Line 8: [Warning] Invalid file link:(~/docs-ref-conceptual/includes/release-notes-azure-cli.md).
Line 8: [Warning] Invalid file link:(~/docs-ref-conceptual/includes/release-notes-azure-cli.md).
Line 8: [Warning] Invalid file link:(~/docs-ref-conceptual/includes/release-notes-azure-cli.md).
Line 8: [Warning] Invalid file link:(~/docs-ref-conceptual/includes/release-notes-azure-cli.md).
Line 8: [Warning] Invalid file link:(~/docs-ref-conceptual/includes/release-notes-azure-cli.md).
Line 8: [Warning] Invalid file link:(~/docs-ref-conceptual/includes/release-notes-azure-cli.md).
Line 8: [Warning] Invalid file link:(~/docs-ref-conceptual/includes/release-notes-azure-cli.md).
Line 8: [Warning] Invalid file link:(~/docs-ref-conceptual/includes/release-notes-azure-cli.md).
Line 8: [Warning] Invalid file link:(~/docs-ref-conceptual/includes/release-notes-azure-cli.md).
Line 8: [Warning] Invalid file link:(~/docs-ref-conceptual/includes/release-notes-azure-cli.md).
Line 8: [Warning] Invalid file link:(~/docs-ref-conceptual/includes/release-notes-azure-cli.md).
Line 8: [Warning] Invalid file link:(~/docs-ref-conceptual/includes/release-notes-azure-cli.md).
Line 8: [Warning] Invalid file link:(~/docs-ref-conceptual/includes/release-notes-azure-cli.md).
Line 8: [Warning] Invalid file link:(~/docs-ref-conceptual/includes/release-notes-azure-cli.md).
Line 8: [Warning] Invalid file link:(~/docs-ref-conceptual/includes/release-notes-azure-cli.md).
Line 8: [Warning] Invalid file link:(~/docs-ref-conceptual/includes/release-notes-azure-cli.md).
Line 8: [Warning] Invalid file link:(~/docs-ref-conceptual/includes/release-notes-azure-cli.md).
Line 8: [Warning] Invalid file link:(~/docs-ref-conceptual/includes/release-notes-azure-cli.md).
Line 8: [Warning] Invalid file link:(~/docs-ref-conceptual/includes/release-notes-azure-cli.md).

docs-ref-conceptual/includes/rpm-warning.md

Line 12: [Warning] Invalid file link:(~/docs-ref-conceptual/includes/install-azure-cli-linux.md).
Line 12: [Warning] Invalid file link:(~/docs-ref-conceptual/includes/install-azure-cli-linux.md).
Line 12: [Warning] Invalid file link:(~/docs-ref-conceptual/includes/install-azure-cli-linux.md).
Line 12: [Warning] Invalid file link:(~/docs-ref-conceptual/includes/install-azure-cli-linux.md).
Line 12: [Warning] Invalid file link:(~/docs-ref-conceptual/includes/install-azure-cli-linux.md).
Line 12: [Warning] Invalid file link:(~/docs-ref-conceptual/includes/install-azure-cli-linux.md).

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

OPS Build status updates of commit d36b0d2:
:clock10: Preparing: average preparing time is 57 sec(s)

OPS Build status updates of commit d36b0d2:
:clock10: Incremental building: average incremental building time is 13 min(s) 42 sec(s)

OPS Build status updates of commit d36b0d2:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-conceptual/get-started-with-azure-cli.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)

docs-ref-conceptual/includes/current-version.md
:white_check_mark:Succeeded
View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid) View (azure-cli-latest)

docs-ref-conceptual/includes/linux-install-requirements.md
:white_check_mark:Succeeded

docs-ref-conceptual/includes/rpm-warning.md
:white_check_mark:Succeeded
View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid) View (azure-cli-latest)

docs-ref-conceptual/index.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)

docs-ref-conceptual/install-azure-cli-apt.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)

docs-ref-conceptual/install-azure-cli-linux.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)

docs-ref-conceptual/install-azure-cli-macos.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)

docs-ref-conceptual/install-azure-cli-windows.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)

docs-ref-conceptual/install-azure-cli-yum.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)

docs-ref-conceptual/install-azure-cli-zypper.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)

docs-ref-conceptual/install-azure-cli.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)

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


Load strategy contracts from Etherscan

Changed the script so it loads strategies' interfaces from Etherscan.

A more optimized approach would be to add autofetch_sources: true to brownie-config.yaml and then use Contract instead of Contract.from_explorer. This will allow for caching.
For now I'd like to keep all strategy interfaces as ABIs and have a mapping between deployments and them. In the next releases I think we can change that and move to introspection instead.


Source filter is empty

Description

In the filter pane for both images and audio, the "Source" filter section is empty. This can be confusing for entries where the "Creator" checkbox is below the source section, since it may look like "Creator" is a source.
Reproduction

Visit https://search-staging.openverse.engineering/search/audio?q=many
Open the filters tab
Observer that there are no selections under Source

Screenshots

Environment

Device: Desktop
OS: Ubuntu
Browser: Firefox

Additional context

Resolution

[ ] 🙋 I would be interested in resolving this bug.

It appears that this actually only happens when going from an "All content" search to an individual media type search.

This can happen if the request for provider stats. I think we should save the provider stats as a JSON locally, and use that for the first load, and /or if the provider stats request fails (using something like stale-while-revalidate). This way we can prevent the source list from being empty, and reduce the time it takes to load the page in dev.
Sometimes running pnpm dev can be very slow because the provider stats request times out, so it waits for 30seconds to load the page, without the provider list.

This can happen if the request for provider stats. I think we should save the provider stats as a JSON locally, and use that for the first load, and /or if the provider stats request fails (using something like stale-while-revalidate). This way we can prevent the source list from being empty, and reduce the time it takes to load the page in dev.

This sounds good to me Olga. Once we've finished getting our production deployment dockerized in ECS we could also use Redis for this so that the updated cache of the request is shared between workers in the pm2 cluster in production.
I wonder why the stats request times out though, it's heavily cached by cloudflare :thinking: Is it a slow request whenever it isn't cached?


[Windows] Generate "cmd" file to run Godot with open console.

Add "cmd" files to run Godot with the open console window after https://github.com/godotengine/godot/pull/55987 / https://github.com/godotengine/godot/pull/55966

Thanks!


Refs #15844 -- Added tests for multi-table inheritance related object filtering efficiency.

Fixed in 97774429aeb54df4c09895c07cd1b09e70201f7d.
https://code.djangoproject.com/ticket/15844

The patch reproduces the reported case. Looks like 9777442 fixed a couple of things.


[WIP] Add ConcurrentArray class

@st0012 I've tried a few design approaches, an I have a few questions:

I've tried to use sendMethod(), but it fails (see code) - am I using it wrong? The args should be already in the stack, and I assume that directly passing blockFrame and sourceLine is correct?

with the current implementation (it's just an experiment) everything works, but the tests fail the CFP count - they return 1/2 instead of the expected 3/4 (go test ./vm -run ConcurrentArr); what's wrong?

finally, I can implement the class by using a pattern similar to what you've originally proposed for the concurrent hash, that is, by creating ConcurrentArrayObject as sublass of ArrayObject, and implementing a method like lock(), empty in ArrayObject, and with locking code in the ConcurrentArrayObject. This would require all the methods in ArrayObject to be converted to call that code. Is this your preferred implementation?

@saveriomiroddi

I just pushed a fix for the first issue, can you help me check it?
Can you tell me what test functions failed, and the test case number?  So it doesn't create and push a new call frame properly. Using sendMethod should fix this issue.
Sorry I'm not sure I understand the third question, can you explain more or show the code?

BTW I think we can just make ArrayObject to have sync.RWMutex attribute by default, but don't use it. And then in Concurrent::Array we don't need to have another struct for concurrent array, I think this can reduce some work. However, I'm not sure if it will increase the memory usage of array objects significantly.

I just pushed a fix for the first issue, can you help me check it?

The fix didn't work, or I'm using the wrong parameters; it's hard to know, because sendMethod() is undocumented. I'm following the example of the only occurrence in the codebase (inside class.go).
In order to test, just run go ./vm -test ConcurrentArray.

Sorry I'm not sure I understand the third question, can you explain more or show the code?

Regarding this point, I will create a separate PR with an example.

@st0012 is there any technical reason for you not testing the branch as suggested? I've applied this suggestion and it still doesn't work, so I'm blocked again by sendMethod().

@saveriomiroddi Sorry, I'm a little sick and busy preparing my trip. I'll try it ASAP.

@saveriomiroddi After a quick try, I just thought a possible reason: Assume we call sendMethod inside [], we'll get into Concurrent::Array#[]. And it'll still call the same method [] again just like an infinite loop. But the first call already consumed the argument, so the second call won't have any and causes index panic.

@st0012 ok, thanks! :+1:

@saveriomiroddi I found that the CFPs you got are actually correct, they don't necessarily equal to the error line number. In fact, the CFP, SP and error line number basically won't effect each other.
The CFP stands for call frame pointer, it's like stack pointer but for call frame stack. Goby creates a call frame for each method call and push it to the call frame stack. Once the method call is finished it'd be popped from call frame stack. So we can assume that if every program is executed successfully the CFP will be 0 because every call frame should be executed and popped.
That's see an example:
def foo
  10
end

foo

Before the foo is being called, the call frame stack would be empty and the CFP would be 0.
After the method foo is called its call frame will be pushed on the stack, and the CFP will increase by 1.
Once the foo method is finished, its frame will be popped. So the call frame stack is now empty and the CFP will decrease by 1 and back to 0. (This is why every method test expect CFP to be 0.)

However, if any method failed, its call frame will stay on the stack and the CFP will stay the same as well. This is why most of the fail test case's CFP is 1, because that method failed and its frame is not popped.
(To be continued)

I found that the CFPs you got are actually correct, they don't necessarily equal to the error line number. In fact, the CFP, SP and error line number basically won't effect each other.

@st0012 thanks for the information :smile: I will update all the CFPs in the test suite.

@st0012 I actually dug a bit more, and the CFP expectations with value of 2 are actually bugs in the code. I'll commit the fixes and show you.

@st0012 Ready for review and then merge. I've corrected the block frame bugs in the Array class, and updated the UTs, so now the CFP make sense (they all should be 1).

Found at least another bug in Array, will fix.

ok. fixed that bug as well. everything's ready.

@saveriomiroddi I actually keep the block frame on purpose so that we can know if the error is happened in the method or in the method's block. It doesn't make any difference for now, but I'll need this information for #474

@st0012 thanks, I've restored the previous structure and CTF expectations.

@saveriomiroddi The TravisCI failed, I think you should rebuild it

@st0012 hmm, the build didn't start all - it only reported an error.
I've restared it - I'll check later the outcome.


Typo / Solve ambiguities in  openssl/crypto/ec/curve448/scalar.c

The file openssl/crypto/ec/curve448/scalar.c  contains two subtile ambiguities.
In line 85:
chain += ((c448_dword_t) mand) * mier[j] + accum[j];

Is it possible to change to:
chain += ((c448_dword_t) mand) *mier[j] + accum[j];

In line 95:
chain += (c448_dword_t) mand *mier[j] + accum[j];

Is it possible to change to:
chain += ((c448_dword_t) mand) *mier[j] + accum[j];

Thanks for your help (my compiler gets trouble with it!)

I'm not sure I understand which ambiguity you see in line 85 and what your suggested change should achieve: All I can see is a whitespace change, you removed a space between * and mier[j]. For the compiler, this change should make no difference. And for me, a space on both sides of the * makes more sense then your proposed change.
It is indeed a bit confusing at first sight that line 95 not only has different whitespace formatting, but also contains extra parentheses around the (c448_dword_t) mand cast. But those parentheses are redundant, because the cast operator has a higher precedence than the multiplication operator. So I don't see a reason why a compiler would complain about it. Could you please tell us which compiler you are using and post the exact text of the compiler warning?

I'm not sure I understand which ambiguity you see in line 85 and what your suggested change should achieve: All I can see is a whitespace change, you removed a space between * and mier[j]. For the compiler, this change should make no difference. And for me, a space on both sides of the * makes more sense then your proposed change.
It is indeed a bit confusing at first sight that line 95 not only has different whitespace formatting, but also contains extra parentheses around the (c448_dword_t) mand cast. But those parentheses are redundant, because the cast operator has a higher precedence than the multiplication operator. So I don't see a reason why a compiler would complain about it. Could you please tell us which compiler you are using and post the exact text of the compiler warning?

Yeah, if removing the outer parentheses would help your compiler, that might be considered. However removing the space after * would be wrong and in conflict with the code formatting guide we have.

Yeah, if removing the outer parentheses would help your compiler, that might be considered. However removing the space after * would be wrong and in conflict with the code formatting guide we have.

Also space after the cast could be removed.

Also space after the cast could be removed.

Marking as inactive, to be closed at the end of the 3.4 dev cycle barring further input


[Backport-2.x] Enabled the efficient filtering support for Faiss Engine.

Description
Enabled the efficient filtering support for Faiss Engine. This is a backport of: https://github.com/opensearch-project/k-NN/pull/936, #942 , #951
Issues Resolved
#903
Check List

[x] New functionality includes testing.

[x] All tests pass

[x] New functionality has been documented.

[x] New functionality has javadoc added

[x] Commits are signed as per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Tests which are failing: Secure Cluster tests, Windows tests, mac-os tests.


Wrong objects removed from DynamicsWorld

Objects are either not removed from the world when RemoveRigidBody is called or the wrong ones are removed. See test/CollisionObjectArrayTests.cs and also:
http://stackoverflow.com/questions/37433079/bulletsharp-discretedynamicsworld-removerigidbody-behaves-strangely

Fixed in https://github.com/AndresTraks/BulletSharp/commit/b81720936180744c48e97a64385768036396d170.
After swapping the last item with the item to be removed, the wrong item was removed (should remove the last one).


Updated viper and config file functionality to streamline Tealium

Updated viper and config file functionality to streamline Tealium call and add IGLU to landing-pages

+1

+1

+1


Add project base directory variable to task runner

I have the following task defined:
[tasks."web:fmt"]
description = "Format the web project"
run = "npx @biomejs/biome format --write ."
dir = "web"

This works just fine running in the project's base directory:
❯ mise run web:fmt
[web:fmt] $ npx @biomejs/biome format --write .
[web:fmt] Formatted 26 file(s) in 2ms

I would also like to be able to run the same task when I'm in another directory, for example the web directory itself. This fails because mise is looking for the web directory inside the current working directory.
❯ mise run web:fmt
[web:fmt] $ npx @biomejs/biome format --write .
mise failed to execute command: sh -c npx @biomejs/biome format --write .

I would like to be able to change the task as follows:
[tasks."web:fmt"]
description = "Format the web project"
run = "npx @biomejs/biome format --write ."
dir = "{{base}}/web"

Right now, mise allows having {{cwd}} as a variable for the dir option, but not the project's base directory. This would add a {{base}} variable (or {{project}} or whatever - doesn't matter) to always run the task in a directory relative to the base.

Which is a bit of a strange name, you'd think it would be "project_root". It's not because when I named it I was thinking "it's the root of where the config file is, the project root might be in a parent directory"


OCC Release Checklist

Issue to track tasks necessary pre/post release of occ variant.
All checklists in comments below should be ticked before / immediately after release.

Cleanup pythonocc forced install of cadquery (pre-release)

[ ] remove forced pythonocc installation of cadquery from ubuntu-occ container

https://github.com/cqparts/cqparts/blob/b518dd763503b037211f77f9d2aadd31716a927b/tests/env/ubuntu-occ/Dockerfile#L20
https://github.com/cqparts/cqparts/blob/b518dd763503b037211f77f9d2aadd31716a927b/tests/env/ubuntu-occ/setup.sh#L32


Request returns 429 error!

Please follow the guide below

Issues submitted without this template format will be ignored.
You will be asked some questions and requested to provide some information, please read them carefully and answer completely.
Put an x into all the boxes [ ] relevant to your issue (like so [x]).
Use the Preview tab to see how your issue will actually look like.

Before submitting an issue, make sure you have:

[x] Updated to the latest version
[x] Read the README and docs
[x] Searched the bugtracker for similar issues including closed ones

Purpose of your issue?

[x] Bug report (encountered problems/errors)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

The following sections requests more details for particular types of issues, you can remove any section (the contents between the triple ---) not applicable to your issue.

For a bug report, you must include the Python version used, code that will reproduce the error, and the error log/traceback.
Paste the output of python -V here:
Code:
# Example code that will produce the error reported
from instabot import Bot

bot = Bot()
bot.login(username="user", password="pass")
followers = bot.get_user_followers(bot.user_id)

Error/Debug Log:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ZeroDivisionError: integer division or modulo by zero

Describe your issue
2019-11-19 14:39:17,167 - ERROR - Request returns 429 error!
2019-11-19 14:39:17,167 - WARNING - That means 'too many requests'. I'll go to sleep for 5 minutes.
IG updated their api request limit or flow a few days ago, which means that after scraping users a few times and I will get blocked.
The amount does not matter, the block happens if it's 500 or 2000+ users.
The block is also longer than 5 min. I feel it is for hours.

What method have you used?

These two:
bot.get_user_following(user_id)
bot.get_user_followers(user_id)
I also seen other repo like mgp had the same issues a few days ago.

Some other info:
Also using the scrapper without login gets 429 if less than 60 seconds is added between operations

I think it is because new Instagram algorithm.   I am able to scrap  about 30000 users and then error 429 is shown.  I know there is  200 request per hour limitation
I tried to increase the delay after every 20,000 I added an hour break so as not to exceed 200 requests per hour but 429 error is  here
Maybe there is some extra limit.  I know that scraping requests are sent very quickly
Is  it possible to add delay after every request ?

yeah i have fixed it

How

I'm struggeling with this problem too. Any ideas?

@steffanjensen how can I fix that ?


unit tests failing

Hi Guys,
cloned the repo on my windows workstation, ran tox (only python 2.7) and saw that 42 out of the 85 tests failed, is there any extra setup that i have to do to have all the tests pass ?
Attached is the testresults file.
testresults.txt
Thanks

Hi, before you can run the tests, you need to set some environment variables pointing to the connection information/credentials for each supported cloud. As detailed in the log, the tests fail because the credentials for openstack are absent.
If you do not have access to a particular cloud, you can either run the mock tests or restrict the tests to AWS only, by setting the CB_TEST_PROVIDER instance variable.
See the following section for info on running the tests:
http://cloudbridge.readthedocs.io/en/latest/topics/testing.html

Just an additional note, there are two tests that currently fail on the dev branch due to an issue with a downstream library (moto), but apart from those, all other tests should pass.
I'll close this issue for now. Feel free to reopen if you run into any more trouble.

On a side note, i am running WINDOWS, do i have to change any other configuration in the tox file ?
Thanks

There's nothing platform specific and all dependent libraries are windows compatible afaik. Nevertheless, we haven't tested on windows, so it'd be great to hear about your experience.

In windows  we used the 'set' command to set both the provider and mock environment variables to aws and Yes and ran the tests we are still running into the same issue, attached is the same.
testrun.txt

if you do
set CB_TEST_PROVIDER=aws
set CB_USE_MOCK_PROVIDERS=true
that should be sufficient. Two tests will fail because of the issue I mentioned before with the mock library (moto).
The test log you provided indicates that the above variables have not been set (which is why the OpenStack tests are running. When you set the above, only the aws tests should run).

We did notice that there was an error with regard to CR/LF encoding that typically occurs when moving between Windows and Unix, so this is a great opportunity to squash that issue. We're putting in a fix now by re-encoding this file. https://d168wakzal7fp0.cloudfront.net/aws_instance_data.json
It should be updated shortly.
Let us know how you go, we're keen to know whether that fixes that issue.

Just updated the CloudFront distribution so that hopefully fixes the json encoding issue. Please let us know either way.

Hi

Got the latest from the master
We ran on both Linux and windows and both of them have the same results 47 ran and 11 failures, attached are the test logs for the same.
Are we missing any dependencies ??

windowstestruns.txt
linuxtestrun.txt
Thanks

I'm rerunning the Travis build: https://travis-ci.org/gvlproject/cloudbridge
Will get back to you once it finished. I'll also try it out on a Windows machine. So am I correct in assuming that the following steps will reproduce it?

Create Windows virtualenv
Install requirements
set CB_TEST_PROVIDER=aws and set CB_USE_MOCK_PROVIDERS=True
run tox -e py27

we don't do the 1 and 2, we only run the 3 and 4 steps.
are 1 and 2 a must ??

Tox will create its own virtual environment, so you're right, it's not required. Usually, I tend to start off by creating a venv, which is why I put that in. Also, how are you planning to work with cloudbridge? Are you trying to develop with cloudbridge or contribute to cloudbridge?

yes, we want to use cloud-bridge for interfacing, and if possible  certainly contribute down the line..

Thanks for reporting this, there was a minor issue which was causing problems - a missing double quote. It has since been fixed in this commit: https://github.com/gvlproject/cloudbridge/commit/7a235ea0cc1d1f4c1ebd552ba9b92d16b84160bc
Please try now and let us know - 2 tests may fail, but these only fail with the mock service, and pass on the actual cloud providers, so they are not functionally impacting.
Also, you can do a pip install cloudbridge, which may make life easier. @afgane will push out a new release with these fixed included sometime today.

Hi,

When we run the tests for only AWS 2 tests fail
When we run all the tests we have 28 failing , 26 for open-stack and 2 for aws i am assuming we need an environment for open stack as it does not have a mocking support.

The above applies for both windows and Linux
alltests.txt
onlyaws.txt
Thanks

That's correct - the OpenStack tests must be run against real infrastructure, and therefore, you would need credentials. However, the Travis tests are run against real infrastructure, and all OpenStack tests pass: https://travis-ci.org/gvlproject/cloudbridge/jobs/209078842
Since you're only planning to use cloudbridge though, you shouldn't need to worry about this in principle, because the idea is that the testing is done centrally for cloudbridge, and someone using cloudbridge needs to only test against one infrastructure, and it should in principle, run on the other without further testing.
Was there a particular reason you wanted to run the tests in the first place?

As mentioned, we want to set it up locally  to, see how its implemented, debug any issues and add functionality if required..
Thanks for the help, much appreciated. !!!

No worries and thanks for testing this out on Windows. Let us know if you run into any more issues.


Add day 6 OPPS Concepts

Select the Day of Content
Day 6
What information is missing?
Adding new content on OPPS concept

@Abhishek0732
Go to /docs/day_number Section There I have Specified All the Daywise Tasks with Image Assets.. Make Document Accordingly..

I have made pull request. Please check it


Jittering positioning of the TextAnnotatorPopup on scroll

Issue
When the text selection stops higher up in the content and then you start scrolling up/down, the popup starts to jump over the selection range:
https://github.com/user-attachments/assets/db522f4b-8f10-45a2-863e-9de70135cbd5
Personally, I find that kinda distracting, especially on smaller screen sizes:
https://github.com/user-attachments/assets/6eacb98d-b269-4967-acab-6db893c1f83f
Also, with autoPlacement the popup is constantly displayed over the annotated content
Suggested Changes
We can use a more temperate positioning like top + inline() middleware. Additionally, we can limit the crossAxis scrolling and let the user scroll from the popup. Which feels a bit more pleasant and intuitive (IMHO).
Example
TBD

Moreover, after I added the keyboard selection support in #118, I found that I could accidentally make the page freeze after pressing Ctrl+A. I narrowed it down to the popup positioning unable to find a suitable place and running into an endless loop.


handle mismatch encode types

resolve #74

@dlrobertson What do you think of this resolution? Does this work for you?
@dust0x does this resolve the issue you were seeing? Would you mind trying it out? It works for the code sample you provided.

Yes, the issue appears to be resolved. Thanks!
Many of the other Unicode pages didn't throw this error, but I'm guessing that's because they weren't using anything outside of the Latin-1 character set. Is that correct?


Reviewer and collection manager need to be able to edit items submitted for approval

For this item https://sul-h2-stage.stanford.edu/works/86 that I submitted to a collection where I am a collection manager and reviewer I am unable to edit this once it has been submitted for approval. Both collection managers and reviewers should have permission to do this.

As a temporary workaround, you can return it, edit it and then resubmit, right?

Yes, that functionality works. But would be confusing in a real-world situation.


Indexing non-mined transations

Is there any method to index transactions sent to bitcoind (for example using RPC) and present in its memory but not mined by any miner yet?
It will have the use that already broadcasted transactions inputs can be assumed as spent to prevent further confusion in the applications using Indexer for example to build a stack of unconfirmed transactions on top of each other, without waiting for confirmation.

yes, actually you should take a look at my project QBitNinja. It depends on NBitcoin.Indexer and provide easy to use REST Service to query it.
More importantly, it has a console app "QBitNinja.Listener" which just index everything by listening a particular node.

Thank you very much. I was missing it.


chore(build): 🤖 validate rollup build

Codecov Report

Merging #49 (1995fce) into master (765ede1) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #49   +/-   ##
=======================================
  Coverage   84.78%   84.78%
=======================================
  Files          29       29
  Lines         309      309
  Branches       49       49
=======================================
  Hits          262      262
  Misses         47       47

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 765ede1...1995fce. Read the comment docs.


fix Tempfile rbi

For Tempfile initialize, open and create:

make mode a keyword parameter
make options a rest parameter
remove overloading to work around 5003 error per sorbet/sorbet#2248

With the first two changes I was getting an Overloaded functions cannot have keyword arguments error so I followed the approach in sorbet/sorbet#2248 and changed the return to a T.any. I'm not sure if this is the best path here and open for suggestions.
Motivation
Per the Tempfile docs: mode keyword argument, as accepted by Tempfile, can only be numeric, combination of the modes defined in File::Constants
Test plan
See included automated tests.

Stripe internal build: http://go/builds/bui_H7EgCOLwQnhAaA

There are three errors on the stripe build, all related to the return type change (File isn't being handled in addition to the expected return value of the type parameter).

I think that the errors introduced by unioning the two possible return types are a little bit worse than just using T.untyped. How do you feel about just switching over to T.untyped instead?

I see, something like this fails now:
i = Tempfile.create('hello') { 1 }
i + 1

I'm ok returning T.untyped if there's no other workaround. Compliance with the stdlib should take priority. If I understand correctly, I might as well remove the type_parameters too then, right?

I see, something like this fails now:
i = Tempfile.create('hello') { 1 }
i + 1

I'm ok returning T.untyped if there's no other workaround. Compliance with the stdlib should take priority. If I understand correctly, I might as well remove the type_parameters too then, right?

Yes, you can remove the type_parameters, and have the block return T.untyped instead.

Sounds good, I updated the code with those changes.


Service Fabric: Moved mac quickstarts to use docker build.

As discussed with @suhuruli this moves to using a docker build file to simplify the setup and starting of a cluster on Mac using docker.

@lawrencegripper : Thanks for your contribution to the Azure documentation! The author, @sayantancs, has been notified to review your proposed change.

@lawrencegripper @suhuruli @sayantancs - After the changes are complete and approved, would you add an appropriate comment so that automation can take the corresponding action?  Thanks

@lawrencegripper : Thanks for your contribution to the Azure documentation! The author, @sayantancs, has been notified to review your proposed change.

@suhuruli Thanks for the feedback, I've updated the doc with your suggestions and moved to the newer base image.

@lawrencegripper : Thanks for your contribution to the Azure documentation! The author, @sayantancs, has been notified to review your proposed change.

#sign-off looks good, tested this and it worked.

@suhuruli: I'm sorry - only the author of this article, @sayantancs, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

Hi,
Im on the product team for Microsoft for this particular area. Additionally, @sayantancs is no longer on the team. Please make an exception and merge this.
Thanks

Hi,
Im on the product team for Microsoft for this particular area. Additionally, @sayantancs is no longer on the team. Please make an exception and merge this.
Thanks


Add types for auth callout authorization request claims

What motivated this proposal?
I'm using auth callout and need types for authorization request claims
What is the proposed change?
Add types for authorization request claims
Who benefits from this change?
All typescript developers
What alternatives have you evaluated?
Writing the types in my own code

I'm currently using these types in my code. I'm not sure if they are 100% correct but I think they might be a good starting point for a PR
The way they are used:
import * as NatsJwt from "nats-jwt";

const rc = NatsJwt.decode<AuthorizationRequestClaims>(token);

export type AuthorizationRequestClaims = {
  readonly server_id: ServerId;
  readonly user_nkey: string;
  readonly client_info: ClientInfo;
  readonly connect_opts: ConnectOpts;
  readonly client_tls?: ClientTls;
  readonly request_nonce?: string;
  readonly tags?: ReadonlyArray<string>;
  readonly type?: string;
  readonly version?: number;
};

export type ServerId = {
  readonly name: string;
  readonly host: string;
  readonly id: string;
  readonly version?: string;
  readonly cluster?: string;
  readonly tags?: ReadonlyArray<string>;
  readonly xkey?: string;
};

export type ClientInfo = {
  readonly host?: string;
  readonly id?: number;
  readonly user?: string;
  readonly name?: string;
  readonly tags?: ReadonlyArray<string>;
  readonly name_tag?: string;
  readonly kind?: string;
  readonly type?: string;
  readonly mqtt_id?: string;
  readonly nonce?: string;
};

export type ConnectOpts = {
  readonly jwt?: string;
  readonly nkey?: string;
  readonly sig?: string;
  readonly auth_token?: string;
  readonly user?: string;
  readonly pass?: string;
  readonly name?: string;
  readonly lang?: string;
  readonly version?: string;
  readonly protocol: number;
};

export type ClientTls = {
  readonly version?: string;
  readonly cipher?: string;
  readonly certs?: ReadonlyArray<string>;
  readonly verified_chains?: ReadonlyArray<ReadonlyArray<string>>;
};


Whats the best dns for android samsung

Just let dnscrypt-proxy choose for you. The defaults are fine.


Common Makefile for podvm image build across providers

Currently each provider has their own Makefile in their respective image folders. The vast majority of the contents in these files is identical. Only changes between aws and azure is packer variables, libvert includes a couple extras e,g, UBUNTU_IMAGE_URL and ibmcloud has a few extra targets to push and verify. But the rest is the same.
Could this be refactored to avoid duplication and improve the onboarding for future providers?
For example azure could become just...
# Not certain where the common one would be stored
include ../Makefile

build: $(IMAGE_FILE)

$(IMAGE_FILE): $(BINARIES) $(FILES)
	mkdir -p toupload
	packer build -var client_id=${CLIENT_ID} \
		-var client_secret=${CLIENT_SECRET} \
		-var subscription_id=${SUBSCRIPTION_ID} \
		-var tenant_id=${TENANT_ID} \
		-var location=${LOCATION} \
		-var vm_size=${VM_SIZE} \
		-var resource_group=${RESOURCE_GROUP} \
		-var az_image_name=${IMAGE_NAME} .
	rm -fr toupload

and aws
# Not certain where the common one would be stored
include ../Makefile

build: $(IMAGE_FILE)

$(IMAGE_FILE): $(BINARIES) $(FILES)
	mkdir -p toupload
	packer build -var vpc_id=${VPC_ID} \
		-var subnet_id=${SUBNET_ID} \
		-var account_id=${AWS_ACCOUNT_ID} \
		-var region=${AWS_REGION} \
		-var instance_type=${INSTANCE_TYPE} \
		-var ami_name=${IMAGE_NAME} .
	rm -fr toupload

I'd like to propose a restructure of the current layout. Just including the files related to the VM image build
Presently
.
|-- aws
|   |-- image
|   |   |-- files
|   |   |-- Makefile
|   |   |-- aws-ubuntu.pkr.hcl
|   |   |-- copy-files.sh
|   |   `-- variables.pkr.hcl
|   `-- README.md
|-- azure
|   |-- image
|   |   |-- files
|   |   |-- Makefile
|   |   |-- azure-ubuntu.pkr.hcl
|   |   |-- copy-files.sh
|   |   `-- variables.pkr.hcl
|   `-- README.md
|-- docs
|   |-- DEVELOPMENT.md
|   |-- addnewprovider.md
|   |-- architecture.png
|   `-- vminfo.md
|-- ibmcloud
|   |-- demo
|   |   `-- ...
|   |-- image
|   |   |-- files
|   |   |-- Makefile
|   |   |-- build.sh
|   |   |-- delete.sh
|   |   |-- login.sh
|   |   |-- multipart_upload.sh
|   |   |-- push.sh
|   |   `-- verify.sh
|   |-- terraform
|   |   `-- ...
|   |-- README.md
|   `-- TROUBLESHOOTING.md
|-- libvirt
|   |-- image
|   |   |-- files
|   |   |-- Makefile
|   |   |-- copy-files.sh
|   |   |-- qemu-ubuntu.pkr.hcl
|   |   |-- userdata.cfg
|   |   `-- variables.pkr.hcl
|   `-- README.md
|-- ...

proposal
.
|-- image
|   |-- aws
|   |   |-- files
|   |   |-- Makefile
|   |   |-- aws-ubuntu.pkr.hcl
|   |   |-- copy-files.sh
|   |   |-- README.md
|   |   `-- variables.pkr.hcl
|   |-- azure
|   |   |-- files
|   |   |-- Makefile
|   |   |-- azure-ubuntu.pkr.hcl
|   |   |-- copy-files.sh
|   |   |-- README.md
|   |   `-- variables.pkr.hcl
|   |-- ibmcloud
|   |   |-- demo
|   |   |   `-- ...
|   |   |-- terraform
|   |   |   `-- ...
|   |   |-- files
|   |   |-- Makefile
|   |   |-- build.sh
|   |   |-- delete.sh
|   |   |-- login.sh
|   |   |-- multipart_upload.sh
|   |   |-- push.sh
|   |   `-- verify.sh
|   |-- libvirt
|   |   |-- files
|   |   |-- Makefile
|   |   |-- copy-files.sh
|   |   |-- qemu-ubuntu.pkr.hcl
|   |   |-- userdata.cfg
|   |   |-- README.md
|   |   `-- variables.pkr.hcl
|   `-- Makefile (common)
|-- ...

Thanks @jtumber-ibm - that makes sense to me. One of the line items I had in my peer pod futures yesterday was ‘Refactor to reduce duplication in code base between cloud providers’ and this falls straight into this category.
My only suggestion would be that the ibmcloud directory has a whole load of extra stuff (terraform, demo scripts etc.), so I think it might make sense to continue to have it as a top level folder rather than it going under the image one. The fact that the peer pod vm image creation is pretty much decoupled from the rest of it means that shouldn’t be too much of a problem and might be neater?
@bpradipt - does this suggestion work okay for you with the other cloud-providers?

@jtumber-ibm  it definitely makes sense to use a common Makefile across the providers for podvm image generation.
I like the idea of having everything under a single top level image directory.
Further, @stevenhorsman makes a valid point. The terraform code for ibmcloud should not be under the image directory.

Also can the files directory and helper scripts like copy-files.sh be also moved to top-level image directory to avoid duplicating it across the providers ?
Only the packer configs are different for different providers, rest is common. So imho we can just keep the packer and related configs separate and move everything else under a common directory

I agree with the restructure.
Makefile for IBM Cloud should only have targets specific to IBM Cloud, and needs to reuse targets in targets defined in the common Makefile.
I think we can also use prebuild binaries for skopeo/umoci.  Prebuild binaries for IBM Cloud s390x are not available, so only Makefile for IBM Cloud needs to have the rules to build the binaries from source code.

So like this, @bpradipt @stevenhorsman  ?
|-- image
|   |-- files
|   |-- Makefile
|   |-- copy-files.sh
|   `-- README.md
|-- aws
|   |-- Makefile
|   |-- aws-ubuntu.pkr.hcl
|   |-- README.md
|   `-- variables.pkr.hcl
|-- azure
|   |-- Makefile
|   |-- azure-ubuntu.pkr.hcl
|   |-- README.md
|   `-- variables.pkr.hcl
|-- ibmcloud
|   |-- demo
|   |   `-- ...
|   |-- terraform
|   |   `-- ...
|   |-- Makefile
|   |-- build.sh
|   |-- delete.sh
|   |-- login.sh
|   |-- multipart_upload.sh
|   |-- push.sh
|   `-- verify.sh
|-- libvirt
|   |-- Makefile
|   |-- qemu-ubuntu.pkr.hcl
|   |-- userdata.cfg
|   |-- README.md
|   `-- variables.pkr.hcl

Sounds e2e test scripts could also be common used like libvirt/install_operator.sh in PR https://github.com/confidential-containers/cloud-api-adaptor/pull/345/files with slightly change, I guess test cases would even common. @wainersm

Hi @jtumber-ibm !
I just glanced at your PR but decided to make some comments here. Sorry for being late at this party :)
So stuffs I will say below are just nitpicking and can be ignored at your discretion.

So like this, @bpradipt @stevenhorsman ?
|-- image
|   |-- files
|   |-- Makefile
|   |-- copy-files.sh
|   `-- README.md

Here I would change two things:

rename image to podvm_common (or something better). In this cloud/k8s/container world when I read image my brain immediately associate with container image. I added common to express that is common to other parts, not sure this is a good idea though.
rename Makefile to Makefile.inc so that one cannot run it; as it is meant to be included (so suffix inc).

|-- aws
|   |-- Makefile
|   |-- aws-ubuntu.pkr.hcl
|   |-- README.md
|   -- variables.pkr.hcl |-- azure |   |-- Makefile |   |-- azure-ubuntu.pkr.hcl |   |-- README.md |   -- variables.pkr.hcl
|-- ibmcloud
|   |-- demo
|   |   -- ... |   |-- terraform |   |   -- ...
|   |-- Makefile
|   |-- build.sh
|   |-- delete.sh
|   |-- login.sh
|   |-- multipart_upload.sh
|   |-- push.sh
|   `-- verify.sh

I like the idea of having a sub-folder here, named podvm so separate stuffs better. Also it implicitly gives meaning to some files like build.sh (to build what? the podvm? the VPC?).

|-- libvirt
|   |-- Makefile
|   |-- qemu-ubuntu.pkr.hcl
|   |-- userdata.cfg
|   |-- README.md
|   `-- variables.pkr.hcl