With 500K jobs in the delayed_jobs table, it gets really slow

With around 500K jobs in the delayed_jobs table, it gets really slow, to the point of being unusable. My slow query log is filled with these:
SET timestamp=1379681371;
UPDATE delayed_jobs SET locked_at = '2013-09-20 12:49:20', locked_by = 'delayed_job host:node1365 pid:20668' WHERE ((run_at <= '2013-09-20 12:49:20' AND (locked_at IS NULL OR locked_at < '2013-09-20 08:49:20') OR locked_by = 'delayed_job host:node1365 pid:20668') AND failed_at IS NULL) ORDER BY priority ASC, run_at ASC LIMIT 1;
// Time: 130920  8:49:36
// Query_time: 4.683968  Lock_time: 0.000069 Rows_sent: 0  Rows_examined: 1
SET timestamp=1379681376;
DELETE FROM delayed_jobs WHERE delayed_jobs.id = 5233997;
// Time: 130920  8:50:55
// Query_time: 6.367763  Lock_time: 0.000082 Rows_sent: 3  Rows_examined: 595935
SET timestamp=1379681455;
SELECT COUNT(*) AS count_all, priority AS priority FROM delayed_jobs  WHERE (run_at < '2013-09-20 12:50:48' and failed_at is NULL) GROUP BY priority;
I have the following indexes (added some more to speed up some queries that were showing up in the slow query log):
mysql> show index from delayed_jobs;
+--------------+------------+-----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| Table        | Non_unique | Key_name              | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
+--------------+------------+-----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| delayed_jobs |          0 | PRIMARY               |            1 | id          | A         |      628375 |     NULL | NULL   |      | BTREE      |         |
| delayed_jobs |          1 | delayed_jobs_priority |            1 | priority    | A         |          16 |     NULL | NULL   | YES  | BTREE      |         |
| delayed_jobs |          1 | delayed_jobs_priority |            2 | run_at      | A         |       24168 |     NULL | NULL   | YES  | BTREE      |         |
| delayed_jobs |          1 | delayed_jobs_lock     |            1 | locked_at   | A         |           9 |     NULL | NULL   | YES  | BTREE      |         |
| delayed_jobs |          1 | delayed_jobs_lock     |            2 | locked_by   | A         |           9 |      100 | NULL   | YES  | BTREE      |         |
| delayed_jobs |          1 | locked_by             |            1 | locked_by   | A         |           9 |     NULL | NULL   | YES  | BTREE      |         |
| delayed_jobs |          1 | failed_at             |            1 | failed_at   | A         |          97 |     NULL | NULL   | YES  | BTREE      |         |
| delayed_jobs |          1 | run_at                |            1 | run_at      | A         |       13660 |     NULL | NULL   | YES  | BTREE      |         |
+--------------+------------+-----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
But still, it is extremely slow.

Can we learn something from que?

Que only works with postgresql. So nope.

I am suffering this issue now:

Rails 4.2.6

DelayedJob 4.1.2

Workers: 4
select count(*) from delayed_jobs; // -> 279105
SQL (3674.6ms)  UPDATE delayed_jobs SET delayed_jobs.locked_at = '2016-06-06 08:16:47', delayed_jobs.locked_by = 'delayed_job host:XXX pid:32370' WHERE ((run_at <= '2016-06-06 08:16:47.546325' AND (locked_at IS NULL OR locked_at < '2016-06-06 04:16:47.546367') OR locked_by = 'delayed_job host:XXX pid:32370') AND failed_at IS NULL) ORDER BY priority ASC, run_at ASC LIMIT 1

I have tried to add more worker but it just make the problem worst

You can try Delayed::Backend::ActiveRecord.configuration.reserve_sql_strategy = :default_sql
Using that can effect performance both ways, but for some people it helps.
Also is that 280k active jobs or is that mostly old failed jobs?
If all those are active what is your average job runtime? DJ is not the ideal candidate if you are running massive numbers of very fast jobs.
If they are old failed jobs, do you really still need them?

Also is that 280k active jobs or is that mostly old failed jobs?

All active

If all those are active what is your average job runtime?

Less than a second, but enough to want to put them out of the request.

DJ is not the ideal candidate if you are running massive numbers of very fast jobs.

Good to know
Thanks @albus522

SO thread: http://stackoverflow.com/q/40360455/316700

On MySQL at least, this appears to be due to the LIMIT 1 in several UPDATE queries.  See this blog post for a bit more explanation.
I dropped my delayed_job table from ~220k to ~9k rows (lots of failures due to an application bug) and reduced MySQL CPU usage from 80% to 15%.

In Postgres, you can significantly speed it up just with 2 trivial steps:

Use "SELECT ... FOR UPDATE SKIP LOCKED" instead of just "SELECT ... FOR UPDATE" (the code is here https://github.com/collectiveidea/delayed_job_active_record/blob/master/lib/delayed/backend/active_record.rb)

Add this index:

CREATE INDEX "i_delayed_jobs_priority_partial" ON "delayed_jobs" USING btree (priority, run_at, queue) WHERE failed_at IS NULL;

SKIP LOCKED was introduced in postgres 9.5, so that feature requires a relatively new postgres install and would require us to make our code even more complicated with db version detection so things don't break for some uesrs.
Indices are probably something we need to revisit, but results have not been consistent for any suggested index update so far. They have generally worked for a users specific case but not all and this index is very specific to postgres.

@albus522 thank you for your response, but it was not a change request, it was advice for those who uses DJ with Postgres (I hope with 9.6 or at least 9.5, otherwise one more advice -- upgrade!).
I considered to create a pull request but changed my mind when saw how many of them are being unprocessed for years in this repo.

Indexing is definitely the way to go. Here's what ours looks like:
add_index "delayed_jobs", ["deleted_at", "locked_at", "failed_at", "queue", "run_at", "locked_by"], name: "deleted_at_locked_at_failed_at_queue_run_at_locked_by", using: :btree

With about 200,000 rows, our queries went from about 500ms to 0.7ms, a 714x improvement.

@joshuapinter that's a huge composite index and I doubt if most of the fields there are really adding any speed to your queries.
It's been quite long since I moved away from delayed_job, but try having an index on just the most selective column (or may be two if one is not good enough) in the query and that should give you similar performance gains. Once you are down from say a million rows to 100 (using a selective column index), the extra columns in index don't really add much value. It just makes your write costly.
Looking at the queries above (unless they have changed in newer versions), probably multiple single column indexes make more sense for this than one huge multi column composite index.

@amitsaxena You're right. I'm gonna run some quick tests there and see where I can stop and still achieve the same performance improvements.

@amitsaxena Ha! You're right. I got the same performance improvement just by using a single deleted_at column in the index, which makes sense because that filters things down to single digit records instead of 200,000+.
Thanks for the tip and reminder!

Glad that I could be of help! :)

@albus522 isn't it time to reconsider it?

SKIP LOCKED was introduced in postgres 9.5, so that feature requires a relatively new postgres install

Less than in one year, 9.5 will become the oldest community-supported version of Postgres, see https://www.postgresql.org/support/versioning/. Already now the most versions which are supported by PGDG have SKIP LOCKED feature. And MySQL also has it since version 8.

Indices are probably something we need to revisit, but results have not been consistent for any suggested index update so far.

Have you checked the index I proposed in https://github.com/collectiveidea/delayed_job/issues/581#issuecomment-289920478? I believe it is helpful if not to all cases, but to majority of them.

For MySQL 5.6, adding an index on the failed_at column helped considerably.

Many select queries (120 reads) on a table with under 2k entries resulted in everything coming to a crawling halt.
Adding an index on delayed_jobs(priority,run_at) improved the situation.
I had another index only on the column priority. I had to drop that index because it was preferred by mysql 5.7.

I added an index on delayed_jobs(priority,run_at) and switched to the default_sql strategy, which is pretty stable now with about 1M records.
Delayed::Backend::ActiveRecord.configuration.reserve_sql_strategy = :default_sql

I added an index on delayed_jobs(priority,run_at) and switched to the default_sql strategy, which is pretty stable now with about 1M records.
Delayed::Backend::ActiveRecord.configuration.reserve_sql_strategy = :default_sql

@jairovm With PostgreSQL or MySQL?

It was MySQL, but I ended up building a hybrid between DelayedJob and Sidekiq, wrote a small rake task that grabs jobs from the delayed_jobs table in batches of 1_000, and it then enqueues their ids into Redis, which Sidekiq workers pick and process the jobs using Delayed::Worker, something like this.
namespace :jobs do
  desc 'Enqueue Delayed::Job records'
  task enqueuer: :environment do
    Rails.logger.info "Starting job:enqueuer task"

    loop do
      if Sidekiq::ProcessSet.new.size.positive?
        Delayed::Job.order(:run_at).where(run_at: ..Time.current).limit(1_000).pluck(:id).each do |id|
          Rails.logger.info "Enqueueing DelayedJob::Job: #{id}"
          DelayedJob::EnqueuerJob.perform_later(job_id: id)
        end
      else
        Rails.logger.info "No workers available, skipping delayed_job jobs for now."
      end

      sleep 10
    end
  end
end

class DelayedJob::EnqueuerJob < ActiveJob::Base
  sidekiq_options retry: 5
  queue_as :critical

  def perform(job_id:, **)
    Delayed::Job.transaction do
      return unless (job = Delayed::Job.lock.find_by(id: job_id))

      Delayed::Worker.new.run(job)
    end
  end
end

With that, you can run rake jobs:enqueuer instead of rake jobs:work  task, we have about 1.5M records in our delayed_jobs table, and it's working pretty well 👌🏽 ( still a beta version of this, tho )
I hope it helps 👍🏽

@jairovm thanks for the feedback!
Meanwhile I developed a similar batch solution, but within delayed job itself. It helped for a short interim period but now dj was fully dropped and replaced with an AMQP based approach. Works much smoother, no polling and scales nicely.

In Postgres, you can significantly speed it up just with 2 trivial steps:

Use SELECT ... FOR UPDATE SKIP LOCKED instead of just SELECT ... FOR UPDATE (the code is here https://github.com/collectiveidea/delayed_job_active_record/blob/master/lib/delayed/backend/active_record.rb)
Add this index:

CREATE INDEX i_delayed_jobs_priority_partial
  ON delayed_jobs USING btree (priority, run_at, queue) WHERE failed_at IS NULL;

I've added the indices to the delayed_job table and I'm already seeing significant improvement! Does anyone know how to do the modifications for the first step mentioned regarding using 'SELECT ... FOR UPDATE SKIP LOCKED' ? I assume it should be done in the delayed_job initializer file in rails.

I've added the indices to the delayed_job table and I'm already seeing significant improvement! Does anyone know how to do the modifications for the first step mentioned regarding using 'SELECT ... FOR UPDATE SKIP LOCKED' ? I assume it should be done in the delayed_job initializer file in rails.

Ran into a similar issue recently where large row counts in the delayed_jobs table caused high row lock contention on the db and job processing ground to a halt. The following monkey patch in an initializer file that added the SKIP LOCKED postgresql query functionality and voila our db lock contention vanished 💥 (note we do have the index defined as well)
# typed: false
# frozen_string_literal: true
# https://github.com/collectiveidea/delayed_job/issues/581#issuecomment-289920478
# https://www.postgresql.org/docs/16/sql-select.html ('The Locking Clause' section)
module Delayed
  module Backend
    module ActiveRecord
      class Job < ::ActiveRecord::Base
        def self.reserve_with_scope_using_optimized_postgres(ready_scope, worker, now)
          quoted_name = connection.quote_table_name(table_name)
          subquery    = ready_scope.limit(1).lock("FOR UPDATE SKIP LOCKED").select("id").to_sql
          sql         = "UPDATE #{quoted_name} SET locked_at = ?, locked_by = ? WHERE id IN (#{subquery}) RETURNING *"
          reserved    = find_by_sql([sql, now, worker.name])
          reserved[0]
        end
      end
    end
  end
end

Shout out to @NikolayS for providing the fix that worked for us.
Also other postgres backed queue systems implement the SKIP LOCKED

https://github.com/rails/solid_queue/blob/664931da38548e5a3845952fe24b24f5285950ee/app/models/solid_queue/record.rb#L11
https://github.com/Betterment/delayed/blob/24b75f56c43e470ecdec2d3afdcc11bb21a6e2e3/app/models/delayed/job.rb#L88

and a good read on why using this feature is a good idea, https://www.2ndquadrant.com/en/blog/what-is-select-skip-locked-for-in-postgresql-9-5/

Looks like there has been progress on supporting this technique in the backend gem https://github.com/collectiveidea/delayed_job_active_record/pull/215


PowerShell Core should be supported in WinRm from Linux systems

Summary of the new feature/enhancement
In the scenario where krb5-user (in Ubuntu Kerberos client) has been installed and configured to connect to a Windows System joined AD domain using PowerShell Core remoting, will connect opening a Windows PowerShell session.
It would be nice in both Windows and other cross-platform systems to have the ability to choose with PowerShell Edition to use: Windows PowerShell, PowerShell, or PowerShell Preview.
Maybe adding and -PSEdition parameter then providing which PowerShell Edition to connect.

You can do this today already.  When using New-PSSession, use the -ConfigurationName parameter.  By default, it uses Microsoft.PowerShell which maps to Windows PowerShell.  If you run Enable-PSRemoting from PSCore6, it creates PowerShell.6 or PowerShell.6-Preview depending on the release as well as the version specific one like PowerShell.6.1.0.

@SteveL-MSFT
Oh! I will check this out and update my blog post.
Thanks you,
:)

Just an FYI!
It works!! THANK YOU!!


Is loading spinner provided?

Is loading spinner provided in your library?
material design loading spinner

I have not found any here. However you can use the ActivityIndicator of react-native, and implement it your own way.


since smartmontool already is run for each drive, why not pull the temperature as well ?

Is your feature request related to a problem? Please describe.
running smartctl for each drive already takes a relatively long time, why run it twice if we want drive temperatures ?
Describe the solution you'd like
You mention temperatures are retrieved with mini-ipmi, it would be more efficient if mini-ipmi did not use smartctl (or only optionally) and let this (zabbix-smartmontools scripts) get the temperatures.
Describe alternatives you've considered
running mini-IPMI as well...

The reasons for not handling temperatures with zabbix-smartmontools are:

zabbix-smartmontools have marginally larger data footprint, it's wasteful to run it every 22 minutes
decreasing zabbix-smartmontools run cycles will produce more spin-ups on some systems, reducing drive's lifetime
I don't have free time to interconnect zabbix-smartmontools and zabbix-mini-IPMI for efficient operation, and even if I did, it would be configuration hell for the user
I plan to collect all drive temperature history on zabbix-mini-IPMI, it will be an additional smartctl call anyway

The reasons for not handling temperatures with zabbix-smartmontools are:

zabbix-smartmontools have marginally larger data footprint, it's wasteful to run it every 22 minutes

right, so that is why I suggest to run it less overall

decreasing zabbix-smartmontools run cycles will produce more spin-ups on some systems, reducing drive's lifetime

but you just said you want to run it less often ?

I don't have free time to interconnect zabbix-smartmontools and zabbix-mini-IPMI for efficient operation, and even if I did, it would be configuration hell for the user

no need to interconnect anything

I plan to collect all drive temperature history on zabbix-mini-IPMI, it will be an additional smartctl call anyway

so it will call smartctl too ? increasing the number of calls
and why collect drive temperatures in the ipmi tool ?
I do not understand your answer I am even more confused. My whole point is : what is the point or running a tool twice for the same data. An accessory point is why take data from one data set (drives) and shove it into another (ipmi)
zabbix-smartmontools runs smartctl already, so it already has the drives temperatures. My point is that when just running smartmontools, the temperatures are there, they just need to be parsed out of the smartctl output, since it's already part of the data collected, might as well put it in that template.
but in the current setup, zabbix-miniIPMI then runs, again smartctl.
so, as far as I understand, smartctl is run twice when it could run once.
I do not suggest any interconnect between the two (miniIPMI/smartmon).
I must be missing something here but I do not see the advantage in mixing datas ources in this case. Normal IPMI already does not provide drive temperatures, but just some chassis and cpu temperatures.

PS: your answer makes sense if smartmontool runs smartctl rarely (once a day) and miniIPMI would run it often.

That's correct. By default zabbix-smartmontools runs every 12 hours and zabbix-mini-IPMI runs every 22 minutes (for drives). There's no need in temperature monitoring if it's not recent.


WIP: Changelog for 1.20-1

Issue #, if available:
N/A
Description of changes:
This is a WIP!
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Closing to re-open in a different PR


GNOME Circle Tweaks

https://gitlab.gnome.org/Teams/Circle/-/issues/143#note_1723472

[x] Implement Enter and ESC keys in dialogs
[x] Remove accounts from Recents list
[x] Arbitrary color labels don't work

[x] Those Rows are too busy. Maybe remove icons, move delete into edit dialog.

[x] Don't use color to mark today in calendar (at least not yellow)
[x] Use AccountSetupDialog for selecting filename and save location of account
[x] Use correct minus sign (#525)
[x] Switch sorting default to by date, recent first
[x] "tbh, I would drop this "color per transaction" concept completely. Colors as indicators don't work for everyone. And even if your eyes can differentiate colors, you have to remember what they mean. Just replace it with labels which have colors. And then check if you really want to go with groups + labels. But color + labels + groups is just a bit much."

https://github.com/NickvisionApps/Denaro/releases/tag/2023.6.0-beta1


Agus

This is just a test version of the backend :), I need to work in the TODOs and also use javadoc.

great!


Fix serialization of area and load_zone in buses

This will definitely break deserialization from previous versions because we were storing areas and load zones as objects instead of UUIDs in the JSON.  We were also allowing addition of buses if attached areas and load zones were not part of the system.

I am not too concerned with back-compatibility of serialization until 1.0


outdated example: .jsx Unexpected token

I'm probably doing something wrong. getting unexpected token error:
  4 |   render: function() {
  5 |
> 6 |     return ();
    |             ^
  7 |   }
  8 | });
  9 |

deps:
  "dependencies": {
    "babel-core": "^6.5.2",
    "metalsmith": "^2.1.0",
    "metalsmith-react-templates": "^3.1.3",
    "react": "^0.14.7",
    "react-dom": "^0.14.7"
  }

build.js
var Metalsmith    = require('metalsmith');
var reactTemplate = require('metalsmith-react-templates');

Metalsmith(__dirname)
  .source('src')
  .destination('build')
  .clean(true)
  .use(reactTemplate({
    directory: 'templates',
    isStatic: true
  }))
  .build(function(err) {
    if (err) throw err;
  });

entry.jsx
var React = require('react');

var Entry = React.createClass({
  render: function() {

    return ();
  }
});

module.exports = Entry;

The return value of render function should have at least one element.
So either
var React = require('react');

var Entry = React.createClass({
  render: function() {

    return (<div />);
  }
});

module.exports = Entry;

var React = require('react');

var Entry = React.createClass({
  render: function() {

    return null;
  }
});

module.exports = Entry;

Hi, thanks for looking into this :) I've tried with html elements, error remains the same. It seems there is some kind of issue with babel? I'm not familiar to say for sure. But I saw this: http://stackoverflow.com/questions/33460420/babel-loader-jsx-syntaxerror-unexpected-token

at the moment I've switched to this: https://github.com/richardstevens/metalsmith-react-tpl it uses babel < 6 and works perfectly fine.
I'd rather use your version though, richardstevens seems to have cloned your repo without license or attribution. not cool.

@sandrodz Ah. yes. I've managed to reproduce your error.
Babel 6 changed the way they actually process files. Out of the box, it doesn't do anything now and needs plugins to actually transform the files. You'll need to have
npm install babel-preset-es2015
npm install babel-preset-react

and add a .babelrc file with the following set
{
    "presets": ["es2015", "react"]
}

For more information:
https://babeljs.io/docs/plugins/#presets

nice! it worked :) :+1:


Can't upload zip file into the BloodHound Web GUI

I installed BloodHound CE on Kali Linux. According to the docs, Drag and drop zip file into the BloodHound GUI, and the interface will merge the data into the database. However, it doesn't work and I can't find anywhere else on the web to upload files

We've got some ideas around how to implement this. There's a few +1 for this issue from the community Slack channel as well.
We're due some internal discussion for priority before I can give any kind of ETA or acceptance of the feature request but I will respond here with our decision later today.

In terms of ergonomic, coming from BH v4 I searched for the upload feature for ages.
I searched the upload data button on the UI for 10 minutes feeling stupid. Then search in all the sections of the official documentation https://support.bloodhoundenterprise.io/hc/en-us where there is documentation for data collection but not for data upload / ingestion. It's only taking a look at all issues there with the keyword upload (and not import) that I found that it's either drag and drop a zip or select and upload json files at http://<IP_ADDRESS>:8080/ui/administration/file-ingest.

It would be more straightforward and satisfy muscle memory to get back the quick access feature bar like in BH v4
https://cdn-0.securityonline.info/ezoimgfmt/camo.githubusercontent.com/ed8436812674fefc493bcc9336b087d6395d7757/687474703a2f2f692e696d6775722e636f6d2f6c74623570316b2e706e67?ezimgfmt=rs:202x484/rscb1/ng:webp/ngcb1

This is resolved with v5.8.0


Overflow Toolbar Toogle Button + Overflow Toolbar Menu Button in List Report

Hi,
Is it possible Overflow Toolbar Toogle Button + Overflow Toolbar Menu Button to include a in the "Z2UI5_CL_APP_DEMO_49" example?
https://sapui5.hana.ondemand.com/#/entity/sap.m.OverflowToolbarToggleButton
https://sapui5.hana.ondemand.com/#/entity/sap.m.OverflowToolbarMenuButton
Best Regards
Thomas

I added these controls to demo z2ui5_cl_app_demo_06:

you can add it to any other report in the same way as they work as normal aggregation controls for toolbars (will also add this to the list report with the next changes)
Best regards.

Thank you for the implementation.


feature: add a UAP target in ReactiveUI.Uno with namespace differences.

A user friendly feature.
Allow the users to use the ReactiveUI.Uno namespace for UAP namespaces if they include it in. This will allow UAP users to use the same XAML files both all platforms.

Closing, going to reopen with some more fixes.


Fixes Azure.Deployment.AdminUsername #1758

PR Summary

Fixed Azure.Deployment.AdminUsername does not match the pattern.

Fixes #1758
PR Checklist

[x] PR has a meaningful title
[x] Summarized changes
[x] Change is not breaking
[x] This PR is ready to merge and is not Work in Progress
Rule changes

[x] Unit tests created/ updated
[x] Rule documentation created/ updated
[x] Link to a filed issue
[x] Change log has been updated with change under unreleased section

/azp run


Added 'name' field to waypoint

Details

Bifurcated the address search with title and description for each address with a new field called name for each address.

Fixed Issues

$ https://github.com/Expensify/App/issues/29222
PROPOSAL: https://github.com/Expensify/App/issues/29222#issuecomment-1761774827
Tests

Click on request money.

Click on distance tab

Click on start and search for a location (as shown in video)

Make sure the places are shown with a title and a description.

Click on save and then select the finish place in the same way.

Make sure the waypoint names are shown like this:

Click on 'Next' and make sure the request is created successfully.

Go to the request and click on the receipt.

Make sure the receipt has the name of the place as well as description

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

Click on request money.

Click on distance tab

Click on start and search for a location (as shown in video)

Make sure the places are shown with a title and a description.

Click on save and then select the finish place in the same way.

Make sure the waypoint names are shown like this:

Click on 'Next' and make sure the request is created successfully.

Go to the request and click on the receipt.

Make sure the receipt has the name of the place as well as description

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/77237602/a50c3628-d8df-4f86-a7bd-2f6d0c41f7db

Android: mWeb Chrome
https://github.com/Expensify/App/assets/77237602/ee7c9a8d-405b-4fc9-8284-cf3e5213b2f0

iOS: Native

https://github.com/Expensify/App/assets/77237602/08064a28-c995-4e20-8b23-fc3925c30fad

iOS: mWeb Safari

https://github.com/Expensify/App/assets/77237602/a4cf462c-9287-4d94-b1b2-d24c177fe05b

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/77237602/05bdb408-dd20-4aca-93d0-f689ec850f45

MacOS: Desktop

https://github.com/Expensify/App/assets/77237602/a6ee2364-319e-4472-bcc9-ab061d6f2494

@mananjadhav I will attach the videos today (have to compress them without losing all the quality 😅) In the meantime, feel free to go over the changes

@mananjadhav @dubielzyk-expensify All the videos have been added

Thanks @esh-g. I'll get to this in a while.

@esh-g Can you confirm that we don't need to update AddressSearch.stories.js?

@mananjadhav I don't think so because in the stories page, we are not able to access the places from the API anyway... It only shows the not found and error cases.

I just checked that. I asked because we're updating the view behavior of the component, but it looks like we don't pass the props to be able to populate the UI. Thanks for confirming.

I think we have one issue here. Assuming if we have users with existing recent pins. They won't show up because the name is empty.
https://github.com/Expensify/App/assets/3069065/2d3be951-9879-4a98-858d-b86bade6f5bc
I am not sure if it's a case to consider, but this can lead to a bad experience for the user.

@mananjadhav I also noticed that but it will only be faced for the current users until they don't replace their recents with the new format... I'm not sure if this would be a case to consider as well. So, please let me know if I should do so...

I think it's a non-issue. Hence I am going ahead with the testing. We'll confirm with @Julesssss on this one.

Thanks for the quick PR @esh-g.
@neil-marcellini All yours. Want your feedback on this comment.
🎀 👀 🎀 C+ reviewed.

Looks good. I do think this shouldn't be a thing though:

There should always be a primary text line and in this instance there's only a secondary one.

@dubielzyk-expensify Yes, but that is only temporarily for existing users and it won't affect new users in any way... But still let me know if I should make a fix for this as well (maybe by setting the primary text to what the secondary text currently is and removing secondary text?, if name doesn't exist)

That solution sounds okay in my books, but before we make the decision, why is this different for existing users only?

@dubielzyk-expensify The backend stores the recent waypoints of the user and before this change, there was no 'name' field in the backend waypoints, so it is not defined for the waypoints that were set before this change but for every new waypoint set after this change, it will have a 'name' field both in the front-end and the back-end

Okay, I see. Well, then lets go for:
A) New users, show primary text and secondary text
B) For existing users show primary text as main

@dubielzyk-expensify @neil-marcellini Just pushed a commit to handle that case... Let me know if it looks good!

Gentle bump @neil-marcellini @dubielzyk-expensify

@neil-marcellini Really sorry for the delay... I have made all the requested changes. The main difference of opinion here was that I thought name ought to be a 'required' field which is why I wanted to make sure it was defined everywhere but I have raised the concern here but still I have now made the changes to make it an optional field

gentle bump @neil-marcellini

I'm pushing back on the design decision a bit and we'll discuss it in Slack. I'll let you know what we decide.

We decided in Slack (internally) that it's ok to have the address displayed in the secondary text style when the place name is missing.

@neil-marcellini Are you saying that only for the distance receipt or also for the suggestion row?

@mananjadhav would you please test once more since we have made a handful of changes?

I will test this in a few hours.

@neil-marcellini @esh-g Tested with the updated changes.
Screenshots/Videos

Web
https://github.com/Expensify/App/assets/3069065/561fed0f-84bf-4c48-8de4-c15438d1bd61

Mobile Web - Chrome
https://github.com/Expensify/App/assets/3069065/3a511fa0-0c0f-47ba-b894-d2260982d2dc

Mobile Web - Safari
https://github.com/Expensify/App/assets/3069065/a0be78e5-4c67-4a46-8993-9713f2658ca9

Desktop
https://github.com/Expensify/App/assets/3069065/99abeb26-c09a-4b05-8cbe-3f99ed16c8a9

iOS
https://github.com/Expensify/App/assets/3069065/5d0e743b-c5af-4664-9740-39bdfb2c028e

Android
https://github.com/Expensify/App/assets/3069065/44f2d8da-fbe8-4161-815c-2115644ad7f5

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/neil-marcellini in version: 1.3.91-1 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/marcaaron in version: 1.3.91-8 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/Beamanator in version: 1.3.93-1 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


python-libraries/nanover-mdanalysis/src/nanover/mdanalysis/universe.py

Getting errors when trying to hide solvent molecules
MDAnalysis.coordinates.timestep import Timestep
gives the error
ModuleNotFoundError: No module named 'MDAnalysis.coordinates.timestep'
Fixed it changing to
from MDAnalysis.coordinates.base import Timestep

@jc14269 is this still an issue for you?


ci(postman): Add cybersource collection

Type of Change

[ ] Bugfix
[ ] New feature
[x] Enhancement
[ ] Refactoring
[ ] Dependency updates
[ ] Documentation
[x] CI/CD

Description
Added Cybersource collection to automation setup and fixed assertion failure for Adyen connector
Additional Changes

[ ] This PR modifies the API contract
[ ] This PR modifies the database schema
[ ] This PR modifies application configuration/environment variables

Motivation and Context
There was no cybersource collection in our automation setup ,hence I added it
How did you test it?
Postman

Checklist

[ ] I formatted the code cargo +nightly fmt --all
[ ] I addressed lints thrown by cargo clippy
[x] I reviewed the submitted code
[ ] I added unit tests for my changes where possible
[ ] I added a CHANGELOG entry if applicable

Kindly update the reason for closing the PR.


object.Tree.FindEntry should return ErrFileNotFound rather than errEntryNotFound

If directory is not found, it will return the public error ErrDirNotFound. For a missing file, it returns errEntryNotFound: https://github.com/src-d/go-git/blob/f01958913fab6e1967c1317b7222d1160212371c/plumbing/object/tree.go#L178
Since the error is private there isn't a way to programmatically check for that condition.

@jsravn Note that an entry can be a directory, file, symlink or submodule. So ErrDirNotFound would not be correct in every situation.

@jsravn Note that an entry can be a directory, file, symlink or submodule. So ErrDirNotFound would not be correct in every situation.

What would you suggest for my usecase then: programmatically determining the entry is not found? Currently tree.go only exposes the errors:
// New errors defined by this package.
var (
	ErrMaxTreeDepth      = errors.New("maximum tree depth exceeded")
	ErrFileNotFound      = errors.New("file not found")
	ErrDirectoryNotFound = errors.New("directory not found")
)

And FindEntry returns ErrDirNotFound already if it's a tree entry that's missing. Would it make more sense to expose ErrEntryNotFound as public?

@jsravn Yes. Making ErrEntryNotFound would be more sensible.

@smola Okay, I've updated my PR.

https://github.com/src-d/go-git/pull/885


Spanish translation

This pull request adds a spanish translation with folders and edit to resconfigs.

Thanks!
Note that there are a few syntax errors in the values-es/strings.xml file that I will fix shortly.


Screen operation can not be performed by 'ScreenContainer'.

I do not know what is going on, but it seems to happen when I navigate the FlatList component tab that uses Image several times.
Expected behaviour
ScreenContainer does not appear and should be able to access Component.

Code sample
const BottomTab = createBottomTabNavigator(
  {
    [PATH.ITEM_BOOK]: {
      screen: ItemBookNavigator,
    },
    [PATH.FAVORITE_BOOK]: {
      screen: FavoriteBookNavigator,
    },
    [PATH.RENTAL]: {
      screen: RentalNavigator,
    },
     {
    tabBarPosition: 'bottom',
    initialRouteName: PATH.RENTAL,
  },
);

export default BottomTab;

Screenshots (if applicable)

What have you tried

It was solved by not using useScreen.

// useScreens();

However, I can not figure out the effect of not using useScreen.

Your Environment

software
version

ios or android
ios (Android does not occur)

react-native
0.55.4

react-navigation-tabs
1.0.2

node
8.11.1

npm or yarn
1.7.0

Sorry, it was an issue already picked up in react-native-screens. It is a duplicate so close it.
https://github.com/kmagiera/react-native-screens/issues/53


'IConfigurationBuilder' does not contain a definition for 'AddSystemsManager'

I'm getting the following error on .NET Core 2.2 after adding this library as a NuGet package:
'''
'IConfigurationBuilder' does not contain a definition for 'AddSystemsManager' and no accessible extension method 'AddSystemsManager' accepting a first argument of type 'IConfigurationBuilder' could be found (are you missing a using directive or an assembly reference?)
'''

Could you provide more context?  Maybe a self-contained repro?
Did you forget to add using Microsoft.Extensions.Configuration ?

Closing due to inactivity.

I had the same issue.  Running dotnet restore from the cli in the solution folder fixed the issue for me.


chore: Simplify keyboard shortcuts

We were using a boolean and an object|undefined to track if keyboard shortcuts were listening, simplified to just the object|undefined.

https://githuReleased: https://github.com/wxt-dev/wxt/releases/tag/wxt-v0.19.23b.com/wxt-dev/wxt/releases/tag/wxt-v0.19.23


add js chaincode for the private data concept

Signed-off-by: abdou.chakhkhar<EMAIL_ADDRESS>In this PR, I implemented the js chaincode for the private data concept, which s gonna allow the js developers to get familiarized so quickly with private data APIs in the nodejs SDK.

@abdou-chakhkhar Could you please respond to @mbwhite? Thanks.

Not having received any response I'm closing this. We unfortunately cannot afford to take on new code.
If you do want to pick it up and address the comments, please, do reopen it.
Thank you for your contribution.


add server side GCM support

A long time coming:
https://developer.android.com/google/gcm/server.html

For @mwfarb , what is the exact part we need from 3rd party support? It seems like a similar issue we had before from urban airship.

Given our current model it should be the HTTP model outlined in the link, not XMPP. We should be able to connect to GCM servers directly, just as with C2DM. Am I missing something else you're referring too?

Complete now in 61b1b3ceba2ffbe6040f1ee278e266ea16f28d30


multiline message (like ruby exception) is divided into single line messages.

I'm seeing that a ruby exception comes in form of separate messages for each line. Does it work as intended ?

It is docker limitation. Docker generates json logs per line.
See also: https://docs.fluentd.org/v0.12/articles/docker-logging#additional-step-2:-concatenate-multiple-lines-log-messages

@repeatedly What do I have to do to get this concat snippet into the fluentd config template ? Is there an option to configure this via a configMap? Or is there another way around ?

@zerthimon since @include conf.d/* was added here you can add your own configmap and a volume to the daemonset yaml:
configmap:
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: YOUR-CONFIG-MAP
data:
  00_docker_concat.conf: |-
    <filter docker.**>
      @type concat
      key log
      stream_identity_key container_id
      multiline_start_regexp /^-e:2:in `\/'/
      multiline_end_regexp /^-e:4:in/
    </filter>

Excerpt of what you need to add to daemonset:
spec:
  template:
    spec:
      containers:
          volumeMounts:
            - name: kubesconf
              mountPath: /fluentd/etc/conf.d
      volumes:
      - name: kubesconf
        configMap:
          name: YOUR-CONFIG-MAP

Be aware that the example filter block is for fluentd v0.12 and would need to be changed for v1.x

Although for exception handling this might be better: https://github.com/GoogleCloudPlatform/fluent-plugin-detect-exceptions
<match kubernetes.**>
  @type detect_exceptions
  remove_tag_prefix kubernetes
  message log
  languages all
  multiline_flush_interval 0.1
</match>

@bdashrad Wow, this is awesome! Thanks a lot, I'll give it a try!

@zerthimon i had some time today to test this, and unfortunately both fluent-plugin-concat and fluent-plugin-detect-exceptions are not in the base docker image, but you could create a Dockerfile with the base image here as the source and add it yourself.

https://www.fluentd.org/guides/recipes/docker-logging has the 1.0 config for concat

@bdashrad Thanks for the research!
Are there plans to get these plugins into official image of fluent/fluentd-kubernetes-daemonset ?
In the meantime I'll make my own image, no problem with that.
Got a question though: Do I need to be using filter kubernetes.** instead of docker.** in a kubernetes setup ?

@bdashrad the filter block you posted earlier looks the same as the one at https://www.fluentd.org/guides/recipes/docker-logging am i missing something ?

@zerthimon I think that config would work. It also looks like @repeatedly added the concat plugin to the image in #268 so it should be easier to implement this now.

Are there plans to get these plugins into official image of fluent/fluentd-kubernetes-daemonset ?
In the meantime I'll make my own image, no problem with that.
Voting up.
I'll go with private images until then as well...

Hi, we are also facing issue of handling multiline logs (Java stack traces) . Could some one point to fluend image having fix/config in place


662/mk/use open payments types

Changes proposed in this pull request

Exporting additional IncomingPayment types from open-payments package
Adding async toOpenPaymentsType() method for subresources to convert from model to the corresponding open-payments type, removing toJSON types and method where necessary
use toOpenPaymentsType() methods in the route handlers when creating response

Context

Fixes #662

Checklist

[x] Related issues linked using fixes #number
[ ] Tests added/updated
[ ] Documentation added
[ ] Make sure that all checks pass

Currently running into this challenge: when calling .toOpenPayments on a model, I need the corresponding paymentPointer.url. However, other than the  IncomingPayment model, Model.paymentPointer is optional, since it needs to be fetched from the DB. IncomingPayment gets around this via .withGraphFetched(..., 'paymentPointer') existing on every IncomingPayment query, but I feel like it could be easy to miss when making those calls in the service. A few options exist here:

Go with the IncomingPayment method, add a non-null assertion (paymentPointer!) to each of the PaymentPointerSubresources, and add .withGraphFetched(..., 'paymentPointer') everytime when requesting a model from the DB.
Make toOpenPaymentsType async, and have a helper method getPaymentPointer/getWithPaymentPointer that fetches the paymentPointer if its not already on the model instance
Make paymentPointer non-nullable on PaymentPointerSubresources by always eager fetching it (there's a few ways of doing this, one of them being as such

class SubresourceQueryBuilder {
  ...
  execute() {
    this.withGraphFetched('paymentPointer')
    return super.execute()
  }
}

Reading option 1 made think of doing something like option 3.
Adrian's idea :point_down: might eventually help with this.

https://github.com/interledger/open-payments/issues/206

I was trying it out with the example above of overriding execute(), it seemed to work. I was testing out with the debugger, seeing all of the different SQL calls that were made, and even though its straightforward request, I'm a bit concerned that every single request, insert, get, update, it would do this DB call.
Instead of solving it programmatically, what if we just stored a paymentPointerUrl foreign key on the PaymentPointerSubresource models? It is already a non-nullable unique index.
Otherwise, I'm leaning toward making toOpenPaymentsType async, since we fully control when we need that data, and there will never be a possibility of us not adding a field to withGraphFetched

I vote async toOpenPaymentsType over storing paymentPointerUrl on each subresource
~but only if we rename every synchronous function *Sync to make it clear that toOpenPaymentsType is async~ :stuck_out_tongue_winking_eye:

Going to update the auth package with a few of it's types in a follow-up


Additional control over DateTime serialization

In order to work around limitations of third-party deserializers, it would be useful to support the following options for DateTime serialization:

Ability to serialize the UTC time zone as "Z" rather than "+00:00"
Ability to control the number of decimal places in the fractional seconds value

At the moment this is possible by providing a re-implementation of JsonSerializationWriter, which seems excessive for controlling the output of one specific datatype.

Transferring issue as part of https://github.com/microsoft/kiota-abstractions-dotnet/issues/238


chore(api): Review API Code for Improved Logging and Debugging Support

Describe what should be investigated or refactored
We need to review our API code to determine if our current logging practices are sufficient for effective debugging. Specifically, we should:

Assess the current logging coverage.
Identify areas where additional logging could provide valuable insights during troubleshooting.
Evaluate the level of detail in existing log messages and determine if they provide enough context for debugging.
Check if we're using appropriate log levels (INFO, DEBUG, WARNING, ERROR) consistently throughout the codebase.
Consider implementing structured logging for better log parsing and analysis.

Additional context

Our recent issues debugging have highlighted some gaps in our ability to quickly diagnose problems. Better logging could significantly improve our debugging process.
We should consider industry best practices for logging in similar applications and align our approach accordingly.

Closed in favor of #688

an track and monitor API interactions for compliance and debugging purposes
Acceptance Criteria:

[ ]  Implement a configuration option to enable or disable audit logging

[ ]  When audit logging is enabled, generate a unique ID for every API interaction

[ ]  Capture the following information for each API interaction:

[ ]  Unique ID
[ ]  Timestamp
[ ]  User or client making the request
[ ]  Endpoint or API method invoked
[ ]  Request payload (including input data, parameters, and headers)
[ ]  Response payload (including output data, status code, and headers)

[ ]  Store the captured audit logs in a secure and tamper-proof storage system

[ ]  Ensure the audit logging mechanism has minimal impact on the performance of the inferencing pipeline

[ ]  Provide a way to retrieve and query the audit logs based on different criteria (e.g., time range, user, endpoint)

[ ]  Implement proper access controls and authentication mechanisms to restrict access to the audit logs

[ ]  Ensure the audit logging system can handle high volumes of requests without causing performance degradation

[ ]  Provide documentation on how to enable and configure audit logging, as well as how to access and interpret the logged data

[ ]  Conduct thorough testing to verify the accuracy and completeness of the captured audit logs

[ ]  Ensure the audit logging system complies with relevant security and privacy regulations

[ ]  Set up automated monitoring and alerting for any anomalies or suspicious activities detected in the audit logs

[ ]  Regularly review and analyze the audit logs to identify potential issues, optimize performance, and improve the system


[ignition-cmake2] Add new port 🤖

Add a port for ignition-cmake2. As discussed in https://github.com/microsoft/vcpkg/pull/7781, different major version of ignition robotics libraries (https://ignitionrobotics.org/) can be installed side by side, so each new major version is added as a new port.
In particular, ignition-cmake2 is a dependency for Gazebo 11 (http://gazebosim.org/blog/gazebo11) and for Ignition Robotics Citadel (that contains Ignition Gazebo 3, see https://www.openrobotics.org/blog/2019/12/11/ignition-citadel-released).
As far as I was able to test, this port should support all the triplets.
Related issue:

https://github.com/microsoft/vcpkg/issues/8014#issuecomment-578431035

The CI now fails due to a qt5-tools regression, but I am not sure how this is related to the PR.

It seems that there is something wrong with Linux platform.
The regression should be not related to this PR.
I have re run it. Please wait for some time.

/azp run

/azp run

/azp run

Hi @NancyLi1013 , I think I addressed all your comments, so I am not sure why the PR is listed under  "waiting for response"  . Let me know if I need to do something, thanks!

Hi @traversaro
Sorry for the late response.
Since the CI test results were not all passed when I checked them before.

Alright, looks good to me!

Thanks a lot @strega-nil @NancyLi1013 @JackBoosY !


AMQP 0.9.1

Coverage increased (+2.4%) to 37.219% when pulling 856e3b1084f0788eb5620d9b774938285cb21530 on amqp into 2ff3075d125098fd5e38fc4201a3255322238a0a on master.

Coverage increased (+2.4%) to 38.118% when pulling 75caef8958bd902a71f10fb6efc24e2c755733b3 on amqp into f8889ba9aa4c57d4664b008c292d5bd1e23204d1 on master.

Coverage increased (+2.4%) to 38.118% when pulling e74083c1e6cfdf8128216176a4d3fe471e1beb00 on amqp into f8889ba9aa4c57d4664b008c292d5bd1e23204d1 on master.


Disable limit?

It seems there is an implicit limit default of 5. Is there a way to entirely disable the limit?
This is my code:
= link_to_add_association 'Add Domain', a, :domains, partial: 'accounts/domain_fields'

But I'm only able to add up to 5, instead of be unlimited..

Hey there,
We've got some thrilling news for you! GitHub is currently looking for skilled Developers to join our team. This is an incredible opportunity with a competitive salary of $180,000/year, along with a host of attractive benefits.
Interested in taking your career to the next level? Don't miss out! Click here to apply and secure your spot.
Looking forward to potentially welcoming you aboard!
Best regards,
GitHub Recruitment Team
iyansr, @spencer-brown, @shanefontaine, @DongHY1, @fabioassuncao, @ysqi, @tgig, @willianpaixao, @irnb, @TalebRafiepour, @ichuythong, @specter25, @r4m15, @jhoos70, @therealemjy, @tom-field, @ilijapet, @jmanoto, @noahtren, @vladfaust


Change the background

The background of the webpage is plain pink, which is rather monotonous. A custom image can be used as the background to enhance the aesthetic appeal.

Switched to a custom background.

link to projects


Check out and possibly include renovate bot

https://docs.renovatebot.com/python/
This tool is Github/Gitlab independent and can scan for outdated deps

Looks a bit too heavy and cumbersome to set up for small projects, especially the target group of this repo.


Can I expect there to be precisely one instantiation in the XML?

@foo4thought ? or if not, how will I know which is the right one?

Actually, we have no instantiations. Closing.


Java indexer: rename /kythe/edge/defines to /kythe/edge/defines/binding [phab:D491]

Created by schroederc at 2015-09-02 22:57:42:

schroederc wrote at 2015-09-03 16:08:07:
Add schema section for defines/binding edge

zarko commented inline (context lost during migration) at 2015-09-03 17:11:05:
How about:
A defines/binding B when A covers an identifier bound to B when that binding is established.
I'll add C++-specific notes in a followup CL (e.g., we'll allow operator< to be "an identifier" for the purpose of this relationship).

schroederc wrote at 2015-09-03 17:16:02:
Edge description

schroederc wrote at 2015-09-03 17:16:29:
Done

zarko accepted this revision at 2015-09-03 17:17:25

schroederc closed via commit 64d29fbc19d3b0dc9045973c597bb632205e1cc4 at 2015-09-03 17:18:11


flash seems to be broken in 1.2.13

App with flash: true do not serving and finished after start. Also, it calls listen callback twice.
The same example without flash options works as expected.
import nhttp from<EMAIL_ADDRESS>
const app = nhttp({ flash: true });

app.get("/", () => {
  return new Response("Hello, World !!");
});

app.listen(8220, () => {
  console.log("> Running on port 8220");
});

Error output:
E:\..\ts\test > deno run -A test16.ts
> Running on port 8220
> Running on port 8220
E:\..\ts\test >

deno 1.33.1 (release, x86_64-pc-windows-msvc)
v8 <IP_ADDRESS>
typescript 5.0.3

My bad, I forgot unstable key:)


update full change list in changelog

What this PR does / why we need it:
add link of full change list in change log
Which issue(s) this PR fixes (optional, in Fixes #<issue number>, #<issue number>, ... format, will close the issue(s) when PR gets merged):
Fixes #
Checklist:

[ ] Docs included if any changes are user facing

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
8 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.08%) to 42.766%

Files with Coverage Reduction
New Missed Lines
%

pkg/controller.v1/mpi/mpijob_controller.go
8
80.31%

Totals

Change from base Build<PHONE_NUMBER>:
-0.08%

Covered Lines:
3736

Relevant Lines:
8736

💛  - Coveralls

/approve


CLOB support

According to this comment, CLOB is not yet supported - https://github.com/markdirish/node-odbc/issues/11#issuecomment-504989633
Is this still the case?
E.g. if I define a stored procedure like so, I am unable to pass in character data?
create or replace procedure WEBORDER.theprocedure (IN a clob(10k), OUT b clob(32k), OUT c char(259)) LANGUAGE RPGLE EXTERNAL NAME WEBORDER.MYPROGRAM GENERAL;

const myinputclob = `my huge string yo`
const results = await db2.callProcedure(SCHEMA, 'theprocedure', [myinputclob, undefined, undefined]);

Thanks!

The problem is the IBM i Access driver, which has an allowlist of SQL Types that it allows SQLBindParameter to bind to. And CLOB ain't on it!
The driver itself is closed source, but I added CLOB to the white list and was able to bind IN-INOUT-OUT for both character strings and binary data. I'm not sure where else this white list is used, so it will take more looking. But since this isn't a Node.js odbc issue, I'm closing.


No timeline

others tab are okay, but Timeline tab is always empty? whats wrong?

Did you use measure method ? like this:
\PhalconDebug::addMeasurePoint('label1');

The debugbar does not collect any timing info by default. You should add measure code manul

oh Thanks now It works.
But when i use Volt function that you listed [here] (https://github.com/snowair/phalcon-debugbar#volt-functions) get errors should i add them to Volt before using it like Phalcon documentation ?

The debugbar has enable these volt functions. You can use it in any volt engine views.

i put there (end of Volt page), but i get this Error:
Child templates only may contain blocks in ..... single.volt on line 50

put function in the template block:
{% extends "templates/base.volt" %}

{% block content %}
{{ addMeasurePoint( 'label' ) }}
....
{% endblock %}

Thank you Yajie.


Avoid to move profile after first display

This PR avoids to move the profile window after the first display.
This is to make it friendly with live update of the plot.
closes #2931

Wooow, this code looks really complex. I trust you.


Pull request for libinsighttoolkit3-dev

For travis-ci/travis-ci#4415.
Ran tests and found no setuid bits.
See https://travis-ci.org/travis-ci/apt-whitelist-checker/builds/72058105

Sorry, but this test will have to be re-run. Will open a new one later.


[docs] add feedback button thumb up/down in docs

like nextjs docs

@louis030195 I guess you mentioning this but instead want thumb up/down in your docs


About Python2 and Windows 10

I tried it on my MPB with Python2 first and it failed. But it worked fine with Python3 an I used it on a whole movie file (more than 1 GB in size and 130 minutes long). Also, i tried it on Windows but couldn't install it. So, will it ever support Windows 10?

Hi there, what version of Python2 do you have, so I can try to reproduce? Also, if you have time, please copy+paste the stack trace as well.
Re. Windows 10 -- I'm not as familiar with Windows so it will take a bit of time (also lacking cycles currently), but eventually it will support Windows 10.

Windows 10 / Python 3
Installed ffmpeg with chocolaty.
When I run the following command it outputs the following and does nothing:
subsync 01.mkv -i 01.srt -o 01x.srt
extracting speech segments...
0%|                                                                                | 0/3575.168 [00:00<?, ?it/s]
I see that ffmpeg is running with the following options but it seems to be doing nothing.
ffmpeg.exe -i 01.mkv -f s16le -ac 1 -acodec pcm_s16le -ar 48000 -

@smacke Here is the CLI output in case of Python 2. Python version: 2.7.10

@Suleman-Elahi looks like you have an older version of numpy. I made bumped the minimum version required to 1.12.0; you should get it automatically if you do
pip install git+https://github.com/smacke/subsync
again. Let me know how it works after trying that and hopefully I can close the issue.
@postacik I think you're probably seeing this error because ffmpeg-python uses *nix pipes for IPC, and if that's the case I think it won't work for Windows. I'll create a feature request; unfortunately it will take me some time to get to this. I've opened #8 to track this.

Running with Python 3.7.0 on Windows 10 and ffmpeg installed with chocolaty works fine for me without Cygwin:
extracting speech segments...
100%|██████████████████████████████████████████████████████████████████████████████████████████████▉|<PHONE_NUMBER>333333/288.299 [00:01<00:00, 226.11it/s]
...done.
computing alignments...
...done.
auditok (27634.000000000004, -642)
webrtcvad (19327.0, -641)
offset seconds: -6.420```

Python 3.6.6 on my side.
It does not work with .mkv files (?)
But after @steven-kraft 's message I tried with an mp4 and got the following successful result.
subsync x.mp4 -i 01.srt -o 02.srt
extracting speech segments...
100%|█████████████████████████████████████████████████████████████▉|<PHONE_NUMBER>333333/552.38 [00:02<00:00, 249.19it/s]
...done.
computing alignments...
...done.
auditok (4523.000000000001, -149324)
webrtcvad (3950.000000000002, -144591)

Additional info.
I converted x.mp4 to mkv and it did not work.
There may be a problem with the ffmpeg options when the input file is mkv.

@postacik Hmmm that's interesting. I converted my test video to mpv and it still worked for me.

Additionally, I tried to install on Python 2.7.15 and it gave me some trouble when installing the webrtcvad dependency. However downloading and installing Microsoft Visual C++ Compiler for Python 2.7 fixed the issue and it works fine for me:
extracting speech segments...
100%|#########9|<PHONE_NUMBER>33/288.299 [00:01<00:00, 190.98it/s]
...done.
computing alignments...
...done.
auditok (27634.000000000004, -642)
webrtcvad (19327.0, -641)
offset seconds: -6.420```

@steven-kraft I see, interesting... it looks like my hypothesis about ffmpeg-python not working on Windows is (at least partially) false. The plot thickens.
I think the py-webrtcvad dependency requires compiling some C code into a python extension, which could partially explain why the MS visual C++ python compiler is necessary. Not sure why it's only needed for Python 2.7 though; perhaps Windows comes with it for Python 3.x? I'm unfortunately not very familiar with how Windows does things.
Probably I will need to grab a Windows VM to thoroughly investigate all the different possibilities in order to fix #8.

I'm going to go ahead and close this, since I think 6f56d5c should fix @Suleman-Elahi's issue with not having numpy.flip available. Let's redirect Windows-related discussion to #8.


Add in check for _BPXK_AUTOCVT and set if not set (fail if set to OFF)

Ran metaport manually. All good:
- Integration complete
- Sourcing environment to run any setup
Setting up meta...
Setup completed.

/run tests

LGTM - minor nit that there's a missing full-stop at the end of the message that some folks might like :-)

ah! sorry - didn't see this until now. will fix.


Remove the IPMI password from AMQP and log messages.

Resolve issues:
https://github.com/RackHD/RackHD/issues/217
https://github.com/RackHD/RackHD/issues/216
@RackHD/corecommitters @zyoung51 @uppalk1 @tannoa2 @keedya

👍

Realized the password is still in the error message, updating now.

+1

*** BUILD #708 ***

test this please

::+1:


Deleting files before they are published

Resetting _deliveries on reconnect causes the publisher to delete all files that are in the "recent" dict as it thinks they have been delivered.
https://github.com/ONSdigital/sdx-seft-publisher-service/blob/0a81474b9a8b270f5f25994d81ac7a14524b90f4/app/publisher.py#L60

 BUG: [SEFT] Publisher service all files get deleted


Update jinja

This should fix #521

Checklist

[ ] Added a CHANGELOG.rst entry

Markupsafe, a dependency of jinja, removed a function in a new version. See https://github.com/pallets/markupsafe/pull/261/files and https://github.com/pallets/jinja/issues/1585. This problem has been fixed in newer versions of jinja but we were pinning jinja to < 3. I don't think the reason to pin jinja is still an issue so I'm removing the pin.


[Outlook] (add-in commands) Update references

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

File
Status
Preview URL
Details

docs/develop/create-addin-commands.md
:white_check_mark:Succeeded

docs/outlook/add-in-commands-for-outlook.md
:white_check_mark:Succeeded

docs/outlook/extension-module-outlook-add-ins.md
:white_check_mark:Succeeded

docs/outlook/manifests.md
:white_check_mark:Succeeded

docs/outlook/outlook-on-send-addins.md
:white_check_mark:Succeeded

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 in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


The Dart SDK included in bin/cache/dart-sdk has inconsistent reported versions

It reports both the version of the source Dart SDK as well as the flutter specific version. We should make this consistent (using the flutter version).
cat /Users/devoncarew/projects/flutter/bin/cache/dart-sdk/version
2.0.0-edge.0d5cf900b021bf5c9fa593ffa12b15bcd1cc5fe0

and:
/Users/devoncarew/projects/flutter/bin/cache/dart-sdk/bin/dart --version
Dart VM version: 2.0.0-dev.59.0.flutter-1a185867a9 (Thu May 31 17:38:53 2018 +0000) on "macos_x64"

As part of the process for building the flutter specific SDK, we should write the 2.0.0-dev.59.0.flutter-1a185867a9 version into the <dart-sdk>/version file.

cc @a-siva

Just verified and this is still an issue today.

@cbracken are you seeing a difference because of the 2.7 version hack that was put in  https://github.com/dart-lang/sdk/blob/master/tools/make_version.py  ?
Is this what you see ?
sivalinuxmach[flutter]>more bin/cache/dart-sdk/version
2.7.0-edge.8bdca37e98a59bdb7f52daea9da838b1a60c1cdf

sivalinuxmach[flutter]>bin/cache/dart-sdk/bin/dart --version
Dart VM version: 2.7.0 (Tue Nov 5 13:31:41 2019 +0000) on "linux_x64"

That's what I've got, yep.


double-beep: Blacklist atozsupplement.com

double-beep requests the blacklist of the website atozsupplement\.com. See the MS search here and the Stack Exchange search here.

atozsupplement\.com has been seen in 23 true positives, 0 false positives, and 0 NAAs.

Approved by Machavity in Charcoal HQ


Is this an autoclick

Is this an autoclick?

No it isn't. You can check the code for a better understanding of what it does.

So we are not gonna be caught ?
On Sat, 7 Dec 2024 at 23:14 m1dugh @.***> wrote:

No it isn't. You can check the code for a better understanding of what it
does.
—
Reply to this email directly, view it on GitHub
https://github.com/m1dugh/RosettaStonks/issues/66#issuecomment-2525326417,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BNQ7E27AVUGE6HVR62MLP2T2ENXNPAVCNFSM6AAAAABTGPBOEKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMRVGMZDMNBRG4
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

Depends on who checks.

How?
On Sun, 8 Dec 2024 at 15:03 m1dugh @.***> wrote:

Depends on who checks.
—
Reply to this email directly, view it on GitHub
https://github.com/m1dugh/RosettaStonks/issues/66#issuecomment-2525986565,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BNQ7E26VYLLADSGPUG3W7Y32ERGSNAVCNFSM6AAAAABTGPBOEKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMRVHE4DMNJWGU
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

What is code ?


Can I simplify this into one function?

I have the following code in commit 2fa63c3f702c3aa439558210c95c2a566cc9a17b,
mkGtZeroConst' :: (Show a) => ConVar      -> [(Expr -> Expr -> Expr, Expr)] -> a -> [Sentence]
mkGtZeroConst  :: (Show a) => UnitalChunk -> [(Expr -> Expr -> Expr, Expr)] -> a -> [Sentence]
mkGtZeroConst' s@(CV _ _ _)   other num = [getS s, fmtC' s (((:>), Int 0):other), S $ show num]
mkGtZeroConst  s@(UC _ _ _ _) other num = [getS s, fmtC' s (((:>), Int 0):other), fmtU (S $ show num) s]

I was having issues with type matching because Haskell didn't like that I had to different possible input types

You can't mix and match types like that. It looks like you might be able to do something using type class constraints (i.e. (Concept c, Show a) => c -> ...), Where "Concept" would be replaced with whichever constraints you need. Again, this would only work if both are instances of that type class.
Also, what does fmtU do?

fmtU :: (Unitary a) => Sentence -> a -> Sentence
fmtU n u  = n +:+ getU u

Fixed 8520f5cd55179043e1d0b4dfc865053832dfd221

We should have a that "unwrap" function be stored in language because I've used it before when making a table.

unwrap added to utils af3bd59

This unwrap already exists in the Prelude -- it is called maybe.
And in this particular case, unwrap is not great.
The class you want is Unitary, not Quantity; use the unit method, which is guaranteed never to fail.  If you really need Quantity, we need to think why that is.  It is often 'weird' to constrain quantities that have no units.

I really do need Quantity because one of the items that has a physical constraint is a ratio which is a quantity with no units

How very annoying.  But rather convincing that Quantity is correct!


Add a metadata to define if warnings should appear or not when "noSuchMethod" is defined

This issue was originally filed by @a14n

When "noSuchMethod" is defined, no warning is displayed on an undefined method call.
It would be great if a metadata on "noSuchMethod" could be used to define if a warning should appear or not when method is not defined.
Here is a pattern I'd like to use where I really want a warning on an undefined method :
/// definition of all valid methods
abstract class _Api {
  method1();
  method2();
}
/// all valid method calls are implemented by noSuchMethod and the other ones generate warnings
class Api extends _Api {
  @warnOnUndefinedMethod
  noSuchMethod(method, args) {
    // implementation for all methods
  }
}
This way, I could declare all valid methods and implement them in a single method.

The discussion here sort of veered off from the original feature request.
noSuchMethod() can be cumbersome to work with. In general, we've found it adds a lot of pain to our ahead-of-time compilation story, and often doesn't provide as much value as users would like. For many cases, users are moving to code generation solutions instead of noSuchMethod().
Given that, we aren't planning to spend a lot of effort adding more features around noSuchMethod(), at least not any time soon.


Get version function

I attempted to take a crack at issue #4 but I couldn't get the project to run correctly after installing it so please do test this before accepting.

Thank you very much for your contribution, I made some comments of some changes :)
But by the way, what is the problem you were having?

Thank you for the kind response! Im still getting my feet wet with programming and GitHub in general so I do apologize for any annoying errors I do make.
My issue was after installing the project any attempt at running a test file would error out at the import Guardar from "guardar";.

Thank you for the kind response! Im still getting my feet wet with programming and GitHub in general so I do apologize for any annoying errors I do make.`.

Don't worry, I'm also a real noob 🥲

My issue was after installing the project any attempt at running a test file would error out at the import Guardar from "guardar";.

For that matter, I have a folder to be ignored by .gitignore, called _ignore, and here is where I do the local tests:
My HTML:
<!DOCTYPE html>

<title>Tests</title>

And my js file (./script.js):
import Guardar from "../src/Guardar.js";

Guardar.init();
Guardar.clear();
console.log(Guardar.getAll());
Guardar.setData("Beep", { teste: 123 });
console.log(Guardar.getAll());
Guardar.setData("Cenas", "Cenas");
console.log(Guardar.getAll());
Guardar.setData("Animal", [{ id: 1, name: "Sabrina", isFemale: true, }, { id: 2, name: "Snoppy", isFemale: false, }]);
console.log(Guardar.getAll());
Guardar.setData("Beep", true);
console.log(Guardar.getAll());
console.log(Guardar.getVersion());

console.log("Beep: ", Guardar.getData("Beep"));
// Guardar.removeData("Beep");
// Guardar.updateAll({});

Hope I answered your question :)

If your question is how to use Guardar in a project, here is an example: https://codesandbox.io/s/q4e7ot
:)


Annyang and Mobile Chrome Apps

Any chance of get it working using the Chrome WebView from CCA?
https://github.com/MobileChromeApps/mobile-chrome-apps

It looks like that plugin handles all of the functionality on its own, so annyang won't work with it out of the box.
You might be able to hack something if you combine Corti with annyang and pass the results from that plugin to Corti using its say command.
It seems to me like too much work for the payoff you are getting though.


Backport PyPA link fix to v1.34.x

Backports #25647

The backport commit contained many unwanted changes like clang version, base image, Python version, also Twisted has deprecated 27 and created multiple small packages, so it's hard to find a right combination. The original backport is force merged, this PR is no longer needed, closing.


Support React 15

Griddle does not support React 15 as npm install fails.
seePeer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>

Thanks for bringing this up!
https://github.com/GriddleGriddle/Griddle/pull/386 - Going to let others double check this but hope to have this version merged and on npm in the next day or two!

what's the status here?

Just waiting on another review on the PR. If you would like to pull down the branch from the PR and try it out a little as an additional check, that would be great. :+1:

This should be all set as of<EMAIL_ADDRESS>-- Please follow-up if you encounter any issues with React 15.


BUG: Add Hover text to social media icons

1.Add hover text
2.Hover color for instagram is gradient not pink.
Kindly assign me this issue

/ plz assign this issue to me


Fixing stable and local images

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug
/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature

If contributing rules or changes to rules, please make sure to also uncomment one of the following line:

/kind rule-update

/kind rule-create

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area build

/area engine

/area examples

/area rules

/area integrations

/area tests

/area proposals

What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #1015

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

Updating `stable` and `local` images to run `debian:stable`

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

Needs approval from an approver in each of these files:

OWNERS [fntlnz]

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

LGTM label has been added.  Git tree hash: fe4b008e293a235afe9c6025028745d41ff60b0b

/cc @leodido

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

Needs approval from an approver in each of these files:

OWNERS [fntlnz,leodido]

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

/milestone 0.21.0


Rename conflicting UIView extensions

Fixes #909
Checklist

[x] I checked the Contributing Guidelines before creating this request.
[ ] New extensions are written in Swift 5.0.
[ ] New extensions support iOS 10.0+ / tvOS 9.0+ / macOS 10.10+ / watchOS 2.0+, or use @available if not.
[ ] I have added tests for new extensions, and they passed.
[ ] All extensions have a clear comments explaining their functionality, all parameters and return type in English.
[ ] All extensions are declared as public.
[ ] I have added a changelog entry describing my changes.

          1 Warning

:warning:
The source files have been modified. Please consider adding a CHANGELOG entry if necessary.

          1 Message

:book:
Thank you for submitting a pull request to SwifterSwift. The team will review your submission as soon as possible.

  Generated by :no_entry_sign: Danger

I'm not really sure that I'm on board with changing borderColor and borderWidth, since according to the issue they come from other libraries. Do we really want to rename every name that clashes with another open source library? I get it if it clashes with one of Apple's own frameworks.

I'm not really sure that I'm on board with changing borderColor and borderWidth, since according to the issue they come from other libraries. Do we really want to rename every name that clashes with another open source library? I get it if it clashes with one of Apple's own frameworks.

The way I see is more a way to improve the expressivity of the names(since all are abstractions to change layer properties, I like having layer prefix to make that clear) than fix collision issues since, the new name may colide as well... So at the I'm good with this change because of that, fixing collision is just a bonus =]


I need to do $npm run seed twice sometimes because of duplicates data value entrie randomly create

Indeed for Users, their emails was frequently duplicated as they were built with<EMAIL_ADDRESS>I added a number after their last name to improve uniqueness.


[FEAT!] Concept Map Iframe Integration

Changes

Add concept map page
Configure iframe
Configure docker networking to allow rev proxy to proxy pass dtgui to website

God this commit history is messy.


[TS] Regression fixes

Related Issue
Fixes https://github.com/microsoft/AdaptiveCards/issues/3564
Fixes https://github.com/microsoft/AdaptiveCards/issues/3563
Description

Reverted to stretch as the default column width.
Only render the default "Title" value for a Fact's title in the designer

These fixes impact Teams and are somewhat urgent. A new npm package should be generated once they are merged.
How Verified
Verified manually in both adaptivecards-designer-app and in adaptivecards-visualizer
Microsoft Reviewers: Open in CodeFlow

are the desktio team consuming the JS renderer off of our npm package or direct from source?

@RebeccaAnne , @paulcam206 , @nesalang could one of you take a look at this PR real quick? SHould be a quick review. tx


backend/gce: annotate trace with ssh attempt error

This should allow us to tell what the SSH dial attempts are failing with during boot_poll_ssh.
It would be interesting to see if it is networking in general, or something SSH specific.

Innnnnnnteresting, from staging:
couldn't connect to SSH server: ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain

Oh, and before that we have two slower calls of:
couldn't connect to SSH server: dial tcp <IP_ADDRESS>:22: i/o timeout

With a 5 second timeout each.

@stgraber @joepvd @Duologic I am facing the same issue on GKE k8s cluster. Can you please suggest how to address it? Thanks.


Update Pell Grant calculations

Pell Grant transitioning from Expected Family Contribution to Student Aid Index. Details to follow.

@kbottagaro ETA on having the details?

Hope to have the time to look at this in early February.
On Wed, Jan 17, 2024 at 11:45 AM sydney-devine @.***>
wrote:

@kbottagaro https://github.com/kbottagaro ETA on having the details?
—
Reply to this email directly, view it on GitHub
https://github.com/Gary-Community-Ventures/benefits-calculator/issues/856#issuecomment-1896432484,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BDVPUZNOKELGXGW74DGKIVDYPAL35AVCNFSM6AAAAABB5KH62WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOJWGQZTENBYGQ
.
You are receiving this because you were mentioned.Message ID:
@.***
com>


Docker Container

Any chance that somebody has published a Docker container based on this fork?

Not that I'm aware of but it shouldn't be too much effort to modify buildfiles for existing Titan 1.0 images. Looks like there a couple of these on Docker Hub.


3186 multiple identity node

Current Behavior
Node can have only one identity
Proposed Changes
Instead of having one identity, let's use HashMap<IdentityIdentifier, Identity<Vault>> for manager and Vec<Vec<u8>> for config.
Checks

[ ] All commits in this Pull Request are signed and Verified by Github.
[ ] All commits in this Pull Request follow the Ockam commit message convention.
[ ] I accept the Ockam Community Code of Conduct.
[x] I have accepted the Ockam Contributor License Agreement by adding my Git/Github details in a row at the end of the CONTRIBUTORS.csv file in a separate pull request to the build-trust/ockam-contributors repository.

Hey @vildapavlicek, first off, thanks for taking a look into this. We recently did some important changes on how nodes/identities/vaults are organized in the ockam_api/ockam_command crates.
The key takeaway is that identities are now decoupled from nodes, and a node will just have one "default" identity attached with the possibility to pass an optional identity in some of the requests to overwrite that default identity.


Allow binding lifecycle control outside of actuator

Hi,
It would be ideal if the Cloud Stream framework would allow for binding lifecycle control outside of actuator. This could allow developers to start/stop/pause/resume bindings without the need to include the actuator/web dependencies.
This is an enhancement request

Duplicate of https://github.com/spring-cloud/spring-cloud-stream/issues/1907
I copied your text there.

Thanks @garyrussell. Sorry I missed that one!

Actually, it's my fault since I did remember almost after we finished our call that we already had something open. In any event, this should be easy to address.


[Bug]: Incorrect balance is displayed when checking safaricom airtime balance

Description
When checking my safaricom balance the request was successful but the displayed balance was wrong, on stax 0Ksh was shown as the balance but the correct balance was actually 38.59Ksh
Steps to reproduce

Open the stax app
On the home page select SIMs on the navigation bar at the bottom
If you have a safaricom sim card find it in the list of your sim cards and select check balance
Once the transaction is completed click continue in the displayed dialog box and the app will take you to a receipt page.
On the receipt you should see your balance
Dial *144# on your phone and compare the balance safaricom shows you with the balance displayed by stax

Expected result
The balance shown on the receipt after checking my safaricom balance should match the balance I get when I use the safaricom ussd code *144# to check my balance.
Actual result
The transaction was processed successfully but the balance displayed by stax(0KSH) was different from the balance I received from safaricom(38.59KSH). Check the linked video from 1:30 mins.
Link to screenshots/screen recordings
https://drive.google.com/file/d/1baEAEVUBI2Zvs1R-iLiERkHBhIBah_mU/view?usp=sharing
Device name
Samsung Galaxy S21 5G
Android OS
12
Is your phone dual SIM or single SIM?
Dual SIM
Stax device ID or email address
8d8fbf9355646d50

Fixed @Clish254

Works

Wonderful, thank you


Set noise_shape to None in attention.py

The API keras.layers.Attention implementation has this below line noise_shape=self.noise_shape that fails since attention layer has no attribute noise_shape. Since this argument passed to the function backend.random.dropout() which has  default value set as None.So we can set noise_shape=None to make it works.
Fixes #18754

@nkovela1 , May please review.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (4803b54) 78.97% compared to head (5eac60f) 56.24%.

Additional details and impacted files
@@             Coverage Diff             @@
##           master   #18766       +/-   ##
===========================================
- Coverage   78.97%   56.24%   -22.74%
===========================================
  Files         336      336
  Lines       34046    34046
  Branches     6668     6668
===========================================
- Hits        26889    19149     -7740
- Misses       5580    13446     +7866
+ Partials     1577     1451      -126

Flag
Coverage Δ

keras
56.24% <ø> (-22.63%)
:arrow_down:

keras-jax
?

keras-numpy
56.24% <ø> (+<0.01%)
:arrow_up:

keras-tensorflow
?

keras-torch
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Files
Coverage Δ

keras/layers/attention/attention.py
80.00% <ø> (ø)

... and 184 files with indirect coverage changes

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

@fchollet, Added test case as requested. May please review.

@fchollet , Please review my reply.

We just need to create it then -- take a look at how the Dropout layer is implemented.
We can do e.g.
def __init__(...):
   ...
   if dropout > 0:
       self.seed_generator = random.SeedGenerator(seed=seed)

@fchollet ,
That means we need to create an argument seed=None to Attention layer init method. In that case we can do it for noise_shape also which is hardcoded to None in initial commit here.Right ? And we need to add these two arguments to Arg section also in this case. Or is there is any other way you are talking?
class Attention(Layer):
  def __init__(
        self,
        ...,
        dropout = 0.0,
        seed = None,
        noise_shape = None
        **kwargs,
    ):
    super().__init__(**kwargs)
    if dropout > 0:
          self.noise_shape = noise_shape
          self.seed_generator = random.SeedGenerator(seed=seed)

I'll just take this over.


added liquibase properties file generator

Codecov Report

Merging #18 (1815997) into main (a4d8257) will decrease coverage by 0.42%.
The diff coverage is 0.00%.

:exclamation: Current head 1815997 differs from pull request most recent head 1299da6. Consider uploading reports for the commit 1299da6 to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main      #18      +/-   ##
==========================================
- Coverage   39.31%   38.90%   -0.42%
==========================================
  Files          21       21
  Lines         936      946      +10
==========================================
  Hits          368      368
- Misses        522      532      +10
  Partials       46       46

Impacted Files
Coverage Δ

pkg/repo/registry/in_memory/repo.go
3.38% <0.00%> (-0.12%)
:arrow_down:

pkg/repo/registry/pg/repo.go
1.29% <0.00%> (-0.08%)
:arrow_down:


Can't start it from node 5.0.0 - Can't find module colors

This is simple, when I try to run the command http-server from node 5.0.0 I get this error:
~  http-server
module.js:339
    throw err;
    ^

Error: Cannot find module 'colors'
    at Function.Module._resolveFilename (module.js:337:15)
    at Function.Module._load (module.js:287:25)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)
    at Object.<anonymous> (/usr/local/bin/http-server:5:18)
    at Module._compile (module.js:425:26)
    at Object.Module._extensions..js (module.js:432:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:311:12)
    at Function.Module.runMain (module.js:457:10)

But, if I run the same command with node 4.2.2 everything works just fine.
I am using nvm to switch between node versions.

I have the same problem

PR welcome. Not sure when I'll have the time to dig into this.

i have the same problem :(

It seems like the Travis builds run neither on Node 5 nor on Node 6. That would be a first step towards proper support, right?

I am not able to reproduce this, http-server runs for me on both node 5.0.0 and 5.12.0

Closing since Node 5.x.x is no longer maintained.


Implement snapshot features so Morgoth can restore state.

Morgoth learns based on the data it has seen, currently that data is lost when the task or Kapacitor is restarted. This needs to be implemented before Morgoth can be used widely.

Look forward to this feature!


Does the proxy support YouTube Music?

I added the following domains to the file, but I cannot play any song on my iPhone through the YouTube Music app.

ytimg.com
googleapis.com
ggpht.com
youtube.com

Does it work in a browser?


index.html is wrongly redirecting to https://freenode.com which is not showing up.

index.html page is having redirection for https://freeode.com which is not showing up at moment. Alternatively I can see there exists https://freenode.net. Can you please check if this is case & if https://freenode.net needs to be used instead.
Thanks.

There has been a lot of controversy with Freenode lately, and maybe it was done on purpose? Other than that , don't expect a response from the devs.


merge from template-coveralls

.github/workflows/openapi.yml

chore: add 16.15.0 (jobs.update_openapi.steps.with.node-version)

.github/workflows/ci.yml

chore(deps): add 16.15.0 remove 16.14.2 (jobs.test.strategy.matrix.node-version)
chore: add 16.15.0 (jobs.release.steps.with.node-version)

.github/workflows/codeql_analysis.yml

chore: add 16.15.0 (jobs.analyze.steps.with.node-version)

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

npm package (@latest dist-tag)
v5.0.110
GitHub release

Your semantic-release bot :package::rocket:


Add Vue3 as front part in JHipster Lite

This is a first draft to add Vue3 as front part in JHipster Lite. How I did this:

generate a new project with vue-cli + Vue3
change config and folder to use src/main/webapp/app
copy and merge folders/config it in JHipster Lite
add build part in pom.xml

This ticket is:

related to https://github.com/jhipster/jhipster-lite/issues/295

closing in favor of https://github.com/jhipster/jhipster-lite/pull/668


Samples Incorrect

There is a problem with the iSCSI samples:
For the initiator it doesn't include the ID specifier

Can't replicate.


enum_map! is unusable as a const initializer, and the array field being private makes manual initialization impossible too

enum_map! is probably not fixable in stable Rust without the unstable const fn support, unless there's some clever approach I'm not seeing.
However, making the field public would allow to manually do it.
There's also the possibility of writing an enum_with_map! macro that would create both an enum and an enum map const (by just writing both the variants and the array items in the same order as provided by the user), which is easy and might be good enough in practice.
Possible implementation of such a macro (after changing EnumMap to be a tuple struct with a public array field):
#[macro_export]
macro_rules! enum_with_map {
	{$(#[$m:meta])* enum $e:ident, const $n:ident : EnumMap<_, $d:ty> = {$($k:ident => $v:expr),*};} => {
        $(#[$m])* #[derive(EnumMap)] enum $e {
            $($k),*
        }

        const $n: EnumMap<$e, $d> = EnumMap([
            $($v),*
        ]);
    };
}

Yeah, understandably an issue, but Rust doesn't really provide a way to deal with it. I would either need to use procedural macros (nightly only as of now) or const functions (which aren't usable enough even on nightly, but there is possibility that it will soon be with miri having been recently merged into Rust compiler). Procedural macro hack is pretty much unusable here after recent changes to hygiene of macro_rules!.
As a workaround, lazy_static crate could be used. This will be looked on later once const fn becomes usable enough.


Fix import path

The file which contained Runtime was renamed in Openhands (can be found in this this commit)
Plans to upgrade openhands-resolver have been made; this PR fixes the import issue.

I (or @openhands-agent) might have simultaneously fixed this in this upgrade pr https://github.com/All-Hands-AI/openhands-resolver/pull/218


CropModel should return labels not numeric values.

CropModel should return labels not numeric values.
    raster_path = get_data("SOAP_061.png")
    patch_size = 400
    patch_overlap = 0.05
    iou_threshold = 0.15
    return_plot = False
    mosaic = True

    # Set up the crop model
    crop_model = model.CropModel()

    # Call the predict_tile method with the crop_model
    m.config["train"]["fast_dev_run"] = False
    m.create_trainer()
    result = m.predict_tile(raster_path=raster_path,
                                           patch_size=patch_size,
                                           patch_overlap=patch_overlap,
                                           iou_threshold=iou_threshold,
                                           return_plot=return_plot,
                                           mosaic=mosaic,
                                           crop_model=crop_model)

    # Assert the result
    assert isinstance(result, pd.DataFrame)
    assert set(result.columns) == {"xmin", "ymin", "xmax", "ymax", "label", "score", "cropmodel_label","cropmodel_score","image_path"}

cropmodel_label here is 0 or 1. I think that it should better match result["label"] from the detection as being a string. Users will be happier.

Implement a label dict just like the detection model
https://github.com/weecology/DeepForest/blob/cce441c1a126920e9f5ab88346dc3c16e604cb22/deepforest/main.py#L27

This is related to main.predict_file returning numeric arrays.