JMS协议实现 JmsProtocol提交的初始代码

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


New reducer initialises 4 times

Description
When I'm opening my module that contains different reducers, I have noticed that my new reducers trigger 4 times, but my old one only one time, how I can fix this behaviour?
This is how I'm using my new reducer with old one. Is it bad case to use AnyReducer?
private let childrenReducer = MainReducerType.combine(

AnyReducer { state, action, _ in
    DynamicReducer().reduce(into: &state, action: action)
  }
  .optional()
  .pullback(
    state: \MainState.tvState,
    action: /MainActions.tvActions,
    environment: id
  ),

  ...
  )

Checklist

[X] I have determined whether this bug is also reproducible in a vanilla SwiftUI project.
[X] If possible, I've reproduced the issue using the main branch of this package.
[X] This issue hasn't been addressed in an existing GitHub issue or discussion.

Expected behavior
Initialise 1 time
Actual behavior
Initialise 4 times
Steps to reproduce
Open module where you have combine reducers, check how many times inits old reducer and new reducer.
The Composable Architecture version information
0.42.0
Destination operating system
iOS 16
Xcode version information
14.0

Hi @katovBash, can you explain a bit more of what the problem is? Is the problem that the reducer is created 4 times, or that its logic is executing 4 times?
Also I am going to convert this to a discussion since I do not believe it is an issue with the library.


Can't Create Map

After wiping pathfinder and reinstalling from scratch, I'm unable to create a map after logging in. I'm just presented with the pathfinder window after logging in, with no map in the center. The popup to create a map doesn't appear. Clicking the configuration button that used to be used to create a map, in the right slideout menu, does nothing.

After investigation, this bug was introduced in 1.2.3. Pathfinder is working fine with 1.2.2.

is there any corresponding errors in any of your logs when this happened. set debug to 3 if it is not already and let us know what (if any) errors generate

Just look at commit  4950c13

@tstivers1990 Could you please open your Browsers Dev tools (Win. shortcut F12), and check the Console and Network tab for any errors. If there is anything looking wrong, please share the error screenshot. (If available, extend the Js backtrace information as well).


feat: add max margin and LP return

What are the changes in the DemoNotebook here?

added the new outputs in experiment.plot_results

Needs another make black please 😄 (You can enable in VSCode so that it runs on save, which makes things easier!)
Also, the DemoNotebook.ipynb file isn't for actual investigation, should just be a useful template to copy into the specific folders for each investigation. This one still looks reasonable though so will leave it for now!


Drop integration-tests dir

The only integration test there is not working due big changes in codebase.
Signed-off-by: Martin Bašti<EMAIL_ADDRESS>

Maybe pytest.ini could go with this commit as well? The reason it was introduced was to skip integration tests, as shown in 016176a

Nice catch! Removed

No release notes needed, test change only


Missing video tracks in Edge and Playready

What version of Shaka Player are you using?
2.0.2

Can you reproduce the issue with our latest release version?
Yes
Can you reproduce the issue with the latest code from master?
Yes, I tried at http://nightly.shaka-player-demo.appspot.com/demo/

Are you using the demo app or your own custom app?
Demo app

If custom app, can you reproduce the issue using our demo app?

What did you do?
Try to play video on the demo site in the browser Microsoft Edge on Windows 10.

What content did you load?

If standard demo asset, which one?
Unified Streaming > Tears of Steel (PlayReady)

If custom asset, what manifest and license server URIs?

How did you interact with the content, if at all?
Just started and checked drop down menu on which video tracks are available.

What did you expect to happen?
The non-DRM version of Tears of Steel has five bitrates. I expect the DRM version to also have that.

What actually happened?
Only the two lowest video bitrates are available in Edge. In IE11 all bitrates are available. Tried on Edge version 38.14393.0.0.

There was a bug on Edge that we had a workaround for.  This workaround is now causing problems now that the original bug is fixed.  However, Edge's fix of the original problem introduces a different problem that we need to workaround.  We have filed a bug against Edge for this new case.
Basically when we query EME for what the browser supports, Edge doesn't report everything that it supports so we think that some of the tracks are not supported when they in fact are.  So we need to update our workaround for this.

Marked as "external bug" to reflect that Edge is at fault, but added to the v2.1 milestone for Shaka Player to work around Edge's bug.

The fix for this has just been release in v2.0.3.


tests: prepare stale read tests

It's part of #3045, it adds a new method to get a region that will be updated later, also it exports configure_for_lease_read.

Rest LGTM

LGTM
PTAL @huachaohuang

ping @overvenus


Documentation typo fixes

I'll look for more typos when I have some more time. :smile:

Thanks! :)


Change socket path to match discovery doc

Signed-off-by: Matt Bentley<EMAIL_ADDRESS>

Updates socket path per documentation: https://docs.docker.com/engine/extend/plugin_api/#plugin-discovery

Thanks!


Frame-Extractor

Description
Aded Frame Extract Project. Pass in a video's  path and the script will generate a folder containing the frames of the video
Fixes #1499

Type of change

New feature (non-breaking change which adds functionality)

Checklist:

My code follows the style guidelines(Clean Code) of this project
I have performed a self-review of my own code
I have created a helpful and easy to understand README.md
My documentation follows Template for README.md
I have added the project meta data in the PR template.
I have created the requirements.txt file if needed.

Project Metadata
If there is no-file/nothing to fill the below fields with, then type: none
Example: If no requirements.txt needed/present, then type none in Requirments.
Category:

Video_Processing

Title: Framext
Folder:  Frame-Extract
Requirements:  OpenCV
Script:  framext.py
Arguments:  -i path of video file , -o loaction where folder is to be created
Contributor:  SwastikGorai
Description:  Script takes in argument -i input path for video and -o output path where foler containing the extracted frames is to be created

@avinashkranjan please check the PR.


Add support for uvicorn web server use of the uvloop event handler

Problem
RemoteDBConnection: Event Handler mismatch with uvicorn leads to RuntimeError: this event loop is already running.
Context
RemoteDBConnection._loop is set toasyncio.get_running_loop() here. And their docs, say: "Raise a RuntimeError if there is no running event loop.".
When running a uvicorn web server, it's event loop implementation has three options [auto| asyncio| uvloop] and it defaults to auto which has a preference toward uvloop, and the lancedb DBConnection loop event handler is only asyncio which is likely causing a mismatch.
So when you run with the default event loop option, for example uvicorn app:app --reload. You will get this stack trace:
  File "/Users/amanmibra/Desktop/dt/deeptruth/src/api/utils/ss.py", line 3, in lancedb_predict
    pred = table.search(embedding).limit(k).to_pandas()
  File "/Users/amanmibra/anaconda3/envs/audio/lib/python3.10/site-packages/lancedb/query.py", line 195, in to_pandas
    return self.to_arrow().to_pandas()
  File "/Users/amanmibra/anaconda3/envs/audio/lib/python3.10/site-packages/lancedb/query.py", line 409, in to_arrow
    return self._table._execute_query(query)
  File "/Users/amanmibra/anaconda3/envs/audio/lib/python3.10/site-packages/lancedb/remote/table.py", line 165, in _execute_query
    return self._conn._loop.run_until_complete(result).to_arrow()
  File "uvloop/loop.pyx", line 1511, in uvloop.loop.Loop.run_until_complete
  File "uvloop/loop.pyx", line 1504, in uvloop.loop.Loop.run_until_complete
  File "uvloop/loop.pyx", line 1377, in uvloop.loop.Loop.run_forever
  File "uvloop/loop.pyx", line 518, in uvloop.loop.Loop._run
RuntimeError: this event loop is already running.

For the time being, setting the event handler to asyncio explicitly resolves the issue uvicorn app:app --reload --loop asyncio, but it would likely be useful to add support for uvloop, especially since uvicorn is a popular web server.

https://github.com/lancedb/lancedb/issues/680 This two are the same


Consider documenting additional (runtime) startup callbacks

Context javascript-initializers
In .NET 8 we have added additional (runtime specific) callbacks (sample)

onRuntimeConfigLoaded called when boot config is downloaded. Allow to modify parameters (config) before the runtime starts
onRuntimeReady called after .NET runtime started and pass in .NET runtime API

cc @javiercn @danroth27


My fork

Hi Max - I read your comment on the smart-bus PR and that got me thinking - presently I've forked your repo to get the additional functionality I as after - specifically storing state of devices based on monitoring feedback and a collection of different nodes for specific activities - would you be interesting in bringing any of that fuctionality back into your repo?  If so I'll open a PR and we can work through it.
Have a look at my [incomplete] README.md here.
Thanks,
Ben.

Hi Ben
Yes, I think that would be interesting.
I need some time to watch your changes.
can you tell a little more about how these additional nodes are used?

Sure - it's really more about UI functionality that any new features as such - anything I'm doing is achievable in your existing library.  What I add with my additional nodes is:

Channel input: specify address/channel/level - when that criteria is met (at the change point), a message is emitted.
Channel output: specify address/channel/level (both can be over-ridden in the incoming message) to be sent to the HDL network.
UV input: specify UV switch and on, off or on/off - when that criteria is met, a message is emitted.
UV output: specify a UV switch and state (on or off) (both can be over-ridden in the incoming message) to be sent to the HDL network.
Panel brightness: (undocumented) specify a panel address and brightness - changes the brightness of backlights/buttons on DLPs and capacitive switches - haven't tested on the older 'big button' switches.
Button colour: (undocumented) specify a panel address, button and colour - update the colour of a button dynamically (only tested on capacitive touch switches).

As far a using them in flows - probably easiest to just show you a pic:


Reload Table and scroll to top

Hi,
i have a question. If I triggere the onScrolledToBottom action, the complete table reloads itself and scrolls again completely up (just because of the reload of the table). What do I have to do so that this does not happen and only the new elements are hung down?
(I have implemented the whole as described in the documentation.)
Thanks for your helps. :)
Daniel

Sounds like you're recomputing you table property upon model change. Could you share your code please?
Also, did you have a look at the demo page? The code snippets there are a great starting point. :)

My Controller Code:
fetchRecords: task(function*() {
        const demModel = this.get('model').toArray();
        let offset = this.get('offset') + 100;

        let m = yield this.get('store').query('MODELNAME', { limit: 100, offset: offset });

        demModel.pushObjects(m.toArray());
        this.set('model', demModel);
        this.set('offset', offset);
    }).restartable()

onScrolledToBottom() {
            this.get('fetchRecords').perform();
        }

How's your table property defined?

table: Ember.computed('model', function() {
        return new Table(this.get('columns'), this.get('sortedModel'), { enableSync: true });
    }),

sortedModel is the model for the Table.

You are defining table as a computed property in dependence of the model array property. That means, that when you replace the model array with a different array (this.set('model', demModel);) table property gets recomputed.
Please refer to the table-common.js code snippet on the demo page for the recommended way of setting up a table. :slightly_smiling_face:

Ok, thanks for your help. :)


Spanner sessions keep increasing

Our Spanner Sessions keep increasing until we restart the pods (we create a new database object on pod initialize).
https://github.com/googleapis/google-cloud-node

We don't see any impact on the pods' memory and CPU. It looks like the only impact is on the max latency of the query-by-id and query-by-column

Environment details

OS:
alpine
Node.js version:
node:14
npm version:
6.14.13
@google-cloud/spanner version:
5.9.0

Steps to reproduce
We create a single database instance and we use that database for all queries and transactions. (please advise if that's the right approach).
            const queryOptions = { optimizerVersion: 'latest' };
            this.db = instance.database(databaseId, undefined, queryOptions);

@daneshka thanks for reporting the issue.
I wanted to ask some questions to understand the issue and the setup:

From the two graphs, is it safe to assume that this happens over a 7+ day period? I'm assuming this based on the x-axis of the second graph.
I assume that the number of sessions in the graph are across all the pods? How many pods were used here?
What is your session pool configuration? Do you have a custom config or do you use the defaults?
Do you have any QPS graphs for that time frame?

@skuruppu

That's true. I updated the screenshot to capture the dates.
We have 5 pods. They all use less than %20 of the resources.
We use the default configuration for the session pool
the QPS is between 3 to 22.  (please note that the QPS it's not increasing in that period in the other words there is no correlation between the QPS and the number of sessions)

Thanks for the details @daneshka. I will run a job to see if I can reproduce the issue.
In terms of expected behavior, the default session pool configuration means that each database instance would start with a minimum of 25 sessions and the pool can grow up to 100 sessions. Assuming you're using a single database instance in each pod, then I expect the number of sessions to max out at 500 sessions across the 5 pods.
So it's very odd to see it grow up to 18k sessions. Also, it is absolutely the correct thing to do to create one database instance and reuse it over all queries.
While we work on the issue, out of curiosity, how are you getting the session counts? We do have a method in the session pool for getting the current session count. So I just wanted to check with you if you're using that or some other means to get the number of sessions.
Also, can you provide a small snippet of how you're running the query as well? Just to know which methods from the library you're using and how you're calling it.

we use a DataDog metric gcp.spanner.instance.session_count
Each time we restart the pods, session count starts from about 300 (60 per pod). This number wouldn't be perfect because we use the RollingUpdate deployment strategy and the pods get updated one by one.
Please note that in some parts of the code we use transaction and in some other parts (mostly get queries) we query directly from the database object (we want to avoid range locking). We use these methods:
// delete
transaction.deleteRows(tableName, keys)
table.deleteRows(keys)
// run query
database.run(query)
transaction.run(query)
// insert
transaction.insert(tableName, rows)
table.insert(rows)
// update
transaction.update(tableName, rows)
table.update(rows)
//update query
transaction.runUpdate(query)
//begin transaction
database.getTransaction()
//commit transaction
transaction.commit()

I've been running various tests with both read-only and write queries, but I haven't been able to reproduce the issue. Since I don't have DataDog setup, I focused on looking at the session pool size reported by the client library.
Even though I was issuing queries at a rate where all the available 100 sessions in the pool are occupied, I didn't see any session leaks, the pool was maxed out at 100.
I also ran a test where I deliberately didn't call transaction.commit() to cause the session to leak, but even then, the client maxed out at 100 sessions and just got stuck not being able to serve any further requests.
I was also monitoring the spanner.googleapis.com/instance/session_count Cloud Monitoring metric while running the tests which I think is equivalent to the DataDog metric you're using. I noticed something interesting there, which is that as I was running the tests and cancelling the job, the session count reported by the backend kept growing.

But there is an explanation for this behavior. When I kill the job, then I don't give the client the opportunity to clean up the sessions created in the backend by calling session.delete(). So the backend will keep those sessions around for 1 hour after which it will delete it for being an idle session. Hence the step up and step down behavior you see in the graph above.
So I was wondering if there was any chance that your pods may be restarting the jobs on their own periodically without calling database.close() first?
In any case, since I couldn't repro the issue, I'd also like @olavloite to take a look as well.

Thank you  @skuruppu
I double-checked the logs and metrics. The pods are not restarting.
Just set the fail option. Will update you if I see any logs.

Removed the warning and added the needs more info label for the time being while we are waiting to see if anything can be found in the logs.

@daneshka just checking in to see how things are going by setting fail in your application?

@skuruppu
on the stage servers (where I added the fail flag) we only have 1 error about session and that happened today
"message":"InternalError: userId: 0, vaultId: undefined, x-forwarded-for: <IP_ADDRESS> \nNo resources available.  errorStack: SessionPoolExhaustedError: No resources available.\n    at SessionPool._getSession (/opt/tasks/node_modules/@google-cloud/spanner/build/src/session-pool.js:699:19)\n    at getSession (/opt/tasks/node_modules/@google-cloud/spanner/build/src/session-pool.js:451:40)\n    at run (/opt/tasks/node_modules/p-queue/dist/index.js:157:104)\n    at PQueue._tryToStartAnother (/opt/tasks/node_modules/p-queue/dist/index.js:105:17)\n    at PQueue._next (/opt/tasks/node_modules/p-queue/dist/index.js:48:14)\n    at run (/opt/tasks/node_modules/p-queue/dist/index.js:168:22)\n    at runMicrotasks (<anonymous>)\n    at processTicksAndRejections (internal/process/task_queues.js:95:5)\n    at runNextTicks (internal/process/task_queues.js:64:3)\n    at processImmediate (internal/timers.js:437:9)

this is the session count on stage environment for the last 7 days

looks like today there is an increase in the number of sessions which could be related to the error log.

@daneshka The SessionPoolExhaustedError also includes a list of stack traces that shows where all the currently in use sessions were checked out. Would it be possible for you to catch that specific error in your code and then log those messages? That should give you a hint of which parts of the code hold on to a checked out session at the moment that the error occurs.

@olavloite thanks for your message.
I added the log and I'd assume it takes a few days to get a high session count and that error. I'll post the logs as soon as I see the errors.
Today we had even more session count on the stage environment and a few more instances of the SessionPoolExhaustedError error.

The interesting part is all of the errors are coming from one of the queries. That query is a SELECT query with a couple of WHERE conditions. We do NOT use any transaction for that query, we just call run function from the database instance.

That query is a SELECT query with a couple of WHERE conditions. We do NOT use any transaction for that query, we just call run function from the database instance.

All queries require a session, so even for queries that do not use a transaction, a session will be checked out of the session pool for as long as the query is running. database.run will load the entire result set into memory and then close the result stream, so once database.run has finished, the session will be returned to the session pool. If you use database.runStream, the session will remain checked out until the stream is closed.
The above means that if the query that seems to be causing the problem takes a (relatively) long time, it could be that you run into the problem when a burst of requests (or other trigger, I'm not sure what exactly causes the execution of the query) come in a short period of time, and there are more than MaxSessions queries running in parallel. You can only have as many queries running in parallel as there can be sessions in the pool, as each query will claim its own session. The default for MaxSessions is 100 for the NodeJS client. (Note: This max applies to each pod in your setup, so the total max will be NumberOfPods * 100)

2 types of errors got logged.
The first one which happened a lot
It has lots of items (65+) in the messages  array but all have the same value. so I paste only one of them here:
\n  \"Session leak detected!\\n    at _acquire (/opt/tasks/node_modules/@google-cloud/spanner/build/src/session-pool.js:441:30)\\n    at getReadSession (/opt/tasks/node_modules/@google-cloud/spanner/build/src/session-pool.js:338:14)\\n    at runStream (/opt/tasks/node_modules/@google-cloud/spanner/build/src/database.js:1839:20)\\n    at run (/opt/tasks/node_modules/@google-cloud/spanner/build/src/database.js:1648:14)\\n    at null (/opt/tasks/node_modules/@google-cloud/promisify/build/src/index.js:57:28)\\n    at Promise (null:null:null)\\n    at wrapper (/opt/tasks/node_modules/@google-cloud/promisify/build/src/index.js:42:16)\\n

HERE IS OUR CODE TO RUN A QUERY:  database.run(query)
Please note that all stack traces goes back to one of the queries which is a SELECT statement with 4 WHERE conditions.
"

The second one that happened less:
only a few items in the messages array and all have the same value:
{"message":"spanner session error (SessionPoolExhaustedError)

[\n  \"Session leak detected!\\n    at _acquire (/opt/tasks/node_modules/@google-cloud/spanner/build/src/session-pool.js:441:30)\\n    at getWriteSession (/opt/tasks/node_modules/@google-cloud/spanner/build/src/session-pool.js:346:14)\\n    at getTransaction (/opt/tasks/node_modules/@google-cloud/spanner/build/src/database.js:1245:20)\\n    at null (/opt/tasks/node_modules/@google-cloud/promisify/build/src/index.js:57:28)\\n    at Promise (null:null:null)\\n    at wrapper (/opt/tasks/node_modules/@google-cloud/promisify/build/src/index.js:42:16)\\n
HERE IS OUT CODE CALLING database.getTransaction(),
]"

@daneshka Thank you for the additional information.
The messages array contain the stack traces of all the code paths that currently hold a session that has been checked out of the session pool. That means that these are all potential candidates for code paths that cause a session leak, or are code paths that hold on to a session for a long time. Especially code paths that occur frequently in the messages array are indications of session leaks. In this case however I don't think the first code path that occurs frequently in the messages array is the culprit, but the second one.
My guess based on the above information would be that:

The first one that happens a lot is a query that takes some time to finish. The fact that it shows up many times in the messages array is an indication that 65+ of these queries are still running or still being processed by the client. That is a perfectly valid use case. The only thing to think about is that it means that your session pool needs at least 65+ sessions in order to be able to handle this load. The default max for a session pool is 100.
The second one that happens a lot less is one that could more easily create a session leak. The database.getTransaction() method is one that needs additional care in order to be sure that it never causes a session leak. If an error occurs during reading or writing to the transaction (even if it is an Aborted error), and you choose not to commit or rollback, you must call transaction.end() in order to prevent the session that was used by the transaction to be leaked from the session pool.

It is generally recommended to use database.runTransaction or database.runTransactionAsync instead of database.getTransaction whenever possible. The transaction run functions will handle both aborted transactions and the session management automatically for you.

@daneshka Were you able to find the root cause of the problem? Or is there anything else actionable on this issue?

Hi @olavloite
What I did:

I made some changes to make %100 sure that we do call transaction.end()
We deployed those changes into prod a few days ago and we still see the Session leak detected and Spanner sessions keep increasing.
The list of stack traces again point to the same 2 lined of the code (database.run(query) and database.getTransaction()) that we discussed in the previous comments. (most of them are database.run(query))
all of the database.run(query)'s that we see in the list are coming from a single query (the 4th (last one) in the image below). The interesting part is, that query is not our most expensive query. We have queries with double EXECUTION_COUNT and higher AVG_LATENCY_SECONDS

What I will do:

I will do a bigger refactor to use database.runTransactionAsync instead of database.getTransaction() but I don't expect to solve the issue with that change (because most of the issues are coming from that database.run(query)).

The query count is 33602 for that query in one hour, which is not a high number. What's your suggestion on that?

Use more pods? This should not be the best option because the existing pods already have lots of free resources
Create more database instances in each pod?
any other solution?

@daneshka

The query count is 33602 for that query in one hour, which is not a high number. What's your suggestion on that?

That is indeed not a high number, unless those 33602 queries are all executed within a very short fraction of one hour (see below).

Use more pods? This should not be the best option because the existing pods already have lots of free resources
Create more database instances in each pod?
any other solution?

I don't think you should increase the number of pods or number of database instances in each pod based on what we are seeing here. The only configuration change that I think you should consider, is increasing the max number of sessions in the session pool for the databases instances that you are using. That would mean instantiating the database instances with something like this:
// 400 means max 400 sessions, this again means that you can execute at most 400 parallel queries and/or
// transactions using this database instance. Increase this number even further if your application has bursts
// that will cause even more queries to be executed in parallel.
const database = instance.database('some-database', {max: 400});

The database.run(query) statement should not cause any session leaks, so I really don't think that is the real problem (unless the query is taking a long time to finish, which the above information indicates that it does not).
One possibility in this case could be that the query that you are seeing is one that comes in bursts. I noticed that the table that is being queried is called reminders. If that query for example is coming from some timed (background) task, and very many instances of that task can be executed at the same time, then that could be the trigger for the problem (and also the reason that you are seeing this query many times in the error message). So that could mean that:

There's no real session leak here (or otherwise only a small one coming from something else, causing a slow build up of sessions)
The session pool is temporarily being exhausted by a large burst of read requests at the same time. The default session pool settings will allow a maximum of 100 sessions to be created for one database instance, which effectively means that a pod can execute at most 100 queries in parallel.

@daneshka Have you been able to try the application with a larger number for max sessions? If so, did it solve the problem, or in any other way change the behavior that you are seeing?

@olavloite
I made the changes but we haven't deployed to production yet.
I will let you know as soon as I get the results.

@daneshka just checking in to see how the prod deployment went.

@skuruppu
Thanks for the follow-up. Unfortunately, we haven't deployed that to prod yet. But our stage environment looks much better.
I will post here after I get some data from prod.

It looks like this issue has been resolved.  Please re-open it if not.


Capture row sets of tablet in the preparation of ScanOperawtor

What type of PR is this：

[x] bug
[ ] feature
[ ] enhancement
[ ] others

Which issues of this PR fixes ：

Fixes #3689.
Problem Summary(Required) ：
The row sets of tablets will become stale and be deleted, if compaction occurs and these row sets aren't referenced, which will typically happen when the tablets of the left table are compacted at building the right hash table.
Therefore, reference  the row sets into _tablet_rowsets in the preparation phase to avoid the row sets being deleted.

This pr is double capture. What's the performance effect?

This pr is double capture. What's the performance effect?

This PR double capture RowSetPtr, which is a std::shared_ptr. It will

Sounds like a serious and fundamental bug...


add default navigation links to devise

something like this to go into application.html.erb before yield. What do you think?
<% if current_user %>
  <%= link_to current_user.email, edit_user_registration_path %>
  <%= link_to "Log out", destroy_user_session_path, method: :delete %>
<% else %>
  <%= link_to "Log in", new_user_session_path %>
  <%= link_to "Register", new_user_registration_path %>
<% end %>

Thanks for reporting the issue @yshmarov 😊. Currently, I think the install generator should only install the devise and not do additional customization to the application. I am opt-out of this because not all user(80%) would want to have customization to the application layout. This also adds an extra task of debugging and removing the code for those user who do not want this change.
Maybe if we see more such request coming we can surely consider it in the future. Closing this issue for now and keeping the generator simple 😊


[WASM] Remeasure panel when ListView.ItemsSource changes

Fixes bug where list doesn't appear when dimensions are not stretch and ItemsSource goes from empty => non-empty.
GitHub Issue (If applicable): #

PR Type
What kind of change does this PR introduce?

What is the current behavior?

What is the new behavior?

PR Checklist
Please check if your PR fulfills the following requirements:

[ ] Tested code with current supported SDKs
[ ] Docs have been added/updated which fit documentation template. (for bug fixes / features)
[ ] Unit Tests and/or UI Tests for the changes have been added (for bug fixes / features) (if applicable)
[ ] Wasm UI Tests are not showing unexpected any differences
[x] Contains NO breaking changes
[x] Updated the Release Notes
[ ] Associated with an issue (GitHub or internal)

Other information

Internal Issue (If applicable):

Let's see if some samples light up :)


Problem With Focus Node

Describe the bug
A clear and concise description of what the bug is.
═╡ EXCEPTION CAUGHT BY FOUNDATION LIBRARY ╞════════════════════════════════════════════════════════
The following assertion was thrown while dispatching notifications for FocusNode:
Assertion failed:
box.dart:1965
hasSize
"RenderBox was not laid out: RenderEditable#5cd23 NEEDS-LAYOUT NEEDS-PAINT
NEEDS-COMPOSITING-BITS-UPDATE"
When the exception was thrown, this was the stack:
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 294:49  throw_
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 35:3    assertFailed
packages/flutter/src/rendering/box.dart 1965:12                               get size
packages/flutter/src/widgets/editable_text.dart 3866:38                       [_updateSizeAndTransform]
packages/flutter/src/widgets/editable_text.dart 3228:7                        [_openInputConnection]
packages/flutter/src/widgets/editable_text.dart 3263:7                        [_openOrCloseInputConnectionIfNeeded]
packages/flutter/src/widgets/editable_text.dart 3812:5                        [_handleFocusChanged]
packages/flutter/src/foundation/change_notifier.dart 403:24                   notifyListeners
packages/flutter/src/widgets/focus_manager.dart 1050:5                        [_notify]
packages/flutter/src/widgets/focus_manager.dart 1646:11                       [_applyFocusChange]
dart-sdk/lib/async/schedule_microtask.dart 40:11                              _microtaskLoop
dart-sdk/lib/async/schedule_microtask.dart 49:5                               _startMicrotaskLoop
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 181:15           <fn>
The FocusNode sending notification was:
  FocusNode#cb635([PRIMARY FOCUS])═╡ EXCEPTION CAUGHT BY FOUNDATION LIBRARY ╞════════════════════════════════════════════════════════
The following assertion was thrown while dispatching notifications for FocusNode:
Assertion failed:
box.dart:1965
hasSize
"RenderBox was not laid out: RenderEditable#5cd23 NEEDS-LAYOUT NEEDS-PAINT
NEEDS-COMPOSITING-BITS-UPDATE"
When the exception was thrown, this was the stack:
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 294:49  throw_
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 35:3    assertFailed
packages/flutter/src/rendering/box.dart 1965:12                               get size
packages/flutter/src/widgets/editable_text.dart 3866:38                       [_updateSizeAndTransform]
packages/flutter/src/widgets/editable_text.dart 3228:7                        [_openInputConnection]
packages/flutter/src/widgets/editable_text.dart 3263:7                        [_openOrCloseInputConnectionIfNeeded]
packages/flutter/src/widgets/editable_text.dart 3812:5                        [_handleFocusChanged]
packages/flutter/src/foundation/change_notifier.dart 403:24                   notifyListeners
packages/flutter/src/widgets/focus_manager.dart 1050:5                        [_notify]
packages/flutter/src/widgets/focus_manager.dart 1646:11                       [_applyFocusChange]
dart-sdk/lib/async/schedule_microtask.dart 40:11                              _microtaskLoop
dart-sdk/lib/async/schedule_microtask.dart 49:5                               _startMicrotaskLoop
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 181:15           <fn>
The FocusNode sending notification was:
  FocusNode#cb635([PRIMARY FOCUS])

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Screenshots
If applicable, add screenshots to help explain your problem.
Pinput version: [e.g. 3.0.1]
Result of: flutter doctor --verbose

[!] Flutter (Channel stable, 3.10.0, on macOS 13.3.1 22E772610a darwin-arm64, locale en)
    • Flutter version 3.10.0 on channel stable at /Users/dev/fvm/versions/stable
...

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari] => Edge
Version [e.g. 22]

Additional context
Add any other context about the problem here.

@mg3994 Can you provide a reproducible code snippet?

Sorry , I fixed that Myself ,Thanks and Sorry


fix(expo/ios): use dynamic lookup to find path to migration script

Changed the PRISMA_MIGRATIONS variable to use the Node binary set by Expo for looking up where
@prisma/react-native is installed. This allows using @prisma/react-native in a monorepo where
the node_modules/ folder may be hoisted to the top level of the workspace.
The commit also cleans up extraneous leading whitespace from the commands added by the Expo config
plugin.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


CTOP crash when accessing gitlab container widget

Hey,
when I want to access the widget for the gitlab container ctop crashes with this message:

But when I e. g. access the widget from traefik, all works fine, incl. all other containers:

So what's going wrong here? And is here already an issue up which I haven't found or maybe already a PR?
Would be nice to get this fixed :)

I'm running ctop 0.7.7 and I think I'm having the same issue. In my case its a samba container.

Same for me :cry:

https://github.com/bcicen/ctop/issues/263#issuecomment-859611475 this is the solution


Reload tree when imodel changes

Closes https://github.com/iTwin/presentation/issues/57
Prerequisites:

https://github.com/iTwin/imodel-native/pull/208
https://github.com/iTwin/itwinjs-core/pull/5219

Changed Tree update logic after imodel is changed. Now whole Tree is reloaded and use same reloader that is used to reload Tree after ruleset or ruleset variables changes.

/azp run


Update windows-10-start-layout-options-and-policies.md

The Server OSs were missing from the applies to list. They are supported and not having them listed will cause some customers to open cases to confirm support.

(ref. closed PR #6995 )

#sign-off


GError [TypeError]: Cannot read properties of undefined (reading 'Unknown')

Getting this error while running a 6 line bot and pointed to
https://github.com/wechaty/puppet-xp/blob/main/src/puppet-xp.ts#L50
It seems
wechaty-puppet not longer export ContactType, ContactGender and MessageType etc, they are all wrapped in a type property, see
https://github.com/wechaty/puppet/blob/main/src/mods/mod.ts#L46
and
https://github.com/wechaty/puppet/blob/main/src/mods/types.ts#L26
Should use something like
import { type } from 'wechaty-puppet'
const gender = type.ContactGender.Unknown

here?
And
import { FileBoxType } from 'file-box'

I guess you are using<EMAIL_ADDRESS>with<EMAIL_ADDRESS>Please downgrade your Wechaty version from 1.x to 0.x and see if your problem can be solved.
We have breaking changes in the v1.x and I hope the XP can upgrade to be compatible with the Wechaty Puppet v1.0 API soon.

@huan
Yes was using<EMAIL_ADDRESS>as it got installed by default running npm i.
However downgrading my wechaty to 0.79 gets new issues when trying the ripe-wechaty example,
First it's the ScanStatus is not exported in<EMAIL_ADDRESS>so I changed to correctly import from wechaty-puppet,
but then I got bunch of type not match errors like:
TSError: ⨯ Unable to compile TypeScript:
xp.ts:76:3 - error TS2322: Type 'PuppetXp' is not assignable to type '"wechaty-puppet-puppeteer" | "wechaty-puppet-service" | "wechaty-puppet-mock" | "wechaty-puppet-wechat" | "wechaty-puppet-wechat4u" | "wechaty-puppet-padlocal" | "wechaty-puppet-xp" | ... 9 more ... | undefined'.
  Type 'PuppetXp' is not assignable to type 'PuppetInterface'.
    Types of property 'roomMemberSearch' are incompatible.
      Type '((roomId: string, query: string | RoomMemberQueryFilter | unique symbol) => Promise<string[]>) & ((roomId: string, query: string | RoomMemberQueryFilter | unique symbol) => Promise<...>)' is not assignable to type '((roomId: string, query: string | unique symbol | RoomMemberQueryFilter) => Promise<string[]>) & ((roomId: string, query: string | unique symbol | RoomMemberQueryFilter) => Promise<...>)'.
        Type '((roomId: string, query: string | RoomMemberQueryFilter | unique symbol) => Promise<string[]>) & ((roomId: string, query: string | RoomMemberQueryFilter | unique symbol) => Promise<...>)' is not assignable to type '(roomId: string, query: string | unique symbol | RoomMemberQueryFilter) => Promise<string[]>'.
          Types of parameters 'query' and 'query' are incompatible.
            Type 'string | unique symbol | RoomMemberQueryFilter' is not assignable to type 'string | RoomMemberQueryFilter | unique symbol'.
              Type 'unique symbol' is not assignable to type 'string | RoomMemberQueryFilter | unique symbol'.

As a new wechaty user I found dependencies' version requirement is a bit hard to track, if a working set of fixed version numbers could be added to the readme would be very helpful.

Thanks for the reporting and the suggestion.
I think we should have a v0.x branch for our getting-started repo so that you can just clone & run.
Will do it tonight for you.

We have a<EMAIL_ADDRESS>getting started repo branch created at https://github.com/wechaty/getting-started/tree/v0.x .
If anyone need to use<EMAIL_ADDRESS>before<EMAIL_ADDRESS>stable, please try that branch first, and it should be able to work out-of-the-box.
Create issue to report any problem if it does not work for you, thank you very much.

0.68 doesn't work for me, and the getting started branch can't use the latest puppet-xp either.
I managed to make my local code works with wechaty 1.x by fixing all the imports, since this repo is under heavy development so I'll close this issue for now.

It's great to know that you have fixed this repo to compatible with v1.0, congratulations!
May I ask you to send your fixes back as a PR to this repo so that we can make XP compatible with the latest version?


Replace addUndefined in serializeTypeForDeclaration with the actual declaration

Which, given the name of the function, makes sense. This also allows the emit pipeline to prefer a specific declaration to pull type nodes from (which matters when there are duplicate declarations, for example).
This has quite a big diff to baselines (largely in the "good" direction), as we start to copy the input declaration more reliably in many situations.
In addition to just changing the API, this also has to include a fix to apply .singleQuote preference when copying input nodes (to minimize fourslash changes, as we reuse more nodes - this change has no baseline diff on its own, so has to be here), and to strip position information (but not origin node) from copied nodes when those positions are not in the current file (to fix a quickfix crash related to reusing nodes from outside the current file, which doesn't occur in the tests (but is definitely still a bug which could crop up) until this API change is applied).

Are there any specific ones I should try to look at?

The small handful of non-.types baselines are the easiest ones. As for .types, largely this just makes us copy more parameter name origins (since we use the input declaration for the signature, rather than the signature's declaration, which isn't always set), but in some places we also pick up on a type node we missed/changed (since we find the input declaration's type node, rather than an arbitrary declaration's type node).

@typescript-bot perf test this
Just checkin


[WIP] Fix Danger::GitLabCI to use CI_PROJECT_PATH instead of CI_PROJECT_ID for its #repo_slug

This fixes a few issues with the GitLab integration:

In GitLab, ENV["CI_PROJECT_ID"] returns the project's ID, not its path/slug. ENV["CI_PROJECT_PATH"] should be used instead, see https://docs.gitlab.com/ee/ci/variables/README.html.
Unfortunately, the stubbed environment was setting ENV["CI_PROJECT_ID"] with a project slug (e.g. danger/danger). That's why the specs passed even though the feature was broken. The environment stubbing is now fixed.
Danger::DangerfileGitLabPlugin#html_link has been simplified to use ENV["CI_PROJECT_URL"].

Fixes #969.

Cool, looking at the docs this seems fine to men - any reason for the WIP?

Danger::DangerfileGitLabPlugin#html_link is fixed, as you can see here: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/19066#note_74205712

any reason for the WIP?

@orta Thanks, I wanted to make sure the change worked as expected in real usage, and it is (see my above comment).

Perfect, thanks!

@orta Thanks!


Unexpected error caused by ESLint validator

I had to (manually) remove the ESLint validations from the pre-commit hook to workaround the following error when commiting:
[object Object]:
	ESLint configuration is invalid:
	- Unexpected top-level property "ecmaFeatures".

Error: [object Object]:
	ESLint configuration is invalid:
	- Unexpected top-level property "ecmaFeatures".

    at validateConfigSchema (/usr/local/share/.config/yarn/global/node_modules/eslint/lib/config/config-validator.js:192:15)
    at Object.validate (/usr/local/share/.config/yarn/global/node_modules/eslint/lib/config/config-validator.js:205:5)
    at loadFromDisk (/usr/local/share/.config/yarn/global/node_modules/eslint/lib/config/config-file.js:549:19)
    at Object.load (/usr/local/share/.config/yarn/global/node_modules/eslint/lib/config/config-file.js:592:20)
    at Config.loadSpecificConfig (/usr/local/share/.config/yarn/global/node_modules/eslint/lib/config.js:139:46)
    at new Config (/usr/local/share/.config/yarn/global/node_modules/eslint/lib/config.js:101:14)
    at new CLIEngine (/usr/local/share/.config/yarn/global/node_modules/eslint/lib/cli-engine.js:428:23)
    at Object.execute (/usr/local/share/.config/yarn/global/node_modules/eslint/lib/cli.js:179:28)
    at Object.<anonymous> (/usr/local/share/.config/yarn/global/node_modules/eslint/bin/eslint.js:72:28)
    at Module._compile (module.js:570:32)
Errors found according to eslint configuration, aborting commit.

Should I fix something?
I just followed the README of this repo... It should be maybe updated with extra guides... or maybe something should be fixed.
Any idea?

We have no "ecmaFeatures" property anywhere: https://github.com/src-d/platform-starter/blob/master/config/.eslintrc.js
Try updating eslint?

My .eslintrc.js file content was already the same than pointed by you, but it cries about ecmaFeatures
I'll try to dig a bit more...
quite weird

found the problem:
for eslint_config in $(find . -name '.eslintrc.js'); do
finds the following:
./.eslintrc.js
./node_modules/domain-browser/.eslintrc.js

So it tries to lint (in this case, with ecmaFeatures) files under node_modules what is not desited at all.
It should be linted only files about to be commited.


New version: SimpleCrystals v0.3.3

Registering package: SimpleCrystals
Repository: https://github.com/ejmeitz/SimpleCrystals.jl
Created by: @ejmeitz
Version: v0.3.3
Commit: 7c41f3e6f79f25560ea0d07548e9fe68c2733c21
Reviewed by: @ejmeitz
Reference: https://github.com/ejmeitz/SimpleCrystals.jl/commit/7c41f3e6f79f25560ea0d07548e9fe68c2733c21#commitcomment-146259864
Description: An interface for generating simple crystal structures for molecular dynamics simulations.

[merge approved]


Unable to reference a Data File that's stored in a child directory

I'm able to access a data file that's stored in the Home Directory, like this:
import csv
file = open("unisex_names_table.csv")
csvreader = csv.reader(file)
airline_safety = list(csvreader)
print(airline_safety)

However, I'm unable to access the data file when it's stored in a child directory like: /data/fivethirtyeight_data/unisex-names/unisex_names_table.csv

I've tried multiple combinations in referencing the data file in child directories, but haven't been successful. Is there a solution to this?

You are referencing absolutely starting from the root of the file system. This is probably not where your home directory is located. You want to reference relative to your home directory which you can do easily with:
...
file = open("~/data/fivethirtyeight_data/unisex-names/unisex_names_table.csv")
...

The tilde character (~) is a short cut for your home directory which is usually located at /home/<your-username>.

@andreaslang, I see your point. However, my setup and hence my reference to Home is different. I run Jupyter from a Docker image as follows:
docker run -d -p 8888:8888 -v /home/chandra/projects/codesamples/notebooks:/home/ds/notebooks dataquestio/python3-starter
So, the Home directory for me is "/home/chandra/projects/codesamples/notebooks".
Having said that, your note did lead me to the solution:
import csv
file = open("/home/ds/notebooks/data/fivethirtyeight_data/unisex-names/unisex_names_table.csv")
csvreader = csv.reader(file)
airline_safety = list(csvreader)
print(airline_safety)

Ideally, I would like to avoid referencing "/home/ds/notebooks" in my path. But, I can live with it.
@andreaslang - Thanks for your input. Helped me solve my problem.

I edited in a second solution in my post which should help you avoid using /home/ds in your code. See above.

@andreaslang - No luck with your second recommendation:


chore: Clarify configuration via env var.

Clarify that DD_SERVERLESS_FLUSH_STRATEGY=periodically,60000 should be set as an environment variable. See https://github.com/DataDog/serverless-plugin-datadog/issues/563

/merge


Alternative live data integration

This is a bit of an experiment, but in consideration of @tlsim 's comment about refactoring the data out being the next task after the live integration is pulled in, I tried taking as much of the data code out as I could. The button logic is still there, but the ugliest callback stuff is pulled out into a class with onError, onOpen, onBasketReceived etc methods exposed. It would be very easy to then integrate historic data into this set up too.

This doesn't want pulling in before the paddedExtent stuff though

Alternative to #79


Core coverage

R: @jeffposnick @addyosmani @philipwalton
I don't think I've made many (if any) large refactors of Core in a while so just wanted to up the coverage in an effort to move core closer to the "done" category.

I'm confused at to what the idbhelper test is testing. Is this just to get the coverage up? And BTW, once I finish my IDB stuff we won't need these tests, so I wouldn't spend much time on them.

Yes it's just to increase coverage - i.e. it doesn't through and it puts and gets as expected.


Core-Logging - lambda athena_table_update failing with Access to KMS is not allowed

Expected Behavior
The above lambda should run nightly without error.
Actual Behavior
The lambda attempts to access Secrets Manager in the Modernisation Platform account and on doing so an AccessDenied error is thrown for a KMS key.
The following cloudtrail IDs in the Modernisation Platform account show the latest errors for the first run and the following two retries.
4e6d85d9-2765-3130-b86e-69c74cf19da8
f66c72e4-a0dd-3caa-a002-b69ee23582b7
2020a66f-05dd-3de8-9f5f-fc653c324ec2
Steps to Reproduce the Problem
The lamda runs nightly in core-logging. The source for the lambda is https://github.com/ministryofjustice/modernisation-platform/blob/main/terraform/environments/core-logging/athena.tf
Version
No response
Modules
No response
Account
core-logging

The nightly lambda job is now running without issue after switching to the multi-region kms key.

Have reviewed & moving to done.


fix: Make generation slightly more resilient

I accidentally found that oneOf does not get generated correctly in some cases and the order matters. I think what we are doing is not a mistake but now we allow slightly incorrect specs as well.

I approved it already, but if it's not a good idea, then please feel free to close it.

It was fixed by the service owners for the service we were looking at, so I am fine to close it.


homework 6 completed

Created 6 classes >> 3 for layouts : Tyre , Speaker , vehicle and 3 for service : TyreService , VehicleService and SpeakerService.
NO drift video required : (Instructed by assist)
file:///home/hp/Pictures/Screenshots/Screenshot%20from%202024-01-22%2020-30-14.png

Metric
Value

alert_status
:white_check_mark: OK

bugs
0

code_smells
0

reliability_rating
A (0 Bugs)Note: A being best, E being worst

security_rating
A (0 Vulnerabilities)Note: A being best, E being worst

vulnerabilities
0


request() retries fetch twice, which can cause timeouts that are twice as long as requested

request() tries twice to get a socket, connect, and fetch twice:
https://github.com/adafruit/Adafruit_CircuitPython_Requests/blob/12e6b47db7b905d2291f3f235160fcf95f7d0769/adafruit_requests.py#L513-L518
This is confusing because if it tries a second time, it can make the default or user specified timeout (see #9210) appear to take twice as long as requested.
I am not sure about the circumstances the comment is talking about:
https://github.com/adafruit/Adafruit_CircuitPython_Requests/blob/12e6b47db7b905d2291f3f235160fcf95f7d0769/adafruit_requests.py#L513
and whether it's true for non-ESP32-SPI, etc. I wonder if some checking or resetting of the socket can be done in advance.

When I pulled out code for ConnectionManager, I tried to find a way to make this happen for real, but couldn't. Do you have a way to make it happen?

Here's a rather rough program I used (I originally used some personal domains that I knew succeeded or failed, but I tried again with the ones listed):
import os
import time
import wifi

import adafruit_connection_manager
import adafruit_requests

class Timer:
    def __init__(self, title):
        self.title = title

    def __enter__(self):
        self.start = time.monotonic()
        return self

    def __exit__(self, type, value, traceback):
        print(self.title+":", time.monotonic() - self.start)

# Get WiFi details, ensure these are setup in settings.toml
ssid = os.getenv("CIRCUITPY_WIFI_SSID")
password = os.getenv("CIRCUITPY_WIFI_PASSWORD")

SUCCEED_URL = "https://example.org"
FAIL_URL = "https://<IP_ADDRESS>"

pool = adafruit_connection_manager.get_radio_socketpool(wifi.radio)
ssl_context = adafruit_connection_manager.get_radio_ssl_context(wifi.radio)
requests = adafruit_requests.Session(pool, ssl_context)

wifi.radio.connect(ssid, password)

with Timer("default success"):
    response = requests.get(SUCCEED_URL)
try:
    with Timer("default fail"):
        response = requests.get(FAIL_URL)
except Exception as e:
    print(e)

with Timer("timeout success"):
    response = requests.get(SUCCEED_URL, timeout=2)
try:
    with Timer("timeout fail"):
        response = requests.get(FAIL_URL, timeout=3)
except Exception as e:
    print(e)

with output:
code.py output:
default success: 0.432861
default fail: 60.072
Error connecting socket: [Errno 119] EINPROGRESS
timeout success: 0.693115
timeout fail: 6.073
Error connecting socket: [Errno 116] ETIMEDOUT

Note that the last timeout fail: asked for a timeout of 3 seconds, not 6 seconds. Changing this to some other value causes double the value.

What MCU are you using?
On a UM FeatherS3, I get:
default success: 0.872002
default fail: 36.912
Error connecting socket: [Errno 113] ECONNABORTED
timeout success: 0.887009
timeout fail: 36.618
Error connecting socket: [Errno 113] ECONNABORTED

On an Feather ESP32-S2 with TFT, I get (added print(f"error: {e}") because I was getting blanks...):
default success: 0.694092
default fail: 0.00390625
error:
timeout success: 0.704956
timeout fail: 0.00402832
error:

I was using a Metro ESP32-S3

My testing was with https://github.com/adafruit/circuitpython/pull/9210, not yet merged as of this writing.

What was odd was that the UM FeatherS3 seemed to ignore the timeouts. I remember some other boards did that in 8.x

@dhalbert tomorrow I'll try again on both my S2 and UMS3 with that build

@dhalbert, added some logging. The double timeout in this case is in ConnectionManager. The flow from CM is that it tries once, and then if it fails and has any sockets it can release to try again after closing them:
RQ retry_count: 0
CM try_count: 1, timeout: 60
CM self._socket_pool.socket: 0.000976563
CM socket.connect: 0.513184
default success: 0.737793

RQ retry_count: 0
CM try_count: 1, timeout: 60
CM self._socket_pool.socket: 0.0678711
CM socket.connect: 18.1948
CM connect OSError: [Errno 119] EINPROGRESS
CM try_count: 2, timeout: 60
CM self._socket_pool.socket: 0.000976563
CM socket.connect: 18.4888
CM connect OSError: [Errno 119] EINPROGRESS
default fail: 36.7739
error: Error connecting socket: [Errno 119] EINPROGRESS

RQ retry_count: 0
CM try_count: 1, timeout: 2
CM self._socket_pool.socket: 0.000976563
CM socket.connect: 0.580078
timeout success: 0.808105

RQ retry_count: 0
CM try_count: 1, timeout: 3
CM self._socket_pool.socket: 0.0678711
CM socket.connect: 3.10693
CM connect OSError: [Errno 116] ETIMEDOUT
CM try_count: 2, timeout: 3
CM self._socket_pool.socket: 0.0
CM socket.connect: 3.10596
CM connect OSError: [Errno 116] ETIMEDOUT
timeout fail: 6.30176
error: Error connecting socket: [Errno 116] ETIMEDOUT

If I just do:
try:
    with Timer("timeout fail"):
        response = requests.get(FAIL_URL, timeout=3)
except Exception as e:
    print(f"error: {e}")

I get:
RQ retry_count: 0
CM try_count: 1, timeout: 3
CM self._socket_pool.socket: 0.000976563
CM socket.connect: 3.10596
CM connect OSError: [Errno 116] ETIMEDOUT
CM try_count: 2, timeout: 3
timeout fail: 3.11914

What we could do is in CM, look at specific errors like:
errno.ECONNABORTED
errno.ETIMEDOUT
errno.ECONNREFUSED
errno.EINPROGRESS

And stop trying.
Thoughts? If you help me come up with which ones to not try again on, I can open up a PR in CM

Ah, OK, so it is not the retry loop in requests at all, you're saying? So I was mistaken. Does it not make sense to close a socket before trying, because we'd like to reuse a socket that has an existing open connection to a particular host?
I think it would be worth looking at the logic in CPython requests and lower down, if necessary, because they don't have double timeouts. I am not really more experienced with socket programming than you.

I totally want to make this better. I trimmed what I could from the previous request code. It used to try up to 5 times...
I think making both requests and connection manager smarter is a good idea. I left this block in, because I couldn't find a way to reproduce is and so didn't want to take it out. Part of me wants to take it out and then fix it when it breaks for someone...
I'll try some other things and see if I can get it to try the second time


unexpected blackening out video meeting screen.

I am testing some feature on react native demo app but facing issues with video screen.
1- I have used two RNVideoRenderView component. first one is used for speaker whose UI is covering more portion on screen and other one is used for presenting attendees video tiles below which is smaller.
2- I have set a logic so that by Clicking on small video tiles (where attendees are being presented), the attendees goes on full screen and vice versa.
3- But on clicking below to a video tile the screen is getting blacked out. I am not able to find out the issue because all the console logs are same as expected but screen is blackening out.
4- I have shared my code and some screen shots kindly help me in resolving this.

/*******   Here is the code for UI .  I have done console log for video data which is used for attendees tile and for first which is used for speaker **/
render() {
let videoData1 = Object.assign([], this.state.videoTiles)
let videoData = [];
videoData1.forEach((c) => {
  if (!videoData.includes(c)) {
    videoData.push(c);
  }
})
let first = this.state.tileTOShow != null ? this.state.tileTOShow : videoData.shift()
videoData = videoData.filter(it => it != first)

console.log(videoData);                                      /***     console log for videoData      ******/
console.log(first)                                                /***     console log for  first      ******/

const currentMuted = this.state.mutedAttendee.includes(this.props.selfAttendeeId);
return (
  <>

    <View style={[styles.container, { justifyContent: 'flex-start' }]}>

      <Text style={styles.title}>{this.props.meetingTitle}</Text>

      {this.state.visible ? (null) : (
        <View style={styles.buttonContainer}>
          <MuteButton muted={currentMuted} onPress={() => NativeFunction.setMute(!currentMuted)} />
          <CameraButton disabled={this.state.selfVideoEnabled} onPress={() => NativeFunction.setCameraOn(!this.state.selfVideoEnabled)} />
          <HangOffButton onPress={() => NativeFunction.stopMeeting()} />
          <Button
            title='focus'
            onPress={() => { NativeFunction.realtimeSetVoiceFocusEnabled(true) }}
          />
          <Button
            title='check'
            onPress={() => { NativeFunction.realtimeIsVoiceFocusEnabled() }}
          />
          <Button
            title='active'
            onPress={() => { NativeFunction.activeSpeaker() }}
          />

        </View>)}
      {
        this.state.visible ? (null) : (<RecButton meetingTitle={this.props.meetingTitle} />)
      }

      <Text style={styles.title}>Video</Text>
      <View style={styles.videoContainer}>

        {
          this.state.videoTiles.length > 0 ?
            <TouchableWithoutFeedback
              onPress={() => { this.setState({ visible: !this.state.visible }) }}
            >
              <RNVideoRenderView style={{ width: width, height: height }} key={first} tileId={first} mirror={true} />

            </TouchableWithoutFeedback>
            : null
        }
      </View>

    </View>

    <View style={{ position: 'absolute', top: height - 250 }}>

      {this.state.videoTiles.length > 1 ? <View style={{ width: width, height: 200, }}>

        <FlatList
          style={{ width: '100%' }}
          contentContainerStyle={{ width: '90%' }}
          data={videoData}
          horizontal={true}

          renderItem={({ item }) => (
            <TouchableWithoutFeedback
              onPress={() => { this.setState({ tileTOShow: item }) }}
            >
              <RNVideoRenderView style={{ width: 80, height: 80, borderRadious: 10 }} key={item} tileId={item} />
            </TouchableWithoutFeedback>
          )}
        />

      </View> : <Text>ayush mishra</Text>}
    </View>

  </>
);

}

here is the console log for videoData and first.

Also can i use attendeeId to display video instead of tileId ? If yes, then what changes i will have to make to achieve this.

We'll try to reproduce the issue and get back to you. Is the posted code the only modifications made to the sample app?
You can use attendeeId on the React Native side (ex: sorting) as long as that info is present. You'll need to modify MeetingObservers to also send the attendee Id over. See VideoTileState for other info included in the VideoTileState.
For binding the video tile, you'll have to use the tileId. See VideoTileControllerFacade for the params needed for bindVideoView and NativeMobileSDKBridge for how it is currently being called.

thank you for your response, I did some more changes to sample app which are in
1-https://github.com/rnqayush/freeze-and-active-speaker/blob/main/android/app/src/main/java/com/amazonaws/services/chime/rndemo/NativeMobileSDKBridge.kt
2- https://github.com/rnqayush/freeze-and-active-speaker/blob/main/android/app/src/main/java/com/amazonaws/services/chime/rndemo/RNEventEmitter.kt
3-https://github.com/rnqayush/freeze-and-active-speaker/blob/main/src/utils/Bridge.js
4-https://github.com/rnqayush/freeze-and-active-speaker/blob/main/src/containers/Meeting.js
5-github link to changed sample app is :     https://github.com/rnqayush/freeze-and-active-speaker
Kindly suggest me the some solution to it, I have checked it by changing several logic tileId is being passed to RNVideoRenderView component accurately but same issue occurs .

@alnlau , I have tried several times but not able to resolve this Kindly suggest some solution to it.

@rnqayush Thank you for providing the codebase for reproduction. However, when I tried, it only shows only video instead of two. I also clicked on pin, but it crashes. Any special step I need to take to reproduce this issue?
One theory I have is due to nature on bind/unbind. It might be that you unbind the video, but didn't bind it again?

@hokyungh thanks for response, the code is working fine . I have checked it on android. Kindly join with two devices it will definitely show two videos I have updated and checked the code.
Actually rendering of videos is having issues. In code I am only swapping tileId (which is integer value) on re-render to bring the smaller tile video to bigger tile and vice versa. Kindly suggest  some ideas that could help to present both the videos after re-render.
github link to app is : https://github.com/rnqayush/freeze-and-active-speaker

I have seeing the same issue. The one has
<FlatList
  style={{
    backgroundColor: 'white'
  }}
  data={attendees}
  renderItem={({item}) => (
    <View
      style={{
        backgroundColor: '#fff',
        width: size,
        height: size,
        justifyContent: 'center',
        alignItems: 'center'
      }}
    >
      <AttendeeVideo
        item={item}
        selfAttendeeId={selfAttendeeId}
        videoTiles={videoTiles}
        meetingTitle={meetingTitle}
        hideOwn
        key={item}
        selfVideoEnabled={selfVideoEnabled}
        mutedAttendee={mutedAttendee}
      />
    </View>
  )}
  keyExtractor={item => item}
  numColumns={2}
/>

then AttendeeVideo the one doesnt have video on is always black.
//AttendeeVideo.js
return (
    isVideoTile ? (
      <RNVideoRenderView style={styles.video} tileId={isVideoTile.tileId} />
    ) : (
      <View
        style={{
          backgroundColor: 'white',
          flex: 1
        }}
      >
        <Text style={{
          color: 'white',
          fontSize: 22
        }}>Okay</Text>
      </View>
    )
  );

But maybe this will help to fix it? https://github.com/aws-samples/amazon-chime-react-native-demo/blob/027c02bd57ada82daa0027099c440d3c909929ee/src/Style.js#L37

@hokyungh - please suggest. This is blocking our implementation.

@subhendukundu  thanks for your response i tried all possible ways for setting overflow:'hidden' still same issue. any suggestion for further changes i should look.

same issue for me

same issue for me

@ashirkhan94
1- use only one list containing host and attendees and
display it on screen.
2- then create logic accordingly to change the ui of
host and attendee from small to big and vice-versa

@rnqayush
how to implement below function in react native demo
func remoteVideoSourcesDidBecomeAvailable(sources: [RemoteVideoSource]) {     sources.forEach { source in         videoModel.remoteVideoSourceConfigurations[source] = VideoSubscriptionConfiguration()     }     audioVideoFacade.updateVideoSourceSubscriptions(addedOrUpdated: remoteVideoSourceConfigurations, removed: []) }
I am new in Objective C
thanks in advance


Change code atc to array#2988

https://github.com/edenlabllc/ehealth.api/issues/2988

Coverage remained the same at 91.174% when pulling 67d2e4bb4d8444c9cd943be0dc161184ab87caa1 on change_code_atc_to_array#2988 into 6fcc85a23e1e9906ac1c390d4bebd3fc1c9262bf on develop.


Compatibility with python 3.11 -error when plotting

I am discovering the qstrader package which seems excellent. But when trying to plot a tearsheet, for instance in the 60/40 example portfolio backtest, i get the error: « gridkw['gridOn'] = not self._major_tick_kw['gridOn']  KeyError: 'gridOn' »
Swtching back to python 3.8 corrects this and i get the expected plot. I would like to be able to run qstrader on python 3.11 (so as to use it together with other code which is for python 3.11), so if the only issue is with plotting i expect we can work around it in a reasonable amount of time. Curiously i have not found here this compatibility issue discussed. Could anyone comment ? Will qstrader be "ported" to python 3.11 ?
Thank you very much.

Fixed in versions >= 0.2.3
Please see chnage log for more details.


[YUNIKORN-1794] Define new messages in SI to support init per object

What is this PR for?

Added allocations field to AllocationRequest to allow adding / updating allocations
Added CREATE_DRAIN action to NodeInfo to allow creating node as initially unschedulable

What type of PR is it?

[ ] - Bug Fix
[ ] - Improvement
[ ] - Feature
[ ] - Documentation
[ ] - Hot Fix
[ ] - Refactoring

Todos

[x] - Task

What is the Jira issue?
https://issues.apache.org/jira/browse/YUNIKORN-1794
How should this be tested?
Screenshots (if appropriate)
Questions:

[ ] - The licenses files need update.
[ ] - There is breaking changes for older versions.
[ ] - It needs documentation.

Updated comment on CREATE.

Rebased on master (no other changes).


Bibliography addition fails

When in an .md file, I run the command
> Zotex: Add Zotero Selected Citation and Bibliography
the citation gets inserted correctly into the file, however the bibliography is not created.
VSCode shows the following error:
The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView. Received an instance of Array

The error message appears whether or not the file refs.bib already exists.

Which zotex version do you use?

Zotex v1.0.9, VSCode 1.85.2, Zotero 6.0.30


RFC: Remove implicit features in a new edition

Rendered
This would resolve rust-lang/cargo#12173

I just would like to thank you for pursuing this feature

:cricket: ok, let's FCP this
@rfcbot fcp merge

Huzzah! The @rust-lang/cargo team has decided to accept this RFC.
To track further discussion, subscribe to the tracking issue here:
https://github.com/rust-lang/cargo/issues/12826


Update ALB/Azure Authentication documentation

Possible Implementation
Update alb tutorial documentation.
https://github.com/backstage/backstage/blob/master/contrib/docs/tutorials/aws-alb-aad-oidc-auth.md
Context
I think this documentation needs updating the code snippets, especially since the backend has a lot of deprecated resources listed.
ctx.catalogIdentityClient
ctx.logger
ctx.tokenIssuer
All deprecated ?
error
Argument of type '{ logger: winston.Logger; config: Config; database: PluginDatabaseManager; discovery: PluginEndpointDiscovery; providerFactories: { ...; }; }' is not assignable to parameter of type 'RouterOptions'.
  Property 'tokenManager' is missing in type '{ logger: winston.Logger; config: Config; database: PluginDatabaseManager; discovery: PluginEndpointDiscovery; providerFactories: { ...; }; }' but required in type 'RouterOptions'.ts(2345)
index.d.ts(1479, 5): 'tokenManager' is declared here.

I am happy to help, although my knowledge of type script is limited.

OK - yep looks like this documentation is out of date. Would be good to bring this inline with current implementations. Will take a look at getting this fixed!

@benjdlambert is there any timeframe for when this will be updated?

I haven't had chance to pick this up yet, is it something you want to contribute and help out with?

Sure I will raise a PR

Hi,
Was this ever completed?
Seeing the same error myself following the docs in https://github.com/backstage/backstage/blob/master/contrib/docs/tutorials/aws-alb-aad-oidc-auth.md

@cloudoutloud did you ever get chance to pick this up? :pray:

@benjdlambert @brenwhyte Apologies
I did not get a chance to look at this in the end.
Let me take a look again.


Error with partitioned dataset: Cannot infer common argument type for comparison operation Binary != Utf8

Describe the bug
When running the following query (from ClickBench) on the partitioned dataset  (100 parquet files)
SELECT "MobilePhoneModel", COUNT(DISTINCT "UserID") AS u FROM hits_partitioned WHERE "MobilePhoneModel" <> '' GROUP BY "MobilePhoneModel" ORDER BY u DESC LIMIT 10;

I get the following error:
Error during planning: Cannot infer common argument type for comparison operation Binary != Utf8

To Reproduce
Get the data using bench.sh  (after https://github.com/apache/arrow-datafusion/pull/7005 is merged)
bench.sh data clickbench_1
bench.sh data clickbench_multi

CREATE EXTERNAL TABLE hits_partitioned
STORED AS PARQUET
LOCATION 'hits_partitioned';

SELECT "MobilePhoneModel", COUNT(DISTINCT "UserID") AS u FROM hits_partitioned WHERE "MobilePhoneModel" <> '' GROUP BY "MobilePhoneModel" ORDER BY u DESC LIMIT 10;

Expected behavior
The query works fine with the single file dataset. I expect the same error
-- Single file parquet
CREATE EXTERNAL TABLE hits_single
STORED AS PARQUET
LOCATION 'hits.parquet';

-- Single file works great
SELECT "MobilePhoneModel", COUNT(DISTINCT "UserID") AS u FROM hits_single WHERE "MobilePhoneModel" <> '' GROUP BY "MobilePhoneModel" ORDER BY u DESC LIMIT 10;

+------------------------------+---------+
| hits_single.MobilePhoneModel | u       |
+------------------------------+---------+
| iPad                         | 1090347 |
| iPhone                       | 45758   |
| A500                         | 16046   |
| N8-00                        | 5565    |
| iPho                         | 3300    |
| ONE TOUCH 6030A              | 2759    |
| GT-P7300B                    | 1907    |
| 3110000                      | 1871    |
| GT-I9500                     | 1598    |
| eagle75                      | 1492    |
+------------------------------+---------+

Additional context
I found this while working on some benchmark results for #6988

The schemas of these two datasets in Parquet format are different.
$ parquet-schema data/hits.parquet|grep MobilePhoneModel
  REQUIRED BYTE_ARRAY MobilePhoneModel (STRING);

$ parquet-schema hits_partitioned/hits_0.parquet| grep MobilePhoneModel
  OPTIONAL BYTE_ARRAY MobilePhoneModel;

The single file dataset  has specified the logical type for MobilePhoneModel.
I think we may need to support type coercion from Utf8 to Binary here.

Thank you for the investigation @jonahgao  -- think coercion for binary --> UTF8 would make sense. I will try and find some time to work on this if no one beats me to it.
🤔  Or maybe I will file a ticket and see if someone else wants to work on it.

#7080 can make the query execution successful.
But the MobilePhoneModel displayed in binary format.
+-----------------------------------+---------+
| hits_partitioned.MobilePhoneModel | u       |
+-----------------------------------+---------+
| 69506164                          | 1090347 |
| 6950686f6e65                      | 45758   |
| 41353030                          | 16046   |
| 4e382d3030                        | 5565    |
| 6950686f                          | 3300    |
| 4f4e4520544f554348203630333041    | 2759    |
| 47542d503733303042                | 1907    |
|<PHONE_NUMBER>3030                    | 1871    |
| 47542d4939353030                  | 1598    |
| 6561676c653735                    | 1492    |
+-----------------------------------+---------+

It would be better if we could manually specify the data type of the columns, which is not currently supported for Parquet.
create external table hits_partitioned(
    "UserID" bigint,
    "MobilePhoneModel" text
)
STORED AS PARQUET
LOCATION 'hits_partitioned';

https://github.com/apache/arrow-datafusion/blob/1a0542acbc01e5243471ae0fc3586c2f1f40013b/datafusion/sql/src/statement.rs#L636-L640

I think that we can do this safely when we are certain that the binary data is valid UTF-8.

I agree -- I think it would be good to cast the column into UTF8 (erroring if it contains non UTF8 data)
For this particular query we could add an explicit cast like ::varchar perhaps like the following
SELECT
  "MobilePhoneModel"::varchar,
  COUNT(DISTINCT "UserID") AS u
FROM hits_partitioned
WHERE "MobilePhoneModel" <> ''
GROUP BY "MobilePhoneModel"
ORDER BY u DESC LIMIT 10;

For this particular query we could add an explicit cast like ::varchar perhaps like the following

This must be the best way :thumbsup: .


Refactor deprecated use of node::AtExit in clipboard-files

The two-argument overload of node::AtExit is deprecated. We should replace it with one of the three-argument overloads.

See https://github.com/nodejs/node/tree/master/src#environment
Try adding this line right above the AtExit call:
node::Environment *env = node::GetCurrentEnvironment(Isolate::GetCurrent()->GetCurrentContext());


Add https://pixabay.com/ to image section

Add https://pixabay.com/ to image section

!issue
hi, can I please be assigned to work on this issue #83
thanks

Absolutely yes! If you need help/guidance let me know :)

Hey @edoardottt can you please assign this issue to me.

any update? @goobric

Hey @edoardottt if you like the PR you can merge it :)

Completed, thanks @DevanshKyada27 !

Thanks @edoardottt :)


Storybook not refreshed (stuck on 1.3.14)

Issue and Steps to Reproduce
Hello there,
When I want to display the latest version of the React Toolkit Storybook on github (using https://axaguildev.github.io/react-toolkit/latest/storybook/index.html?path=/story/get-started--introduction), the storybook is stuck on version 1.3.14.
It seems that something prevents the Storybook update after new releases of React Toolkit.
Could you please fix this
Thanks

https://github.com/AxaGuilDEv/react-toolkit/pull/731/files#diff-62b793be802a848c8d68cd089ed7b6d030ba14cb97f72a1fca46104ce11e9d97

Fixed in #731
https://github.com/AxaGuilDEv/react-toolkit/pull/731/files#diff-62b793be802a848c8d68cd089ed7b6d030ba14cb97f72a1fca46104ce11e9d97


Support for capturing groups in match function

I'm not sure if adding extensions to awk is something you want to do, but I find having support for capturing groups in match useful, so I've added it here: https://github.com/pstibrany/goawk/commit/45fd318ecad5eaa3a0e98c60f40aaf89e29716b8
It is based on Gawk extension (described at https://www.gnu.org/software/gawk/manual/html_node/String-Functions.html), although I didn't do "start" and "length" subscripts described there, as I didn't know how :-)

Thanks! I'm not going to add this now (I'd like to focus on polish and performance first) but I'm not opposed to including certain gawk features, so I'm going to leave this open for later.

I've decided I want GoAWK to focus on the POSIX AWK spec and preference awk's behaviour, rather than adding gawk-specific features, so I'm closing this. Thanks for the contribution though, and feel free to fork away!
Also, I just published this, for your interest: https://benhoyt.com/writings/goawk/

Sounds reasonable to me. Thanks for update.


[BUG]: All page lines are merged into a single line

Attach (recommended) or Link to PDF file here:
pdf example link
Configuration
Osx 10.13.4
"pdfjs-dist": "^3.2.146",
Steps to reproduce the problem
public async readFile(
    pageParser: (data: PDFLine[]) => any
  ): Promise<void> {
    try {
      PDFJS.GlobalWorkerOptions.workerSrc = pdfjsWorker;
      const doc = await PDFJS.getDocument(this.pdfPath).promise;
      const pages = doc.numPages;
      for (let i = 1; i <= pages; i++) {
        const page = await doc.getPage(i);
        const data = await page.getTextContent({
          disableCombineTextItems: true,
        });
        pageParser(data.items as PDFLine[]);
      }
    } catch (err) {
      return err;
    }
  }

What is the expected behavior?
Each line of the pdf should be considered as a unique line.
What went wrong?
All lines of the page are merged into one or two lines (instead of 40+ lines). The line breaks are not properly taken into account. Please note it doesn't always happens depending on the pdf. Sometimes it works. PDFJS parsing is not regular.

"pdfjs-dist": "^3.2.146",

That version is no longer supported, please find the latest releases at https://mozilla.github.io/pdf.js/getting_started/#download

Steps to reproduce the problem

Please see https://github.com/mozilla/pdf.js/blob/master/.github/CONTRIBUTING.md (emphasis mine):

If you are developing a custom solution, first check the examples at https://github.com/mozilla/pdf.js#learning and search existing issues. If this does not help, please prepare a short well-documented example that demonstrates the problem and make it accessible online on your website, JS Bin, GitHub, etc. before opening a new issue or contacting us in the Matrix room -- keep in mind that just code snippets won't help us troubleshoot the problem.

Each line of the pdf should be considered as a unique line.

I checked a couple of different pages in that document with the browser dev-tools, calling the the getTextContent method manually, and generally it seemed that "lines" were handled correctly.
It's not really clear here which specific page(s) you're referring to!?

All lines of the page are merged into one or two lines (instead of 40+ lines). The line breaks are not properly taken into account. Please note it doesn't always happens depending on the pdf. Sometimes it works. PDFJS parsing is not regular.

That's a limitation of the PDF format itself, since in most cases glyphs are absolutely positioned and there's simply no concept of "lines" in the majority of all PDF documents.

It's not really clear here which specific page(s) you're referring to!?

All of the pages actually. For exemple, on page 1 (juste after the title page), I should receive:
lines[0].str = "INT. FITTS HOUSE - RICKY'S BEDROOM - NIGHT"
lines[1].str = "On VIDEO: JANE BURNHAM lays in bed, wearing a tank top. She's"
lines[2].str = "sixteen, with dark, intense eyes."
etc.
Instead, I receive only 2 lines. The first one has a huge width of 6559px:
lines[0].str = "INT. FITTS HOUSE - RICKY'S BEDROOM - NIGHT On VIDEO: JANE BURNHAM lays in bed, wearing a tank top. She's (...) Of course, I don't know that yet."
lines[1].str = "(CONTINUED)"
So it doesn't work. I've upgraded pdfjs to the latest version: 3.4.120.

Opening your PDF document with https://mozilla.github.io/pdf.js/web/viewer.html (using e.g. drag-and-drop) and executing await PDFViewerApplication.pdfViewer.getPageView(1).pdfPage.getTextContent() in the console gives reasonable looking results:
{
  "items": [
    {
      "str": "INT. FITTS HOUSE - RICKY'S BEDROOM - NIGHT",
      "dir": "ltr",
      "width":<PHONE_NUMBER>999998,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        108,
        711
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "On VIDEO: JANE BURNHAM lays in bed, wearing a tank top. She's",
      "dir": "ltr",
      "width":<PHONE_NUMBER>9999984,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        108,
        687
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "sixteen, with dark, intense eyes.",
      "dir": "ltr",
      "width":<PHONE_NUMBER>9999988,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        108,
        675
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "JANE",
      "dir": "ltr",
      "width": 28.04399999999997,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        252,
        651
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "I need a father who's a role model,",
      "dir": "ltr",
      "width":<PHONE_NUMBER>9999978,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        180,
        639
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "not some horny geek-boy who's gonna",
      "dir": "ltr",
      "width":<PHONE_NUMBER>9999978,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        180,
        627
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "spray his shorts whenever I bring a",
      "dir": "ltr",
      "width":<PHONE_NUMBER>9999978,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        180,
        615
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "girlfriend home from school.",
      "dir": "ltr",
      "width":<PHONE_NUMBER>9999977,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        180,
        603
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "(snorts)",
      "dir": "ltr",
      "width": 56.08799999999994,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        209.004,
        591
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "What a lame-o. Somebody really",
      "dir": "ltr",
      "width":<PHONE_NUMBER>999998,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        180,
        579
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "should put him out of his misery.",
      "dir": "ltr",
      "width":<PHONE_NUMBER>9999973,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        180,
        567
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "Her mind wanders for a beat.",
      "dir": "ltr",
      "width":<PHONE_NUMBER>9999985,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        108,
        543
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "RICKY (O.S.)",
      "dir": "ltr",
      "width": 84.15599999999989,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        252,
        519
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "Want me to kill him for you?",
      "dir": "ltr",
      "width":<PHONE_NUMBER>9999977,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        180,
        507
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "Jane looks at us and sits up.",
      "dir": "ltr",
      "width":<PHONE_NUMBER>9999986,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        108,
        483
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "JANE",
      "dir": "ltr",
      "width": 28.04399999999997,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        252,
        459
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "(deadpan)",
      "dir": "ltr",
      "width": 63.07199999999993,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        209.004,
        447
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "Yeah, would you?",
      "dir": "ltr",
      "width":<PHONE_NUMBER>9999986,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        180,
        435
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "FADE TO BLACK:",
      "dir": "ltr",
      "width": 98.14799999999997,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        108,
        411
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "FADE IN:",
      "dir": "ltr",
      "width": 56.08799999999998,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        108,
        387
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "EXT. ROBIN HOOD TRAIL - EARLY MORNING",
      "dir": "ltr",
      "width":<PHONE_NUMBER>9999983,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        108,
        351
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "We're FLYING above suburban America, DESCENDING SLOWLY toward",
      "dir": "ltr",
      "width":<PHONE_NUMBER>9999995,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        108,
        327
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "a tree-lined street.",
      "dir": "ltr",
      "width":<PHONE_NUMBER>999998,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        108,
        315
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "LESTER (V.O.)",
      "dir": "ltr",
      "width": 91.15199999999989,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        252,
        291
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "My name is Lester Burnham. This is",
      "dir": "ltr",
      "width":<PHONE_NUMBER>9999977,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        180,
        279
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "my neighborhood. This is my street.",
      "dir": "ltr",
      "width":<PHONE_NUMBER>999997,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        180,
        267
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "This... is my life. I'm forty-two",
      "dir": "ltr",
      "width":<PHONE_NUMBER>999998,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        180,
        255
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "years old. In less than a year,",
      "dir": "ltr",
      "width":<PHONE_NUMBER>9999977,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        180,
        243
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "I'll be dead.",
      "dir": "ltr",
      "width": 91.15199999999993,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        180,
        231
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "INT. BURNHAM HOUSE - MASTER BEDROOM - CONTINUOUS",
      "dir": "ltr",
      "width":<PHONE_NUMBER>999998,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        108,
        195
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "We're looking down at a king-sized BED from OVERHEAD:",
      "dir": "ltr",
      "width":<PHONE_NUMBER>9999976,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        108,
        171
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "LESTER BURNHAM lies sleeping amidst expensive bed linens,",
      "dir": "ltr",
      "width":<PHONE_NUMBER>999998,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        108,
        147
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "face down, wearing PAJAMAS. An irritating ALARM CLOCK RINGS.",
      "dir": "ltr",
      "width":<PHONE_NUMBER>9999997,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        108,
        135
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "Lester gropes blindly to shut it off.",
      "dir": "ltr",
      "width":<PHONE_NUMBER>999998,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        108,
        123
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "LESTER (V.O.)",
      "dir": "ltr",
      "width": 91.15199999999989,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        252,
        99
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "Of course, I don't know that yet.",
      "dir": "ltr",
      "width":<PHONE_NUMBER>999998,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        180,
        87
      ],
      "fontName": "g_d1_f3",
      "hasEOL": false
    },
    {
      "str": "",
      "dir": "ltr",
      "width": 0,
      "height": 0,
      "transform": [
        12,
        0,
        0,
        12,
        463,
        39
      ],
      "fontName": "g_d1_f3",
      "hasEOL": true
    },
    {
      "str": "(CONTINUED)",
      "dir": "ltr",
      "width": 77.16000000000007,
      "height": 12,
      "transform": [
        12,
        0,
        0,
        12,
        463,
        39
      ],
      "fontName": "g_d1_f3",
      "hasEOL": false
    }
  ],
  "styles": {
    "g_d1_f3": {
      "fontFamily": "monospace",
      "ascent": 0.79150390625,
      "descent": -0.21630859375,
      "vertical": false
    }
  }
}

Ok, the error came from the option "disableCombineTextItems: true". Thank you very much for your help.


Add attributes (replicate) from ipv4 to ipv4.dhcp

use-dns
remote-id-format
default-router

related to doing configuration such as below on ECS
 "ethernet": [
    {
      "pvid": true,
      "select-ports": [
        "Ethernet2"
      ],
      "vlan-tag": "tagged"
    }
  ],
  "ipv4": {
    "addressing": "static",
    "dhcp": {
      "default-router": [                 <<<<<<--- Set the default router for this pool
        "<IP_ADDRESS>"
      ],
      "lease-time": "6h",
      "use-dns": [
        "<IP_ADDRESS>",
        "<IP_ADDRESS>"
      ]
    },
    "subnet": [
      {
        "prefix": "<IP_ADDRESS>/24"
      }
    ]
  },
  "name": "VLAN3",
  "vlan": {
    "id": 3
  }
}

Hi @mikehansen1970,
I can see that default-router type is array:
"default-router": [

Is this made on purpose - what if two are present?


Would RenderFlow continue to develop?

It seems RenderFlow did not function well yet... So would it to be updated in the future? ^_^

@Snowapril Can you answer this?

Hello. Thanks for having an interest in this project. I'm a little bit busy these days that I can't afford to work. I plan to resume work around next year.
The project's initial plan was aimed at building Vulkan renderer from the bottom up to fluid simulation.
These days, however, I'm considering using a well-made rendering framework to implement a visualization tool that just will help implement new algorithms in CubbyFlow.


Android - Chat - Go back to home page button redirects to concierge chat

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:
1 Initiate a chat
2 Send an attachment or send any message
3 Click on reply on thread. This will open the thread
4 Open the detail page (the icon on top)
5 Click on Leave thread. Verify concierge is opened.
6 Click on the back button: Verify you get “hmm, it’s not here page‘ with a button “Go back to homepage” button
7 Click on Go back to homepage
8 Verify you to go concierge chat rather than home page
Expected Result:
Since, it says go back to home page, I was expecting to be taken to the homepage
Actual Result:
The button redirects to concierge chat rather than the home page
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[X] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: v1.3.51-0
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/115492554/7b78fdc2-83e6-425e-8828-5bbd2c89e2d5
Expensify/Expensify Issue URL:
Issue reported by: @Abhi
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1690851151974449
View all open jobs on GitHub

Agree with the reasoning there that this isn't a bug and we can close this.


Running collaborative filtering examples.

vagrant@deep-learning:~/modl$ python examples/predict_recsys.py
Centering data
Sparsity: 0.0335217561064  X.nnz:  800167  N features:  3952  n_samples 6040
Iteration 0
('Test RMSE: ', 39.876633749822602)
Iteration 120
('Test RMSE: ', 48.440039171205285)
Iteration 720
('Test RMSE: ', 26.586114834502165)
Iteration 3630
('Test RMSE: ',<PHONE_NUMBER>6572414)
Iteration 18110
('Test RMSE: ', 29932.618585930453)
('Final test RMSE:', 34662.550885905417)
Time : 1111.89 s
Unfortunately RMSE is increasing :(
Any suggestions ? Am I doing something wrong ?
Thanks.

What dataset are you using ?

I had real data from user/item clicks.
It was a long time ago, I will close the issue for now.

Ok thanks for the feedback !
On Thu, Jun 1, 2017, 4:51 PM leodesigner<EMAIL_ADDRESS>wrote:

I had real data from user/item clicks.
It was a long time ago, I will close the issue for now.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/arthurmensch/modl/issues/13#issuecomment-305517615,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD48Y-Bi8NGIESeFPS_T2_a-FsE35xSHks5r_s_ngaJpZM4L6poi
.