lib: PrintSequence: remove dec_pad printing functions

These will no longer be exported by F*, and were not behaving well in any case (they were not fixed-width). They do not seem to be used anywhere besides defining these wrappers.

Alright, if they were indeed use I have no issue in keeping them! How about instead of taking that extra argument I just pad to the maximum possible string length of the decimal number?

@beurdouche It would be nice to have some visibility of these projects. If they track FStar@master, they should be routinely updated to keep up with breaking changes upstream (or routinely broken by them).
A link to a public repository, where available, would already help. A link to their CI logs would be even better.
Perhaps rather than extending F* ulib with functions that don't have a clear semantics, these functions could added and maintained downstream?

Hi Benjamin,
I looked at the respective commit messages (FStarLang/FStar@87f717022263ab8f60eb097ece2fc5cf854be4b8) and in HACL* (3bea7de03f8eb616bb59c2a9f16037db0ef00f1f) and I could not find any indication of the intent of these functions, the purpose that they serve for projects outside of Everest, or tests that would indicate what the intended behavior is. I also don't remember any prior discussion, pull request or review that would've led to a discussion of the intended semantics and usage of these functions, and a cursory grep in the Slack archives doesn't seem to yield anything.
In this situation, it's very difficult for F* maintainers like Guido to know what to do when there's no CI or tests that would cover these functions. Asking them to be aware of things that only you know of is, in my opinion, unfair, especially when Everest CI is currently blocked on this. Furthermore, I'm sure you didn't mean that, but it's very easy to interpret your mention of "more critical" projects as a derogatory comment towards Everest.
What would be helpful going forward is:

being concrete about what projects are relying on these functions; it's much more motivating to know that they're used by, e.g. MLS, rather than by some unspecified critical project
writing tests; if you care enough about the usage of these functions, there should be at least basic tests in F* under CI -- this is the reality of most software projects: if you code isn't covered by CI, then any would-be contributor has a license to change it
owning the code; since you authored it, perhaps you could submit a pull request to F* to fix the behavior and give these functions clearer semantics?

Everest is a fast-moving project; however, we commit to not breaking whatever is under Everest CI (F*, KreMLin, HACL*, miTLS, quackyducky), and F* hackers regularly go out of their way to fix projects that they don't normally contribute to, like HACL*. What we can't guarantee, however, is not breaking things that are invisible to us or not covered by our CI.
If your project is critical enough that it can't be talked about and that we can't be made aware of it, you might find it easier to maintain, as Santiago suggests, this kind of code on your side, so that you can keep the existing behavior of the code without any danger of someone trying to clean it up.
Thanks,
Jonathan

@beurdouche It would be nice to have some visibility of these projects. If they track FStar@master, they should be routinely updated to keep up with breaking changes upstream (or routinely broken by them).

Most of the external projects rely on HACL* Lib to avoid constant breakages from F*, and yes, that's also why we built Lib...

A link to a public repository, where available, would already help. A link to their CI logs would be even better.

Ideally we could indeed, but some of the important ones are not opensource.

Perhaps rather than extending F* ulib with functions that don't have a clear semantics

I guess you certainly mean you would have done better, I will just ignore your rudeness...

these functions could added and maintained downstream?

They probably could have yes. But I wonder what would be the goal of putting those in Lib when people might need them in F*.

Guys! Let's stay peaceful and help each other...

Guys, I think we don’t need to get so confrontational so quickly on such things.
There are two questions at play:

The FStar.Uint* changes that are needed by the switch to stdint.
These seem fine and justified to me.
Of course, there may be many other projects relying on F*/ulib,
and we should find a way of communicating changes to these groups.

The HACL Lib.Print* functions that are proposed for deletion.
This is a bit more risky, since HACL* is used by many people that are invisible to the F* team.
In this case, asking @beurdouche and others at Inria for a review is the right move.
We’d probably not want to delete these functions, but reimplement them with the new F* libraries.
Again @beurdouche or I are best placed to help with this, and I apologize if we were not quick enough to respond.

More generally, Lib should be treated as our documentation of what we need from the F* ulib within HACL* and in projects that depend on HACL*. These other projects cannot all be put under Everest CI, but they promise to use on Lib* files.
So, Lib is indeed our CI protection; if it breaks, then F* has broken some project we are building based on HACL*.
-Karthik

On 17 Mar 2020, at 18:44, Jonathan Protzenko<EMAIL_ADDRESS>wrote:
Hi Benjamin,
I looked at the respective commit messages (FStarLang/FStar@87f7170 https://github.com/FStarLang/FStar/commit/87f717022263ab8f60eb097ece2fc5cf854be4b8) and in HACL* (3bea7de https://github.com/project-everest/hacl-star/commit/3bea7de03f8eb616bb59c2a9f16037db0ef00f1f) and I could not find any indication of the intent of these functions, the purpose that they serve for projects outside of Everest, or tests that would indicate what the intended behavior is. I also don't remember any prior discussion, pull request or review that would've led to a discussion of the intended semantics and usage of these functions, and a cursory grep in the Slack archives doesn't seem to yield anything.
In this situation, it's very difficult for F* maintainers like Guido to know what to do when there's no CI or tests that would cover these functions. Asking them to be aware of things that only you know of is, in my opinion, unfair, especially when Everest CI is currently blocked on this. Furthermore, I'm sure you didn't mean that, but it's very easy to interpret your mention of "more critical" projects as a derogatory comment towards Everest.
What would be helpful going forward is:
being concrete about what projects are relying on these functions; it's much more motivating to know that they're used by, e.g. MLS, rather than by some unspecified critical project
writing tests; if you care enough about the usage of these functions, there should be at least basic tests in F* under CI -- this is the reality of most software projects: if you code isn't covered by CI, then any would-be contributor has a license to change it
owning the code; since you authored it, perhaps you could submit a pull request to F* to fix the behavior and give these functions clearer semantics?
Everest is a fast-moving project; however, we commit to not breaking whatever is under Everest CI (F*, KreMLin, HACL*, miTLS, quackyducky), and F* hackers regularly go out of their way to fix projects that they don't normally contribute to, like HACL*. What we can't guarantee, however, is not breaking things that are invisible to us or not covered by our CI.
If your project is critical enough that it can't be talked about and that we can't be made aware of it, you might find it easier to maintain, as Santiago suggests, this kind of code on your side, so that you can keep the existing behavior of the code without any danger of someone trying to clean it up.
Thanks,
Jonathan
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/project-everest/hacl-star/pull/256#issuecomment-600207698, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABDABHRHRBCOSV7DPODE5YLRH6ZGDANCNFSM4LNQ5KCQ.

Yes, let's not get worked up over a silly thing. Some documentation would have been nice but I should have realized that things in lib/ are externally facing and been more careful. Good thing we have PRs :).
This PR is anyway moot now since I'm restoring the dec_pad functions in F*. Closing it.

@mtzguido Again, Thanks a lot for the discussion and the fix, this is highly appreciated as usual :)


Strange out of order behavior when calling delay. Breaks transactions.

We are seeing a strange behavior when using the delay method inside a transaction. It can easily be reproduced in a rails console with a User model and the following code.
Steps to reproduce
# User model has first_name and last_name attributes
# users table has at least one test record

# The code below is for use in a rails console. Just copy, paste and run.

# a simple operation to queue up as a delayed job
def change_user_name(user_id)
   u = User.find(user_id)
   u.first_name = "Delaid"
   u.save
end

User.transaction do
  u2 = User.first
  u2.last_name = "Willie"
  u2.save
  delay.change_user_name(u2.id)
  u2.last_name = "Wonka"
  u2.save
end

Expected behavior
When this is run, we expect the insert into the delayed_jobs table to happen in the order of operations shown, and within the transaction we have specified. This is confirmed by what we see in the rails console log, as shown below.
2015-02-03 09:17:55 -0600 (9606) : DEBUG :  (0.3ms)  BEGIN
2015-02-03 09:17:55 -0600 (9606) : DEBUG :  User Load (0.7ms)  SELECT `users`.* FROM `users` WHERE (user_type_id not in ('6')) LIMIT 1
2015-02-03 09:17:55 -0600 (9606) : DEBUG :  SQL (0.4ms)  INSERT INTO `history_logs` (`action`, `created_at`, `data`, `organization_id`, `updated_at`, `user_id`) VALUES ('update via on 50', '2015-02-03 15:17:55', '{\"last_name\":[\"van Tilburg\",\"Willie\"]}', NULL, '2015-02-03 15:17:55', 0)
2015-02-03 09:17:55 -0600 (9606) : DEBUG :  (0.4ms)  UPDATE `users` SET `last_name` = 'Willie', `updated_at` = '2015-02-03 15:17:55' WHERE `users`.`id` = 50
2015-02-03 09:17:55 -0600 (9606) : DEBUG :  (0.2ms)  BEGIN
2015-02-03 09:17:55 -0600 (9606) : DEBUG :  SQL (0.6ms)  INSERT INTO `delayed_jobs` (`attempts`, `created_at`, `failed_at`, `handler`, `last_error`, `locked_at`, `locked_by`, `priority`, `queue`, `run_at`, `updated_at`) VALUES (0, '2015-02-03 15:17:55', NULL, '--- !ruby/object:Delayed::PerformableMethod\nobject: !ruby/object\n prompt:\n :PROMPT_I: ! \'1.9.3p125 :%03n > \'\n :PROMPT_S: ! \'1.9.3p125 :%03n%l> \'\n :PROMPT_C: ! \'1.9.3p125 :%03n > \'\n :PROMPT_N: ! \'1.9.3p125 :%03n?> \'\n :RETURN: ! \" => %s \\n\"\n :AUTO_INDENT: true\nmethod_name: :change_user_name\nargs:\n- 50\n', NULL, NULL, NULL, 0, NULL, '2015-02-03 15:17:55', '2015-02-03 15:17:55')
2015-02-03 09:17:55 -0600 (9606) : DEBUG :  (9.4ms)  COMMIT
2015-02-03 09:17:55 -0600 (9606) : DEBUG :  SQL (0.4ms)  INSERT INTO `history_logs` (`action`, `created_at`, `data`, `organization_id`, `updated_at`, `user_id`) VALUES ('update via on 50', '2015-02-03 15:17:55', '{\"last_name\":[\"Willie\",\"Wonka\"]}', NULL, '2015-02-03 15:17:55', 0)
2015-02-03 09:17:55 -0600 (9606) : DEBUG :   (0.4ms)  UPDATE `users` SET `last_name` = 'Wonka', `updated_at` = '2015-02-03 15:17:55' WHERE `users`.`id` = 50
2015-02-03 09:17:55 -0600 (9606) : DEBUG :   (3.5ms)  COMMIT
 => true

Observed (incorrect) behavior
However, mysql binlogs show something different, like below. Note how the INSERT into the delayed_jobs table happens before the other operations and how it is placed inside its own transaction.
BEGIN
/*!*/;
# at 2278762
#150203  9:17:55 server id 1  end_log_pos 2278790       Intvar
SET INSERT_ID=24398/*!*/;
# at 2278790
#150203  9:17:55 server id 1  end_log_pos 2279486       Query   thread_id=290135        exec_time=0     error_code=0
SET TIMESTAMP=1422976675/*!*/;

BEGIN
/*!*/;
# at 2279592
#150203  9:17:55 server id 1  end_log_pos 2279620       Intvar
SET INSERT_ID=626645/*!*/;
# at 2279620
#150203  9:17:55 server id 1  end_log_pos 2279929       Query   thread_id=290137        exec_time=0     error_code=0
SET TIMESTAMP=1422976675/*!*/;
INSERT INTO `history_logs` (`action`, `created_at`, `data`, `organization_id`, `updated_at`, `user_id`) VALUES ('update via  on 50', '2015-02-03 15:17:55', '{\"last_name\":[\"van Tilburg\",\"Willie\"]}', NULL, '2015-02-03 15:17:55', 0)
/*!*/;
# at 2279929
#150203  9:17:55 server id 1  end_log_pos 2280106       Query   thread_id=290137        exec_time=0     error_code=0
SET TIMESTAMP=1422976675/*!*/;
UPDATE `users` SET `last_name` = 'Willie', `updated_at` = '2015-02-03 15:17:55' WHERE `users`.`id` = 50
/*!*/;
# at 2280106
#150203  9:17:55 server id 1  end_log_pos 2280134       Intvar
SET INSERT_ID=626646/*!*/;
# at 2280134
#150203  9:17:55 server id 1  end_log_pos 2280437       Query   thread_id=290137        exec_time=0     error_code=0
SET TIMESTAMP=1422976675/*!*/;
INSERT INTO `history_logs` (`action`, `created_at`, `data`, `organization_id`, `updated_at`, `user_id`) VALUES ('update via  on 50', '2015-02-03 15:17:55', '{\"last_name\":[\"Willie\",\"Wonka\"]}', NULL, '2015-02-03 15:17:55', 0)
/*!*/;
# at 2280437
#150203  9:17:55 server id 1  end_log_pos 2280613       Query   thread_id=290137        exec_time=0     error_code=0
SET TIMESTAMP=1422976675/*!*/;
UPDATE `users` SET `last_name` = 'Wonka', `updated_at` = '2015-02-03 15:17:55' WHERE `users`.`id` = 50
/*!*/;
# at 2280613
#150203  9:17:55 server id 1  end_log_pos 2280640       Xid = 129277538
COMMIT/*!*/;

Additional details
We also tested the scenario without the outer transaction (like below) and the same behavior was seen. Meaning, the INSERT into delayed_jobs happen before the other code and out of order.
# This code without an outer transaction results in the same buggy behavior
u2 = User.first
u2.last_name = "Willie"
u2.save
delay.change_user_name(u2.id)
u2.last_name = "Wonka"
u2.save

Further, it does not matter if we use save or save! in the various AR operations in the above code. The issue happens regardless.
Version Info
MySQL version
Variable_name	Value
innodb_version	5.5.31
protocol_version	10
slave_type_conversions
version	5.5.31-0ubuntu<IP_ADDRESS>-log
version_comment	(Ubuntu)
version_compile_machine	x86_64
version_compile_os	debian-linux-gnu

Rails and gems
rails-3.2.17
delayed_job-4.0.4
delayed_job_active_record-4.0.2

I looked through the code last night in an attempt to pinpoint where delayed_job implements the enqueue operation in the to delayed_jobs table. Although I expected that to be straightforward, I could not locate the relevant code in the repo. Can someone point me to that and/or explain the mechanism in place?
Is there a known design aspect about delayed_job that would cause this out of order INSERT to happen?

Yes the rails log shows the right order but when it gets to mysql (bin logs,) you can clearly see its in the wrong order. More importantly, they are in separate transactions, not nested as you'd expect.
Testing the ruby code without the transaction, as I mentioned, has the same problem.

Can anyone provide a pointer to where DJ does the actual writing to the database, when queuing a new job? Thanks

https://github.com/collectiveidea/delayed_job/blob/master/lib/delayed/backend/base.rb#L35

Hmm, that is really strange. There is no unusual code around that that could explain what I am seeing. Perhaps this is something to discuss with the ActiveRecord experts. I will cross post.
In the mean time, if there is anyone who cannot reproduce the above issue, I'd love to know what you are doing differently.
Thanks

Additional information — we only seem to see this on our ubuntu servers. Not repro on local OSX environments. The mysql database version is different between the two (5.5 vs 5.7). Gems appear to be identical versions. I clearly see an extra BEGIN .. COMMIT block in the rails console in the two environments, so I suspect this is not a mysql version specific behavior ?
on local OSX server
 (0.2ms)  BEGIN
User Load (0.3ms)  SELECT `users`.* FROM `users` WHERE (user_type_id not in ('6')) LIMIT 1
SQL (2.9ms)  INSERT INTO `history_logs` (`action`, `created_at`, `data`, `organization_id`, `updated_at`, `user_id`) VALUES ('update via on 2', '2015-02-12 02:33:42', '{\"last_name\":[\"Owner\",\"Willie\"]}', NULL, '2015-02-12 02:33:42', 0)
 (2.6ms)  UPDATE `users` SET `last_name` = 'Willie', `updated_at` = '2015-02-12 02:33:42' WHERE `users`.`id` = 2
SQL (1.3ms)  INSERT INTO `delayed_jobs` (`attempts`, `created_at`, `failed_at`, `handler`, `last_error`, `locked_at`, `locked_by`, `priority`, `queue`, `run_at`, `updated_at`) VALUES (0, '2015-02-12 02:33:42', NULL, '--- !ruby/object:Delayed::PerformableMethod\nobject: !ruby/object\n prompt:\n :PROMPT_I: ! \'1.9.3-p125 :%03n > \'\n :PROMPT_S: ! \'1.9.3-p125 :%03n%l> \'\n :PROMPT_C: ! \'1.9.3-p125 :%03n > \'\n :PROMPT_N: ! \'1.9.3-p125 :%03n?> \'\n :RETURN: ! \" => %s \\n\"\n :AUTO_INDENT: true\nmethod_name: :change_user_name\nargs:\n- 2\n', NULL, NULL, NULL, 0, NULL, '2015-02-12 02:33:42', '2015-02-12 02:33:42')
SQL (0.2ms)  INSERT INTO `history_logs` (`action`, `created_at`, `data`, `organization_id`, `updated_at`, `user_id`) VALUES ('update via on 2', '2015-02-12 02:33:42', '{\"last_name\":[\"Willie\",\"Wonka\"]}', NULL, '2015-02-12 02:33:42', 0)
 (0.2ms)  UPDATE `users` SET `last_name` = 'Wonka', `updated_at` = '2015-02-12 02:33:42' WHERE `users`.`id` = 2
 (0.4ms)  COMMIT

on ubuntu
 (0.8ms)  BEGIN
User Load (0.8ms)  SELECT `users`.* FROM `users` WHERE (user_type_id not in ('6')) LIMIT 1
SQL (0.5ms)  INSERT INTO `history_logs` (`action`, `created_at`, `data`, `organization_id`, `updated_at`, `user_id`) VALUES ('update via on 50', '2015-02-12 02:08:12', '{\"last_name\":[\"Wonka\",\"Willie\"]}', NULL, '2015-02-12 02:08:12', 0)
 (0.6ms)  UPDATE `users` SET `last_name` = 'Willie', `updated_at` = '2015-02-12 02:08:12' WHERE `users`.`id` = 50
 (0.3ms)  BEGIN
SQL (0.5ms)  INSERT INTO `delayed_jobs` (`attempts`, `created_at`, `failed_at`, `handler`, `last_error`, `locked_at`, `locked_by`, `priority`, `queue`, `run_at`, `updated_at`) VALUES (0, '2015-02-12 02:08:12', NULL, '--- !ruby/object:Delayed::PerformableMethod\nobject: !ruby/object\n prompt:\n :PROMPT_I: ! \'1.9.1 :%03n > \'\n :PROMPT_S: ! \'1.9.1 :%03n%l> \'\n :PROMPT_C: ! \'1.9.1 :%03n > \'\n :PROMPT_N: ! \'1.9.1 :%03n?> \'\n :RETURN: ! \" => %s \\n\"\n :AUTO_INDENT: true\nmethod_name: :change_user_name\nargs:\n- 50\n', NULL, NULL, NULL, 0, NULL, '2015-02-12 02:08:12', '2015-02-12 02:08:12')
 (8.8ms)  COMMIT
SQL (1.0ms)  INSERT INTO `history_logs` (`action`, `created_at`, `data`, `organization_id`, `updated_at`, `user_id`) VALUES ('update via on 50', '2015-02-12 02:08:12', '{\"last_name\":[\"Willie\",\"Wonka\"]}', NULL, '2015-02-12 02:08:12', 0)
 (0.6ms)  UPDATE `users` SET `last_name` = 'Wonka', `updated_at` = '2015-02-12 02:08:12' WHERE `users`.`id` = 50
 (5.3ms)  COMMIT

I figured out the issue. We are using the [now defunct] db_charmer gem to do connection switching between primary and secondary database, and that was not taking effect on the delayed job model class. This causes us to use different connection instances for delayed_job vs other calls, and the transactions are treated separately.
The following monkey-patch fixed the issue.
class Delayed::Backend::ActiveRecord::Job
  # use the same as what you use for all your other AR model classes
  db_magic :connection => :primary, :slave => :replica, :force_slave_reads => false
end

The bug was interesting and important in that it changed the order in which delayed job gets inserted into the database, and sometimes those jobs ran before other dependent database updates were committed.
Now that db_charmer has been suspended with no rails 4.0 support, need to figure out a replacement. In the meantime, monkey-patch it will be.


Create the recordingPath directory, if the recordingPath does not exists

When the wdio runners is on concurrent execution mode, the below errors are thrown in the console logs and it does not generate the video report. The proposed change address the mentioned issue by creating the directory, if it does not exists.
Error: directory (/local/testruns/e8f1acd4-79d5-44e2-a331-08b9472a6821/src/TestSuiteJS/build/integ-tests/video/rawSeleniumVideoGrabs/Authoring-Field-Link--List-rowlink--Should-remove-the-link-when-unmapping-the-slot--CHROME--11-23-2021--21-03-00-304) doesn't exist
at runMicrotasks ()
at processTicksAndRejections (internal/process/task_queues.js:97:5)
at Video.onAfterCommand (/local/testruns/e8f1acd4-79d5-44e2-a331-08b9472a6821/src/TestSuiteJS/node_modules/wdio-video-reporter/src/index.js:103:17)
at //local/testruns/e8f1acd4-79d5-44e2-a331-08b9472a6821/src/TestSuiteJS/node_modules/@wdio/runner/build/reporter.js:38:49
at Array.forEach ()
at BaseReporter.emit (/local/testruns/e8f1acd4-79d5-44e2-a331-08b9472a6821/src/TestSuiteJS/node_modules/@wdio/runner/build/reporter.js:38:20)
at EventEmitter. (/local/testruns/e8f1acd4-79d5-44e2-a331-08b9472a6821/src/TestSuiteJS/node_modules/@wdio/runner/build/index.js:202:50)
at Browser.WebDriver.prototype. [as emit] (/local/testruns/e8f1acd4-79d5-44e2-a331-08b9472a6821/src/TestSuiteJS/node_modules/@wdio/utils/build/monad.js:130:3

@christian-bromann: Please look into the new pull request updated with the fix.
This will also work if the recordingPath has a bunch of non existing sub directories.

@christian-bromann @WillBrock @meruga92 @presidenten : could someone look into this pull request?

@ajvj can we bump the unit test coverage a bit?

@ajvj can we bump the unit test coverage a bit?

I have bumped up the unit test coverage on the new commit: 8ea4c57

@christian-bromann: Please look into the revised change along with the unit test coverage.


luci-mod-system: Update system.lua

Fix the file system.lua and related base.po for more accurate description.
Signed-off-by: Angus Ding<EMAIL_ADDRESS>

Rebased, squashed and merged with fdb7f3ed1 and 94ebc49a4 - thanks!


Govee devices not responding in HA. Unable to re-add integration.

Govee devices not responding in HA.
Removed integration, attempted to re-add integration, getting:
Cannot connect. Is the API-Key correct and the internet connection working?
Applied for new API key still not working.
Home Assistant 2023.7.2
Govee Integration 0.2.2
Govee android app can control devices.
Logs state rate exceeded however this can't be possible as the integration isn't working.
Logs when attempting to enter API key.
2023-08-02 08:06:55.906 WARNING (MainThread) [govee_api_laggat.api] Rate limit exceeded, check if other devices also utilize the govee API
2023-08-02 08:06:55.907 ERROR (MainThread) [custom_components.govee.config_flow] Cannot connect: API: API-Error 429: {"message":"rate limited! the limit is 10000 requests every 24 hours. X-RateLimit-Reset in Http Response Header shows the reset time."}
Traceback (most recent call last):
File "/config/custom_components/govee/config_flow.py", line 68, in async_step_user
user_input = await validate_api_key(self.hass, user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/govee/config_flow.py", line 34, in validate_api_key
raise CannotConnect(error)
custom_components.govee.config_flow.CannotConnect: API: API-Error 429: {"message":"rate limited! the limit is 10000 requests every 24 hours. X-RateLimit-Reset in Http Response Header shows the reset time."}

Seems fine now, possibly Govee servers had a wobble this morning.


MBE doesn't bracket reference arguments

CC #8961
struct Options {
    casei: Option<bool>,
}
const CASEI: Options = Options { casei: Some(true) };

macro_rules! toregex {
    ($name:ident, $options:expr) => {
        #[test]
        fn $name() {
            if let Some(casei) = $options.casei {
                foo(casei);
            }
        }
    };
}

toregex!(re_casei, &CASEI);

fn foo(_c: bool) {}

If you macro-expand toregex, it produces if let Some(casei) = &CASEI.casei, causing a compilation error and a and type mismatch. The correct expansion is if let Some(casei) = (&CASEI).casei.

Hmm isn't this supposed to work by introducing 'invisible' parens? But obviously something is going wrong there...

I think so, and we had some changes related to token grouping, IIRC. We should still display the brackets for convenience, though.

This was apparently fixed by https://github.com/rust-analyzer/rust-analyzer/pull/10044. For some reason, it doesn't reproduce without #[test] attribute.


Update README.md

Added "Example decoding SenML using 'keyasint' struct tags".
Added "Example decoding CWT (CBOR Web Token) using toarray struct tag".
Added blank line above bullet points because go.dev rendered it horribly (as a paragraph!)

Codecov Report

Merging #38 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #38   +/-   ##
=======================================
  Coverage   96.97%   96.97%
=======================================
  Files           6        6
  Lines        1289     1289
=======================================
  Hits         1250     1250
  Misses         26       26
  Partials       13       13

Continue to review full report at Codecov.

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

Closes: #37


"run-all" enhancement: improve output showing what modules are included/excluded

For some applications we have 20+ modules where we would run a plan, for example like this:
$ terragrunt run-all plan --terragrunt-parallelism 4 --terragrunt-include-dir "*/*/my-app/"
INFO[0001] Stack at /Some/path/terraform-repo/terragrunt:
  => Module /Some/path/terraform-repo/terragrunt/account1-prd/roduction_eu/kong (excluded: true, dependencies: [])
  => Module /Some/path/terraform-repo/terragrunt/account1-prd/production_eu/network (excluded: true, dependencies: [])
  => Module /Some/path/terraform-repo/terragrunt/account1-prd/production_kr/network (excluded: true, dependencies: [])
  => Module /Some/path/terraform-repo/terragrunt/account1-stg/staging_eu/kong (excluded: true, dependencies: [])
  => Module /Some/path/terraform-repo/terragrunt/account1-stg/staging_eu/network (excluded: true, dependencies: [])
  => Module /Some/path/terraform-repo/terragrunt/account2-prd/production/app1/config1 (excluded: true, dependencies: [])
  => Module /Some/path/terraform-repo/terragrunt/account2-prd/production/app1/config2 (excluded: true, dependencies: [])
  => Module /Some/path/terraform-repo/terragrunt/account2-prd/production/app1/config3 (excluded: true, dependencies: [])
  => Module /Some/path/terraform-repo/terragrunt/account2-prd/production/app1/config4 (excluded: true, dependencies: [])
  => Module /Some/path/terraform-repo/terragrunt/account2-prd/production/app1/config5 (excluded: true, dependencies: [])
  => Module /Some/path/terraform-repo/terragrunt/account2-prd/production/app1/config6 (excluded: true, dependencies: [])
  => Module /Some/path/terraform-repo/terragrunt/account2-prd/production/app1/config7 (excluded: true, dependencies: [])
  => Module /Some/path/terraform-repo/terragrunt/account2-prd/production/app1/config8 (excluded: true, dependencies: [])
  => Module /Some/path/terraform-repo/terragrunt/account2-prd/production/app1/config9 (excluded: true, dependencies: [])
  => Module /Some/path/terraform-repo/terragrunt/account2-prd/production/my-app (excluded: false, dependencies: [])
  => Module /Some/path/terraform-repo/terragrunt/account2-prd/production/kong (excluded: true, dependencies: [])
  => Module /Some/path/terraform-repo/terragrunt/account2-prd/production/network (excluded: true, dependencies: [])
  => Module /Some/path/terraform-repo/terragrunt/account2-prd/production/app2/config1 (excluded: true, dependencies: [])
  => Module /Some/path/terraform-repo/terragrunt/account2-prd/production/app2/config2 (excluded: true, dependencies: [])
  => Module /Some/path/terraform-repo/terragrunt/account2-prd/production/app2/config3 (excluded: true, dependencies: [])
  => Module /Some/path/terraform-repo/terragrunt/account2-prd/production/app2/config4 (excluded: true, dependencies: [])
  => Module /Some/path/terraform-repo/terragrunt/account2-prd/production/app2/config5 (excluded: true, dependencies: [])
  => Module /Some/path/terraform-repo/terragrunt/account2-prd/production/app2/config6 (excluded: true, dependencies: [])
  => Module /Some/path/terraform-repo/terragrunt/account2-prd/production/app2/config7 (excluded: true, dependencies: [])
  => Module /Some/path/terraform-repo/terragrunt/account2-prd/production/app2/config8 (excluded: true, dependencies: [])

The problem is that the initial output from this makes it really hard to see what is matched and what is not. It's really just searching for excluded: false in all this text, which is hard.
Would it be possible to just print the modules that match?

Which version of terragrunt are you using? This should be addressed as of https://github.com/gruntwork-io/terragrunt/releases/tag/v0.35.4

I was using v0.32.4. Just tested a newer version and yes, looks much better. Thanks @yorinasub17 💖


can't login and upload files to google drive

After adding the magnet and finished download by server, file can't be uploaded to google drive, I was already logged in but there is no indication login is this because the google app has not been verified??

The login icon (first one in top row) will turn green if you're logged in.
How did you log in? You're supposed to click above referenced icon to login. If you clicked it, was there any error?

hmm okay, can you send a screenshot for successful login?

￼

I successfully login with mega account but not with google account


Following documentation gives error 'connection refused'

If you follow the instructions to start chef-zero, you will get an error
documentation
Note, this will run in the foreground.

You now have a fully functional (empty) Chef Server running.

To try it out, go into the chef-zero/playground directory and run knife.

Yet, when I try that, I get this error:
sowens-MBP:playground sowen$ chef-zero &
[1] 40689
sowens-MBP:playground sowen$ /Users/sowen/.rvm/gems/ruby-2.2.0/gems/chef-zero-4.0/lib/chef_zero/version.rb:2: warning: already initialized constant ChefZero::VERSION
/private/tmp/chef-zero/lib/chef_zero/version.rb:2: warning: previous definition of VERSION was here
>> Starting Chef Zero (v4.0)...
>> WEBrick (v1.3.1) on Rack (v1.5) is listening at http://<IP_ADDRESS>:8889
>> Press CTRL+C to stop

ls
checksums    cookbooks    data_bags    environments nodes
sowens-MBP:chef-zero sowen$ cd playground/
sowens-MBP:playground sowen$ knife upload .
ERROR: Connection refused connecting to http://<IP_ADDRESS>:4000/nodes, retry 1/5
ERROR: Connection refused connecting to http://<IP_ADDRESS>:4000/data, retry 1/5
ERROR: Connection refused connecting to http://<IP_ADDRESS>:4000/environments, retry 1/5
ERROR: Connection refused connecting to http://<IP_ADDRESS>:4000/cookbooks, retry 1/5

I'd like to update the readme, but I'm not sure why this doesn't work.

Default port for chef-zero is 8889, however in the configuration within the playground the specified port is 4000. You're currently running chef-zero with the default options.
You can specify an address and port for chef-zero to bind to by running:
$ chef-zero -H <IP_ADDRESS> -p 4000
>> Starting Chef Zero (v4.3.2)...
>> WEBrick (v1.3.1) on Rack (v1.6.4) is listening at http://<IP_ADDRESS>:4000
>> Press CTRL+C to stop

And to run it as a daemon process just pass -d.
For more info:
$ chef-zero -h
Usage: chef-zero [ARGS]
    -H, --host HOST                  Host to bind to (default: <IP_ADDRESS>)
    -p, --port PORT                  Port to listen on (e.g. 8889, or 8500-8600 or 8885,8888)
        --[no-]generate-keys         Whether to generate actual keys or fake it (faster).  Default: false.
    -d, --daemon                     Run as a daemon process
    -l, --log-level LEVEL            Set the output log level
        --log-file FILE              Log to a file
        --multi-org                  Whether to run in multi-org mode
        --file-store PATH            Persist data to files at the given path
        --[no-]ssl                   Use SSL with self-signed certificate(Auto generate before every run).  Default: false.
    -h, --help                       Show this message
        --version                    Show version


cf auth is rejecting passwords starting with dash with message "Incorrect Usage: unknown flag"

Describe the bug and the command you saw an issue with

As a cf cli user
in order to login into the CF CLI using login/passwords
I need the CLI to accept user-defined passwords including the ones starting with - (dash)

What happened
The password is incorrectly interpreted as a flag and rejected
Incorrect Usage: unknown flag M'`
Expected behavior
flags should be checked against 3rd argument, but not 1st or 2nd argument (username or password)
cf auth --help
NAME:
   auth - Authenticate non-interactively

USAGE:
   cf auth USERNAME PASSWORD
   cf auth USERNAME PASSWORD --origin ORIGIN
   cf auth CLIENT_ID CLIENT_SECRET --client-credentials

Exact Steps To Reproduce

Steps to reproduce the behavior; include the exact CLI commands and verbose output:

Run cf auth username "-MyRandomLyGeneratedPassWord"
See error

Note: escaping the dash bypasses the flag parsing, but fails login
$ cf auth username "\-MyRandomLyGeneratedPassWord"
Authenticating...
Credentials were rejected, please try again.
FAILED

Provide more context

platform and shell details ( bash "Ubuntu 18.04.5 LTS" )
version of the CLI you are running: cf version 7.1.0+4c3168f9a.2020-09-09 and cf version 6.52.0+b086fe522.2020-08-26
version of the CC API Release you are on

@gberche-orange did you ever find a workaround? I have the same problem.

@signalwerk Sorry, the only workaround I'm aware of is changing the account password to not start with a dash

@gberche-orange ok. thank you for your fast answer ☺. Right now, I'm unable to do that, but let's hope that in the future we will get a solution for this.

Thank you for your submission. If you still run into this issue with the latest CLI v8, please open a new ticket with the necessary information mentioned in our issue template.


[Q] Questions about freeing up storage.

Hello,
I am seeking to optimize the storage usage in my wandb account by removing media files and have two questions regarding the storage management UI:

When I choose a run and hit the delete button like this:

which of the following is the expected outcome?

a) the entire run is removed, including the logged data (e.g., training loss).
b) only the media/artifacts associated with the run are deleted, while the logged data remains intact.
I am inclined to believe it is the latter (b), as the run directory appears to contain only a "media" folder. However, as the exact storage location of the logged data is not unclear to me, I am seeking confirmation here.

After I deleted all files in a run (dm6frnej for example):

why the storage utilization of this run remains changed?

I have read that wandb has some "time-to-live (TTL)" mechanism for artifacts management. However, I have not set the TTL policy for my project so I suppose this may not be the reason.

Thank you!

I am seeing exactly the same behavior. I would have thought that some caching mechanism could be causing this, but several days have passed and the app still says I have no more storage space.
This is a pretty large problem as it makes my account unusable.

I am seeing exactly the same behavior. I would have thought that some caching mechanism could be causing this, but several days have passed and the app still says I have no more storage space.
This is a pretty large problem as it makes my account unusable.

Yes! This is frustrating...

I've been deleting files through the Python API for a week but still see no changes in the web UI. I want to access my runs at some point...

Hey guys apologies you are seeing this behavior. To confirm, both @nzl-thu and @Adamits are deleting their data using the UI and @Riccorl is deleting it using the API?
@Riccorl, could you send me the toy script of you trying to delete your data?
Could you guys also all send me your username so I can look into your accounts as well, as potentially escalate this to our engineering team.

Hi @ArtsiomWB
Mine seems to have started working somewhere in the last few hours. I still might have a script inadvertently synching model data, so I suspect I could need to mass delete artifacts again. In case it is still useful, my username is also adamits on W&B. My profile is at https://wandb.ai/adamits
Thanks!

Hey guys apologies you are seeing this behavior. To confirm, both @nzl-thu and @Adamits are deleting their data using the UI and @Riccorl is deleting it using the API?
@Riccorl, could you send me the toy script of you trying to delete your data?
Could you guys also all send me your username so I can look into your accounts as well, as potentially escalate this to our engineering team.

Sure, my profile is at https://wandb.ai/thu-n.
Meanwhile, could you please answer my first question as well?
Thank you!

Hi @ArtsiomWB
My profile is at https://wandb.ai/thu-n.
Meanwhile, could you please answer my first question as well?
Thank you!

Hey guys apologies you are seeing this behavior. To confirm, both @nzl-thu and @Adamits are deleting their data using the UI and @Riccorl is deleting it using the API?
@Riccorl, could you send me the toy script of you trying to delete your data?
Could you guys also all send me your username so I can look into your accounts as well, as potentially escalate this to our engineering team.

Here is the script I used:
import argparse
import wandb

if __name__ == "__main__":
    arg_parser = argparse.ArgumentParser()
    arg_parser.add_argument("project_name", type=str, help="Name of the project")
    arg_parser.add_argument(
        "--dry_run", action="store_true", help="If true, don't delete anything"
    )
    args = arg_parser.parse_args()

    dry_run = args.dry_run

    project_name = args.project_name

    api = wandb.Api(overrides={"project": project_name, "entity": "riccorl"})
    runs = api.runs(project_name)

    print("Deleting checkpoints and models in runs")
    for run in runs:
        if run.state != "finished":
            continue
        for f in run.files():
            if "ckpt" in f.name or "pt" in f.name or "hf_model" in f.name or "retriever" in f.name or "document_index" in f.name or "model" in f.name:
                print(f"DELETING {run.id}/{f.name}")
                if not dry_run:
                    f.delete()
                else:
                    print("DRY RUN: NOT DELETING")

    print("Deleting models in artifacts")
    project = api.project(project_name)
    for artifact_type in project.artifacts_types():
        for artifact_collection in artifact_type.collections():
            for version in api.artifacts(artifact_type.type, artifact_collection.name):
                if artifact_type.type == "model":
                    print(f"DELETING {version.name}")
                    if not dry_run:
                        version.delete(delete_aliases=True)
                    else:
                        print("DRY RUN: NOT DELETING")

Just FYI, I can see the prints ("DELETING ...") the first time I run the script on a project, but it doesn't print that line anymore after that.

Apologies for taking a long time to get back to you guys. Currently we are experiencing some unexpected behaviors regarding freeing up space, and we are sincerely sorry for the inconvenience. What happens right now is that after you free up your space the job gets added to the queue, and because of a very high number of people currently cleaning up their accounts, it takes longer than usual to update the storage that is displayed in the account.
Regarding @nzl-thu's question I just tried it out on my side and once you delete your run from that page, option a is the one that is happening:

a) the entire run is removed, including the logged data (e.g., training loss).
So no metrics or artifacts + media files are saved.

Since it has been sometime since I've gotten back to you guys, is everyone still seeing this behavior?

Thanks for the update!

Since it has been sometime since I've gotten back to you guys, is everyone still seeing this behavior?

Yes I still can't access my runs due to storage limits

@Riccorl, looking at your code, to confirm you are trying to delete checkpoints in models in runs per a single project right?

@nzl-thu , you could use a scrip like this:
import wandb

# Initialize the W&B API
api = wandb.Api()

# Replace <entity> with your actual entity name
entity = "<entity>"

# Define the file extensions you want to delete
image_extensions = [".png", ".jpg", ".jpeg", ".bmp", ".gif"]
media_extensions = [".mp4", ".mp3", ".wav", ".avi", ".mov"]
extensions_to_delete = image_extensions + media_extensions

# Iterate over all projects
for project in api.projects(entity):
    print(f"Processing project: {project.name}")

    # Iterate over all runs in the project
    for run in api.runs(f"{entity}/{project.name}"):
        print(f" - Processing run: {run.id}")

        # Get all files in the run
        files = run.files()

        # Delete files with the specified extensions
        for file in files:
            if any(file.name.endswith(ext) for ext in extensions_to_delete):
                print(f"   - Deleting file: {file.name}")
                file.delete()

Just be careful because it does go over every single project in your entity and delete all of the media files from it.

@Riccorl, looking at your code, to confirm you are trying to delete checkpoints in models in runs per a single project right?

Yep, I confirm

Given the current issues, isn't it possible to give run access in the meantime? I can't access my account for a month now.

@Riccorl, apologies it's taking so long to resolve this, could you please write into<EMAIL_ADDRESS>and I can potentially help you with that there? For us to talk privately about your account status?

Sure, thanks for the help!

Apologies for taking a long time to get back to you guys. Currently we are experiencing some unexpected behaviors regarding freeing up space, and we are sincerely sorry for the inconvenience. What happens right now is that after you free up your space the job gets added to the queue, and because of a very high number of people currently cleaning up their accounts, it takes longer than usual to update the storage that is displayed in the account.
Regarding @nzl-thu's question I just tried it out on my side and once you delete your run from that page, option a is the one that is happening:

a) the entire run is removed, including the logged data (e.g., training loss).
So no metrics or artifacts + media files are saved.

Since it has been sometime since I've gotten back to you guys, is everyone still seeing this behavior?

Thanks. You said the request will be added to the queue. How long I can release my memory space? Since I need some memory urgently.

The issue persists. It might even take a whole day to get media files deleted through the UI.


Use more secure methods

Which issue(s) this PR fixes:
None
What this PR does / why we need it:
DeepSource complains that fluentd uses insecure methods:

Kernel.open: https://deepsource.io/gh/cosmo0920/fluentd/issue/RB-SC1004/
JSON.load: https://deepsource.io/gh/cosmo0920/fluentd/issue/RB-SC1002/occurrences

Docs Changes:
No need.
Release Note:
Same as title.

I doubt whether https://deepsource.io/gh/cosmo0920/fluentd/issue/RB-SC1002 is consistent or not.
How about quoting the following:

https://www.rubydoc.info/gems/rubocop/RuboCop/Cop/Security/Open

`Kernel#open` and `URI.open` enable not only file access but also process invocation by prefixing a pipe symbol (e.g., `open(“| ls”)`). So, it may lead to a serious security risk by using variable input to the argument of `Kernel#open` and `URI.open`. It would be better to use `File.open`, `IO.popen` or `URI.parse#open` explicitly.

https://www.rubydoc.info/gems/rubocop/RuboCop/Cop/Security/JSONLoad

Autocorrect is disabled by default because it's potentially dangerous. If using a stream, like `JSON.load(open('file'))`, it will need to call `#read` manually, like `JSON.parse(open('file').read)`. If reading single values (rather than proper JSON objects), like `JSON.load('false')`, it will need to pass the `quirks_mode: true` option, like `JSON.parse('false', quirks_mode: true)`. Other similar issues may apply.


Update @sprjr as a contributor

sorry, last one was via github web IDE, didn't read the docs on how to update :)

Thanks!


'Net::IMAP::BadResponseError'  >>> unknown command

This error occurs randomly while using the lib.
The exact problem is well described here : http://stackoverflow.com/questions/6385276/unknown-command-on-gmail-gem
I'm trying to get my emails using the Gmail gem (source) with the next call:
class MyClass
  def initialize account, credentials
    @gmail = Gmail.connect(account, credentials)
  end

  def get_attachments received_at, options
    mails = @gmail.inbox.find(
      :to => options[:to],
      :has=>:attachments,
      :before => options[:end_date],
      :after => received_at
     )
     #more code
   end
end

@gmail is a valid instance of Gmail class, and this call raises sometimes the next error:
Unknown command v2if4084974eef.9
The command (v2if4084974eef.9) changes in every call I make.
What am I doing wrong?
I'm using ruby-1.9.2-p180 and rails 3.1.0

folks any updates on this I keep getting the same error...

I encountered this problem.  To get vmail working, I had to go to myaccount.google.com -> "connected apps & sites", and turn "Allow less secure apps" to "ON" (near the bottom of the page).  I guess vmail is less secure. XD
Hope this helps!

Pasting this above your Gmail.new command will make it work.
  #Monkey Patch
  #https://github.com/gmailgem/gmail/issues/228
  class Object
    def to_imap_date
      date = respond_to?(:utc) ? utc.to_s : to_s
      Date.parse(date).strftime('%d-%b-%Y')
    end
  end


feat(eslint): add eslint-plugin-qwik

MVP

[x] unit tests integration with Jest
[x] eslint 8.x
[x] TS
[ ] publish eslint-plugin-qwik to NPM

the implementation follows these spec rules https://gist.github.com/mhevery/f56cd107bd358625a0a2753eba63147a#file-spec-tsx

@otodockal I am going to close this as we now have it implemented here: https://github.com/BuilderIO/qwik/tree/main/packages/eslint-plugin-qwik

Yeah, I see @mhevery, it's OK, I could learn something new. Either way, the new API feels way more ergonomic. This rule is very strict, so it's better not to need it, definitely.

Thanks for the feedback @otodockal ! (and for your contribution) 🙏


Add Auto Project Converter

This PR implements the functionality that automatically converts the state file of a project when the user tries to open or import the project created in an earlier version (<1.0) of ASReview LAB.

Thanks @terrymyc this helps @PeterLombaers!


Docs URL

Docs (which need updating) currently point to https://cookiecutter-mdakit.readthedocs.io/en/latest/?badge=latest . Do we want to move it to a subdomain, like docs.mdanalysis.org and userguide.mdanalysis.org?
Options include:

cookiecutter.mdanalysis.org
cookiecutter-mdakit.mdanalysis.org
mdakits.mdanalysis.org (ideally this URL would be a more general location for all mdakit stuff, though)
mdakits.mdanalysis.org/cookiecutter <-- I think this can work as a submodule of an overall mdakits repository
do nothing, stay on RTD

It would be good to have this cleared up as we start working on cookiecutter docs, so we start off pointing people in the right direction.
Comments from @MDAnalysis/coredevs welcomed.

Ultimately, having mdakits.mdanalysis.org for all MDAKit stuff would be nice.
Right now, we can also just do the usual www.mdanalysis.org/cookiecutter-mdakit.

I actually like the idea of the cookiecutter being a it's own product, i.e. you don't have to expect to be an mdakit to want to use the cookiecutter (i.e. you might just like this cookiecutter better than the alternatives).
I would vote for cookiecutter.mdanalysis.org or www.mdanalysis.org/cookiecutter or www.mdanalysis.org/cookiecutter-mdakit


Add int64 axis support for tf.cumsum and tf.cumprod

This fix adds int64 axis support for tf.cumsum and tf.cumprod.
Though int64 is the registered data type for axis (Tidx) in math_ops.cpp, the corresponding kernel is not available.
The issue could be described as:
>>> import tensorflow as tf
>>> v = tf.cumsum([1, 2, 3], tf.constant(0, tf.int64))
>>> tf.Session().run(v)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 889, in run
    run_metadata_ptr)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1120, in _run
    feed_dict_tensor, options, run_metadata)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1317, in _do_run
    options, run_metadata)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1336, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: No OpKernel was registered to support Op 'Cumsum' with these attrs.  Registered devices: [CPU], Registered kernels:
  device='CPU'; T in [DT_COMPLEX128]; Tidx in [DT_INT32]
  device='CPU'; T in [DT_COMPLEX64]; Tidx in [DT_INT32]
  device='CPU'; T in [DT_DOUBLE]; Tidx in [DT_INT32]
  device='CPU'; T in [DT_FLOAT]; Tidx in [DT_INT32]
...

This fix adds the missing kernels and adds additional test cases for them.
Signed-off-by: Yong Tang<EMAIL_ADDRESS>

Can one of the admins verify this patch?

Looks nice!  @tensorflow-jenkins test this please

The only failure is on Windows CMAKE which seems to be a Jenkins network issue:
22:45:53  > git fetch --tags --progress https://github.com/tensorflow/tensorflow.git +refs/pull/*:refs/remotes/origin/pr/*
22:45:57 ERROR: Error fetching remote repo 'origin'
22:45:57 hudson.plugins.git.GitException: Failed to fetch from https://github.com/tensorflow/tensorflow.git
22:45:57 	at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:817)
22:45:57 	at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1084)

I think a rerun may resolve it.


Adonis ORM User.all() crashes

Seeing some strange things happening.
When I use the code:
* index (request, response) {
  let users = yield User.all();
  response.json(users);
}

I get an error:
{ [Error: select * from "users" where "users"."deleted_at" is null - SQLITE_ERROR: no such column: users.deleted_at] errno: 1, code: 'SQLITE_ERROR' }

when trying to access my server:
http://localhost:3333/users

However, when I go:
* index (request, response) {
  const users = yield Database.table('users').select('*');
  response.json(users);
}

I get the expected JSON response back without any errors.
I've just discovered Adonis a few hours ago, and taking it for a quick spin.
Also, can we please get some documentation on defining Models in Adonis, I mean setting the properties like username, password, email, and what datatype they're suppose to be etc.
The documentation so far only show how to generate a model using ace command, and how to override special functions such as visible() and hidden().
How do we define our model properties ?
Is it:
class User extends Lucid {
    username: { type: 'string', length: 6 },
    email: { type: 'email' },
    age: { type: 'integer' }
}

Nice framework so far.

Lucid seems to require the field deleted_at. To fix that issue you need to add the field deleted_at manually.
To define a model you simply need to create a class and extend from Lucid.
// Models/UserModel.js
'use strict';
const Lucid = use("Lucid");
class User extends Lucid { }
module.exports = User;

If I understand you correctly you're looking for migrations:

When you say you manually added the delete_at field, are you talking about inside your User model class javascript file or are you talking about directly in the SQL file ?
What you've shown there is defining a User model but how does one specify the properties of that User model ?
At the moment, the User model is blank, it hasn't specified that a User model should have a username, or password, or email, or age, or gender, etc.
I have tried:
'use strict'
const Lucid = use("Lucid")

class User extends Lucid {
  constructor() {
    this.username = '';
    this.password = '';
  }
}

module.exports = User

Like how is demonstrated here: https://babeljs.io/docs/learn-es2015/
but I get a console error:
this is not defined.

@chewedon there seems to be confusion, let me address them.

Adonis orm has a concept of soft deletes which means whenever you delete it is not deleted in database, infact a field called deleted_at is updated to mark the row as deleted. You can turn it off by inside your model.
http://adonisjs.com/docs/2.0/lucid#soft-deletes

Lucid is only a sql orm and follows active record pattern, so there is no need to define schema inside your models as they only makes model dirty and harder to read. In order to setup database you can use migrations using ace commands.

@thetutlage hello, thanks for replying :D

Yes, I've read briefly about the soft delete but problem is, I am not even deleting, all I'm doing is fetching.

As you can see from my example code I've shown above, all I did was generate a new Adonis project, created a few User model and then tried to do a fetch all Users using the User.all() method but that itself caused a crash and said delete_at field is missing which it is when looking at the generated SQLite table itself.
I am not even doing any delete operation in my code. I was expecting User.all() to give me the same result as Database.table('user').select('*').
If Lucid requires that delete_at field, and soft delete is on by default, how come the database migration didn't generate the field delete_at when user run the ace command to migrate database ?

So let's say a new project has been underway by one man. Then months later, a new developer come on board the team, in order for the new developer to know what properties an entity such as User has, he needs to open the SQLite file and look at all the columns OR go through every migration file and see what operation was done on the table schema, i.e. new column inserted, deleted, updated etc

If this new developer does not have access to the SQL database file because he's working remotely, if becomes an even bigger problem.
I don't see how schema inside a model class makes it dirty and harder to read than any other regular Object Oriented Programming Class.
You're already going to have code like:
class User extends Lucid {

  posts () {
    return this.hasMany('App/Model/Post')
  }

}

Now the programmer needs to look at the User class to see what relationship it has, as well as the SQL file, i.e. two separate places to visit to get the information he needs.
Do you see that as a problem ?
Maybe I just need to get used to it :D

Okay, first when you are fetching rows, it is ORM responsibility to make sure you are not getting deleted rows (soft deleted rows), so the fetch query will have to add a where clause.
Next having schema inside the model is a pain not a relief, may be from smaller point it seems nice but it take the flexibility of versioning a database.
Here is a nice article which simply talks about why versioning of database is required. http://enterprisecraftsmanship.com/2015/08/10/database-versioning-best-practices.
It is all about design practices which are followed by Adonis, and every design practice comes with goods and bads.
Finally, why migration file does not create a deleted_at column, this is something needs improvement and will fix it. From going onwards, every new migration file will have timestamps and deleted_at column by default.

I see. I'll venture on and see how well Adonis synergizes with me :D
So far, I was able to do a simple image upload, place the image file inside the public folder and it was served immediately on my views, so it is a good start, liking it so far.

Great :+1:

Create issue on lucid repo https://github.com/adonisjs/adonis-lucid/issues/12


Operational efficiency issues and support username: hash

Why? When i Using the "gocrack" BUT it's significantly less efficient than The "hashcat".
Is my gocrack-configuration's question?
THX! That's my runing logs:
--------------------------------using hashcat --------------------------------------
Session ..........: hashcat
Status ...........: Exhausted
Hash.Type ........: MD5
Hash.Target ......: onlypass.txt
Time.Started .....: Mon Nov 6 15:36:34 2017 (2 mins, 10 secs)
Time.Estimated ...: Mon Nov 6 15:38:44 2017 (0 secs)
Guess.Base .......: File (onlydic.txt)
Guess.Queue ......: 1/1 (100.00%)
Speed.Dev. # 1 .....: 475.8 kH / s (7.84 ms)
Recovered ........: 3851155/8396914 (45.86%) Digests, 0/1 (0.00%) Salts
Recovered / Time ...: CUR: 2408655, N / A, N / A AVG: 1785572, 107134366, -2147483648 (Min, Hour, Day)
Progress .........: 56932171/56932171 (100.00%)
Rejected .........: 0/56932171 (0.00%)
Restore.Point ....: 56932171/56932171 (100.00%)
Candidates. # 1 ....: midas1342 -> drdjcgv
HWMon.Dev. # 1 .....: Temp: 33c Fan: 46% Util: 20% Core: 1139MHz Mem: 3304MHz Bus: 1
-------------------------------- using gocrack --------------------------------------
Time Started Mon Nov 6 14:50:50 2017
Time Estimated Mon Nov 6 22:05:24 2017 (6 hours, 32 mins)
In addition, hashcat uses the --username option to identify user and hash combinations like admin: e10adc3949ba59abbe56e057f20f883e.
gocrack how to support such a format?
Translate for Google

Can you provide more information please:

What version of hashcat were you using in the above snippet
Can you show the output of ‘hashcat —opencl-info’?
Can you confirm you ran both tasks with the same dictionary and no mangling rules?

Unfortunately I’m out for a few weeks on leave but i know we have not seen any performance issues or impact in our environments and testing. This additional info will help me troubleshoot it when I get back.

We have a 16-hour time difference so it's wonderful to be able to communicate, not so good as my English. Haha. Happy holidays.
f@f-go:~$ hashcat --version v3.6.0+
`f@f-go:~$ hashcat --opencl-info
hashcat (v3.6.0+) starting...
OpenCL Info:
Platform ID #1
Vendor  : NVIDIA Corporation
Name    : NVIDIA CUDA
Version : OpenCL 1.2 CUDA 9.0.194
Device ID #1
Type           : GPU
Vendor ID      : 32
Vendor         : NVIDIA Corporation
Name           : GeForce GTX 1060 6GB
Version        : OpenCL 1.2 CUDA
Processor(s)   : 10
Clock          : 1708
Memory         : 1518/6072 MB allocatable
OpenCL Version : OpenCL C 1.2
Driver Version : 384.90
Device ID #2
Type           : GPU
Vendor ID      : 32
Vendor         : NVIDIA Corporation
Name           : GeForce GTX 950
Version        : OpenCL 1.2 CUDA
Processor(s)   : 6
Clock          : 1190
Memory         : 497/1988 MB allocatable
OpenCL Version : OpenCL C 1.2
Driver Version : 384.90
`
If you need, I will upload my hash and dictionary.

@allwithfly I tried to reproduce this by generating a file with 8,396,914 random MD5 hashes and using a larger dictionary (78,716,111 entries ~800MB) and i'm not seeing any performance impact.
hashcat (v3.6.0+) starting...

OpenCL Platform #1: Apple
=========================
* Device #1: Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz, skipped.
* Device #2: Iris Pro, 384/1536 MB allocatable, 40MCU
* Device #3: AMD Radeon R9 M370X Compute Engine, 512/2048 MB allocatable, 10MCU

Hashes: 8396914 digests; 8396914 unique digests, 1 unique salts
Bitmaps: 24 bits, 16777216 entries, 0x00ffffff mask, 67108864 bytes, 5/13 rotates
Rules: 1

Applicable optimizers:
* Zero-Byte
* Precompute-Init
* Precompute-Merkle-Demgard
* Meet-In-The-Middle
* Early-Skip
* Not-Salted
* Not-Iterated
* Single-Salt
* Raw-Hash

Watchdog: Temperature abort trigger disabled.
Watchdog: Temperature retain trigger disabled.

Dictionary cache hit:
* Filename..: /Users/cschmitt/800mb.dict
* Passwords.: 78716111
* Bytes.....: 861753420
* Keyspace..: 78716111

[s]tatus [p]ause [r]esume [b]ypass [c]heckpoint [q]uit => s

Session..........: hashcat
Status...........: Exhausted
Hash.Type........: MD5
Hash.Target......: testing.hashes
Time.Started.....: Tue Nov 21 11:43:31 2017 (4 secs)
Time.Estimated...: Tue Nov 21 11:43:35 2017 (0 secs)
Guess.Base.......: File (/Users/cschmitt/800mb.dict)
Guess.Queue......: 1/1 (100.00%)
Speed.Dev.#2.....: 10215.2 kH/s (9.34ms)
Speed.Dev.#3.....:  8852.0 kH/s (4.51ms)
Speed.Dev.#*.....: 19067.2 kH/s
Recovered........: 0/50 (0.00%) Digests, 0/1 (0.00%) Salts
Progress.........: 78716111/78716111 (100.00%)
Rejected.........: 689762/78716111 (0.88%)
Restore.Point....: 76039779/78716111 (96.60%)
Candidates.#2....: $HEX[574b54484c524d4c3630] -> $HEX[bfbfbfbf]
Candidates.#3....: vita1980 -> WKTHEBOSSSON

Here's a message from GoCrack from a task with the same configuration:
{
    "message": {
        "status": {
            "Candidates": {
                "2": "viwuwi45 -> yume-ikoma",
                "3": "$HEX[79756d652d69726f] -> $HEX[bfbfbfbf]"
            },
            "DeviceStatus": [
                {
                    "DeviceID": 2,
                    "ExecDev": 12.072813333333334,
                    "HashesSec": "10538.6 k"
                },
                {
                    "DeviceID": 3,
                    "ExecDev": 6.992842133333334,
                    "HashesSec": "10032.2 k"
                }
            ],
            "GuessBase": "/Users/cschmitt/.gocrack/worker/shared_files/92ccc2cf-9827-4cf4-a1eb-a14f9894a168",
            "GuessMode": 1,
            "GuessQueue": "1/1 (100.00%)",
            "HashTarget": "/Users/cschmitt/.gocrack/worker/task_files/d20467e6-c163-4242-ad34-13ddd243fa3c",
            "HashType": "MD5",
            "Progress": "78716111/78716111 (100.00%)",
            "ProgressMode": 1,
            "Recovered": "0/8396914 (0.00%) Digests, 0/1 (0.00%) Salts",
            "Rejected": "689762/78716111 (0.88%)",
            "RestorePoint": "75366905/78716111 (95.75%)",
            "Session": "4a454b6d-6134-4ac1-b7cd-d0887627114d",
            "Status": "Exhausted",
            "TimeEstimated": "Tue Nov 21 11:52:00 2017",
            "TimeEstimatedRelative": "0 secs",
            "TimeStarted": "Tue Nov 21 11:51:56 2017",
            "TotalSpeed": "20570.8 k"
        },
        "task_id": "4a454b6d-6134-4ac1-b7cd-d0887627114d"
    },
    "topic": "task_status_final"
}

Both runs have nearly identical runtime and hashes/sec. I don't feel comfortable asking for your hash list and dictionary but if you're just cracking an OSINT dump, feel free to share.
Did you compile GoCrack yourself or are you using the pre-compiled binaries from the releases section?

Amazing, do not know these two lines of logs will help me to solve this problem.
{"time":"2017-11-22T23:33:04+08:00","level":"error","status_code":500,"error":"already exists","message":"An error occurred while handling an RPC call"}
{"time":"2017-11-22T23:33:04+08:00","level":"info","client_ip":"<IP_ADDRESS>","method":"POST","path":"/rpc/v1/task/cracked","status":500,"latency":"6.598996ms","message":"Processed HTTP Request"}

My GoCrack is compiled by myself.

I will use this dictionary to generate MD5 http://weakpass.com/wordlist/1186
Test again


Accessibility: blind user unable to install nixos

Background
We recently had a user on the IRC channel who couldn't get nixos working in qemu because syslinux and later on systemd-vconsole-setup insisted on setting graphical modes, which cannot be used with qemu's -display curses. (log at https://botbot.me/freenode/nixos/msg/92631760/ )
I eventually worked out that using -nographic for qemu gets grub to run in text mode, which allows editing the command line to add console=ttyS0 and using the installer in text mode. I wasn't able to help the user with this because they had already left, however.
Suggestions
It would be good to consider accessibility more overall. Some changes I think would be sensible:

Make sure the bootloaders for the installer run in text mode

I think systemd-boot uses text mode? I don't know enough about EFI to know if there is even a text mode for EFI.
The graphics displayed by syslinux aren't even very pretty! We could really disable that IMHO.

Allow disabling systemd-vconsole-setup, and disable it by default in the installer. Document the option in the generated config, and suggest systemctl start systemd-vconsole-setup in the installation instructions in the manual for sighted people.
Enable a console on the serial port by default? I don't see any downside to this, but I don't know much about it either.

These steps are pretty simple and should make installing nixos a lot easier on vision-impaired users as far as I understand. Any thoughts?

I don't think we should disable systemd-vconsole-setup by default -- it's needed to display non-English glyphs. Rather, we definitely want to open a console on a serial port -- if I understand the user's story correctly, they could use it instead without problems. Also, making bootloader text-only sounds good to me.

IIRC if you add console=ttyS0 console=tty0 to the bootargs it would work both ways (i.e. serial AND the screen) by default, with the stage-1 output going to the screen (tty0).

Using the console parameter works. Note that on Hypervisor consoles (hvc0) our systemd automatically starts a getty. This behaviour is a little inconsistent.
Since most of our bootloaders (grub2 & syslinux/isolinux tested, systemd-boot probably not?) are also opening a serial console by default it would make sense that we do so too.

Cross-referencing issues

#42255 will help with regard to the console
#33686 adds the concept of "accessibility and quirks" submenu for EFI installer; with proper knowledge of the requirements for such users, it may be possible to add the required options.

hi there,
not sure if this is still open?
but heres to what is required to get things in regard to accessibility going,
if the iso has a live session that is boots in to a desktop, then having the folowing packages installed would assist greatly.
orca, the screen reader
speech-dispatcher required
espeak
required for the next piece of software
espeakup
enables speech on the consol
e.g tty1.
note, you would have to enable espeakup.service via systemd.
another note, i'm blind myself.
there is espeak-ng but it is not compatable with espeakup for some reason,
pulseaudio also required.
the best desktop for accessibility is the mate-desktop currently,
maybe spinning an iso with these changes to see if it would function?
what is the installer gtk, qt?
I hope this is enough information?
how does the text based installer work?
is it a menu driven installer?
e.g
choose desktop enviroment,
1, mate, 2, gnome, 3, lxqt etc?
I hope this is of help?
Majid

Hi Majid, thanks for your input! We don't have a menu-driven installer, it's mostly a matter of:

Setting up partitions and mounting them manually
generating a hardware-configuration.nix file (this is done by running nixos-generate-config)
Adjusting the template configuration file (written in the nix language) to your liking
Running nixos-install

It's all still a relatively manual procedure and will go at least partly through the terminal, regardless of whether the minimal or graphical iso is used. The main difference I can think of is that the graphical one allows using a graphical partition editor like gparted and graphical text editor like gedit. I think in that respect console-based installation might work better? Of course, we'd need to go beyond just getting the installation working and make sure the installed OS is usable without vision as well. I don't really have any experience with accessibility in general unfortunately, but maybe getting a screenreader on the consoles (and the option in the example configuration for installation) would be a good first step?

arr,
indeed!
installing espeakup along with it's friend espeak would work i think,
speech-dispatcher encluded.
On 16/04/2020, Linus Heckemann<EMAIL_ADDRESS>wrote:

Hi Majid, thanks for your input! We don't have a menu-driven installer, it's
mostly a matter of:

Setting up partitions and mounting them manually
generating a hardware-configuration.nix file (this is done by running
nixos-generate-config)
Adjusting the template configuration file (written in the nix language)
to your liking
Running nixos-install

It's all still a relatively manual procedure and will go at least partly
through the terminal, regardless of whether the minimal or graphical iso is
used. The main difference I can think of is that the graphical one allows
using a graphical partition editor like gparted and graphical text editor
like gedit. I think in that respect console-based installation might work
better? Of course, we'd need to go beyond just getting the installation
working and make sure the installed OS is usable without vision as well. I
don't really have any experience with accessibility in general
unfortunately, but maybe getting a screenreader on the consoles (and the
option in the example configuration for installation) would be a good first
step?
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/NixOS/nixpkgs/issues/30760#issuecomment-614725423

--
kind regards,
Majid Hussain

Still valid

What's the status of this issue? I am also a blind user and would be happy to test/offer feedback on anything that has been implemented.

Total guess: I would assume a chunk of it is now knowing what the problems you will be facing are, already knowing those will help. The follow-up will be: how is that usually handled elsewhere?
So even just stating your expectations, and how it fails for you, is good information.

The most important thing is to begin defining a process. I can’t even begin to test/tinker unless I have a defined way to start speech and or Braille.
An interesting thought exercise: assume the installer does not automatically load drivers for your display. You boot to a black screen and you have to perform "x" task to enable the display. What should that process look like?
Well for starters, you would need audible confirmation to know that the system was ready on any level, so maybe a beep from the boot loader.
After that beep, you now know that the system is ready for input, but you still have no output, so the input needs to be something easy. Maybe something like "d" enter to launch the display?
In my opinion, Debian is the gold standard right now when it comes to accessible installs. They've given the process a lot of thought over the years. For reference, documentation on their process can be found here:https://www.debian.org/releases/stable/amd64/ch05s02

Thank you, this is exactly what is needed: knowing what works elsewhere, rather than try and guess at a plausible solution. Additionally, having the input of someone that experienced other options to know what worked well and what didn't.

Hello,
another blind user here. Has there been any progress on this issue recently?
I recognize NixOS to have great a11y potential, since disabled users can ensure presence of the accessibility services via the config files. But the difficult part is installation itself.
I think this can be split to three separate problems:

Accessibility of the NixOS minimal TUI
Accessibility of the NixOS Gnome
Post-installation accessibility

NixOS Minimal
This is (AFAIK) a console installation environment, similar to the one of Debian or Arch. Both these systems already have very well implemented screen-reading software. Picking up approach used by one of these seems like the most reasonable choice.
NixOS Gnome
The installation media comes with preinstalled working Orca, which can be started and used, what is great. Even the graphical installer works without significant problems, so this is a big plus.
What's a bit troublesome at this point is using the terminal, both xterm and gnome-console are inaccessible. That means I'm unable to pull down my Nix script and install the system based on it (at least I'm not aware there would be a graphical way to do this).
one solution is to blindly install gnome-terminal or mate-terminal by typing nix-env --install , but for some reason this makes Orca silent for me and I'm unable to make it speak again. But I do know at least one person using this strategy successfully, so perhaps something's wrong with quickemu on my side.
Postinstallation accessibility
If a new Nix user installs the system through the graphical installer, the resulting installation should have the a11y tech at least present (if not straight activated, say if Orca was on during the installation).
I see Orca is installed by the Gnome variant, but if I select Mate as my desktop environment during the installation, Orca is not installed. Other desktop managers may have a similar problem, didn't test them so far.
I think there are two approaches here, basically.

Ensure that all major DE packages of Nix include a working Orca installation, using the rationale that accessibility is equally a part of a DE than say a display server.
Introduce an accessibility functionality to the installer, that would finetune the default scripts if either usage of AT is detected, or, there could be a switch or a dedicated a11y installation screen similar to the one Ubuntu currently has, I'm not sure how reasonable is it to tweak what Calamares already provides.

These are my observations sofar. Nix already does have the necessary tools to build a decently accessible experience, so there is definitely the ground to build on. I would say the main work that needs to be done is making this process intuitive and convenient, ideally working out of the box so anyone could either boot up the media, install via GUI and get an accessible system if they're new, or, if they already have a configuration file, so they could easily boot the minimal version and apply the configuration tailored to their liking.

@RastislavKish I am the creator of quickemu, if you think you've found a bug please raise an issue on the upstream project and we'll take a look:

https://github.com/quickemu-project/quickemu/issues/new

@RastislavKish How did you start Orca in the installer? Until now I only used NixOS on servers in text mode and was trying to launch a virtual machine with a GUI for a change.
@samueldr Until now we only discussed speech solutions. For local text consoles, enabling BRLTTY is also a great help for users of braille displays. I contributed a configuration option to do so in the past services.brltty.enable. Enabling this should autodetect most USB braille displays and start a BRLTTY instance accordingly. BRLTTY and Orca also can work together to get braille in the GUI, but I did never test this in NixOS.

@bramd I pressed Alt+F2, typed orca and confirmed by pressing Enter. I believe even the Alt+Super+S shortcut worked at one point. However, both approaches for some reason need to be repeated several times, about 3 - 4 to work, and I know at least one person with physical hardware reporting the same behavior.


Space/Ellipsis text  messed up in HIG

See https://elementary.io/docs/human-interface-guidelines#prevent-common-mistakes, compare to http://old.elementary.io/docs/human-interface-guidelines/punctuation.

Only use one space after a period.

i.e. “This is a sentence. This is another sentence.”
Use \u0133 in your code.
See Using Ellipses for usage details.

Should be:

Only use one space after a period.

i.e. “This is a sentence. This is another sentence.”

Use a proper ellipsis character (…) rather than three dots.

Use \u0133 in your code.
See Using Ellipses for usage details.

Wait, Using Ellipses document is not still updated? Where should the link lead to?

To the "Using Ellipses" section on the same page. https://elementary.io/docs/human-interface-guidelines#using-ellipses


Settings error message is cropped off

Issue Type: Bug

Go to settings
Search for 'tree'
Add invalid value to the Tree:Indent setting (last item in the settings list)

The error message is not be fully visible:

VS Code version: Code 1.31.0 (7c66f58312b48ed8ca4e387ebd9ffe9605332caa, 2019-02-05T22:35:56.624Z)
OS version: Windows_NT x64 10.0.17134

FYI @joaomoreno I will also need to override overflow on monaco-list-rows

Sure, go for it.


Pusher error: error code: 502.

Reverb Version
1.1.0
Laravel Version
10.48.20
PHP Version
8.2
Description
I am running Laravel Reverb on my Kubernetes cluster behind Cloudflare. Sometimes, the backend reports the following issue:
Pusher error: error code: 502.
I am using Laravel Echo in my Angular application to connect to Laravel Reverb.
This is the stacktrace:
in /var/www/html/vendor/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/PusherBroadcaster.php line 164
at Illuminate\Broadcasting\Broadcasters\PusherBroadcaster->broadcast()in /var/www/html/vendor/laravel/framework/src/Illuminate/Broadcasting/BroadcastEvent.php line 92
at Illuminate\Broadcasting\BroadcastEvent->handle()in /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php line 36
at Illuminate\Container\BoundMethod->Illuminate\Container\{closure}()in /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php line 41
at Illuminate\Container\Util->unwrapIfClosure()in /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php line 93
at Illuminate\Container\BoundMethod->callBoundMethod()in /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php line 35
at Illuminate\Container\BoundMethod->call()in /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php line 662
at Illuminate\Container\Container->call()in /var/www/html/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php line 128
at Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}()in /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line 144
at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()in /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line 119
at Illuminate\Pipeline\Pipeline->then()in /var/www/html/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php line 132
at Illuminate\Bus\Dispatcher->dispatchNow()in /var/www/html/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php line 123
at Illuminate\Queue\CallQueuedHandler->Illuminate\Queue\{closure}()in /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line 144
at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()in /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line 119
at Illuminate\Pipeline\Pipeline->then()in /var/www/html/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php line 122
at Illuminate\Queue\CallQueuedHandler->dispatchThroughMiddleware()in /var/www/html/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php line 70
at Illuminate\Queue\CallQueuedHandler->call()in /var/www/html/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php line 102
at Illuminate\Queue\Jobs\Job->fire()in /var/www/html/vendor/laravel/framework/src/Illuminate/Queue/Worker.php line 439
at Illuminate\Queue\Worker->process()in /var/www/html/vendor/laravel/framework/src/Illuminate/Queue/Worker.php line 389
at Illuminate\Queue\Worker->runJob()in /var/www/html/vendor/laravel/framework/src/Illuminate/Queue/Worker.php line 176
at Illuminate\Queue\Worker->daemon()in /var/www/html/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php line 137
at Illuminate\Queue\Console\WorkCommand->runWorker()in /var/www/html/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php line 120
at Illuminate\Queue\Console\WorkCommand->handle()in /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php line 36
at Illuminate\Container\BoundMethod->Illuminate\Container\{closure}()in /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Util.php line 41
at Illuminate\Container\Util->unwrapIfClosure()in /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php line 93
at Illuminate\Container\BoundMethod->callBoundMethod()in /var/www/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php line 35
at Illuminate\Container\BoundMethod->call()in /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php line 662
at Illuminate\Container\Container->call()in /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php line 211
at Illuminate\Console\Command->execute()in /var/www/html/vendor/symfony/console/Command/Command.php line 326
at Symfony\Component\Console\Command\Command->run()in /var/www/html/vendor/laravel/framework/src/Illuminate/Console/Command.php line 180
at Illuminate\Console\Command->run()in /var/www/html/vendor/symfony/console/Application.php line 1096
at Symfony\Component\Console\Application->doRunCommand()in /var/www/html/vendor/symfony/console/Application.php line 324
at Symfony\Component\Console\Application->doRun()in /var/www/html/vendor/symfony/console/Application.php line 175
at Symfony\Component\Console\Application->run()in /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php line 201
at Illuminate\Foundation\Console\Kernel->handle()in /var/www/html/artisan line 35

Steps To Reproduce
Run a broadcasting event.

Can you share the full errors?
https://github.com/laravel/framework/blob/646520ad682d98b5211c6e26092259cfbe130b5c/src/Illuminate/Broadcasting/Broadcasters/PusherBroadcaster.php#L163-L166 Indicate that it unable to broadcast the event, this feels like a usage issue.

Is it possible to set a different REVERB_HOST for internal and the external? For example, I have set it to:
ws.jessedewild.com
But I am hosting it on a Kubernetes server, which (for example) uses the internal IP <IP_ADDRESS>

In broadcasting.php, you should set it to the location you need your app to broadcast your messages to. In reverb.php, it's used to set the hostname of the Reverb server.


Better install experience that doesn't require a restart

It annoys me tremendously that we as for a restart on init. I want this to be simple.

v0.83.0


Support version 2.0.0 changes

To completely implement the version 2.0.0 changes , the following tasks and their subtasks needs to be completed.
All the tasks needs to be implemented , tested , reviewed and merged to the develop branch.
Individual Services :

[x] https://github.com/openBackhaul/RegistryOffice/issues/211
[x] https://github.com/openBackhaul/RegistryOffice/issues/224
[x] https://github.com/openBackhaul/RegistryOffice/issues/226
[x] https://github.com/openBackhaul/RegistryOffice/issues/222
[x] https://github.com/openBackhaul/RegistryOffice/issues/219
[x] https://github.com/openBackhaul/RegistryOffice/issues/213
[x] https://github.com/openBackhaul/RegistryOffice/issues/230
[x] https://github.com/openBackhaul/RegistryOffice/issues/234
[x] https://github.com/openBackhaul/RegistryOffice/issues/238
[x] https://github.com/openBackhaul/RegistryOffice/issues/242
[x] https://github.com/openBackhaul/RegistryOffice/issues/245
[x] https://github.com/openBackhaul/RegistryOffice/issues/248

Basic Services :

[x] https://github.com/openBackhaul/RegistryOffice/issues/320

OAM Services :

[x] https://github.com/openBackhaul/RegistryOffice/issues/321

Closing this issue as the version 2.0.0 features(sub tasks) are merged into the develop branch. Bugs raised on the version 2.0.0 implementation will be covered in separate  issues.


Add Intro to Data Defi

Still In Progress

Moved to #49, please review there.

Moved to #49, please review there.


improve "find rule" search

searching for words like "Parameter" should also find rules like e.g.
ExplicitNullableParamTypeRector
RemoveMethodCallParamRector

I also wonder why AddMethodCallBasedStrictParamTypeRector is not found at all when searching for "param"

Feel free to send PRs for these directly, as real implementation can lead many  ways 👍


Experiemental Off-Canvas appears on top of dropdown menus

If I have a dropdown menu that overlaps the off canvas element, the off canvas element always covers up the dropdown menu.

You can change z-index to fix this problem.

@roemhildtg Yes, you can define your z-index to fix layer issues.

I will give that a shot.


Fixed some gui and loop issues

Each time app.start() was ran it would create more of the same loops causing the bot to hack too quickly.
If you closed the GUI and then entered app.start() it would append a another GUI as well as show the original GUI, and you would be unable to stop the bot.
I have added null checks to the intervals so that the intervals are only ran if they're not already running.
app.start() now checks to see if GUI has been appended as apposed to being visible or not. If the GUI was not visible it would run the GUI function and create duplicate events attached to the GUI controls that made the bot unable to stop.

Looks good to me, thanks for the PR! :shipit:


skydns2 backend broken for multiple ports

The skydns backend is broken for multiple ports.
Let's say you have a web container that publishes ports 80 and 443. We should be writing these keys like these:
/skydns/docker/web/web1/_tcp/_http   <- {"host":"<IP_ADDRESS>","port":80}
/skydns/docker/web/web1/_tcp/_https  <- {"host":"<IP_ADDRESS>","port":443}
/skydns/docker/web/web1              <- {"host":"<IP_ADDRESS>"}

This would support A record lookups of web1.web.docker, and SRV lookups of _http._tcp.web1.web.docker and _https._tcp.web1.web.docker.
It's not clear to me whether we should also support SRV lookups against the SERVICE_NAME as well, e.g. _http._tcp.web.docker.
I'd like to listen to some feedback before I work on a patch.

@sheldonh it looks like instead of setting one SERVICE_NAME and one SERVICE_ID for the container, you need to use this method of providing unique names on a per-port basis: Multiple services with metadata.
The default naming pattern appends the port number if there are multiple ports exposed by the container, e.g. "web-80" and "web-443". However, if you set SERVICE_NAME explicitly, it's overriding that name for all exposed ports.
Perhaps a warning would help if multiple services in the container have the same id and name.

Sounds like it's working as expected and @mgood's suggestion for the workaround sounds right.


Crafts FIR flag

Crafts FIR flag
For crafts added a FIR icon so they can be clearly differentiated in the items page.

.deploy


Installing package flags "Unauthorized"

OS: macOS Mojave 10.14.6
VSCode version:  1.62.0
CodeLLDB version: 1.6.9
Compiler:
Debuggee:
Open Visual Studio Code and get:
Installing platform package from https://github.com/vadimcn/vscode-lldb/releases/download/v1.6.9/codelldb-x86_64-darwin.vsix
Error: Error: HTTP status 401 : Unauthorized

Downloading the file via a web browser and installing does seem to work.

Same here

Same here. Happened with the VS Code 1.62 upgrade. I'm on Catalina 10.15.7.

same here

Thanks that fixed the issue


Where are the checkpoints?

Thanks for your great work!
Can you also share the pre-trained checkpoints? Especially this one, UNet + Mobilenetv2.
Thanks.

@cavalleria


Core: use Re2j as an alternative to JDK Pattern

https://github.com/google/re2j

Benchmark show +6% perf if we're able to feed a CharBuffer. Perf on String is similar.


Action Button change position when keyboard shows

I have the same problem. I position the button in the middle of the page, but when keyboard appears, it moves down. How can I stop that?

https://github.com/kciter/KCFloatingActionButton/issues/79

check this:https://github.com/kciter/KCFloatingActionButton/issues/79

just set sticky property to true


Add input file to run script to fix build problems on server

Hi, thanks for the great module!
It works fine when building in Xcode myself, but when running Xcode build on my build server, it will fail because it does not find the included Ruby-script.
This is fixed by adding the ruby script as an input file in the build phase run script.

This looks great, thank you!

@cbrevik Offtopic but what you use to build Xcode build automatically on server? :D


[SPARK-15012][SQL] Simplify configuration API further

What changes were proposed in this pull request?

Remove all the spark.setConf etc. Just expose spark.conf
Make spark.conf take in things set in the core SparkConf as well, otherwise users may get confused

This was done for both the Python and Scala APIs.
How was this patch tested?
SQLConfSuite, python tests.

Test build #57362 has started for PR 12787 at commit 7a5352f.

Test build #57364 has started for PR 12787 at commit d897179.

Test build #57367 has started for PR 12787 at commit 2727ff5.

Test build #2943 has started for PR 12787 at commit 2727ff5.

Test build #2944 has started for PR 12787 at commit 2727ff5.

Test build #2945 has started for PR 12787 at commit 2727ff5.

Test build #57370 has started for PR 12787 at commit 10155e6.

Test build #2945 has finished for PR 12787 at commit 2727ff5.

This patch fails MiMa tests.
This patch does not merge cleanly.
This patch adds no public classes.

Test build #57362 has finished for PR 12787 at commit 7a5352f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/57362/
Test PASSed.

@rxin

Note: this will conflict with #12784. The python changes there should be merged first.

Test build #57364 has finished for PR 12787 at commit d897179.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/57364/
Test FAILed.

Test build #2943 has finished for PR 12787 at commit 2727ff5.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #57367 has finished for PR 12787 at commit 2727ff5.

This patch passes all tests.
This patch does not merge cleanly.
This patch adds no public classes.

Build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/57367/
Test PASSed.

Test build #57370 has finished for PR 12787 at commit 10155e6.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #2944 has finished for PR 12787 at commit 2727ff5.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/57370/
Test PASSed.

OK, #12784 is now merged. Let's retest this please.

Test build #57381 has started for PR 12787 at commit f8134cc.

Test build #57381 has finished for PR 12787 at commit f8134cc.

This patch fails MiMa tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class MapPartitionsInR(

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/57381/
Test FAILed.

Merged build finished. Test FAILed.

test this please

Test build #57383 has started for PR 12787 at commit f8134cc.

LGTM

Test build #2946 has started for PR 12787 at commit f8134cc.

Test build #2948 has started for PR 12787 at commit f8134cc.

Test build #2948 has finished for PR 12787 at commit f8134cc.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class MapPartitionsInR(

Test build #2946 has finished for PR 12787 at commit f8134cc.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class MapPartitionsInR(

Test build #57383 has finished for PR 12787 at commit f8134cc.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class MapPartitionsInR(

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/57383/
Test FAILed.

======================================================================
ERROR [0.000s]: test_conf (pyspark.sql.tests.SQLTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jenkins/workspace/NewSparkPullRequestBuilder/python/pyspark/sql/tests.py", line 1400, in test_conf
    spark.setConf("bogo", "sipeo")
AttributeError: 'SparkSession' object has no attribute 'setConf'

----------------------------------------------------------------------
Ran 93 tests in 94.519s

FAILED (errors=1)

Generating XML reports...


Show cannon spot overlay only with cannon

This makes cannon spot overlays show only when cannon is present in
player inventory.
Closes #1092
Signed-off-by: Tomas Slusny<EMAIL_ADDRESS>

Made the plugin require all cannon pieces in order to show overlay


Error while running: Operation did not complete successfully because the file contains a virus or potentially unwanted software

I use this package in go1.20.14 because I need to run the program on Windows 7 and this is the last go version that supports Windows 7.  But now I run the code on Windows 11.
When I add the following code, I can't run the go file. I got the error:
example/dcmtest: open C:\Users\xxx\AppData\Local\Temp\go-build1652447911\b001\exe\dcmtest.exe: Operation did not complete successfully because the file contains a virus or potentially unwanted software.

The code is like:
dataset, err := dicom.ParseFile(filePath, nil)

I used go1.20.14 I got the error. But if I change to go1.22, everything would be okay.
Any suggestions, please?

Hey there, I'm not sure sure how to help--this seems like a Windows specific problem and I'm not an expert there. You could maybe try building the program with different build flags :/. Maybe this is a common problem with some Go programs on windows?

For now I'm going to close this as wontfix--but if you can add some more thoughts or propose a fix, I'd be all ears! My guess is this has something to do with the compiler itself, so not sure how we can reliably fix this. But open to more info if there is any!


remove the limit middleware

https://github.com/senchalabs/connect/wiki/Connect-3.0

For anyone complaining:
// Sideaffect is `limit` will miss the first chunk,
// but that's not a big deal.
// Unfortunately, the tests don't have large enough
// request bodies to test this.

The code wasn't meant to work properly anyway.