Rename "default.ts" to "dark.ts" after theme switching migration is done

Necessary clean up from theme switching

cc @chrispader


[Support CSV] Create import flow for categories

Create the basic components/functions of the import flow and then complete this section of the doc for categories (as the example).
Let's leave the export flow for another issue so we don't have to block this on the backend.
Issue OwnerCurrent Issue Owner: @ikevin127

@rlinoz are you wanting @ikevin127 , the C+, to complete the work or to open the job to contributors, where Kevin would review their proposals?  whomever works on it would need access to the design doc, which makes me think having a C+ assigned to do the work might be best.

Hi! I am Filip from SWM and I'd like to work on this issue

Im will switch the C+ here since @rushatgabhane is going to be helping with reviews for this project.
And @filip-solecki will be implementing it.

Looks like the PR hit production on 09-05, https://github.com/Expensify/App/pull/47827#issuecomment-2332464858
@rushatgabhane are you due payment here?  Thx

nope not due for payment here

Thx @rushatgabhane , we should be good to close then


mailboxes: check for !Writable before Empty in tryRecv

Checking for Empty first meant that an empty !Writable mailbox is considered Empty and not Unreadable.
Reorder the check to make sure that !Writable and empty mailbox is treated as Unreadable.

Still needs tests

Favoring #25.


feat: extend epoch time out

Due to epoch block costing a lot of time to execute, this may lead to time out sometimes occur so we have to extend it to a moderate number that suit our project

LGTM


Update version from 0.0.68 to 0.0.69

This is an automated update of version in pyproject.toml. This action is performed by publish.yml.

updated version from 0.0.68 to 0.0.69, @SuleyNL pls review


Integration with other pose estimations

On integrating other pose estimations like robot_localization (gps, imu, encoder) or Madgwick Orientation Filter could i provide a pose estimation from these pkgs on the pose and pose_wc topics continuously?

I have a few busy weeks ahead. That's why I can only give you a very brief answer for now:

/pose and /pose_wc is meant only for occasionally given initial poses
you can provide any prior odometry you want as tf-transformation

It's very similar to how amcl is doing it. The image at the bottom of their docs is pretty good describing the "tf situation": https://wiki.ros.org/amcl
For using an IMU only, I would try the Madgwick filter and use the orientation as odom frame. It worked well for the Hilti experiments. However, I strongly recommend to fuse everything you have with a kalman filter to additionally get a prior translational estimate.
Another hint: Look at the examples linked in this repository. If I remember right, there should be a Kalman filter fusing IMU and wheel odometry and the result is used as odometry prior for MICP-L.
Best
Alex

Hi @Mh-Magdy,
this is a follow-up to my previous answer.
Kalman-Filter
in rmcl_example, there is indeed a kalman filter of the package robot_pose_ekf fusing wheel odometry and IMU measurements to a combined estimation expressed as tf transformation from base (or base_footprint) to odom. On the noetic branch start_robot.launch, Line 94:
 <!-- EKF providing the odom frame -->
    <node pkg="robot_pose_ekf" type="robot_pose_ekf" name="robot_pose_ekf" output="screen">
        <param name="freq" value="100.0"/>
        <param name="sensor_timeout" value="1.0"/>
        <param name="publish_tf" value="true"/>
        <param name="odom_used" value="true"/>
        <param name="imu_used" value="true"/>
        <param name="vo_used" value="false"/>
        <remap from="imu_data" to="imu/data"/>
</node>

The kalman filter implemented in robot_localization does the same. We used it for the ROS2 examples on the humble branch. File start_robot_launch.py, Line 106:
ekf = Node(
            package='robot_localization',
            executable='ekf_node',
            name='ekf_filter_node',
            output='screen',
            parameters=[
                {"use_sim_time" : True},
                os.path.join(config_dir, 'ekf.yaml')],
           )

I also sometimes use the Madgwick Filter to estimate a smooth orientation before fusing it with the wheel odometry using a kalman filter. Then again, the kalman filter already produces the required tf transform.
IMU-only
However, if you only have an IMU to estimate an prior odometry you could use the Magwick Filter as follows:
<node pkg="imu_filter_madgwick" type="imu_filter_node" name="imu_filter_node">
    <remap from="/imu/data" to="/ouster/imu_filtered"/>
    <remap from="/imu/data_raw" to="/ouster/imu" />

    <param name="gain" value="0.1" />
    <param name="zeta" value="0.0" />

    <param name="use_mag" value="false" />
    <param name="remove_gravity_vector" value="false" />

    <param name="fixed_frame" value="madgwick" />
    <param name="publish_tf" value="true" />
    <param name="reverse_tf" value="true" />
</node>

This config uses the imu data of an ouster sensor and writes the results to the /ouster/imu_filtered topic. In addition, it broadcasts a frame madgwick below the imu frame in your tf tree. The IMU orientation of the Madgwick Filter is expressed relative to this frame. Using the Madgwick filter orientation as odometry prior is simply setting the madgwick frame equal to the odom frame. Thus we can determine the missing base to odom transform as follows:
$$T_{odom \leftarrow base} = T_{madgwick \leftarrow imu} \cdot T_{imu \leftarrow base}$$
The resulting transform can be broadcasted using TF which gives you the required odom prior as proper tf, estimated only from the Madgwick filter. This node is essentially doing this: https://github.com/amock/micp_experiments/blob/main/micp_experiments_helper/src/leaf_odom_to_root.cpp , only that the names of the frames are a bit more general.
Pose Topic
A pose topic alone won't work, since only tf transforms are accepted as odom prior. However, given you have a tf tree of your robot, I am sure you can translate the pose to a suitable tf transformation.
Best
Alex

Hi Alex @amock,
Thank you for the effort and time you dedicated to this answer. I followed your guidance and provided an Odom frame as a prior from the robot_localization package. After integrating this setup, the RMSE evaluation showed an improvement. Thank you for your invaluable help!
Testing Images

and after integration:

This looks great! It’s also nice to see the results improving as expected.
I also plan to integrate the world you used into mesh_navigation_tutorials, which provides examples for mesh navigation using ROS 2. I may reach out to you again when we start incorporating localization examples into those tutorials. If you're OK with it, we’d love to use some of your results and recorded images there.
Regarding this Github-Issue, I hope to find time soon to create a guide from it, and collecting various strategies for using external pose estimations there. For now, I think we can consider this issue closed.


Height variable

Height variable within demographivcs module:

[ ] Add height to Person struct
[ ] initialise population height
[ ] update height variable

height progression:
At first, we could just get height from age in a static lookup table. This can be updated in Person by the Demographics module?
Hardcoded average lookup, or taken from data in a country (e.g. India)?
Can eventually look at stochasticity -- maybe not worth a full model for height right now.

A hypothetical dynamic height update model inside DemographicModule would probably look something like the risk-factor-adjusting LmsModel, inside WeightModel, inside DiseaseModule.
This would be called inside update_population, and take a Person, with it's fields such as age, sex, height, and update height accordingly.

Discussion up to this point is outdated.


The Parsec connected condition fails when switching audio output devices between starting Parsec and AutoGame

Reproduction Steps

Add these options to your parsec config file:server_resolution_x=-1
server_resolution_y=-1
server_admin_mute=0

Close AutoGame and Parsec
Select an audio output device in Windows
Start AutoGame
Select a different audio output device
Start Parsec
Connect over Parsec
The game launcher isn't opened

Expected:
The launcher is opened regardless of which audio device is selected when starting Parsec and AutoGame.
Actual:
The launcher isn't opened depending of which audio device is selected when starting Parsec and AutoGame.

A real torture test:

Add these options to your parsec config file:server_resolution_x=-1
server_resolution_y=-1
server_admin_mute=0

Close Parsec and open AutoGame
Connect over RDP
Start Parsec
Disconnect from RDP
Connect over Parsec
The game launcher isn't opened

Fixed in v2.0.0


fix(driver): correctly convert socketcall codes on 32 bits

What type of PR is this?
/kind bug
Any specific area of the project related to this PR?
/area driver-kmod
Does this PR require a change in the driver versions?
No
What this PR does / why we need it:
This PR fixes a regression on 32 bits socketcalls. Before this patch we sent syscalls codes on 64 bit even when config CONFIG_IA32_EMULATION was enabled.
Which issue(s) this PR fixes:
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
fix(driver): correctly convert socketcall codes on 32 bits

/milestone 5.0.1+driver

LGTM label has been added.  Git tree hash: 1f9ca4476bce50d6d06383dfe88975d8d14f283e

This PR fixes a regression on 32 bits socketcalls. Before this patch we sent syscalls codes on 64 bit even when config CONFIG_IA32_EMULATION was enabled.

Really great catch! Thank you very much!
/cc @LucaGuerra

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

driver/OWNERS [Andreagit97,FedeDP]

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

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

driver/OWNERS [Andreagit97,FedeDP]

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

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP, LucaGuerra
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

driver/OWNERS [Andreagit97,FedeDP,LucaGuerra]

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

This needs a bump of the API_VERSION (increment of the patch number since we have fixed a bug).
I've done it here https://github.com/falcosecurity/libs/pull/1123


Is this software still in development?

Google services are not working
See the images below

There is no much to explain just to make them work
I am using Mac OS X High Sierra and the latest version of Franz

I had the same issue and this worked for me after a fresh install.
Good luck!

The issue has been going on for a year, though. I'm on the 14 day free trial. Would be nice to know if there is a dev team, still, before I shell out subscription dollars.


Update to latest Ratchet and React Socket?

Hi,
Is this project still alive? Is there anyone who can update this to run with the latest Ratchet and Reacts Socket library?
Josh

https://github.com/voryx/Thruway/network

When Pawl 0.3 is released

Soon™
(actually though 😀)


Runner path on macOS changes

Describe the bug
The path the action being run in changes, which means that caching SwiftPM is not possible because it will fail with the following error:
<unknown>:0: error: PCH was compiled with module cache path '/Users/runner/runners/2.161.0/work/PROJECT/PROJECT/.build/x86_64-apple-macosx/debug/ModuleCache/Z7RNZCZNAHFT', but the path is currently '/Users/runner/runners/2.162.0/work/PROJECT/PROJECT/.build/x86_64-apple-macosx/debug/ModuleCache/Z7RNZCZNAHFT'
You can see an example of this in one of my projects.
To Reproduce
Steps to reproduce the behavior:

Create a workflow that runs a job on macOS
Cache something that uses the path as part of the cache (e.g. SwiftPM)
Wait for a new runner version to be deployed
Re-run workflow

Expected behavior
The path of the runner should not change.
Runner Version and Platform
macOS
What's not working?
The path of the runner changes when runner is updated.
Note: This was originally https://github.com/actions/virtual-environments/issues/137

hi @JosephDuffy, apologies that your first attempt at getting help for this got missed. In looking at this, there's a few reasons why we need the current setup for the runner, so it wouldn't be a simple fix. Have you considered creating a symlink as the first step in your workflow and using that directory to do the work? I believe caching should work against that symlink and it wouldn't be affected by the runner version changing.

@JosephDuffy ,
To work with symlink as Alejandro proposed, we can use the following code:
- name: Create symlink for current runner
  run: |
    currentAgentPath=$(dirname $(dirname $RUNNER_WORKSPACE))
    targetAgentPath="/Users/runner/runners/current"
    ln -s $currentAgentPath $targetAgentPath

And then, you will be able to cache path /Users/runner/runners/current/work/<repository_name>/.build instead of just .build.
Could you please try this workaround with symlink and report back if it helps?

I don't know how to test this using GitHub actions (since I can't trigger a runner update) but I tried to following locally:
mkdir Package
ln -s Package PackageLink
cd PackageLink
swift package init --name PackageLinkTest
swift build
cd ..
rm PackageLink
mv Package Package2
ln -s Package2 PackageLink
cd PackageLink
swift build

This produces an error due to a path change.
I think when Swift does the building it is taking the real path, not the path of the symbolic link.
So I don't think this will work on GitHub Actions.

Okay, thank you for attempt.
In this case, we can try another trick: move repository outside /Users/runner/runners/2.161.0/work.
- uses: actions/checkout@v2
- run: |
    cp -r $GITHUB_WORKSPACE $HOME/repository

and then try to build in $HOME/repository.
Hope, it will help because in this case, the same path will be used independent of runner.

This is a bit of a pain because most actions assume they are running in the work directory, so files may need to be copied back and forth or more paths need to be hardcoded.
Since this is primarily an issue with caches I have added github.workspace to the cache key. This means caches are invalidated if runner updates, but it's simpler that juggling the work directory.

@JosephDuffy , thank you for your feedback.
Unfortunately, we don't have quick solution for this issue because runner installation layout is not something that can be changed quickly and without impact.
I am closing this issue but we will keep it on mind and will post update if we have a plan to rework it in future

Just an update: Issue should be fixed since runner was moved to /Users/runner/work/{repo}/

Can I run github actions runner on home/src path instead of runner default path ?
Basically, I want to run job on "home/src" using ubuntu runner. Suggestions would be appreciated!
Thanks.


Does socket.io-redis still suffer the problems mentioned in the linked article?

I just read this somewhat old article: Cluster f***s when scaling Socket.IO
Here are the parts that worry me:

Apparently socket.io-redis saves connection data in each node separately, and not in Redis:

All this data will be synced through pub/sub to every connected Socket.IO server. So if you have 2 node process and they both use Socket.IO stores they will both have all the data of all connections in their own process memory.

It's not so simple to add a node, since we need to bring all processes/server online at the same time (I'm on Heroku and would like to scale up/down regularly/flexibly, so this is worrying!):

But storing data isn’t the only problem. Usually when you want to scale out you just want to be able to add new servers without taking your whole cluster down. This is impossible with Socket.IO. When you add a new server you need take your whole cluster down because the synced data is not stored in a general location. It’s only stored in the process’s heap, and when you join the cluster it doesn’t ask the other node processes for the old data so it’s a completely blank and empty server and can therefor not accept them and will close the connection with a “unknown handshake” error. The only way to combat this is to take your whole cluster down. Add new node processes/servers, bring them all online at the same time and start accepting connections again.

Every connection creates 5 different channels!

For every connection that is established the store will subscribe to 5 different channels. So if you have 10000 concurrent connections you will also have 50000 subscriptions to your redis server which causes redis to use a magnitude more CPU than if it would just use single or a couple of channels to communicate over for ever connection.

If this has been solved, then I'd like to use socket.io-redis + socket.io-emitter to horizontally scale my app. If not, then I'll just have to implement a custom solution on top of redis.

If possible, it would be nice to get a brief overview of how socket.io-redis works under the hood (or a reference to documentation). I'm concerned about how it will scale, especially after reading the article I linked!

If I'm not mistaken, the article you linked to refers to socket.io 0.9.x, which dates quite a bit and there was a major rewrite for version 1.0, so most of the points are out of date now.

If possible, it would be nice to get a brief overview of how socket.io-redis works under the hood

The Redis adapter extends the default adapter, which stores the associations ids <-> rooms. It is based on a couple of hash objects, sids and rooms.
this.sids = {};
this.rooms = {};
// when a socket joins a room, the objects are updated
this.sids[socketid][room] = true;
this.rooms[room][socketid] = true;

// those associations are then used when broadcasting
io.emit('event')
// foreach socket in this.sids
// => send the packet to each socket

io.to('myroom').emit('event')
// foreach socket in this.sids['myroom']
// => send the packet to each socket in the room

The Redis adapter adds an additional step (source):
io.emit('event')
// foreach socket in this.sids
// => send the packet to each socket
// AND emit to other nodes, which have subscribed to the message channel (through the redis pub/sub mechanism)
// once a node receive a new message, it loops through its own sids and send the packet if needed

Apparently socket.io-redis saves connection data in each node separately, and not in Redis.

Yes, that's right. Each node stores the associations ids <-> rooms of the clients it talks to. "all the data of all connections" is a bit misleading here though.

It's not so simple to add a node, since we need to bring all processes/server online at the same time

That doesn't apply anymore.

Every connection creates 5 different channels!

By default, the adapter subscribes to 3 channels (message, request and response) (source). Also, every time a room is created, a new subscription is made (source) so since a socket joins its own room every new connection will indeed create a new channel. That behaviour can be disabled though by setting the withChannelMultiplexing option to false. Enabling the multiplexing depends on your application. I'd say:

lots of clients, few rooms: withChannelMultiplexing to false
few clients, lots of messages spread across rooms: withChannelMultiplexing to true

Hi @darrachequesne, thanks for taking the time to write that -- super helpful!
Just so I'm clear, are all the following statements true?

Each node only saves connection data for the clients that are connected to that node. To figure out if a client is connected to ANY node in our cluster, we must use one of the socket.io-redis functions.

If I have N nodes, and K clients (== end-users) subscribed to my cluster with withChannelMultiplexing set to false, then I should have 3N + K channels subscribed to Redis.

Socket IDs are guaranteed to be unique across the entire cluster, assuming every node uses socket.io-redis.

If I need to emit a message to a specific client that is connected via socket.io, but the client is connected to another, separate node, then I should use socket.io-emitter. This will only publish the message to the node that is connected to the specific client (as opposed to publishing the message to every node, which then checks if it is connected to the client).

Lastly, suppose I have lots clients subscribed to one room each (their own socket-ids), such that the client:room ratio is nearly 1:1. In that case would setting withChannelMultiplexing to true be a good option? I'm not sure what the tradeoff is -- it seems like limiting the number of channels is always a good thing, unless each channel has a "buffer".

Each node only saves connection data for the clients that are connected to that node. To figure out if a client is connected to ANY node in our cluster, we must use one of the socket.io-redis functions.

Yes, that's right.

If I have N nodes, and K clients (== end-users) subscribed to my cluster with withChannelMultiplexing set to false, then I should have 3N + K channels subscribed to Redis.

withChannelMultiplexing to true: (3 + K) different channels, the first 3 being subscribed to N times (once per node) and the others only on a given node
withChannelMultiplexing to false: 3 different channels, being subscribed to N times
The channel multiplexing was introduced here: https://github.com/socketio/socket.io-redis/pull/46

Socket IDs are guaranteed to be unique across the entire cluster, assuming every node uses socket.io-redis.

Thet ID generation does not depend on socket.io-redis. The IDs are generated here: https://github.com/socketio/engine.io/blob/2.1.1/lib/server.js#L281
The base64id package uses crypto.randomBytes to generate those IDs (source), hence the unicity.

If I need to emit a message to a specific client that is connected via socket.io, but the client is connected to another, separate node, then I should use socket.io-emitter. This will only publish the message to the node that is connected to the specific client (as opposed to publishing the message to every node, which then checks if it is connected to the client).

socket.io-emitter should be used when you want to emit from a non-socket.io process (a batch, for example). Else, socket.io-redis should be enough:
server1 (with socket.io-redis)
server2 (with socket.io-redis) with one client: socket1

server1.to(socket1.id).emit('event');
// foreach socket in (server1) this.rooms[<socket1.id>]
// => nobody
// AND emit to other nodes
// once server2 receive the message, it loops through its own sids and sends the packet

In that case, with withChannelMultiplexing to true, server1 will publish the packet to socket.io#<socket1.id> channel, so only server2 will receive it. With withChannelMultiplexing to false, server1 will publish the packet to socket.io channel, so every node will receive it and decode it. That's where it depends on your application.

socket.io-emitter should be used when you want to emit from a non-socket.io process (a batch, for example). Else, socket.io-redis should be enough:

Ah, so once the adapter is defined, we don't need to do anything different to send messages to a specfic socket? That's great!
At a broader level, I'm unsure as to why socket.io-redis works the way it does for emitting to a specific client: either we have 1 Redis channel per Socket.io connection (withChannelMultiplexing == false), or we broadcast messages to all nodes (withChannelMultiplexing == true).
Why not instead keep a map of socketId->serverId in Redis. When we want to emit a message to a socketId from server A, we first look up the serverId mapped to the room (suppose this is server B). Every server is subscribed on a unique channel (something like "sub#serverId"). Server A can thus easily figure out that Server B is connected to a given socketId, publish a message via Redis to Server B's special "subscribe" channel, and Server B can then emit the Socket.io message to the socket.
Basically it seems to me that it is possible to maintain channel multiplexing but also avoid creating lots and lots of Redis channels.

Well, that's an interesting idea. If I understand correctly:
key _all => server1, server2 // keep track of each server (to broadcast)
// a new socket connects
key socketid1 => server1
key socketid2 => server2
// socket1.join('room1')
key room1 => server1
// socket2.join('room1')
key room1 => server1, server2

How do you handle key removal (in case a server gets disconnected)?

Instead of saving the server name, we could instead save a custom instance ID -- some combo of server name + process ID + timestamp.
Suppose we would like to push a message to socket1. This is already saved in redis as socket1 => some-instance-id (with an expiration time). We retrieve the instance ID from Redis, and check if anyone is subscribed to a channel called "sub#some-instance-id". If yes, then we go ahead and publish a message on that channel. If no, then
The key here is that the instance ID represents an "instance" of the server, as opposed to a server itself. So when a server goes down, it's old instance ID becomes obsolete because the restarted server is now subscribed to an entirely different channel than before.
The only problems I see are (a) an extra check to determine if a given instance-id is valid, and (b) some extra data pointing to defunct instance IDs will be stored in Redis (I don't mind such data sitting around with a 1 day expiration, but maybe that's a problem for general users...).
Btw, is there a way to check if a specific socket is connected on another server? Or do we have to keep track of that ourselves?

@ismail-khan

Btw, is there a way to check if a specific socket is connected on another server? Or do we have to keep track of that ourselves?

I keep track of all connected users across every server by creating a set in Redis called 'connected-users' that a user's id is added to when they first connect through socket.io. When they disconnect from socket.io I immediately remove their user id from the 'connected-users' set. I query this Redis set directly when I need to know if a user is currently connected.
To create and use that Redis set, I simply create a new Redis client separate from the one's used with the socket.io adapter, though that probably isn't necessary.
Another interesting thing I have done is created 2 Redis ordered sets called 'connected-hour' and 'connected-day' that tracks which users have been active in the last hour and 24 hours respectively. The connecting user also has their user id with an attached 'score' (just the timestamp of when they connected) added to these ordered sets. I then have a setInterval running every 60 seconds that removes all user ids from those sets if their attached timestamp doesn't fall within the range of an hour ago to now, or 24 hours ago to now. Before removing the user ids that are out of range, I get the list of all connected users from the original 'connected-users' set, and update their scores in the 'connected-hour' and 'connected-day' ordered sets with the current timestamp. This makes sure a user that connected and has been active more than an hour or day ago is still represented in the 'connected-hour' and 'connected-day' ordered sets.

@SamDelgado Can you please share you sample code?

For future readers, here's my updated answer (based on the one above from 2017)
TL;DR: the only difference is that the withChannelMultiplexing option was removed

Apparently socket.io-redis saves connection data in each node separately, and not in Redis.

Yes, that's right. Each node stores the associations ids <-> rooms of the clients it talks to.

It's not so simple to add a node, since we need to bring all processes/server online at the same time

That doesn't apply anymore. Adding/removing a node can be done at any time, with no particular action.

Every connection creates 5 different channels!

This isn't true anymore. There's only 3 channels (message, request and response) in any cases.

Hi @darrachequesne , thanks for the thread, I learned a lot about the internals of socketio-redis pub-sub here. But your last reply left me in confusion. You said withChannelMultiplexing is now obsolete, but is there any replacement mechanism you guyz are using now?

If I send a message to a room or channel,(via emitter or from client) it will definitely poke all the servers in cluster, so that every instance can send that message to all the users in the channel/room.
But what If I'm sending to a particular user? In that case will redis publish the message to every instance in cluster? If true then all the instance will run for loop event though the user is only connected to one instance.
Issue 46, which was causing CPU spike, is addressed now in the recent releases? If yes, can you please summery how it works now? Or any extensive documentation how these things work internally?
Thanks in advance.

@benzamin there is a new adapter based on Redis sharded PUB/SUB (requires Redis v7), added in version 8.2.0:
import { Server } from 'socket.io';
import { createClient } from 'redis';
import { createShardedAdapter } from<EMAIL_ADDRESS>
const pubClient = createClient({ host: 'localhost', port: 6379 });
const subClient = pubClient.duplicate();

await Promise.all([
  pubClient.connect(),
  subClient.connect()
]);

const io = new Server({
  adapter: createShardedAdapter(pubClient, subClient)
});

io.listen(3000);

You have two subscription mode:

"static": 2 Redis channels per namespace

Useful when used with dynamic namespaces.

"dynamic": (2 + 1 per public room) Redis channels per namespace

The default value, useful when some rooms have a low number of clients (so only a few Socket.IO servers are notified).
I will update the documentation to highlight it.


Create REPL for cosmwasm package

ideally something that can be started with npx cosmwasm

This will be needed for the Stargaze tooling (https://github.com/public-awesome/stargaze-tools/blob/main/package.json)


Fix code scanning alert - Do not take the hash of low-entropy content.

Tracking issue for:

[x] https://github.com/Awesome-Prince/NekoRobot-3/security/code-scanning/5

haaaaaaaaaaaa


Fix Coverity 1503218: negative loop bound

OPENSSL_sk_num returns an integer which can theoretically be negative. Assigning this to a size_t and using it as a loop bound isn't ideal.
Rather than adding checked for NULL or negative returns, changing the loop index and end to int is simpler and also addresses the integer parameter to OPENSSL_sk_value() where a size_t could overflow.

[ ] documentation is added or updated
[ ] tests are added or updated

I do not think this is present on 3.0 - this is from the decoder optimization that is master only currently.

This pull request is ready to merge

Merged, thanks for the feedback.


ActiveFedora >= v7.0

@barmintor @awead @jcoyne Where does this pull request stand? Is it something that you would like to see merged?


Add support for multiprocess builds ("/m") in .NET Core MSBuild

Resolves #303

LTGM. Do we need to update the handshake so there's no possibility of mixing nodes?
Also, perhaps we should emit a warning that this is experimental use at your own risk until we're comfortable with the security implications?
And we should make this the default in our self-host scenario.

OK, I've switch to use a pair of anonymous pipes on .NET Core instead of a single duplex named pipe, which makes multiprocess builds actually work on Linux and also resolves the security implications.  Enough has changed that I think it's worth re-reviewing the whole thing.

LGTM

LGTM

@dotnet-bot Test this please


Minor label changes for the new login screen

Note: This is a low-priority issue, but excellent for newcomers!
The new login screen is coming together nicely! :tada:

I have a few things on the label/string side that I think could be changed:

The "Login with your Spotify Account" label beneath the title could be justified to the center, to match the rest of the text on the page. I think this just requires adding justify: center; to the label in the login blueprint file, but my building skills aren't quite there yet, so I'm not able to test it.

"Login" should be "Log in". I had to search that up. "Login" is a noun/adjective ("the login window"), "log in" is a verb ("I tried to log in"). Also, "to use Spot" could be changed to "to use the app", so we avoid the slightly awkward repetition of the app name from the "Welcome to Spot" label. Or we could just drop the "to use x" part altogether, as it's kinda implied from the fact that you're trying to log in. This is my suggestion for the label:

Log in with your Spotify account. A Spotify Premium subscription is required to use the app.

I don’t have an easy-to-remember Spotify username, as it was automatically generated when we created our family subscription, but I’m able to log in with my email in the username field. We should specify that that’s possible as well. We can do this by changing the "Username" label to "Username or Email". Another web search reveals that both "E-mail" and "Email" are acceptable writing methods, but Email is the most common one. The most important thing is that it's Header Capitalized in accordance with the HIG :grin:

I'm going to stop annoying you with my design nitpicking for now, cheers :sweat_smile:

I'm going to stop annoying you with my design nitpicking for now, cheers sweat_smile

I don't mind it no worries :)


chore(picasso): add support for returning undefined value from getKey selector of Autocomplete

SPT-2294
Description
Please do not merge this PR until i test it in Staff-Portal
Motivation
In staff portal as part of this task https://toptal-core.atlassian.net/browse/SPT-2294 we have to update all FE code for updated node type that becomes nullable in related BE PR (https://github.com/toptal/platform/pull/54372).
We have many places such as:
const getTagId = (tagEdge: Item) =>
  (tagEdge as TaskTagEdgeFragment).node.id

<Autocomplete getKey={getTagId} />

Where (tagEdge as TaskTagEdgeFragment).node is nullable value, so now to correctly pass this selector to Autocomplete component we have to do the following:
const getTagId = (tagEdge: Item) =>
  (tagEdge as TaskTagEdgeFragment).node?.id ?? ''

<Autocomplete getKey={getTagId} />

This potentially may cause some unexpected behavior.
To prevent it, support for returning undefined value from getKey selector was added to Autocomplete
Now if we return undefined value from getKey selector, such option wont be rendered at all, so we can keep the following code on our side:
const getTagId = (tagEdge: Item) =>
  (tagEdge as TaskTagEdgeFragment).node?.id

<Autocomplete getKey={getTagId} />

How to test

Open https://picasso.toptal.net/SPT-2294-autocomplete-allow-undefined-return-from-get-key/?path=/story/forms-autocomplete--autocomplete
Scroll down to the Custom options rendering example
Open autocomplete popup.
It should have only 4 option items

Review

[x] Read CONTRIBUTING.md and Component API principles
[x] Annotate all props in component with documentation
[x] Create examples for component
[x] Ensure that deployed demo has expected results and good examples
[x] Ensure that tests pass by running yarn test
[x] Ensure that visuals tests pass by running yarn test:visual. If not - check the documentation how to fix visual tests
[x] Ensure the changed/created components have not caused accessibility issues. How to use accessibility plugin in storybook.

PR commands

List of available commands:

@toptal-bot run all - Run whole pipeline
@toptal-bot run build - Check build
@toptal-bot run visual - Run visual tests
@toptal-bot run deploy:documentation - Deploy documentation
@toptal-bot run package:alpha-release - Release alpha version

PR Review Guidelines

When to approve? ✅
You are OK with merging this PR and

You have no extra requests.
You have optional requests.

Add nit: to your comment. (ex. nit: I'd rename this variable from makeCircle to getCircle)

When to request changes? ❌
You are not OK with merging this PR because

Something is broken after the changes.
Acceptance criteria is not reached.
Code is dirty.

When to comment (neither ✅ nor ❌)
You want your comments to be addressed before merging this PR in cases like:

There are leftovers like unnecessary logs, comments, etc.
You have an opinionated comment regarding the code that requires a discussion.
You have questions.

How to handle the comments?

An owner of a comment is the only one who can resolve it.
An owner of a comment must resolve it when it's addressed.
A PR owner must reply with ✅ when a comment is addressed.

@toptal-bot run package:alpha-release

About pre-filtered options.
It is possible(except that this is an additional iteration over options).
The problem is mostly not in options that we pass to options property, but getKey function, because we receive Item type in it and we have to cast it to some specific entity type, for example, TagAutocompleteOption, but this type has nullable values. Of course we can create additional type like TagAutocompleteOptionsWithNonNullableFooField but isn't it looks redundantly?
I mean if we have the ability to pass custom objects to the Autocomplete component and getKey property that allows us to map the structure of custom object to internal Item object, why we can't support the basic case when such field may be nullable?


Qualify the module imports of SULEG

I found it quite hard to track down variables like D, R, F, etc. in SULEG. This PR qualifies all module imports in SULEG so it's clear where external variables came from. I focused on SULEG because it has an unusually large number of module imports, but I think we should gradually start doing this elsewhere as well.

Debug, linux intel : segfault. Well that was unexpected. A debug build with intel/2021.4.0 on the Atos HPC passes all tests.

It seems that "develop" is also failing now. Perhaps something intermittent or new compiler version used by intel oneapi.

Yeah it's very weird.

@wdeconinck  The tests are magically passing now.

Yes I tried rerunning yesterday and now all tests passed. It's what I expected as these changes should not have had any negative impact.


Replace debug_traceTransaction with block level calls where possible

RPC native tracer code could use debug_traceBlockByNumber instead of debug_traceTransaction for preState tracer calls

Jumpdest implementation could use debug_traceBlockByNumber
Note: cloud providers quiknode and alchemy only export callTracer and prestateTracer for debug_traceBlockByNumber, so retrieving struct logs in this way is not possible

Resolved with https://github.com/0xPolygonZero/zk_evm/pull/682

Closing as it is resloved with https://github.com/0xPolygonZero/zk_evm/pull/682


Stage

:tada: This PR is included in version 2.5.0-stage.1 :tada:
The release is available on:

npm package (@stage dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.5.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Wouldn't it be logical to put /_sass/ folder inside /_includes/ folder?

Files in /_sass/ are considered partials for /assets/main.scss that later generate /assets/main.css
to be used by .html files of /_layouts/
Therefore  /assets/main.scss file and /_sass/ folder are partials that generates main.css that is partial for the /_layouts/.
The final result should look like this:
Moving _sass folder into _includes/_sass/
that would be used by /assets/main.scss to generate /assets/main.css

Minima will continue to adopt Jekyll's default behaviour with Sass files. You could put Sass files in _includes folder, and/or you could configure sass_dir if you wish, that's up to you.


[Bug]: Radio, Radio Group - labels should be selectable in disabled state on Firefox

What is affected?
No response
Description
When I select the label of the Radio/Radio Group component in disabled state, the label should be selectable, instead the label is not selectable.
Steps to reproduce

Open Radio/Radio Group in Storybook on Firefox
Set component to disable=true
Try to select the label

Affected version(s)
No response
Operating system / Browser / Environment
OS: MacOS 14.6.1 (23G93)
Browser: Firefox 125.0.3
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hi @thrbnhrtmnn
After testing both the components today on Firefox, the issue does not arise anymore. We could close the ticket if its the same for you.
Thank you


readme wrong information for return type of kmeans_lloyd()

in section Usage of readme, the return type of kmeans_lloyd() should be
std::tuple<std::vector<std::array<T, N>>, std::vector<uint32_t>>
not
std::tuple<std::array<T, N>, std::vector<uint32_t>>
which make me confuse at the first look

Thanks for raising this, I'll fix this next time I push some code up.

I found this error before seeing this issue was already brought up and submitted a PR: https://github.com/genbattle/dkm/pull/16

PR merged. Fixed.


PM updates: Enable-AzRecoveryServicesBackupProtection

Docs Build status updates of commit 6874b12:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

azps-7.5.0/Az.RecoveryServices/Enable-AzRecoveryServicesBackupProtection.md
:white_check_mark:Succeeded
View (azps-7.5.0)

azps-8.0.0/Az.RecoveryServices/Enable-AzRecoveryServicesBackupProtection.md
:white_check_mark:Succeeded
View (azps-8.0.0)

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

Docs Build status updates of commit c1edec8:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

azps-7.5.0/Az.RecoveryServices/Enable-AzRecoveryServicesBackupProtection.md
:white_check_mark:Succeeded
View (azps-7.5.0)

azps-8.0.0/Az.RecoveryServices/Enable-AzRecoveryServicesBackupProtection.md
:white_check_mark:Succeeded
View (azps-8.0.0)

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

Docs Build status updates of commit 85cad31:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

azps-7.5.0/Az.RecoveryServices/Enable-AzRecoveryServicesBackupProtection.md
:white_check_mark:Succeeded
View (azps-7.5.0)

azps-8.0.0/Az.RecoveryServices/Enable-AzRecoveryServicesBackupProtection.md
:white_check_mark:Succeeded
View (azps-8.0.0)

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

Docs Build status updates of commit 61bc47f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

azps-7.5.0/Az.RecoveryServices/Enable-AzRecoveryServicesBackupProtection.md
:white_check_mark:Succeeded
View (azps-7.5.0)

azps-8.0.0/Az.RecoveryServices/Enable-AzRecoveryServicesBackupProtection.md
:white_check_mark:Succeeded
View (azps-8.0.0)

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

#sign-off

Docs Build status updates of commit 85cad31:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

azps-7.5.0/Az.RecoveryServices/Enable-AzRecoveryServicesBackupProtection.md
:white_check_mark:Succeeded
View (azps-7.5.0)

azps-8.0.0/Az.RecoveryServices/Enable-AzRecoveryServicesBackupProtection.md
:white_check_mark:Succeeded
View (azps-8.0.0)

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

#sign-off

@v-amallick These changes also need to be made to the source version.
New releases are based on the source version. Your changes will not persist in future versions unless the source version is also updated.

@mikefrobbins - Thanks for merging the PR. Will update the source article as well.


When this lib will be rewrite with Es6?

Hi guys, I like I lot this lib, but it's code is very old and doesn't have a good pattern. Why not rewrite ?

@mikeerickson what minimum version of Node do you think we should support?

@skaterdav85 I am thinking 6.11.5 as it is LTS but only for the current version.  When the ES6 rewrite is complete, I am thinking v8 as there are significant improvements and greatest ES6 support, and will be the next LTS.
https://github.com/nodejs/Release

@alanhr old code does not mean a bad product.  It is very stable and feature complete.  Having said that, as I have stated previously I have already embarked on the ES6 rewrite.
A library of this nature will not offer a great amount of enhancement (other than opportunity to refactor and organize a bit better).  There will not be any significant performance as it just doesn’t lend itself to that type of change.

@mikeerickson sounds good to me. I think adding a few ES6 features here and there could make the code a little easier to read, which may entice newcomers to help contribute.

@mikeerickson we can use rollup to deliver a good optimized bundle with UMD pattern and add a CLI

@alanhr yes, that is what I am using.  But what would the CLI feature include?  I dont see an obvious benefit of a CLI tool?

@mikeerickson in my opinion the CLI can be use to do a deploy for npm when we create a new release  instead of add dist in repository and the another good feature is check the test and cover of code in PR

As Mike has mentioned, we do intend to cleanup the code and modernise it, though it's a big undertaking. I think it would make sense to consolidate all the issues for next version into one so we can scope out what the next major version will look like so everyones on the same page. It may also make sense to do little bits to work towards moderning the code over time rather than a major refactor. Closing for now


Compile never works [plz help]

Describe your problem here.
it worked before but now
i formated pc and im trying to download stuff again and it doesnt work
every time i use lime test windows doesnt do anything
https://github.com/ShadowMario/FNF-PsychEngine/assets/166650038/2b228023-7f18-428a-bd4d-2cc2ab653290
Are you modding a build from source or with Lua?
Source
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
i installed everything librarys and visual studio 2019 and 2022

Someone helped me in discord


Fixes for multiple examples

Describe changes
I manually ran the examples and found quite a few issues which this PR solves.
In addition, it fixes the GCP artifact store registration and a cli error when registering a stack component.
Pre-requisites
Please ensure you have done the following:

[x] I have read the CONTRIBUTING.md document.
[ ] If my change requires a change to docs, I have updated the documentation accordingly.
[ ] If I have added an integration, I have updated the integrations table.
[ ] I have added tests to cover my changes.

Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Other (add details above)

@AlexejPenner Haven't actually taken a look at all of them but will hopefully have time for that later. There are also aws_secret_manager and cloud_secrets_manager examples, do you know if we can get rid of one of the two?

@AlexejPenner Haven't actually taken a look at all of them but will hopefully have time for that later. There are also aws_secret_manager and cloud_secrets_manager examples, do you know if we can get rid of one of the two?

The AWS secret manager should be unnecessary, the cloud one explains the approach for both aws and gcp


Logger, onValueChanged and comment issue

Hello, at the first I should say thanks for your awesome repo
Anyway I have some issue with that

Why did you use logger package for validating data this is very annoying. Please add an options to disable that

There is some delay to update value in onValueChanged
for example I write this json and after that immediately press a button:

but I get this json as JsonElement:

{
    "test": ""
}

When I try to add jsonString with a comment the comment does not display:

JsonEditor.string(
  jsonString: '''
  {
      // Insert your data here
  }
  ''',
  enabled: true,
  onValueChanged: (value) {
    document = value;
  },
),

Hi there! Thanks a lot for your suggestion. I have optimized the code in 0.0.6.  About 2, onValueChanged called behind the analysis. So there is a delay to make sure the result is correct. You can have a try again. 😊


Can't use CSS Filter property & CSS Grid.

Css issues
Neutron is an awesome library but it is lacking some basic modern functionalities like: filters, grid & pseudo ( :not() ) support.
Can you please incorporate support for this or am I missing something? 😕

Neutron uses IE's engine (Trident) which does not support these features, so I don't think neutron will ever support them, However, @G33kDude is working on a new library that will use webview2 which is based on Microsoft's chromium edge

Very much looking forward to this.


Cannot read property 'object' of undefined

The package generates error because of PropTypes. i checked the code and the is its still importing Proptypes inside react and its already been deprecated since v15.5.

@jayspirits yes, this has been fixed with #11 I will publish a new build to reflect this on npm.

I pointed on the master branch as of the moment :D


Google Signin iOS libraries cannot find React header files

Steps to Reproduce

Follow the steps for iOS configuration as listed in this link

Expected Behavior
App build should succeed
Actual Behavior
When we run the build we get these three errors
/Users/anadi/Code/gitlab/ruplay/mobile-app/node_modules/@react-native-community/google-signin/ios/RNGoogleSignin/RNGoogleSigninButtonManager.m:1:9: fatal error: 'React/RCTViewManager.h' file not found
#import <React/RCTViewManager.h>

/Users/anadi/Code/gitlab/ruplay/mobile-app/node_modules/@react-native-community/google-signin/ios/RNGoogleSignin/RNGoogleSigninButtonManager.m:1:9: fatal error: 'React/RCTViewManager.h' file not found
#import <React/RCTViewManager.h>
        ^~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

/Users/anadi/Code/gitlab/ruplay/mobile-app/node_modules/@react-native-community/google-signin/ios/RNGoogleSignin/RNGoogleSignin.m:1:9: fatal error: 'React/RCTLog.h' file not found
#import <React/RCTLog.h>
        ^~~~~~~~~~~~~~~~
1 error generated.

Environment
Please provide

react-native version : 0.62.2
@react-native-community/google-signin version: 4.0.3
your Podfile, output of running pod install and cocoapods version (if applicable): Podfile and pod install command Gist link, cocoapods version 1.9.2
version of Android, gradle, android plugin for gradle, play-services-auth and version of the Google Play Services app on your phone (if applicable): N/A
version of iOS (if applicable): N/A

hello, I'm using google sign in with RN 62 without problems, so a runnable repro will be needed here. Thank you!


ui-fixes-buttons

Updated css styling for login and sign up buttons.

Login button needs to be centred
Signup should be a link, not a button also centred below the login button
Login form's size should be smaller
Same goes for the signup form

Working on these already. Will commit in this pr.

A sign up button would look much better than a link.


(Potential) Memory Leak In insert() Call

Environment details

OS: Linux Alpine, macOS
Node.js version: v14.3.0
npm version: 6.14.5
@google-cloud/bigquery version: ^4.7.0

Steps to Reproduce
const {BigQuery} = require('@google-cloud/bigquery');

(async () => {
    const client = new BigQuery({
        keyFilename: './google-creds.json',
        projectId: 'myproductid'
    });
    const run = async () => {
        await client
            .dataset('events')
            .table('analytics')
            .insert([{
                insertId: '1',
                json: {
                    test: 1
                }
            }, {
                insertId: '2',
                json: {
                    test: 2
                }
            }], {raw: true});
    };

    setInterval(async () => {
        await run();
    }, 5000);
})();

Here's a production screenshot that shows external memory (top), total heap (middle) and used heap (bottom).

As you can see external memory slowly goes up. If I remove my BigQuery insert statements in my endpoint external memory releases and doesn't gradually increase.
Here's an isolated external memory chart for one of the pods:

I've found out it's (maybe) related to teeny-request being called in<EMAIL_ADDRESS>Specifically this function:
    /**
     * Make a request through the `retryRequest` module with built-in error
     * handling and exponential back off.
     *
     * @param {object} reqOpts - Request options in the format `request` expects.
     * @param {object=} config - Configuration object.
     * @param {boolean=} config.autoRetry - Automatically retry requests if the
     *     response is related to rate limits or certain intermittent server
     * errors. We will exponentially backoff subsequent requests by default.
     * (default: true)
     * @param {number=} config.maxRetries - Maximum number of automatic retries
     *     attempted before returning the error. (default: 3)
     * @param {object=} config.request - HTTP module for request calls.
     * @param {function} callback - The callback function.
     */
    makeRequest(reqOpts, config, callback) {
        const options = {
            request: teeny_request_1.teenyRequest.defaults(requestDefaults),
            retries: config.autoRetry !== false ? config.maxRetries || 3 : 0,
            shouldRetryFn(httpRespMessage) {
                const err = util.parseHttpRespMessage(httpRespMessage).err;
                return err && util.shouldRetryRequest(err);
            },
        };
        if (typeof reqOpts.maxRetries === 'number') {
            options.retries = reqOpts.maxRetries;
        }
        if (!config.stream) {
            return retryRequest(reqOpts, options, (err, response, body) => {
                util.handleResp(err, response, body, callback);
            });
        }

If I return before return retryRequest external memory doesn't go up. Maybe I'm wrong but this is as far as I got before concluding I need some help from the authors.
I hope you can help! Thanks!

If I return before return retryRequest external memory doesn't go up.

Do you mean you do not make the API request? The call to retryRequest(reqOpts, ...) is where the logic of the API request begins.
In general, I've noticed while investigating potential memory leaks, that it's most often Node's internal memory management that is choosing not to release the memory we used... yet. It has its own lifecycle that can make it look like there's a leak. And I'm not sure exactly what will trigger the eventual memory clean up-- when something else asks for memory? When the available system memory from other processes gets knocked down below some threshold? When the memory usage of the Node process hits a preset value? When the Node process isn't busy for a predetermined amount of time?
However, if the process crashes with an out of memory error, we definitely have a problem!
In any case, I'm working on reproducing this. If you have any additional details to share from further investigation on your end, feel free in the meantime. Thanks for reporting!

@stephenplusplus Yeah, not making the actual HTTP request makes it release external memory shortly after.
We have multiple Node.js services and they look just normal; releasing memory often and regularly. This is the only service with this pattern and it uses BigQuery insert and it doesn’t really do anything other than that. This is the status after 44 hours:

Still increasing memory usage and not letting go.
Have you found anything? Looking more into it it looks related to “new Response” in your code.
I’ve also found a “bug” in your code where you look at response type “application/json” or “application/json; charset=utf-8” but the actual response type is UTF-8 (uppercase). It means it uses text() instead of json(). Not a big issue but it’s incorrect. It happens here: https://github.com/googleapis/teeny-request/blob/88ff2d0d8e0fc25a4219ef5625b8de353ed4aa29/src/index.ts#L217
I also find this library a bit hard to follow/understand due to a lot of nested dependencies. Is there any reason why you don’t use e.g. axios directly in this library? Or can I decide to use it myself circumventing teeny-request?

It almost seems like the JSON response from insertAll leaks. It’s a very tiny payload response and it seems to correlate with our number of requests.

Yesterday, I tried to replace the official BigQuery client with my custom axios one with HTTPS pooling, etc. The leak is now gone:

Update: It seems the memory leak is specific to certain versions of Node.js: https://github.com/nodejs/node/issues/33468
The application/json bug is still present in your code.

The issue https://github.com/nodejs/node/issues/33468 is marked fixed and I believe patches to impacted versions have been released. @mortenbo Have you seen this issue reoccur since?

No, all good here. It was a bug in core Node.js that leaked memory. Thanks for taking the time to review this!


[VIS] allow configurable parsing of information including filtering out data

For example, in some HPC sites it is important to "hide" nodes for certain visualizations.

implement include/exclude nodes structure in qtopconf.yaml file


[Refactor] abstracting away common patterns to bifrost.Release

The goal of this is to abstract away the majority of the realease information for future deployers, and current deployers like step-deployer and odin.

Reviews
0/1

More info

Reviews
1/1

lian
1

More info

Reviews
1/1

lian
1

Pull request is reviewed and can be merged to master!
More info


Feature Request: cp_mgmt_simple_cluster module and cp_mgmt_simple_cluster_facts

I was looking at Ansible to help automate.  I was surprised that it had single gateway management but not a simple_cluster... similar to simple_gateway.

I see that simple_cluster has just been added in the latest version on this repo.  It appears that it just isn't part of the latest Ansible yet.  Do you know if the latest version of this has been submitted to Ansible to be included in the future by default?


Feature Request:  Use new feature of BRAT to distribute insider theme version

Feature Requested
Latest  OBSIDIAN-42 BRAT release has option to download and use beta theme if  theme-beta.css in the repo, it would be convenient that this theme would be distributed through this channel as well
https://github.com/TfTHacker/obsidian42-brat/releases/tag/0.7.0
Relevant Screenshot
No response
Checklist

[X] I have checked that the feature is not already available via the Style Settings plugin.
[X] The feature would be useful to more users than just me. (If it's only relevant to you, have you considered using a CSS Snippet?)
[X] My issue concerns Obsidian version 0.16+ and I am not using the Legacy Editor. (Older Obsidian versions and the Lecacy Editor are not supported anymore.)

currently, there is no separate insider version of this theme. But I'll keep it in my mind in case I need to create a new one. Thanks for the suggestins!


Move wallet info into table

Part of some ui-changes I was working on the plane:
I think it's nicer if the wallet balance is part of the table and not at the top.

I like it being placed in the table 👍  if anything, I'd only move it either to the top or bottom of it, it's a bit awkward to the user to have it wedged in between the margin and fees (it's unrelated to that, balance matters whether you have total fees summed up / displayed (and then seeing whether you can afford it)

I like it being placed in the table +1 if anything, I'd only move it either to the top or bottom of it, it's a bit awkward to the user to have it wedged in between the margin and fees (it's unrelated to that, balance matters whether you have total fees summed up / displayed (and then seeing whether you can afford it)

Agree to that, maybe do:

Required margin
Opening fee
Total opening cost
Available balance
Remaining balance

Then it looks like you are doing a calculation:

margin + opening fee = total opening cost
available balance - total opening cost = remaining balance

I think there is already too much information going on here, so I have a counter proposal:

The opening fee is part of the popup already, I'd just moved things around a bit:

bors r+


help~~~

when i use react-grid-layout in my project ,i have a problem :  the new item should be added by dragging rather than clicking a button. and the position of the new item should be update with the moving mouse, just like this:

To achieve this effect, i modify the source code of the react-grid-layout, adding some method , and in my project ,i call this method by refs . i know this may not a good way , so i came here and ask for some help.
thanks ~~

Here's poposal for similar api https://github.com/STRML/react-grid-layout/pull/684
Maybe it should be regular ref with public methods.

Please update your title to something more meaningful :)

Sorry, this is a general question and I wouldn't know where to begin helping you. Please take questions like this to IRC or Gitter.


Exploit makes all dynamic props invisible on preview

The duplication was posted on the DarkRP forums a while ago:
http://pastebin.com/M9WFxF0G
http://forum.darkrp.com/threads/adv-dupe-2-old-exploit.5317
They say it's an old exploit. I reckon it was initially made to crash the server, given all the citadel models. I couldn't reproduce the crash, but all dynamic props and effects (doors, physgun beams) go invisible when I so much as preview it.  Unloading the preview in any way will NOT resolve the problem. It's there until you rejoin.

Exploit like this one have a huge effect on server owners' decisions to disallow dupe uploading, as can be seen in the thread link above.
Adv. dupe 2 version btw is<PHONE_NUMBER>c

The adv dupe just needs to be loaded into the server and everyone will be affected since it shows the preloaded "ghostmodel"

Advdupe2 ghosts are client-side only. This can be closed.

No, it can't. It's still a bug. Besides, doesn't every client draw the ghost?

No, only advdupe1 does that.


Problems with persistence of health state?

Multiple users seem to report that the health state is not preserved in the context of upgrades.
See #2311 and #2234.
We assumed that happens if you migrate from really old versions but maybe the problem is more wide-spread.
I could imagine that reconciliation does not preserve health status or something like that.
We should verify that:

Health state of an app with command health checks is preserved when Marathon restarts.
Health state of an app with command health checks is preserved when migrating from 0.10.x to 0.11.x.

I have issues when on 0.11.0-RC4 marathon restart does not fix the issue, HTTP health checks:

Unfortunately, I cannot reproduce this easily. Any ideas what I could do differently, @bobrik ?
I tried to reproduce this with COMMAND health checks:
{
    "cmd": "python -m SimpleHTTPServer $PORT",
    "cpus": 0.1,
    "disk": 0.0,
    "healthChecks": [
        {
            "command": {
                "value": "curl -f -X GET http://$HOST:$PORT0/"
            },
            "gracePeriodSeconds": 10,
            "ignoreHttp1xx": false,
            "intervalSeconds": 10,
            "maxConsecutiveFailures": 3,
            "path": "/",
            "portIndex": 0,
            "protocol": "COMMAND",
            "timeoutSeconds": 3
        }
    ],
    "id": "/test",
    "instances": 1,
    "mem": 16.0,
    "ports": [
        10000
    ]
}

and with HTTP health checks:
{
    "cmd": "python -m SimpleHTTPServer $PORT",
    "cpus": 0.1,
    "disk": 0.0,
    "healthChecks": [
        {
            "gracePeriodSeconds": 10,
            "ignoreHttp1xx": false,
            "intervalSeconds": 10,
            "maxConsecutiveFailures": 3,
            "path": "/",
            "portIndex": 0,
            "protocol": "HTTP",
            "timeoutSeconds": 3
        }
    ],
    "id": "/test-http",
    "instances": 1,
    "mem": 16.0,
    "ports": [
        10000
    ]
}

start marathon 0.10.x
start app with COMMAND health checks (one instance)
start app with HTTP health checks (one instance)
start marathon 0.11.0
scale up to 5
all tasks become green after a while

I also tried restarting Marathon.
Note, though, that Marathon took a while to start the health checks and show them as healthy after restarting.

This is not easily reproduced, I've only seen that once and already restarted an app that had this issue. What should I save to help you debug it next time it happens?

@bobrik: I would say

the Marathon log (at least from the restart on that exhibited the problem). You can grep for the task id prefix for the app id in question in the Marathon log before the restart and/or in the Mesos Master log. I would think that the Mesos log is not required in this case, though.
the app id in question
Mesos state.json might come in handy

Hi guys, I think I can point the cause, I have the same problem and I saw this in the log:
[2015-10-28 21:43:16,764] INFO Removing health check for app [/proxy/v1] and version [2015-10-28T23:37:09.492Z]: [HealthCheck(Some(/health),HTTP,0,None,5 seconds,10 seconds,10 seconds,1,false)] (mesosphere.marathon.health.MarathonHealthCheckManager$$EnhancerByGuice$$4dd4f13e:85)

Looking at the code, a condition where after the reconciliation, if the task version != app.version, it removes the health check:
https://github.com/mesosphere/marathon/blob/master/src/main/scala/mesosphere/marathon/health/MarathonHealthCheckManager.scala#L126
So, if you scale your app and a new app version is generated, after the reconciliation, the health check will be disabled

Hey @gomes, thanks for your analysis! That is a likely cause.

Its easy to reproduce if you start Marathon with a low reconciliation inteval (e.g. --reconciliation_interval 10000) and then scale up an app. Thanks again, @gomes .

@kolloch I’m glad to help


Update 0166-swift-archival-serialization.md

Fixed a grammer mistake. Replaced This is can be limiting in Swift ... with This can be limiting in Swift ...

Good catch — thanks!


fix: export split button

I think that we need commit better descriptions on this repo, since is an open-source project.


Accessibility: ORCA screen reader is not announcing name property

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.89.0
OS Version: Windows 11 Enterprise 23H2 (OS build 22631.3296)

Copied from https://github.com/microsoft/vscode-azureapicenter/issues/122
"Check out Accessibility Insights! - Identify accessibility bugs before check-in and make bug fixing faster and easier."
Please do not close this bug. This bug should only be closed by Trusted Tester after verification.
GitHub Tags
#A11yTCS; #A11yMAS; #A11ySev2; #WCAG4.1.2; #GH_VSCodeextensionforAPICenter_Linux_Apr2024; #DesktopApp; #VS Code Extension for API Center; #ORCA; #Linux; #FTP;
Environment Details:
Application Name: VS Code Extension for API Center
OS: Windows 11 Enterprise 23H2 (OS build 22631.3296)
Screen reader: ORCA
Repro Steps:

Start ORCA screen reader.
Create an API center in azure portal.
Open Visual studio Code.
Tab till Chat option in the left side panel and press enter.
Type @terminal in chat box and hit ENTER key.
TAB to "What are some popular front end framework for web development" and "Explain the suggested command" buttons.
Observe the issue.

Actual Result:
ORCA screen reader is not announcing name property of "What are some popular front end framework for web development" and "Explain the suggested command" buttons.
Expected Result:
ORCA screen reader should be announcing name property of "What are some popular front end framework for web development" and "Explain the suggested command" buttons.
User Impact:
Screen reader users will not be able to get the information about the controls and will miss the information.
Attachment:

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.89.0. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

Tested on latest 1.89.0, still have this issue.

isn't this a duplicate of https://github.com/microsoft/vscode/issues/212323?
if not, what happens when you tab to those?
can you reproduce on NVDA? if not, this is an issue with ORCA, and should be opened for them instead of us.

isn't this a duplicate of #212323?
if not, what happens when you tab to those?
can you reproduce on NVDA? if not, this is an issue with ORCA, and should be opened for them instead of us.

@PoojaNamde Please confirm.


(architecture): Architecture requirements document

A choice needs to be made on which strategy to follow when designing an architecture for your
system. There are three main strategies: decomposition, design based on quality requirements,
and generating test cases. Justify your choice.

Styles, Quality Requirements, Design and Patterns, Constraints, Technology Choices


BUG in MultiBoxTargetForward when there is single box label

There was a constraint on num_label in MultiBoxTargetForward function at multibox_target.cu:359 which will cause error when input label has only one box, is it safe to remove it?
PS: cpu version multibox_target.cc has no such constraint.
template
inline void MultiBoxTargetForward(const Tensor<gpu, 2, DType> &loc_target,
const Tensor<gpu, 2, DType> &loc_mask,
const Tensor<gpu, 2, DType> &cls_target,
const Tensor<gpu, 2, DType> &anchors,
const Tensor<gpu, 3, DType> &labels,
const Tensor<gpu, 3, DType> &cls_preds,
const Tensor<gpu, 4, DType> &temp_space,
const float overlap_threshold,
const float background_label,
const float negative_mining_ratio,
const float negative_mining_thresh,
const int minimum_negative_samples,
const nnvm::Tuple &variances) {
const int num_batches = labels.size(0);
const int num_labels = labels.size(1);
const int label_width = labels.size(2);
const int num_anchors = anchors.size(0);
const int num_classes = cls_preds.size(1);
CHECK_GE(num_batches, 1);
CHECK_GT(num_labels, 2); // here
CHECK_GE(num_anchors, 1);
CHECK_EQ(variances.ndim(), 4);
error logged as follows:
(1, 3318, 4)  # anchor
[[[ 1.          0.1032258   0.01        0.88387096  0.41333333]]] #input box label
<NDArray 1x1x5 @gpu(0)> (1, 6, 3318) # cls_pred
[14:31:57] /home/vision/miniconda3/conda-bld/mxnet_1514016712864/work/dmlc-core/include/dmlc/./logging.h:308: [14:31:57] src/operator/contrib/multibox_target.cu:359: Check failed: num_labels > 2 (1 vs. 2)

@sandeep-krishnamurthy  Could you please tag it as

Bug
Question
C++

@zhreshold Thoughts?

This seems to be related to the functionality of MXNet backend itself and doesn't pertain to C++ API package. @sandeep-krishnamurthy , could you please update this issue and change its labels: remove "C++" and add "Backend"? Thank you!

@sandeep-krishnamurthy @nswamy This issue is fixed. Please close it. Thanks!

now, this bug appear in python mxnet-cu80==1.3.1, can you check it?

@xiaoqihe 1.3.1 was released before this fix, so please wait for the next release or try nightly build instead.


example source code

The hello world is too basic, any example source code to build a real web server?
Are there any Crow discussion mailing list or forum?

The hello world is too basic, any example source code to build a real web server?
Are there any Crow discussion mailing list or forum?

I think so.

https://crowcpp.org has guides and a link to a chat room on gitter. Feel free to ask your questions there.
This repository has been abandoned for 4 and a half years. There is a maintained version here.


[other]: Require python-scipy package

Other
I have been trying to build python-scipy package. However, the build fails due to toolchain not supporting FORTRAN. python-scipy package depends on lapack. LAPACK requires FORTRAN supported by toolchain. I am unable to proceed because of this.
buildroot_error_scipy_lapack_fortran.txt

Please elaborate. I am using ubuntu. i ran apt-get install gfortran-riscv64-linux-gnu. but still getting the error.
-- The Fortran compiler identification is unknown
-- The C compiler identification is GNU 7.3.0
CMake Error at CMakeLists.txt:3 (project):
No CMAKE_Fortran_COMPILER could be found.
`[CAN k510_buildroot]$ make
if [ ! -f toolchain/nds64le-linux-glibc-v5d.txz ] ||  [ "c87c87089fe2f0445a94054e8ae7b947" !=  "c87c87089fe2f0445a94054e8ae7b947" ]; then
rm -rf toolchain/nds64le-linux-glibc-v5d* ;
wget -c https://github.com/andestech/Andes-Development-Kit/releases/download/ast-v3_2_1-release-linux/nds64le-linux-glibc-v5d.txz  -O toolchain/nds64le-linux-glibc-v5d.txz;
tar --no-same-owner -xf /opt/k510_buildroot/toolchain/nds64le-linux-glibc-v5d.txz -C /opt/k510_buildroot/toolchain;
fi;
if [ ! -f toolchain/nds64le-elf-mculib-v5d.txz ] || [ "d2dcf2729c2e6b654c4be197c2c75987" !=  "d2dcf2729c2e6b654c4be197c2c75987" ]; then
rm -rf toolchain/nds64le-elf-mculib-v5d* ;
wget -c https://github.com/andestech/Andes-Development-Kit/releases/download/ast-v3_2_3-release-linux/nds64le-elf-mculib-v5d.txz -O toolchain/nds64le-elf-mculib-v5d.txz;
tar --no-same-owner -xf /opt/k510_buildroot/toolchain/nds64le-elf-mculib-v5d.txz -C /opt/k510_buildroot/toolchain;
fi;
make -C /opt/k510_buildroot/buildroot-2020.02.11 "k510_crb_lp3_v1_2_defconfig" O=/opt/k510_buildroot/"k510_crb_lp3_v1_2_defconfig" BR2_EXTERNAL=/opt/k510_buildroot
make[1]: Entering directory '/opt/k510_buildroot/buildroot-2020.02.11'
GEN     /opt/k510_buildroot/k510_crb_lp3_v1_2_defconfig/Makefile

configuration written to /opt/k510_buildroot/k510_crb_lp3_v1_2_defconfig/.config

make[1]: Leaving directory '/opt/k510_buildroot/buildroot-2020.02.11'
make -C /opt/k510_buildroot/"k510_crb_lp3_v1_2_defconfig"
make[1]: Entering directory '/opt/k510_buildroot/k510_crb_lp3_v1_2_defconfig'
/usr/bin/make -j1 O=/opt/k510_buildroot/k510_crb_lp3_v1_2_defconfig HOSTCC="/usr/bin/gcc" HOSTCXX="/usr/bin/g++" syncconfig
GEN     /opt/k510_buildroot/k510_crb_lp3_v1_2_defconfig/Makefile

lapack 3.9.0 Downloading
Will not apply HSTS. The HSTS database must be a regular and non-world-writable file.
ERROR: could not open HSTS store at '/root/.wget-hsts'. HSTS will be disabled.
--2023-10-08 21:22:49--  https://github.com/Reference-LAPACK/lapack/archive/v3.9.0/lapack-3.9.0.tar.gz
Resolving github.com (github.com)... <IP_ADDRESS>
Connecting to github.com (github.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://codeload.github.com/Reference-LAPACK/lapack/tar.gz/refs/tags/v3.9.0 [following]
--2023-10-08 21:22:49--  https://codeload.github.com/Reference-LAPACK/lapack/tar.gz/refs/tags/v3.9.0
Resolving codeload.github.com (codeload.github.com)... <IP_ADDRESS>
Connecting to codeload.github.com (codeload.github.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/x-gzip]
Saving to: '/opt/k510_buildroot/k510_crb_lp3_v1_2_defconfig/build/.lapack-3.9.0.tar.gz.0KQQhr/output'

/opt/k510_buildroot/k510_crb_lp3_v1_2_defconfig     [              <=>                                                                                ]   7.18M  2.02MB/s    in 3.6s
2023-10-08 21:22:55 (2.02 MB/s) - '/opt/k510_buildroot/k510_crb_lp3_v1_2_defconfig/build/.lapack-3.9.0.tar.gz.0KQQhr/output' saved [7534567]
lapack-3.9.0.tar.gz: OK (sha256: 106087f1bb5f46afdfba7f569d0cbe23dacb9a07cd24733765a0e89dbe1ad573)

lapack 3.9.0 Extracting
gzip -d -c /opt/k510_buildroot/dl/lapack/lapack-3.9.0.tar.gz | /opt/k510_buildroot/k510_crb_lp3_v1_2_defconfig/host/bin/tar --strip-components=1 -C /opt/k510_buildroot/k510_crb_lp3_v1_2_defconfig/build/lapack-3.9.0   -xf -
lapack 3.9.0 Patching
lapack 3.9.0 Configuring
(mkdir -p /opt/k510_buildroot/k510_crb_lp3_v1_2_defconfig/build/lapack-3.9.0//buildroot-build && cd /opt/k510_buildroot/k510_crb_lp3_v1_2_defconfig/build/lapack-3.9.0//buildroot-build && rm -f CMakeCache.txt && PATH="/opt/k510_buildroot/k510_crb_lp3_v1_2_defconfig/host/bin:/opt/k510_buildroot/k510_crb_lp3_v1_2_defconfig/host/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"  /opt/k510_buildroot/k510_crb_lp3_v1_2_defconfig/host/bin/cmake /opt/k510_buildroot/k510_crb_lp3_v1_2_defconfig/build/lapack-3.9.0/ -DCMAKE_TOOLCHAIN_FILE="/opt/k510_buildroot/k510_crb_lp3_v1_2_defconfig/host/share/buildroot/toolchainfile.cmake" -DCMAKE_INSTALL_PREFIX="/usr" -DCMAKE_COLOR_MAKEFILE=OFF -DBUILD_DOC=OFF -DBUILD_DOCS=OFF -DBUILD_EXAMPLE=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TEST=OFF -DBUILD_TESTS=OFF -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=ON  -DLAPACKE=ON -DCBLAS=ON -DBUILD_COMPLEX=ON -DBUILD_COMPLEX16=ON )
-- The Fortran compiler identification is unknown
-- The C compiler identification is GNU 7.3.0
CMake Error at CMakeLists.txt:3 (project):
No CMAKE_Fortran_COMPILER could be found.

Tell CMake where to find the compiler by setting either the environment
variable "FC" or the CMake cache entry CMAKE_Fortran_COMPILER to the full
path to the compiler, or to the compiler name if it is in the PATH.
-- Check for working C compiler: /opt/k510_buildroot/k510_crb_lp3_v1_2_defconfig/host/bin/riscv64-linux-gcc
-- Check for working C compiler: /opt/k510_buildroot/k510_crb_lp3_v1_2_defconfig/host/bin/riscv64-linux-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Configuring incomplete, errors occurred!
See also "/opt/k510_buildroot/k510_crb_lp3_v1_2_defconfig/build/lapack-3.9.0/buildroot-build/CMakeFiles/CMakeOutput.log".
See also "/opt/k510_buildroot/k510_crb_lp3_v1_2_defconfig/build/lapack-3.9.0/buildroot-build/CMakeFiles/CMakeError.log".
make[2]: *** [package/pkg-generic.mk:259: /opt/k510_buildroot/k510_crb_lp3_v1_2_defconfig/build/lapack-3.9.0/.stamp_configured] Error 1
make[1]: *** [Makefile:23: _all] Error 2
make[1]: Leaving directory '/opt/k510_buildroot/k510_crb_lp3_v1_2_defconfig'
make: *** [Makefile:80: all] Error 2`

It seems that CMake is using the toolchain specified by Buildroot, but the Andes toolchain does not provide a Fortran compiler. The Andes toolchain is open source, and you can download the source code from https://github.com/andestech/Andes-Development-Kit/releases/download/ast-v3_2_1-release-linux/nds64le-linux-glibc-v5d.txz. You may need to compile the Andes toolchain yourself to add gfortran, or you can choose not to use the Buildroot and instead compile LAPACK & python separately. The programs generated by the generic riscv compiler can be used for the K510 Linux, but the Linux kernel in Buildroot needs to be compiled using the Andes compiler.

As suggested, i have tried to cross-compile scipy in the following environment.

In Ubuntu i installed PYTHON with all depencies.
Installed gcc-riscv64-linux-gnu, gfortran-8-riscv64-linux-gnu on ubuntu.
compiled LAPACK, BLAS libraries using gcc-riscv64-linux-gnu
downloaded scipy-1.8.1 from github and then set environment variables and lapack libraries for scipy
export FC=riscv64-linux-gnu-gfortran
export CC=riscv64-linux-gnu-gcc
and ran the following command
[scipy]$ python3 setup.py build --fcompiler=riscv64-linux-gnu-gfortran --compiler=riscv64-linux-gnu-gcc

output: (getting error)
error: don't know how to compile C/C++ code on platform 'posix' with 'riscv64-linux-gnu-gcc' compiler
scipy_crosscompile.txt

I haven't compiled scipy before, so I'm not sure about the cause of this issue. However, I checked the scipy code repository, and it seems to have a significant amount of C++ code. This means that besides specifying a C compiler, you may also need to specify a C++ compiler. Additionally, I noticed that the latest version of scipy has switched to using meson for compilation, while version 1.8.1 still uses setup.py. I haven't compiled Python native packages before, so I'm not familiar with how compilers are typically specified.

@srianvesh If there is no feedback on the results or situation for more than 7 days, the issue will be closed.. If you have any questions later, please create it again, thank you!

@srianvesh If there is no feedback on the results or situation for more than 7 days, the issue will be closed.. If you have any questions later, please create it again, thank you!

I'm trying the options mentioned by @MrThanlon. out of the two options mentioned, i have tried cross-compiling scipy using cross-compiler riscv toolchain. However i am struck during scipy compilation that it searches for riscv-target python.


feat: add key auth for admin api

 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.

To handle this, instead of adding dedicated functionality here, we'd recommend just adding headers to the HTTP client you provide when creating the Kong client. We do something similar in the controller, where we provide a headers argument and inject those headers when building an HTTP client for our Kong client:
https://github.com/Kong/kubernetes-ingress-controller/blob/ba67e3e2690498f5ea8de16c9055cfeca9d5fa38/internal/manager/config.go#L106
https://github.com/Kong/kubernetes-ingress-controller/blob/ba67e3e2690498f5ea8de16c9055cfeca9d5fa38/internal/manager/config.go#L192
https://github.com/Kong/kubernetes-ingress-controller/blob/ba67e3e2690498f5ea8de16c9055cfeca9d5fa38/internal/adminapi/client.go#L68-L73
In addition to query string parameters, key-auth will look for any header with the same name as the key (as long as key_in_header is not disabled) and read its value as the key, which will work well with the standard client headers feature and avoids including keys in access logs. Those headers do still show up in Kong logging plugins, however, so I'd actually further recommend moving to basic-auth or some other plugin that uses the standard Authorization header always--our logging plugins recognize that and redact it, but won't recognize key-auth header names.


Include new student

Including Christopher Moura as a student.
Resolves rishabh-bansal/Make-a-Pull-Request#1

Hi there @rishabh-bansal!
Could you review this commit, please? Thank you in advance!


fixing ciphersuites for using lets encrypt

I'm confused because I don't recall having to do this to get Let's Encrypt working for Cloud-Gate. Is something broken? Or is this preventative?

Before this patch non tls 1.3 clients will break (was trying to test something with curl and noticed this issue).

Ah, right. I found problems using curl and Keymaster, I hadn't tried Cloud-Gate.


Support deploy keys

I've made some updates to my original Rake task. In particular, I've switched to using deploy keys over tokens. Here is the behavior I imagine should be implemented here.

Check for .deploy_key, if found use the deploy key method. (Add an option to set the name of the deploy_key file to use). This method needs to use git over ssh not https.
Otherwise fall back to token method.

See here for the relevant changes in Rakefile: https://github.com/razor-x/jekyll-and-zurb/compare/15465d21578aa0af20837f3ec7d228c6efeffe6f...master
Note in particular that the deploy key should never be allowed to be committed to the build (e.g. don't leave it up to the user to add it to some ignore file).
Also updated README instructions: https://github.com/razor-x/jekyll-and-zurb#automatic-publishing-to-github-pages-with-travis-ci

This may not work for Organization and User pages:
Seems Github is saying "Don't use deploy keys"
https://help.github.com/articles/troubleshooting-github-pages-build-failures/#deploy-key-used-for-push

That's odd, I have tested this method for an organization repo both normal and for the special .io repo name. See for example https://github.com/agony-unleashed/agony-unleashed.github.io

I'm a gh-pages/jekyll noob, I just saw that instruction from Github in the Github help pages while I'm trying to figure out why my repo (https://github.com/mistsys/mistsys.github.io)  doesn't work. Its built with https://github.com/asciidoctor/jekyll-asciidoc-quickstart which uses rake-jekyll.
I noticed that in your example https://github.com/agony-unleashed/agony-unleashed.github.io you have the markdown in the source branch and the rendered html in the master. I was under the impression that the source should be in master and the rendered in gh-pages. Am I just mixed up?
Thanks for any help you may have.

@rberger Take a look at https://pages.github.com. gh-pages branch is for all repos except the special .io one  that can exist for a user or org.

Thanks for the tip! That is so much clearer than the github help pages. Also means that the asciidoctor quick start (at least the docs) needs to be modified to properly deploy to user/organization pages.
Thanks

@rberger I was running into the same issue with asciidoctor/jekyll-asciidoc-quickstart
I solved it by creating a source branch that contains the quickstart template, and changing the Rakefile to deploy to the master branch:
Rake::Jekyll::GitDeployTask.new(:deploy) do |t|
	t.deploy_branch = 'master'
end

@rberger This will auto-select the correct branch:
t.deploy_branch = -> {
  t.remote_url.match(/github\.io\.git$/) ? 'master' : 'gh-pages'
}

This will use the ssh url if you want to use deply keys:

t.remote_url = -> {
  %x(git config remote.origin.url)
  .gsub(%r{^git://}, 'git@')
  .sub(%r{/}, ':').strip
}

@rberger I’ve implemented support for SSH keys in 90445790e9e6a56f041cc0f18a5256346d7f114a. Please try it and let me know if it’s suitable for you.

I tried using this here https://github.com/razor-x/jekyll-and-zurb/commit/e2522d06c5afd06cb39972116e98ce4076802801, but I had to revert and keep the ssh-agent stuff, https://github.com/razor-x/jekyll-and-zurb/commit/c59cf96f773659f1fca5957a1f853f22f14a3aa4.
Here is the failed Travis build: https://travis-ci.org/razor-x/jekyll-and-zurb/builds/68561632, in particular it fails with:
$ bundle exec rake travis

git clone 'git@github.com:razor-x/jekyll-and-zurb.git' .

Cloning into '.'...

Warning: Permanently added the RSA host key for IP address '<IP_ADDRESS>' to the list of known hosts.

Permission denied (publickey).

fatal: Could not read from remote repository.

I think the problem here is simply that when using the ssh address git@github.com:razor-x/user/repo.git to clone, you need a valid public key, which doesn't exist normally in the Travis environment.

Nope, the problem is that Travis uses very old version of git that doesn’t support GIT_SSH_COMMAND yet (Ubuntu :angry:). So I have to find another solution.

Fixed in 1f298b2ddb36fd16b92a6f9e40729464a3114656. I’ve tested it with Travis and it works now.

@razor-x, please let me know if it works for you. I’ll publish 1.1.0 after that.

I'm trying it now here:

Working with ssh-agent: https://travis-ci.org/rxfork/jekyll-and-zurb/builds/68737281
Failing when I remove it: https://travis-ci.org/rxfork/jekyll-and-zurb/builds/68737394

I thought maybe I needed to keep only sh 'chmod 600 .deploy_key', but it still fails with that.
I know the Travis docs say to use the ssh-agent, but if you have it working I'm not sure why mine would fail.

I think that the difference is that you don’t have a public key in your repository. I’ve commited both encrypted private key and unencrypted public key.

Hmm, I'm not sure how that would cause the issue. I just tested your suggestion by adding .deploy_key.pub and it still fails the same way: https://travis-ci.org/rxfork/jekyll-and-zurb/builds/68738195

Okay, I see the problem… Replace gem 'rake-jekyll', '~> 1.0.3', github: 'jirutka/rake-jekyll' with gem 'rake-jekyll', github: 'jirutka/rake-jekyll', ref: '1f298b2' in your Gemfile, run bundle install and commit changes in both Gemfile and Gemfile.lock. ;)

The branch that is building from already uses the gem from GitHub: https://github.com/rxfork/jekyll-and-zurb/blob/70099a0cbdcb08c6fb97c663232f16e19b6fd081/Gemfile.lock#L1-L3

I tried updating it anyway to match, but still failing:

https://github.com/rxfork/jekyll-and-zurb/blob/rake-refactor/Gemfile#L5
https://travis-ci.org/rxfork/jekyll-and-zurb/builds/68740460

Any particular reason you don't want to just use something like
eval $(ssh-agent)
chmod 600 "$SSH_PRIVATE_KEY"
ssh-add "$SSH_PRIVATE_KEY"

Would love to get v1.1.0 out. Do you have an example of a repo where this is working? Maybe I can compare and try and see why I can only get it to work via ssh-agent.
If you have tested it and it's on my end only, don't let that hold up v1.1.0. I can still update to v1.1.0  and just use the ssh-agent workaround until I work out the issue.

Do you have an example of a repo where this is working?

Yeah, I’ve just created it in the branch test-deploy-key. And here is a successful build on Travis.

@razor-x Have you looked at it, any ideas why it doesn’t work for you?

@jirutka Yes, sorry. I updated to 1.1.0 and I have it working without ssh-agent now. Not 100% sure what the issue was before.

Great, I’m glad that it works for you! :smile_cat:
BTW, the reason I didn’t want to use ssh-agent is that it may affect some other tasks outside of this one. This may not be an issue in practice, but… The solution with GIT_SSH variable is IMHO cleaner and doesn’t have any side-effects outside of the rake process.

@jirutka That's smart, I'm glad you found that alternative as I didn't really like using ssh-agent either and you're right about possible side effects (it was just what the Travis docs say do use).


Update documentdb-indexing.md

JSON structure mistake in the {"locationId": 5, "city": "Moscow"} example. Replaced comma with colon.

Hi @davenewza, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no contribution license agreement is required at this point. Real humans will now evaluate your PR.

TTYL, AZPRBOT;

@mimig1
Please review and approve/disapprove, thanks.

#sign-off Aravind approved.


ffprobe fails, moov atom not found on new videos

Unfortunately, we couldn't download your asset from LBRY. You can help us out by sharing the below error message in the LBRY discord.

Command failed: ffprobe -v error -of flat=s=_ -select_streams v:0 -show_entries stream=height,width /home/lbry/Downloads/answering-your-questions-at.mp4 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x2358d80] moov atom not found /home/lbry/Downloads/answering-your-questions-at.mp4: Invalid data found when processing input

Got this when going to https://spee.ch/0472f3f9124521183ae4b8aecf019855db58fb6c/answering-your-questions-at-anime-expo - have not refreshed, but Travis mentioned if you try a few times, it ends up going through.

I've been looking into the moov atom (https://www.adobe.com/devnet/video/articles/mp4_movie_atom.html), and I am thinking this error is probably happening because the moov atom is at the end of these files and spee.ch is trying to read the data from the moov atom before it has downloaded the whole file.

I'm getting it for files uploaded through yt sync, which are all web optimized (should have moov atom at front). Maybe it's trying to read too quickly?


Segmentation fault when running middleman build

Hi team,
I'm facing segmentation fault when running bundle exec middleman build very stably. I only see the segmentation fault when I run this on CircleCI, and not locally. Here is an example of failed build.
...
      create  build/javadoc/socialradar/locationkit/package-frame.html
      create  build/javadoc/socialradar/locationkit/package-summary.html
      create  build/javadoc/socialradar/locationkit/package-tree.html
/home/ubuntu/locationkit-android-docs/vendor/bundle/ruby/2.2.0/bin/middleman: [BUG] Segmentation fault at 0x00000000000000
ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-linux]

-- Control frame information -----------------------------------------------
c:0001 p:0000 s:0002 E:000a40 TOP    [FINISH]

-- Machine register context ------------------------------------------------
 RIP: 0x00007f89b8eb9845 RBP: 0x00000000000000a0 RSP: 0x00007fffe6e7ade0
 RAX: 0x2d6568742d746567 RBX: 0x00000000061af510 RCX: 0x0000000000011a68
 RDX: 0x2d746e6572727563 RDI: 0x00007f89b91f9760 RSI: 0x0000000000000000
  R8: 0x8000000420000000  R9: 0x00007f89b91f97b8 R10: 0x00007f89b91f9798
 R11: 0x00007f89b91f97b0 R12: 0x00000000061af590 R13: 0x0000000000000020
 R14: 0x0000000001a62200 R15: 0x00007f89b91f9760 EFL: 0x0000000000010206

I'm using middleman 3.3.12 and ruby 2.2.3 but I got the same seg fault with any version of ruby 2.x.
Any help is appreciated.
Thanks,
Kim

Hmm, can you try MM 3.4.0? I've got a bunch of 3.4.0 and 4.0.0.rc.1 apps running on Circle without issue.

I tried 3.4.0 and getting different error.
*** Error in `ruby': double free or corruption (!prev): 0x0000000003b2cf30 *** Action failed: bundle exec middleman build

Here is build.
Actually, I've gotten the double free error as well as the seg fault with 3.3.12 and the double free error is easier to get than the seg fault.
I've tried 4.0.0.rc.1 but I got some totally different errors, but I think that's because contents are not written for 4.0.0, so not sure if 4.0.0 will fix the issue.

Wow, I really doubt this is MM related. How is ruby being installed on the CI box? Looks like something you see when a compile has gone bad

We just use RVM, so I'm not sure if that makes difference. I will try install ruby with some different way and see if that works.

Does CircleCI not provide a way of configuring this? Are you compiling a ruby version in each build context?

Well, CircleCI pre-installed different version of ruby via RVM and users will chose which version to which in build. Does this answer your question?

I'm doing some issue-gardening 🌿🌷🌾 and came across this issue.
Sorry that this has lingered for quite a while! I'd suggest closing this issue. If the problem resurfaces a repro or failing test would be a good start in solving this. Ideally also a patch with a fix.

As per @sandstrom's comment, I'll close this issue since I'm not working on this and don't know if I can still reproduce the issue.


How to put default_map_attrs

Hi i need help where to use default_map_attrs
in settings.py ?

Nowhere, cause the documentation says nothing about such possibility. The default_map_attrs are default by default and all you have to do is override them by defining map_attrs during the model form, form field or widget initialization.

The idea of some user defined custom default seems nice but is not really necessary for getting the work done. Hopefully I've answered your question. Closing for now.